diff --git a/.changeset/rare-frogs-knock.md b/.changeset/rare-frogs-knock.md deleted file mode 100644 index f3c9cd67..00000000 --- a/.changeset/rare-frogs-knock.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'rushdb-dashboard': patch -'rushdb-core': patch ---- - -Dashboard: reworked project Getting Started into a "Connect this project" page with a connection panel (API key, URL, status) and SDK-first setup tabs; neutral, non-shifting feedback for copy/test-connection buttons; unified JSON + language tabs in the Search Query modal. - -Core: fixed flaky post-import side effects — record/property counts, schema recalculation, and relationship suggestions could be skipped until records were touched again. Side effects now run on a guaranteed post-commit hook (no polling), with recount → schema recompute → relationship analysis correctly ordered and isolated so one failure no longer cascades. diff --git a/.changeset/thin-foxes-scream.md b/.changeset/thin-foxes-scream.md deleted file mode 100644 index 4350963b..00000000 --- a/.changeset/thin-foxes-scream.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'rushdb-core': patch ---- - -Make schema recalculation scale with project size and stop AI endpoints from timing out on large datasets - -- **Schema recalculation is now labels-first and incremental in shape**: instead of one monolithic full-graph scan inside a single transaction, the rebuild fans out small per-label statements — property inventory via pure VALUE-edge counts (no value reads), exact streaming min/max for number/datetime properties only, and split relationship topology/property queries — each running as its own short transaction on dedicated read sessions. No single unit of work can approach the server-side transaction time budget regardless of project size; on a 40k-record / 320k-value dataset a full forced rebuild completes in ~0.5s. -- **`POST /ai/schema` and `/ai/schema/md` no longer block or 408 on large projects**: a stale cache is served immediately while a single-flight background refresh recomputes it; concurrent requests share one rebuild instead of stacking full-graph scans. `force: true` still waits and now guarantees read-your-writes — a force call issued after a write never returns a schema computed before that write committed. -- **Smart Search (`POST /ai/search-query`) no longer fails with “transaction time budget” errors**: the endpoint releases the idle request-scoped transaction before the LLM round-trip (previously the transaction expired while waiting on the LLM and the request failed at commit), and query generation uses the cached schema instead of triggering a synchronous recompute. -- Behavior note: `isArray` detection for string/boolean properties is now based on the bounded sample window (first 100 records per property) rather than a full column scan; number/datetime `isArray`, all min/max ranges, record counts, and relationship counts remain exact. diff --git a/platform/core/CHANGELOG.md b/platform/core/CHANGELOG.md index 33ca3912..9901cc85 100644 --- a/platform/core/CHANGELOG.md +++ b/platform/core/CHANGELOG.md @@ -1,5 +1,20 @@ # rushdb-core +## 2.10.3 + +### Patch Changes + +- 8e020f2: Dashboard: reworked project Getting Started into a "Connect this project" page with a connection panel (API key, URL, status) and SDK-first setup tabs; neutral, non-shifting feedback for copy/test-connection buttons; unified JSON + language tabs in the Search Query modal. + + Core: fixed flaky post-import side effects — record/property counts, schema recalculation, and relationship suggestions could be skipped until records were touched again. Side effects now run on a guaranteed post-commit hook (no polling), with recount → schema recompute → relationship analysis correctly ordered and isolated so one failure no longer cascades. + +- 8e020f2: Make schema recalculation scale with project size and stop AI endpoints from timing out on large datasets + + - **Schema recalculation is now labels-first and incremental in shape**: instead of one monolithic full-graph scan inside a single transaction, the rebuild fans out small per-label statements — property inventory via pure VALUE-edge counts (no value reads), exact streaming min/max for number/datetime properties only, and split relationship topology/property queries — each running as its own short transaction on dedicated read sessions. No single unit of work can approach the server-side transaction time budget regardless of project size; on a 40k-record / 320k-value dataset a full forced rebuild completes in ~0.5s. + - **`POST /ai/schema` and `/ai/schema/md` no longer block or 408 on large projects**: a stale cache is served immediately while a single-flight background refresh recomputes it; concurrent requests share one rebuild instead of stacking full-graph scans. `force: true` still waits and now guarantees read-your-writes — a force call issued after a write never returns a schema computed before that write committed. + - **Smart Search (`POST /ai/search-query`) no longer fails with “transaction time budget” errors**: the endpoint releases the idle request-scoped transaction before the LLM round-trip (previously the transaction expired while waiting on the LLM and the request failed at commit), and query generation uses the cached schema instead of triggering a synchronous recompute. + - Behavior note: `isArray` detection for string/boolean properties is now based on the bounded sample window (first 100 records per property) rather than a full column scan; number/datetime `isArray`, all min/max ranges, record counts, and relationship counts remain exact. + ## 2.10.2 ### Patch Changes diff --git a/platform/core/package.json b/platform/core/package.json index 46e2844d..564b083a 100755 --- a/platform/core/package.json +++ b/platform/core/package.json @@ -1,6 +1,6 @@ { "name": "rushdb-core", - "version": "2.10.2", + "version": "2.10.3", "description": "RushDB Core", "private": true, "license": "Elastic License 2.0", diff --git a/platform/dashboard/CHANGELOG.md b/platform/dashboard/CHANGELOG.md index 6d3b2a8c..d9113981 100644 --- a/platform/dashboard/CHANGELOG.md +++ b/platform/dashboard/CHANGELOG.md @@ -1,5 +1,13 @@ # rushdb-dashboard +## 2.10.3 + +### Patch Changes + +- 8e020f2: Dashboard: reworked project Getting Started into a "Connect this project" page with a connection panel (API key, URL, status) and SDK-first setup tabs; neutral, non-shifting feedback for copy/test-connection buttons; unified JSON + language tabs in the Search Query modal. + + Core: fixed flaky post-import side effects — record/property counts, schema recalculation, and relationship suggestions could be skipped until records were touched again. Side effects now run on a guaranteed post-commit hook (no polling), with recount → schema recompute → relationship analysis correctly ordered and isolated so one failure no longer cascades. + ## 2.10.2 ### Patch Changes diff --git a/platform/dashboard/package.json b/platform/dashboard/package.json index a550900f..bd1067c0 100644 --- a/platform/dashboard/package.json +++ b/platform/dashboard/package.json @@ -1,6 +1,6 @@ { "name": "rushdb-dashboard", - "version": "2.10.2", + "version": "2.10.3", "description": "RushDB Dashboard", "type": "module", "private": true,