Skip to content

v0.0.2-alpha.8

Pre-release
Pre-release

Choose a tag to compare

@mobeenabdullah mobeenabdullah released this 18 May 12:28
· 251 commits to main since this release
9b12ec3

Released all 12 packages at 0.0.2-alpha.8 in lockstep (nextly, create-nextly-app, and 10 @nextlyhq/* packages).

What's changed

@nextlyhq/adapter-drizzle

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

@nextlyhq/adapter-mysql

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

  • Updated dependencies [a5d2af6]:

    • @nextlyhq/adapter-drizzle@0.0.2-alpha.8

@nextlyhq/adapter-postgres

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

  • Updated dependencies [a5d2af6]:

    • @nextlyhq/adapter-drizzle@0.0.2-alpha.8

@nextlyhq/adapter-sqlite

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

  • Updated dependencies [a5d2af6]:

    • @nextlyhq/adapter-drizzle@0.0.2-alpha.8

@nextlyhq/admin

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

  • Updated dependencies [a5d2af6]:

    • @nextlyhq/ui@0.0.2-alpha.8

create-nextly-app

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

nextly

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

  • Updated dependencies [a5d2af6]:

    • @nextlyhq/adapter-drizzle@0.0.2-alpha.8
    • @nextlyhq/adapter-mysql@0.0.2-alpha.8
    • @nextlyhq/adapter-postgres@0.0.2-alpha.8
    • @nextlyhq/adapter-sqlite@0.0.2-alpha.8

@nextlyhq/plugin-form-builder

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

  • Updated dependencies [a5d2af6]:

    • @nextlyhq/admin@0.0.2-alpha.8
    • nextly@0.0.2-alpha.8
    • @nextlyhq/ui@0.0.2-alpha.8

@nextlyhq/storage-s3

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

@nextlyhq/storage-uploadthing

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

@nextlyhq/storage-vercel-blob

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.

@nextlyhq/ui

Patch Changes

  • #34 a5d2af6 Thanks @aqib-rx! - Fix severe Builder slowness and connection-pool exhaustion when running Nextly against Neon Postgres, and complete the code-first column-delete workflow. Adapter now wires the provider's declared statementTimeoutMs into pg.Pool (Neon's 30s default was previously ignored, letting stuck queries pin pool slots forever) and bumps Node 20+'s 250 ms Happy Eyeballs per-address timeout floor to 5 s on first connect so transcontinental Neon endpoints stop surfacing ETIMEDOUT after exhausting every resolved address. DB_POOL_MAX/MIN/IDLE_TIMEOUT/QUERY_TIMEOUT env vars were always documented but never plumbed into the factory — they now flow through with per-field ?? fallback so each value can fall back to the adapter's dialect-specific defaults (notably the PG adapter's min: 0 for Neon auto-suspend recovery). Boot/HMR drift-check now uses bounded concurrency (3 workers) instead of unbounded Promise.all that saturated a Neon pool of 5 with 10+ collections. HMR serverComponentChanges events get a 300 ms trailing debounce so editor burst-saves stop firing a full pipeline per save. A short-lived live-snapshot cache deduplicates the two introspectLiveSnapshot calls that previously fired during a single Builder apply, and a missing instrumentation.ts warning surfaces in dev to nudge users toward the single-worker warmup pattern. A new fast in-memory DDL emitter on PostgreSQL bypasses drizzle-kit's ~10 s catalog re-introspection for the common Builder op set (add_column, add_table), and even on the slow-path fallback the pushSchema call is now scoped to only the table(s) actually touched by the resolved ops rather than every managed table. filterUnsafeStatements also blocks orphan DROP SEQUENCE / DROP INDEX whose inferred owner table is not in the desired schema. A new diff-time default normaliser collapses Postgres's redundant ::<type> cast suffix (e.g. 'draft'::character varying) and lowercases now() so the diff stops emitting phantom change_column_default ops for every system column on every apply; a long-standing descriptor drift between runtime-schema-generator and field-column-descriptor (status text vs varchar, missing now() defaults on created_at/updated_at) is also fixed so the new fast path actually triggers in the real Builder flow. End-to-end on a real Neon instance: Builder Save HTTP timing drops from ~11 s to ~5 s and the in-pipeline schema apply drops from ~10 s to ~1.4 s. Code-first column deletes now flow through a new destructive_drop ClassifierEvent that the ClackTerminalPromptDispatcher renders as a Drop "<column>" from "<table>"? confirm in the dev terminal — removing a field from nextly.config.ts and saving prompts you to confirm before destroying data, matching Drizzle Kit's push UX; NEXTLY_ALLOW_CODE_FIRST_DROPS=1 auto-confirms every drop without prompting for CI/non-interactive workflows. Finally, the API Playground response viewer no longer crashes with "Unrecognized extension value" — the admin bundle was loading two copies of @codemirror/state (6.5.3 + 6.6.0) which broke instanceof Extension; a pnpm.overrides pin forces a single resolution.