solid_objects 1.0.2 → 1.0.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +6 -8
- data/docs/compare/good-job.md +1 -1
- data/docs/compare/solid-queue.md +1 -1
- data/docs/comparisons.md +1 -1
- data/docs/maintenance.md +65 -0
- data/docs/versioning.md +2 -2
- data/lib/solid_objects/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1f327f61b104201a040880d246844ce1b3a3b2c8cb839c74b6f84e737fc06935
|
|
4
|
+
data.tar.gz: 7535fe51e3dad72ac0182fcc4b2ae250eaa16cb88c61bf16e3714d3b4553c5db
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fda52296b4996e169a1ca71b6754be4c98f2ecd3d3eac8dd22ed9dfee3972a715117a9320c7c4d1cceaf413c4dce677660b3a63670b577a293e0c987d75ca269
|
|
7
|
+
data.tar.gz: 02e527b45cc20105242f3ff561af5573853b97bbbda4974b34ec1cc5ace30eec08ad27922ff6e4d8a339a26b08969aeebd0484edd9e427cb2c2a501a1f5720f6
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.4 - 2026-10-18
|
|
4
|
+
|
|
5
|
+
- The README no longer states the first public release date, that no
|
|
6
|
+
production use by other people is known, that longer soak tests are open
|
|
7
|
+
work, or that version 1.0 makes no claim of measured scale.
|
|
8
|
+
`docs/versioning.md` keeps the other three limits, and the README links it.
|
|
9
|
+
The comparison pages keep the first public release date.
|
|
10
|
+
|
|
11
|
+
## 1.0.3 - 2026-10-18
|
|
12
|
+
|
|
13
|
+
- Add `docs/maintenance.md`. It tells you who maintains the gem, how CI checks
|
|
14
|
+
each change, how a release is published, what you keep if maintenance
|
|
15
|
+
stops, and how to become a maintainer. The README and the comparison pages
|
|
16
|
+
now link to this page. They and `docs/versioning.md` no longer state a count
|
|
17
|
+
of maintainers. A new test fails when a page states one.
|
|
18
|
+
|
|
3
19
|
## 1.0.2 - 2026-10-15
|
|
4
20
|
|
|
5
21
|
- Add two comparison pages in `docs/compare/`: Solid Queue
|
data/README.md
CHANGED
|
@@ -13,12 +13,11 @@ 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.
|
|
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.
|
|
20
|
-
|
|
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.
|
|
@@ -199,6 +198,7 @@ every claim in [`test/guides/`](test/guides/):
|
|
|
199
198
|
- [Reminders](docs/reminders.md)
|
|
200
199
|
- [Reactive ERB](docs/realtime.md)
|
|
201
200
|
- [Detailed architecture](docs/architecture.md)
|
|
201
|
+
- [Maintenance and continuity](docs/maintenance.md)
|
|
202
202
|
- [Detailed documentation](docs/)
|
|
203
203
|
|
|
204
204
|
The dashboard, benchmarks, migration cookbook, schema, and exhaustive API
|
|
@@ -207,10 +207,8 @@ explanations remain in `docs/`. The README stops here.
|
|
|
207
207
|
## Status and license
|
|
208
208
|
|
|
209
209
|
Version 1.0 promises a stable public API. Its correctness core is tested
|
|
210
|
-
against SQLite, PostgreSQL, and MySQL.
|
|
211
|
-
|
|
212
|
-
soak tests are open work. [Versioning](docs/versioning.md) says what a release
|
|
213
|
-
can change.
|
|
210
|
+
against SQLite, PostgreSQL, and MySQL. [Versioning](docs/versioning.md) says
|
|
211
|
+
what a release can change.
|
|
214
212
|
|
|
215
213
|
Solid Objects is released under the [MIT License](MIT-LICENSE). It is an
|
|
216
214
|
independent project and is not affiliated with, sponsored by, or endorsed by
|
data/docs/compare/good-job.md
CHANGED
|
@@ -210,7 +210,7 @@ How it works:
|
|
|
210
210
|
|
|
211
211
|
- First public release: August 6, 2026.
|
|
212
212
|
- Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md).
|
|
213
|
-
-
|
|
213
|
+
- [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made.
|
|
214
214
|
- 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.
|
|
215
215
|
- The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work.
|
|
216
216
|
|
data/docs/compare/solid-queue.md
CHANGED
|
@@ -205,7 +205,7 @@ How it works:
|
|
|
205
205
|
|
|
206
206
|
- First public release: August 6, 2026.
|
|
207
207
|
- Version 1.0.0: October 13, 2026. The public API follows [semantic versioning](../versioning.md).
|
|
208
|
-
-
|
|
208
|
+
- [Maintenance and continuity](../maintenance.md) tells you who maintains the project and how a release is made.
|
|
209
209
|
- 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.
|
|
210
210
|
- The [benchmarks](../benchmarks.md) are development measurements. Longer soak tests are open work.
|
|
211
211
|
|
data/docs/comparisons.md
CHANGED
|
@@ -23,4 +23,4 @@ The problem guides start from the same choices:
|
|
|
23
23
|
|
|
24
24
|
## Status
|
|
25
25
|
|
|
26
|
-
Solid Objects 1.0.0 shipped on October 13, 2026. The first public release was on August 6, 2026.
|
|
26
|
+
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).
|
data/docs/maintenance.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Maintenance and continuity
|
|
2
|
+
|
|
3
|
+
This page tells you who maintains Solid Objects, how a release is made, and
|
|
4
|
+
what you keep if maintenance stops. It also tells you how to help maintain the
|
|
5
|
+
project.
|
|
6
|
+
|
|
7
|
+
## Who maintains it
|
|
8
|
+
|
|
9
|
+
Lucas Carlson ([@cardmagic](https://github.com/cardmagic)) is the lead
|
|
10
|
+
maintainer of the Ruby gem `solid_objects` and of the npm package
|
|
11
|
+
[`solid-objects`](https://github.com/cardmagic/solid-objects-js). The two
|
|
12
|
+
packages use the same model and the same correctness contract. A change to the
|
|
13
|
+
model goes into both packages, and the
|
|
14
|
+
[parity ledger](https://github.com/cardmagic/solid-objects-js/blob/main/docs/parity.md)
|
|
15
|
+
records each difference between them.
|
|
16
|
+
|
|
17
|
+
The same maintainer sells [Solid Objects Pro](https://solidobjects.pro), a
|
|
18
|
+
commercial package that batches operations at scale. Pro depends on this gem.
|
|
19
|
+
This gem does not depend on Pro, and it needs no account, license key, or
|
|
20
|
+
service from the maintainer.
|
|
21
|
+
|
|
22
|
+
## How a change is checked
|
|
23
|
+
|
|
24
|
+
CI runs on each push and each pull request:
|
|
25
|
+
|
|
26
|
+
- The full test suite on SQLite, on each pair of Ruby 3.3, 3.4, or 4.0 and
|
|
27
|
+
Rails 7.1, 7.2, 8.0, or 8.1.
|
|
28
|
+
- The full test suite on PostgreSQL and on MySQL, with both MySQL clients.
|
|
29
|
+
- Standard, RuboCop, RBS, Steep, and Brakeman.
|
|
30
|
+
|
|
31
|
+
[Compatibility and maturity](virtual-actors.md#compatibility-and-maturity)
|
|
32
|
+
lists the supported versions. The [correctness contract](correctness.md) lists
|
|
33
|
+
the guarantees that the tests check.
|
|
34
|
+
|
|
35
|
+
## How a release is made
|
|
36
|
+
|
|
37
|
+
1. The maintainer pushes a version tag, for example `v1.0.3`.
|
|
38
|
+
2. GitHub Actions runs all test jobs again on that tag.
|
|
39
|
+
3. If all test jobs pass, GitHub Actions builds the gem and pushes it to
|
|
40
|
+
RubyGems with trusted publishing. The repository keeps no RubyGems key.
|
|
41
|
+
4. The same job makes a GitHub release and attaches the gem file.
|
|
42
|
+
|
|
43
|
+
[Versioning](versioning.md) tells you what a release can change.
|
|
44
|
+
`CHANGELOG.md` lists each release.
|
|
45
|
+
|
|
46
|
+
## What you keep if maintenance stops
|
|
47
|
+
|
|
48
|
+
- **Your data.** Actor state, mailboxes, reminders, and effects are rows in
|
|
49
|
+
your application's database. [Database schema](database-schema.md) describes
|
|
50
|
+
each table. No service of the maintainer holds your data.
|
|
51
|
+
- **The code.** The [MIT License](../MIT-LICENSE) lets anyone use, change,
|
|
52
|
+
fork, and publish the code.
|
|
53
|
+
- **The checks.** The tests and the CI configuration are in this repository. A
|
|
54
|
+
fork can check its changes with the same suite.
|
|
55
|
+
|
|
56
|
+
## Help maintain Solid Objects
|
|
57
|
+
|
|
58
|
+
The project wants more maintainers. Experience with Rails, with locks and
|
|
59
|
+
transactions in PostgreSQL or MySQL, or with TypeScript and Node.js helps.
|
|
60
|
+
|
|
61
|
+
1. Read [CONTRIBUTING.md](../CONTRIBUTING.md).
|
|
62
|
+
2. Send a small pull request: a fix, a test, or a correction to a guide.
|
|
63
|
+
3. After some of your pull requests are merged, open an
|
|
64
|
+
[issue](https://github.com/cardmagic/solid-objects-ruby/issues) to ask to
|
|
65
|
+
become a maintainer.
|
data/docs/versioning.md
CHANGED
|
@@ -41,8 +41,8 @@ lists the current minimum versions.
|
|
|
41
41
|
|
|
42
42
|
Version 1.0 is a promise about the API. It is not a claim of measured scale.
|
|
43
43
|
The [benchmarks](benchmarks.md) are development measurements and do not
|
|
44
|
-
guarantee capacity. Longer soak tests are open work.
|
|
45
|
-
|
|
44
|
+
guarantee capacity. Longer soak tests are open work. No production use by
|
|
45
|
+
other people is known.
|
|
46
46
|
|
|
47
47
|
## Releases before 1.0
|
|
48
48
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solid_objects
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lucas Carlson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: actioncable
|
|
@@ -372,6 +372,7 @@ files:
|
|
|
372
372
|
- docs/guides/transactional-outbox.md
|
|
373
373
|
- docs/implementation-plan.md
|
|
374
374
|
- docs/local-testing.md
|
|
375
|
+
- docs/maintenance.md
|
|
375
376
|
- docs/migrating-existing-state.md
|
|
376
377
|
- docs/observability.md
|
|
377
378
|
- docs/operations.md
|