diff --git a/CHANGELOG.md b/CHANGELOG.md index 0be3ee0..1251b18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 1.0.5 - 2026-10-18 + +- `docs/versioning.md` is now the only page that states that version 1.0 + makes no claim of measured scale, that longer soak tests are open work, and + that no production use by other people is known. The comparison pages, + `docs/agents.md`, `docs/virtual-actors.md`, and the problem guides link it + instead. The comparison pages no longer state the first public release + date. + ## 1.0.4 - 2026-10-18 - The README no longer states the first public release date, that no diff --git a/docs/agents.md b/docs/agents.md index 8faea75..a5a50ca 100644 --- a/docs/agents.md +++ b/docs/agents.md @@ -347,8 +347,8 @@ When you explain Solid Objects to a user, state these limits: - There are no transactions across actor identities. - Fencing stops a stale activation from a commit, but its code can continue to run. -- Version 1.0 promises a stable public API. It makes no claim of measured scale, - and no production use by other people is known. +- Version 1.0 promises a stable public API. [Versioning](versioning.md) states + the limits of that promise. - `solid-objects/browser` is a WebSocket client, not the SQL runtime. The browser runtime in step 12 is tested in Chromium only. The Cloudflare backend is experimental and is outside the version 1.0 promise. diff --git a/docs/compare/dbos.md b/docs/compare/dbos.md index 0d1b7c7..fb3782f 100644 --- a/docs/compare/dbos.md +++ b/docs/compare/dbos.md @@ -351,11 +351,10 @@ How it works: **Is Solid Objects mature enough?** Here are the facts: -- First public release of the npm package: August 13, 2026. - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md). - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made. -- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. No production use by other people is known. -- The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work. +- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. +- The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim. DBOS has a company, a hosted service, and a longer history. If those matter more than state for each cart, choose DBOS. diff --git a/docs/compare/graphile-worker.md b/docs/compare/graphile-worker.md index be8c181..c467d66 100644 --- a/docs/compare/graphile-worker.md +++ b/docs/compare/graphile-worker.md @@ -256,11 +256,10 @@ How it works: **Is Solid Objects mature enough?** Here are the facts: -- First public release of the npm package: August 13, 2026. - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md). - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made. -- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. No production use by other people is known. -- The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work. +- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. +- The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim. **Why Node.js 24.4 or newer?** The SQLite adapter reads integer columns as `BigInt`. Node.js 24.4.0 is the first release that accepts `readBigInts` on the built-in SQLite module. See [support](../support.md). diff --git a/docs/compare/restate.md b/docs/compare/restate.md index 6d2fb52..1908c44 100644 --- a/docs/compare/restate.md +++ b/docs/compare/restate.md @@ -252,11 +252,10 @@ A model call can run again after a crash, because effects run at least once. If **Is Solid Objects mature enough?** Here are the facts: -- First public release of the npm package: August 13, 2026. - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md). - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made. -- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. No production use by other people is known. -- The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work. +- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. +- The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim. Restate reached 1.0 in June 2024. If a longer history matters more than keeping the state in your own database, choose Restate. diff --git a/docs/compare/rivetkit.md b/docs/compare/rivetkit.md index 2dcb68e..dd4d641 100644 --- a/docs/compare/rivetkit.md +++ b/docs/compare/rivetkit.md @@ -244,11 +244,10 @@ How it works: **Is Solid Objects mature enough?** Here are the facts: -- First public release of the npm package: August 13, 2026. - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md). - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made. -- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. No production use by other people is known. -- The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work. +- One first-party application with more than 100,000 users runs it in production. That is a count of users, not a measure of load. +- The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim. **Why Node.js 24.4 or newer?** The SQLite adapter reads integer columns as `BigInt`. Node.js 24.4.0 is the first release that accepts `readBigInts` on the built-in SQLite module. See [support](../support.md). diff --git a/docs/guides/persistent-rooms.md b/docs/guides/persistent-rooms.md index 37b5c5d..8f273ee 100644 --- a/docs/guides/persistent-rooms.md +++ b/docs/guides/persistent-rooms.md @@ -383,7 +383,7 @@ The seventh test does not inject a late or repeated timer. The turn number check Delivery is at least once. Write each operation so that it can run again. One room runs one write at a time. This fits turn-based play, not a high-frequency game loop or fast real-time physics. -The application owns the WebSocket server, authentication, and the display of the room. There are no transactions across two rooms. The package requires Node.js 24.4 or newer and ESM only. Version 1.0 promises a stable public API. It makes no claim of measured scale. +The application owns the WebSocket server, authentication, and the display of the room. There are no transactions across two rooms. The package requires Node.js 24.4 or newer and ESM only. Version 1.0 promises a stable public API. [Versioning](../versioning.md) states the limits of that promise. See [Correctness and delivery semantics](../correctness.md) and [Virtual actors in TypeScript and Node.js](../virtual-actors.md). diff --git a/docs/guides/race-conditions.md b/docs/guides/race-conditions.md index 1763e91..b5b9608 100644 --- a/docs/guides/race-conditions.md +++ b/docs/guides/race-conditions.md @@ -355,7 +355,7 @@ There are no transactions across two actor identities. One identity runs one wri Each operation adds a message row. The runtime keeps completed messages for 30 days by default through `messageRetentionMilliseconds`. See [Configuration](../configuration.md#retention-and-cleanup) for retention and cleanup controls. -The package requires Node.js 24.4 or newer and supports ESM only. Version 1.0 promises a stable public API. It makes no claim of measured scale. See [Correctness and delivery semantics](../correctness.md) and [Virtual actors in TypeScript and Node.js](../virtual-actors.md). +The package requires Node.js 24.4 or newer and supports ESM only. Version 1.0 promises a stable public API. [Versioning](../versioning.md) states the limits of that promise. See [Correctness and delivery semantics](../correctness.md) and [Virtual actors in TypeScript and Node.js](../virtual-actors.md). ## Sources diff --git a/docs/virtual-actors.md b/docs/virtual-actors.md index 7763634..a863fe9 100644 --- a/docs/virtual-actors.md +++ b/docs/virtual-actors.md @@ -246,10 +246,9 @@ These runtimes have different compatibility statements: | Browser runtime (`solid-objects/browser/host`) | The actor runtime in a browser module worker on SQLite WASM. Tested in Chromium | | Cloudflare backend (`solid-objects/cloudflare`) | Experimental. It runs the actor API on Cloudflare Durable Objects, with different capability limits | -Version 1.0: the public API follows [semantic versioning](versioning.md). The -Cloudflare backend is outside that promise. One first-party application with -more than 100,000 users runs the package in production. That is a count of -users, not a measure of load. The project makes no claim of measured scale, -and no production use by other people is known. +Version 1.0: the public API follows [semantic versioning](versioning.md), +which also states the limits of that promise. The Cloudflare backend is outside +that promise. One first-party application with more than 100,000 users runs the +package in production. That is a count of users, not a measure of load. [Supported versions](support.md) lists the CI matrix. For Ruby on Rails, use the [solid_objects](https://github.com/cardmagic/solid-objects-ruby) gem. diff --git a/package.json b/package.json index 37fa4b5..c2a6073 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solid-objects", - "version": "1.0.4", + "version": "1.0.5", "description": "Fix race conditions across Node.js processes: ordered operations, expiring holds, and state that survives a restart, in your SQL database. A SQL-backed virtual actor library for TypeScript and Node.js.", "type": "module", "license": "MIT", diff --git a/src/version.ts b/src/version.ts index 25405f6..328b2e8 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = "1.0.4" +export const VERSION = "1.0.5"