solid-objects 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.5 - 2026-10-18
4
+
5
+ - `docs/versioning.md` is now the only page that states that version 1.0
6
+ makes no claim of measured scale, that longer soak tests are open work, and
7
+ that no production use by other people is known. The comparison pages,
8
+ `docs/agents.md`, `docs/virtual-actors.md`, and the problem guides link it
9
+ instead. The comparison pages no longer state the first public release
10
+ date.
11
+
12
+ ## 1.0.4 - 2026-10-18
13
+
14
+ - The README no longer states the first public release date, that no
15
+ production use by other people is known, that longer soak tests are open
16
+ work, or that version 1.0 makes no claim of measured scale.
17
+ `docs/versioning.md` keeps the other three limits, and the README links it.
18
+ The comparison pages keep the first public release date.
19
+
3
20
  ## 1.0.3 - 2026-10-18
4
21
 
5
22
  - Add `docs/maintenance.md`. It tells you who maintains the package, how CI
package/README.md CHANGED
@@ -13,12 +13,11 @@ explains the model and when to use it.
13
13
 
14
14
  **Status.** Version 1.0: the public API follows semantic versioning and does
15
15
  not break before 2.0. [Versioning](docs/versioning.md) gives the limits of the
16
- promise. First public release: August 13, 2026.
16
+ promise.
17
17
 
18
18
  **Production use.** One first-party application with more than 100,000 users
19
- runs it in production. That is a count of users, not a measure of load. No
20
- production use by other people is known. The [benchmarks](docs/benchmarks.md)
21
- are development measurements, and longer soak tests are open work.
19
+ runs it in production. That is a count of users, not a measure of load. The
20
+ [benchmarks](docs/benchmarks.md) are development measurements.
22
21
 
23
22
  **It is not** Solid Queue, SolidJS, or the `service_actor` gem, and it is not
24
23
  affiliated with Rails or Cloudflare.
@@ -304,9 +303,7 @@ notes remain in `docs/`, where long documentation can be long on purpose.
304
303
 
305
304
  Version 1.0 promises a stable public API. The correctness core has automated
306
305
  coverage across the supported databases, browser runtime, recovery paths, and
307
- packaged artifact. It makes no claim of measured scale: the
308
- [benchmarks](docs/benchmarks.md) are development measurements, and longer soak
309
- tests are open work. [Versioning](docs/versioning.md) says what a release can
306
+ packaged artifact. [Versioning](docs/versioning.md) says what a release can
310
307
  change. The Cloudflare backend is experimental and is outside that promise.
311
308
 
312
309
  Solid Objects is released under the [MIT License](MIT-LICENSE). It is an
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.0.3";
1
+ export declare const VERSION = "1.0.5";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "1.0.3";
1
+ export const VERSION = "1.0.5";
2
2
  //# sourceMappingURL=version.js.map
package/docs/agents.md CHANGED
@@ -347,8 +347,8 @@ When you explain Solid Objects to a user, state these limits:
347
347
  - There are no transactions across actor identities.
348
348
  - Fencing stops a stale activation from a commit, but its code can continue to
349
349
  run.
350
- - Version 1.0 promises a stable public API. It makes no claim of measured scale,
351
- and no production use by other people is known.
350
+ - Version 1.0 promises a stable public API. [Versioning](versioning.md) states
351
+ the limits of that promise.
352
352
  - `solid-objects/browser` is a WebSocket client, not the SQL runtime. The
353
353
  browser runtime in step 12 is tested in Chromium only. The Cloudflare backend
354
354
  is experimental and is outside the version 1.0 promise.
@@ -351,11 +351,10 @@ How it works:
351
351
 
352
352
  **Is Solid Objects mature enough?** Here are the facts:
353
353
 
354
- - First public release of the npm package: August 13, 2026.
355
354
  - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md).
356
355
  - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made.
357
- - 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.
358
- - The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work.
356
+ - 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.
357
+ - The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim.
359
358
 
360
359
  DBOS has a company, a hosted service, and a longer history. If those matter more than state for each cart, choose DBOS.
361
360
 
@@ -256,11 +256,10 @@ How it works:
256
256
 
257
257
  **Is Solid Objects mature enough?** Here are the facts:
258
258
 
259
- - First public release of the npm package: August 13, 2026.
260
259
  - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md).
261
260
  - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made.
262
- - 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.
263
- - The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work.
261
+ - 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.
262
+ - The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim.
264
263
 
265
264
  **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).
266
265
 
@@ -252,11 +252,10 @@ A model call can run again after a crash, because effects run at least once. If
252
252
 
253
253
  **Is Solid Objects mature enough?** Here are the facts:
254
254
 
255
- - First public release of the npm package: August 13, 2026.
256
255
  - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md).
257
256
  - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made.
258
- - 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.
259
- - The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work.
257
+ - 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.
258
+ - The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim.
260
259
 
261
260
  Restate reached 1.0 in June 2024. If a longer history matters more than keeping the state in your own database, choose Restate.
262
261
 
@@ -244,11 +244,10 @@ How it works:
244
244
 
245
245
  **Is Solid Objects mature enough?** Here are the facts:
246
246
 
247
- - First public release of the npm package: August 13, 2026.
248
247
  - Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md).
249
248
  - [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made.
250
- - 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.
251
- - The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work.
249
+ - 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.
250
+ - The [benchmarks](../benchmarks.md) are development measurements. [Versioning](../versioning.md) states what version 1.0 does not claim.
252
251
 
253
252
  **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).
254
253
 
@@ -383,7 +383,7 @@ The seventh test does not inject a late or repeated timer. The turn number check
383
383
 
384
384
  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.
385
385
 
386
- 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.
386
+ 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.
387
387
 
388
388
  See [Correctness and delivery semantics](../correctness.md) and [Virtual actors in TypeScript and Node.js](../virtual-actors.md).
389
389
 
@@ -355,7 +355,7 @@ There are no transactions across two actor identities. One identity runs one wri
355
355
 
356
356
  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.
357
357
 
358
- 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).
358
+ 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).
359
359
 
360
360
  ## Sources
361
361
 
@@ -246,10 +246,9 @@ These runtimes have different compatibility statements:
246
246
  | Browser runtime (`solid-objects/browser/host`) | The actor runtime in a browser module worker on SQLite WASM. Tested in Chromium |
247
247
  | Cloudflare backend (`solid-objects/cloudflare`) | Experimental. It runs the actor API on Cloudflare Durable Objects, with different capability limits |
248
248
 
249
- Version 1.0: the public API follows [semantic versioning](versioning.md). The
250
- Cloudflare backend is outside that promise. One first-party application with
251
- more than 100,000 users runs the package in production. That is a count of
252
- users, not a measure of load. The project makes no claim of measured scale,
253
- and no production use by other people is known.
249
+ Version 1.0: the public API follows [semantic versioning](versioning.md),
250
+ which also states the limits of that promise. The Cloudflare backend is outside
251
+ that promise. One first-party application with more than 100,000 users runs the
252
+ package in production. That is a count of users, not a measure of load.
254
253
  [Supported versions](support.md) lists the CI matrix. For Ruby on Rails, use
255
254
  the [solid_objects](https://github.com/cardmagic/solid-objects-ruby) gem.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-objects",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "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.",
5
5
  "type": "module",
6
6
  "license": "MIT",