Skip to content

History

Revisions

  • 1.3.0: document the manager hot-swap reload pattern Typed References gains "Surviving a reload" (replace/managerReplacing, the mandatory clearCache and the flush -> clearCache -> close order); Gotchas pins the memoized default-policy staleness of a ref that crossed a swap. Coordinates bumped to 1.3.0.

    @EverNife EverNife committed Aug 13, 2026
    a56362f
  • Stop saying the file backends have no push feed They gained one in 1.2.0 - the operating system's own watch service - and a version stamp taken from the file, so polling over them detects updates and not only deletes. Six pages still described the state before that: the per-backend matrix, the push-vs-poll rule, two capability tables, and the "see also" line on both file-backend pages. H2 keeps the deletes-only caveat, which is true of H2 alone: it is the one backend reporting version 0 for every key it holds. Also bumps the artifact coordinates to 1.2.1, and renames the heterogeneous-backend "fan-out" after the term stopped naming one thing.

    @EverNife EverNife committed Aug 3, 2026
    42822d7
  • Say that a directory is the unit of separation A grouped-file base directory holds its key files directly, and a scan reads all of them, so collections keyed by unrelated things are better off in separate directories - which is a second storage, not a setting. Also documents what happens to key files found in a sub-directory: the open fails naming it, rather than adopting the directory as empty and writing a second copy beside data nobody can see.

    @EverNife EverNife committed Aug 3, 2026
    fc26b76
  • Say when a grouped-file count refuses to answer A key file that will not parse belongs to no collection, so count() and keys() fail instead of returning a number that silently omits it. Record that on the pages a reader lands on: the CRUD contract, the grouped-file page (with the full per-read table), the cheat sheet, the gotcha list and the exception index. Also corrects two claims that were already wrong before this change: the cheat sheet called keys() a directory listing on both file backends when only LocalFile is one, and the log-level table filed a skipped corrupt row under WARN without noting that a read answering with a count or a key set does not degrade - it fails.

    @EverNife EverNife committed Jul 29, 2026
    7a8d9bf
  • Bump wiki artifact coordinates to 1.2.0

    @EverNife EverNife committed Jul 29, 2026
    24764d2
  • Document the 1.2.0 file-backend work Both file backends now record their own on-disk format and refuse a codec that disagrees, both push changes through the OS watch service, and their version stops being a constant zero - so several pages said things that are no longer true: that they have no change feed, that polling over them catches only deletes, and that versions() reports 0. Grouped Files gains sections on key spaces, directory fan-out and the key-major loadKey/batchKey API; Local Files gains its capability table and the per-collection format record.

    @EverNife EverNife committed Jul 29, 2026
    b2d96fd
  • Bump wiki artifact coordinates to 1.1.0

    @EverNife EverNife committed Jul 20, 2026
    d703802
  • Document Map order preservation and cache-sync store scoping Update the pages touched by the 1.1.0 behavior changes. Codecs now describes Map entries as written in insertion order (every profile), dropping the old key-sorting claim. Cross-Process Cache Sync gains a "scoping by physical store" section and a SyncParticipation gotcha box, and bumps its install coordinates to 1.1.0. A new Gotchas entry warns that a machine-local backend does not publish on the transport by default. Design & Internals notes the backend-identity idiom, and Cache Policies notes the publish caveat next to the TTL guidance.

    @EverNife EverNife committed Jul 20, 2026
    0965f24
  • Update the install coordinates to 1.0.9

    @EverNife EverNife committed Jul 15, 2026
    e525e39
  • Surface the new pages on Home and fix two reversed wiki-links Route the landing table to the payload-schema and write-back pages, and disambiguate the DDL row now that a second schema axis is documented. Also repair two aliased links whose display text and target were swapped, so they pointed at pages that do not exist ([[Codecs|Codec]] and [[Choosing a Backend|backends]]).

    @EverNife EverNife committed Jul 15, 2026
    33bb12b
  • Document the reserved namespace and the maintenance repository surface Explain how the leading-letter collection rule is what makes '_' a safe framework namespace, and Builder.reserved() as its escape hatch. Add scanAll (ScanRow, and the isFailed-before-value trap), WriteMode and the versions() enforcement caveat to the CRUD page, and cross-link the three version axes from the schema migrations page.

    @EverNife EverNife committed Jul 15, 2026
    be2ec1d
  • Document the enforcement capability and the manager write freeze Add Storage.enforcesOptimisticLock (with the design note on why it is a boolean rather than a capability interface) and SyncBindGuard to the locking page, and the freeze/FreezeHandle lifecycle to the caching managers page, including the defer-vs-fail matrix and the leaked-handle, TOCTOU and external-collector traps.

    @EverNife EverNife committed Jul 15, 2026
    01f335b
  • Add payload schema evolution and write-back conflict pages Document the per-entity payload schema axis (EntitySchema, the step chain, LAZY/EAGER and its backwards cascade, the migrating codec, and the eager sweeper with its _entity_schema_sweeps hint marker), and the write-back engine (the five conflict branches, ADOPT_WINNER, the per-type hooks, and the ahead-write guard).

    @EverNife EverNife committed Jul 15, 2026
    a083a64
  • manager: note dirty cells are pinned against LRU eviction; bump coordinates to 1.0.8

    @EverNife EverNife committed Jul 10, 2026
    c1ba12b
  • Tighten and fact-check every wiki page (concision + correctness pass) Swept all 41 content pages for concision (cut rambling/hedging/repetition, prefer scannable tables and short sentences) and verified every load-bearing technical claim against the source. Real fixes: Local-Files documented the removed prettyPrint/fsyncEvery LocalFileConfig constructors (gone since 271962d) - rewritten to the one-arg config; Grouped-Files' stale cross-refs to those knobs corrected. Added a few source-backed facts that were missing (nested inTransaction throws, duplicate migration version rejected at register(), getAll never returns null). No behavior claims changed beyond matching the code.

    @EverNife EverNife committed Jul 5, 2026
    a1b10fb
  • Sync wiki with adversarial-review fixes Coherence updates for the landed fixes: file backends are crash-atomic (not fsync-durable) and hash-truncate over-long keys; H2 never enforces optimistic locking in any mode incl. TCP; null Long version reads as 0; currentVersion() reports the greatest applied version and InMemory close() resets the ledger; FAIL_FAST yields exactly one error; CacheSync mode + Jedis malformed-payload reporting; non-Comparable map keys serialize unordered; numeric cross-type range on scan backends; progress-tick OR semantics; catalog is the single version source.

    @EverNife EverNife committed Jul 5, 2026
    b8fbbb3
  • docs: sync wiki with current code — grouped-file backend, versions, capability accuracy New page: - Grouped-Files.md — the key-major aggregate-file backend (one file per key, every collection as a sub-node; FileKeyNames sanitisation; atomic writes; SchemaAware via _schema/migrations.json; full-scan queries with declaration validation; no transactions; versions() = 0), plus a _Sidebar entry. Factual fixes across the wiki against the current code and libs.versions.toml: - Seven backends everywhere (GroupedFile added to matrices/lists); the "six backends" phrasings that were specific to MultiBackendRefExampleTest and the six-key example were left correct on purpose. - Single Java 25 toolchain build (sourceCompatibility=25 + options.release=8, Jabel FinalCraft fork) — removed the stale JDK-17 compiler-pin / ~/.jdks blocks. - Dependency and project versions: Jackson 2.22.0, mongodb 5.8.0, mysql 9.7.0, postgresql 42.7.12; project coordinates bumped to 1.0.6. - YAML accepted by both file backends (LocalFile and GroupedFile); Mongo stores the key as the document _id (not storage_key); health() returns HealthStatus; InMemory implements SchemaAwareStorage; ChangeFeed = Mongo/PostgreSQL/InMemory. - CachingManager.stats()/CacheStats section; RefRegistry rejects a conflicting duplicate registration; Mongo replica-set / open-no-auth test creds. - Fixed a few broken examples/links: GuildManager two-arg constructor, Quick-Start variable/type names, BatchSaveReport/KeyOutcome shown as final classes, a dead Caching-Managers wiki-link.

    @EverNife EverNife committed Jul 4, 2026
    5105d3c
  • Add Pub/sub transport over Redis/Valkey

    @EverNife EverNife committed Jun 29, 2026
    491cceb
  • docs(benchmarks): rewrite with the new benchmark-suite results Per-op throughput + latency at 10k, offset-vs-keyset pagination, 1k->10k scaling, concurrency and memory, from the new benchmarkSuite() harness (median of 3). Refresh the methodology/run instructions and trim the future-work list (most items landed).

    @EverNife EverNife committed Jun 26, 2026
    627f031
  • docs: fix wiki-links broken inside tables; ignore local CLAUDE.md Piped wiki-links [[Text|Page]] inside a Markdown table collide with the column separator, so the cell splits and the link renders as literal [[Text. Convert the in-table ones to Markdown links [Text](Page) (Home, H2, Project-Layout, Defining-Entities, Extending-the-Library). Add .gitignore for the local-only CLAUDE.md authoring notes.

    @EverNife EverNife committed Jun 26, 2026
    2265c61
  • docs(benchmarks): refresh numbers and note the ops/s fix landed

    @EverNife EverNife committed Jun 26, 2026
    c565b3c
  • docs: bump version coordinates to 1.0.4

    @EverNife EverNife committed Jun 26, 2026
    ee78a6e
  • docs: add Benchmarks page (per-backend throughput + recommendations)

    @EverNife EverNife committed Jun 26, 2026
    855af24
  • docs(manager): absorb cachedValues() and the add-on Maven snippet from the module README

    @EverNife EverNife committed Jun 26, 2026
    6bbd3c9
  • docs(codecs): document JacksonConfig profiles and the enriched default mapper

    @EverNife EverNife committed Jun 26, 2026
    a99c60f
  • Indexing & Queries: document Slice/Page, count, and keyset (cursor) pagination Add querySlice/queryPage/count and queryAfter/Cursor sections with the offset-vs-keyset decision callout, matching the implemented API.

    @EverNife EverNife committed Jun 25, 2026
    93f2e52
  • Indexing & Queries: document ordering & pagination (QueryOptions) Add a section covering query(Query, QueryOptions): ascending/descending order, limit/offset pagination, Query.all(), and the cross-backend contract (orderBy must be a declared index, NULL sorts least, stable tie-break by key, limit(0) is unbounded, negatives rejected).

    @EverNife EverNife committed Jun 25, 2026
    99b456a
  • Update wiki

    @EverNife EverNife committed Jun 23, 2026
    079c236
  • manager: dirty tracking + write-back + parent registries (v1.0.3)

    @EverNife EverNife committed Jun 20, 2026
    5cacb96
  • Bump Version to 1.0.2

    @EverNife EverNife committed Jun 19, 2026
    30b8579