We are happy to announce the availability of Soil version 5.
markDirty: calls that were previously required — something we called out as a goal back in the v4 announcement.SoilPersistentDictionary and indexed dictionaries) can now be used as non-root objects, not just at the root of the database.Soil>>garbageCollect compacts object segments offline by cloning and atomically swapping them in. There's also a new opt-in Soil>>checkConsistency you can run separately without slowing down the GC itself. The data-layer primitives for a future online/segment-based GC are also in place, though not yet wired up.SoilCommitError hierarchy lets you catch any commit-time failure with one exception class instead of several unrelated ones.Full changelog: https://github.com/ApptiveGrid/Soil/blob/main/docs/versions/changelog-v5.md
I also wrote up the release on the blog, with a bit more context: https://norbert.hartl.name/blog/2026-07-29_soil-v5-released.html
Hope you like it. Give it a spin and then tell us!
Norbert & Marcus