Skip to content

v3.10.1

Choose a tag to compare

@58bits 58bits released this 13 Jun 08:11

Bug Fixes

  • @byline/db-postgres — relaxed the byline_audit_log migration (sql/0003_add-audit-log.sql) so it is safe to run as either the application DB role or a superuser. Previously, running it as postgres left the table owned by the superuser and invisible to the app role (permission denied); the script now ends with an ownership-reassignment step that hands the table to the database owner (the app role), and is a no-op when ownership is already correct. This removes the superuser caveat the v3.10.0 migration notes had to warn about.

  • @byline/cli — fixed a dev-only hydration crash in scaffolded apps. Because the host template serves @byline/ui from source in dev (for HMR), the CJS shim use-sync-external-store/shim{,/with-selector} (reached transitively through @base-ui/utils) could be emitted as a standalone optimized chunk whose interop exposed only a default export — so a named import { useSyncExternalStoreWithSelector } threw a SyntaxError, the route never hydrated, and forms fell back to native GET behaviour. The template's vite.config.ts now pins both shim paths in optimizeDeps.include, so Vite walks the NODE_ENV re-export and emits a proper named-export facade. The same fix was applied to the repo's reference apps/webapp.

  • @byline/host-tanstack-start — migrated every createServerFn() server fn off the now-deprecated .inputValidator() to .validator(), silencing the runtime deprecation warning emitted by current TanStack Start. This required bumping the @tanstack/react-start / @tanstack/react-router / @tanstack/react-form-start floors (within their existing major), which resolves @tanstack/start-client-core to a build that exposes .validator().

Migrations

  • @byline/db-postgres — if you have not yet applied the audit-log migration for 3.10.x, run psql "$DATABASE_URL" -f packages/db-postgres/sql/0003_add-audit-log.sql before deploying. As of 3.10.1 it no longer matters whether you run it as the app role or as a superuser — the script reassigns table ownership to the database owner either way. If you already applied the 3.10.0 version of this script successfully (as the app role), no action is needed; the table is unchanged.

All other @byline/* packages bumped to 3.10.1 in lockstep with no behavioural changes this cycle.