Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions docs/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
5 changes: 2 additions & 3 deletions docs/compare/dbos.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
5 changes: 2 additions & 3 deletions docs/compare/graphile-worker.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
5 changes: 2 additions & 3 deletions docs/compare/restate.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
5 changes: 2 additions & 3 deletions docs/compare/rivetkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/persistent-rooms.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/race-conditions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
9 changes: 4 additions & 5 deletions docs/virtual-actors.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = "1.0.4"
export const VERSION = "1.0.5"
Loading