Skip to content

SOP v5.3.5

Choose a tag to compare

@gerardrecinto gerardrecinto released this 13 Jul 07:00
· 66 commits to master since this release
020ca06

What changed since v5.3.4

Performance

  • B-Tree node slot allocation and L1 cache handling got faster. Measured improvement on hot-path operations.
  • L2 cache eviction for standalone mode reworked -- smarter about what to keep under memory pressure.
  • NewBtree/OpenBtree can now safely be called multiple times for the same B-Tree within a single transaction. Previously this could cause subtle data races. Stress tests updated.

Security -- all Dependabot alerts cleared

  • Go deps: golang.org/x/crypto 0.52.0, golang.org/x/net 0.55.0, go-git/v5 5.19.1, go-billy/v5 5.9.0, cloudflare/circl 1.6.3
  • Java binding: jackson-databind 2.19.0 -> 2.21.4
    • PolymorphicTypeValidator bypass via generic type parameters (high)
    • Array subtype allowlist bypass in BasicPolymorphicTypeValidator (high)
    • InetSocketAddress deserialization triggers eager DNS resolution / SSRF (medium)
    • Case-insensitive deserialization bypasses per-property @JsonIgnoreProperties (medium)

32 alerts total were open at the start of this cycle. All 32 are now resolved.

In-memory B-Tree iterators

  • All() and Range(from, to) now return iter.Seq2 -- you can do for k, v := range b3.Range(102, 104). Range seeks directly to the start key.

CI/CD

  • Gated delivery pipeline (.github/workflows/deliver.yml): build -> tests -> GHCR container (sop-quickstart) -> staging smoke -> manual production promotion.
  • Quickstart container (Dockerfile.quickstart): distroless image running the in-memory B-Tree demo.

Developer experience

  • Quickstart example at examples/quickstart -- no servers, no config, just go run ./examples/quickstart.
  • "What is SOP" plain-language overview added and linked from README and site.
  • Demo GIF recorded from the quickstart run.

Repository cleanup

  • 26 documentation markdown files moved from root to docs/.
  • 13 shell scripts moved from root to scripts/.
  • All references updated (README, index.md, release workflow, VS Code tasks, DEV_TOOLS.md).
  • Root directory now has source code, standard project files, Dockerfiles, and Go module files. That is it.

Full changelog: v5.3.4...v5.3.5