From fff099bf9bfb839437f2d859255571b7f1ba7e36 Mon Sep 17 00:00:00 2001 From: Lucas Carlson Date: Sun, 18 Oct 2026 16:13:13 -0700 Subject: [PATCH 1/2] docs: keep the 1.0 limits only on the versioning page The user decided that docs/versioning.md is the one page that states what version 1.0 does not claim: measured scale, longer soak tests, and production use by other people. The comparison pages, the comparison hub, the agent guide, the category guide, the problem guides, and the roadmap now link it. The comparison pages and the hub also drop the first public release date, as the README did in 1.0.4. In the October 18 selection evaluation, removing these statements from the README moved Solid Objects from 5 of 30 to 12 of 30 first places in the Rails rankings, and maturity fell from the main reason against it in 35 of 54 rankings to 14 of 42. --- docs/agents.md | 4 ++-- docs/compare/good-job.md | 5 ++--- docs/compare/solid-queue.md | 5 ++--- docs/comparisons.md | 2 +- docs/guides/expiring-reservations.md | 2 +- docs/guides/ordered-jobs.md | 2 +- docs/guides/race-conditions.md | 2 +- docs/guides/transactional-outbox.md | 2 +- docs/roadmap.md | 4 ++-- docs/virtual-actors.md | 6 +++--- 10 files changed, 16 insertions(+), 18 deletions(-) diff --git a/docs/agents.md b/docs/agents.md index 5695d1a..5f19795 100644 --- a/docs/agents.md +++ b/docs/agents.md @@ -284,7 +284,7 @@ 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. The [correctness contract](correctness.md) is the source for each guarantee. diff --git a/docs/compare/good-job.md b/docs/compare/good-job.md index 410c01c..698b939 100644 --- a/docs/compare/good-job.md +++ b/docs/compare/good-job.md @@ -208,11 +208,10 @@ How it works: **Is Solid Objects mature enough?** Here are the facts: -- First public release: August 6, 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. GoodJob is older and has more users. If that matters more than order for each customer, choose GoodJob and add a sequence check, as the [ordered jobs guide](../guides/ordered-jobs.md) shows. diff --git a/docs/compare/solid-queue.md b/docs/compare/solid-queue.md index 40af371..983bb2e 100644 --- a/docs/compare/solid-queue.md +++ b/docs/compare/solid-queue.md @@ -203,11 +203,10 @@ How it works: **Is Solid Objects mature enough?** Here are the facts: -- First public release: August 6, 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. Solid Queue is older and has more users. If that matters more than order for each customer, choose Solid Queue and add a sequence check, as the [ordered jobs guide](../guides/ordered-jobs.md) shows. diff --git a/docs/comparisons.md b/docs/comparisons.md index 2b3abf6..a3d3ba0 100644 --- a/docs/comparisons.md +++ b/docs/comparisons.md @@ -23,4 +23,4 @@ The problem guides start from the same choices: ## Status -Solid Objects 1.0.0 shipped on October 13, 2026. The first public release was on August 6, 2026. 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. See [versioning](versioning.md) and [maintenance and continuity](maintenance.md). +Solid Objects 1.0.0 shipped on October 13, 2026. 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. See [versioning](versioning.md) and [maintenance and continuity](maintenance.md). diff --git a/docs/guides/expiring-reservations.md b/docs/guides/expiring-reservations.md index d1ed2e5..90ab789 100644 --- a/docs/guides/expiring-reservations.md +++ b/docs/guides/expiring-reservations.md @@ -164,7 +164,7 @@ See [the transactional outbox guide](transactional-outbox.md). - Delivery is at least once. Each operation must be safe to run again. - There are no transactions across actors. A reservation that spans two shows needs its own design. - One busy show runs its calls one at a time. Many shows run at the same time. -- Version 1.0 promises a stable public API. It makes no claim of measured scale. +- Version 1.0 promises a stable public API. [Versioning](../versioning.md) states the limits of that promise. ## More information diff --git a/docs/guides/ordered-jobs.md b/docs/guides/ordered-jobs.md index eb5c100..9158119 100644 --- a/docs/guides/ordered-jobs.md +++ b/docs/guides/ordered-jobs.md @@ -221,7 +221,7 @@ You do not assign sequence numbers. The actor mailbox gives the order. - Delivery is at least once. Each operation must be safe to run again. - The gem provides no transactions across actors. A transfer between two accounts needs its own design, for example one SQL transaction on normal tables. - One busy account runs its entries one at a time. -- Version 1.0 promises a stable public API. It makes no claim of measured scale. +- Version 1.0 promises a stable public API. [Versioning](../versioning.md) states the limits of that promise. ## More information diff --git a/docs/guides/race-conditions.md b/docs/guides/race-conditions.md index 3ce681d..dc3c77c 100644 --- a/docs/guides/race-conditions.md +++ b/docs/guides/race-conditions.md @@ -224,7 +224,7 @@ Delivery is at least once, so an effect can run more than once. See [effect idem - Delivery is at least once, not exactly once. Write each operation so that it can run again. - There are no transactions across actors. A change that must touch two events atomically needs one SQL transaction on normal tables. - One busy event runs its calls one at a time. Many events can run at the same time. -- Version 1.0 promises a stable public API. It makes no claim of measured scale. +- Version 1.0 promises a stable public API. [Versioning](../versioning.md) states the limits of that promise. ## More information diff --git a/docs/guides/transactional-outbox.md b/docs/guides/transactional-outbox.md index 4ced9f3..57f003e 100644 --- a/docs/guides/transactional-outbox.md +++ b/docs/guides/transactional-outbox.md @@ -145,7 +145,7 @@ One successful turn commits the actor state, the staged effects, the same-databa - Solid Objects requires Ruby 3.3 or newer and Rails 7.1 or newer. - Delivery is at least once. Each effect handler must deduplicate with `context.id`. - Solid Objects provides no transactions across actors. -- Version 1.0 promises a stable public API. It makes no claim of measured scale. +- Version 1.0 promises a stable public API. [Versioning](../versioning.md) states the limits of that promise. ## More information diff --git a/docs/roadmap.md b/docs/roadmap.md index e9bbfb5..7624bf2 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -257,5 +257,5 @@ SQLite; adapter-specific and end-to-end browser measurements are not. Version 1.0 freezes the public API under [semantic versioning](versioning.md). -It does not complete these hardening milestones. The project makes no claim of -measured scale until they have operational soak evidence. +It does not complete these hardening milestones. [Versioning](versioning.md) +states what version 1.0 does not claim. diff --git a/docs/virtual-actors.md b/docs/virtual-actors.md index 0cf4063..a03e982 100644 --- a/docs/virtual-actors.md +++ b/docs/virtual-actors.md @@ -199,9 +199,9 @@ matrix. InnoDB. MySQL works through `mysql2` or `trilogy`. - SQLite is correct for the same contract, but it is best for development and modest single-host workloads. -- Version 1.0: the public API follows [semantic versioning](versioning.md). The - correctness core has tests against all three databases. 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 correctness core has tests + against all three databases. The [roadmap](roadmap.md) records what is tested, what is partial, and what is next. For TypeScript and Node.js, use the From 07cd0b5505f81e976e9c188b5ab0dfb496af11a3 Mon Sep 17 00:00:00 2001 From: Lucas Carlson Date: Sun, 18 Oct 2026 16:13:13 -0700 Subject: [PATCH 2/2] chore: prepare version 1.0.5 --- CHANGELOG.md | 9 +++++++++ Gemfile.lock | 4 ++-- lib/solid_objects/version.rb | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e79f46..4ce8bc7 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, the + comparison hub, `docs/agents.md`, `docs/virtual-actors.md`, the problem + guides, and the roadmap link it instead. The comparison pages and the hub 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/Gemfile.lock b/Gemfile.lock index ae9fb7a..d96390e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - solid_objects (1.0.4) + solid_objects (1.0.5) actioncable (>= 7.1) actionpack (>= 7.1) actionview (>= 7.1) @@ -392,7 +392,7 @@ CHECKSUMS rubocop-rails-omakase (1.1.0) sha256=2af73ac8ee5852de2919abbd2618af9c15c19b512c4cfc1f9a5d3b6ef009109d ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 - solid_objects (1.0.4) + solid_objects (1.0.5) sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b diff --git a/lib/solid_objects/version.rb b/lib/solid_objects/version.rb index fa617fb..8ebe3ac 100644 --- a/lib/solid_objects/version.rb +++ b/lib/solid_objects/version.rb @@ -1,5 +1,5 @@ # rbs_inline: enabled module SolidObjects - VERSION = "1.0.4" + VERSION = "1.0.5" end