Releases: SharedCode/joltrin
Releases · SharedCode/joltrin
Release list
v5.5.0
What's Changed
- Add DevSecOps pipeline: SAST, SCA, secret scanning, IaC checks, and Claude review by @gerardrecinto in #305
- feat: Azure Container Apps deployment for tools/httpserver by @gerardrecinto in #306
- test: raise btree/common coverage 85.3% -> 87.7%, fix stale Codecov slug by @gerardrecinto in #307
- release: v5.5.0 by @gerardrecinto in #308
- fix(bindings): bindings/main missing from the Docker build context by @gerardrecinto in #309
Full Changelog: v5.4.0...v5.5.0
v5.4.0 - Human copy pass, security fix, real enterprise contact
Website & Docs
- Rewrote the marketing site copy (
demo/index.html) to read like a founder explaining the product, not AI-generated marketing copy: hero, verification barrier, business value, why-now, business model, pricing, enterprise value, enterprise form, final CTA. - Removed every em dash and leftover buzzword ("paradigm", "mission-critical") from the site copy, and softened an unverifiable "1 business day" enterprise response-time claim.
- README: shrunk the logo from 480px to 120px, added a "Cutting a Release" section documenting the real
scripts/update_version.sh/build_release.sh/verify_release.shflow.
Security
- Bumped
google.golang.org/grpcv1.83.1 -> v1.83.2, closing GHSA-2v4p-qf9q-27wj (CVE-2026-84445, xDS server DoS). Transitive dependency only; this repo does not run an xDS gRPC server.
Fixed
- Enterprise contact fallback now points to a real, monitored address instead of a placeholder inbox.
Full Changelog: v5.3.8...v5.4.0
SOP v5.3.8 - Production Resilience, Multi-Language Alignment, and AI Memory Release
Changelog
v5.3.8
Highlights
- Full ecosystem version alignment: Synchronized all core Go modules and language bindings (Python
sop4py, C#Sop, Java, Rust) to release version v5.3.8. - Zero known vulnerabilities: Pinned Go toolchain 1.26.8 across all modules and Docker containers, resolving 7 standard library CVEs and verifying 0 called vulnerabilities with
govulncheck. - Deterministic container and CI test validation: Resolved direct I/O failover simulation in root/container environments and restored full race-detector test coverage in CI.
Reliability
- Container test runner hardening: Updated
Test_EC_Failover_Reinstate_FastForward_Shortininfs/integrationteststo utilize the DirectIO simulator andfs.TriggerFailoverinstead of filesystem chmod manipulations, eliminating permission bypasses in container and root execution contexts. - Race detector coverage: Verified clean execution across core packages under Go race detection (
inmemory,btree,common,fs,cache,cel,encoding,database,jsondb,search).
Performance
- Reproducible cache latency: Verified 62.09 ns/op L1 MRU hit latency and 66.17 us/op under heavy mixed-cache workloads.
- Vector store throughput: Benchmarked end-to-end ACID transaction pipeline in
ai/vectorat 16.23 ms for batch 50-vector upsert, KNN query, and durable commit. - CI benchmark stabilization: Calibrated benchmark iteration scaling in performance workflows to prevent runner timeouts.
Developer Experience
- Quickstart zero-dependency demo: Validated
examples/quickstartand published container image (ghcr.io/sharedcode/sop-quickstart) providing instant zero-configuration testing. - Unified versioning: Enhanced
scripts/update_version.shfor atomic multi-language version updates.
AI/Data
- Knowledge Base compilation: Verified and generated complete base knowledge base in
ai/sop_base_knowledge.jsoncontaining 1,257 knowledge items and 1,397 categories. - Query and Join execution: Verified Adaptive Hash Join planning in AI agent runtime executing in 1.10 ms.
Security
- Go toolchain update: Upgraded all modules and Dockerfiles to Go 1.26.8, addressing CVEs in
net/url,html/template,crypto/tls,encoding/asn1,net/http, andgolang.org/x/net/idna. - Dependency hardening: Bumped
go-gitto v5.19.2 andcel-goto v0.29.0 to eliminate open Dependabot advisories.
CI/CD
- Gated delivery pipeline: Decoupled production promotion into
.github/workflows/promote.ymlso pending manual approvals do not block or fail continuous delivery status. - Test execution fix: Explicitly configured package test targets in
.github/workflows/go.ymlfor comprehensive coverage reporting with race detector.
Documentation
- Badge cleanup: Removed retired Go Report Card badge, added dynamically resolved Go version, license, and CI build status badges.
- Architecture and Investor analysis: Added detailed architectural positioning ("Why SOP?") and multi-horizon product roadmap.
Breaking Changes
- None. Full backward compatibility maintained for all storage layouts, transaction protocols, and APIs.
Upgrade Notes
- Go 1.26.8 or later is recommended when building from source. No data migration required for existing stores.
v5.3.7
- Descending iterators for the in-memory B-Tree:
AllDesc()andRangeDesc(from, to)walk keys newest-first;RangeDescseeks straight to the high bound. Both covered by unit tests; quickstart shows a newest-first scan. - Fix: iteration errors no longer swallowed in the Data Manager item stream (
tools/httpserver): a shadowederrinside the paging loop meantstore.Nextfailures never reached the error log or terminated the loop condition. - Fix:
tools/confighubknowledge-base tests now skip on fresh clones instead of failing when the gitignored localtools/config.jsonis absent. - Security: jackson-databind 2.21.4 to 2.21.5 in the Java binding (closes the case-insensitive deserialization bypass advisory, the last open Dependabot alert).
- Lint cleanup: removed a stray debug print in the item search path, replaced nil Contexts with
context.Background()in the in-memory B-Tree wrapper, finished the typed context key for the vectorized-spaces map, normalized error strings, dropped dead nil checks.
v5.3.6
- Maintenance rebuild: fixed v5.3.5/v5.3.6 release pipeline failures by building the whole
knowledge_compilerpackage and bumping the build image to Go 1.26.4. No library code changes.
v5.3.5
- B-Tree node slot allocation and L1 cache handling optimized for better throughput on hot paths.
- L2 cache eviction policy reworked for standalone mode -- smarter eviction under memory pressure.
NewBtree/OpenBtreesafe multi-open: the same named B-Tree can now be opened multiple times within a single transaction without data races. Stress tests updated to cover this.- Range-over-func iterators for the in-memory B-Tree:
All()andRange(from, to)returniter.Seq2so callers canfor k, v := range b3.Range(102, 104). Range seeks straight to the start key; both are covered by unit tests. Quickstart example and demo GIF updated to use them. - Security: cleared all 32 Dependabot alerts (7 critical). Go: 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 to 2.21.4 (fixes CVE PolymorphicTypeValidator bypass, array subtype allowlist bypass, InetSocketAddress SSRF, case-insensitive deserialization bypass).
- Gated delivery pipeline (
.github/workflows/deliver.yml): every push to master runs build, tests, container packaging to GHCR (sop-quickstart), and a staging smoke test. Production promotion (image:stabletag plus GitHub Pages site deploy) sits behind a manual approval on theproductionenvironment. - Quickstart example (
examples/quickstart): zero-infrastructure in-memory B-Tree walkthrough (add, find, update, ordered scan). Packaged as a distroless container viaDockerfile.quickstart. - README demo GIF recorded from the quickstart run; project site landing page added (
index.md). - Root directory cleanup: 26 documentation files moved to
docs/, 13 shell scripts moved toscripts/. README and workflow references updated. Root now contains only source code, standard project files (LICENSE, CONTRIBUTING, etc.), and build configs.
SOP V2 build 54 (Upcoming)
- Gate 1 Advanced KB Routing: Major enhancements to specialized focused routing for knowledge base queries.
- Root Category Navigation: Query
omni:<kb>to display all root categories with item counts and subcategory information.- Example:
omni:sopshows all top-level categories in the SOP knowledge base - Provides directory-style exploration without needing to know category names upfront
- Navigation hints included for deeper exploration (e.g., "Navigate: omni:sop:language")
- Pagination: 20 categories per page with
:page:<number>or/page/<number>syntaxomni:sop:page:2oromni:sop/page/2- View page 2 of root categoriesomni:sop:language:page:3oromni:sop/language/page/3- View page 3 of subcategories- Supports both
:and/as separators (matches user's query style) - Shows page info: "(Page 2 of 5, showing 21-40 of 87)"
- Navigation hints: "Previous: omni:sop:page:1 | Next: omni:sop:page:3"
- LLM filtering suggestion for large sets (>40 categories)
- Example:
:llm <instruction>Meta-Token: Added support for explicit LLM post-processing instructions using:llmsuffix (e.g.,omni:sop:operations:performance:llm summarize top 3).- Clean Query Separation: The
:llmmeta-token is automatically stripped from the KB search query and treated as post-retrieval guidance. - TaskContextClassification Fields: Added
CleanQueryandLLMInstructionfields to properly separate user intent from meta-commands. - Three-Way Routing: Intelligent decision-making based on result count and
:llmpresence::llmpresent → LLM processes with instruction (highest priority)- 1-5 matches → Direct display (no LLM)
- 6+ matches → Automatic LLM summarization
- Clean Query Separation: The
- Flexible Hierarchy Support: Full support for any-depth category paths (e.g.,
omni:kb:cat1:subcat1.1:subsubcat1.1.1:...). - Subcategory Navigation: When a category path has no direct items (and no
:llminstruction), automatically returns child categories with item counts and descriptions as navigation hints. - Enhanced Parsing: New
stripLLMInstruction()function ensures consistent meta-token extraction across all query patterns. - Architecture Improvements:
getSubcategories()function for root and path-level category displaybuildKBEnrichedQuery()now uses clean queries without meta-tokens for proper LLM contexttrySpecializedFocusedRouting()handles root navigation, flexible hierarchy, and meta-token parsing- Comprehensive test coverage for all routing patterns and hierarchy depths
- Roadmap - Quoted Text Search: Proposed support for combined category + text queries (e.g.,
omni:sop:language bindings "java tutorial"). - Documentation Updates: Updated
AI_COPILOT.md,AI_COPILOT_USAGE.md, andIMPLEMENTATION.mdwith comprehensive routing guides including root category navigation.
- Root Category Navigation: Query
SOP V2 build 53 (Upcoming)
- Schema Format Enhancement: Introduced flat schema format for better LLM understanding and correlation with Store Relations.
- New Fields: Added
FlatSchema,KeyFields, andValueFieldstoStoreInfofor improved schema representation. - Flat Schema: Uses flat format without p...
- New Fields: Added
v5.3.7
v5.3.6
What's Changed
- wired: health endpoint for load balancers by @gerardrecinto in #299
Full Changelog: v5.3.5...v5.3.6
SOP v5.3.5
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/OpenBtreecan 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()andRange(from, to)now returniter.Seq2-- you can dofor 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, justgo 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
SOP V2: general purpose AI & Knowledge Base support PATCH Update
Upgraded to latest go 1.26.4.
SOP V2: general purpose AI & Knowledge Base support PATCH update
Minor cleanup and CICD fix.
SOP V2: general purpose AI & Knowledge Base support
Summary:
- Support for "general purpose" AI like Claude Code, Gemini & Chat GPT
- Support for first class Knowledge Base, a.k.a. Spaces. Mint: visualize, enrich, group your "thoughts" into nested Categories to
- Support million/billions data set without the 'pigeon hole' weakness, then Vectorize them for "semantic" retrieval
- Support for local Embedders, thanks to Kelindar Search Open source folks!
- Support for rich prefix based routing with zero LLM calls, e.g. custom KB:Category1:Category1.1
- Support for LLM filtering, e.g.: e.g. custom KB:Category1:Category1.1:llm [instruction filter]
- Richer Stores schema view and management
- Stores and Spaces can complement each other, write ACID transactions that manage/query the two databases
- Ask LLM to manage the two databases, no need to learn SQL syntax
- Very rich LLM integration implementation taking full advantage of providers' server side continuation/conversation features, and SOP "memory" feature (MRU, Short Term Memory & Long Term Memory structures).
- Cleaner Release Numbering, targeting latest latest so go toolchain will not get confused.
- ai/memory KnowledgeBase package can easily be reused externally. See http://github.com/grecinto/tensortree
- More robust/optimized SOP B-tree engine:
- Store Repository Count tracking imposes minimal update of store as opposed to entire Store repository metadata overwrite
- More efficient B-tree storage use, i.e. - it is now practical to use large SlotLengths like 10,000 per Node. It requires same storage space as 500 SlotLength Node
- Beta 2/Community Preview Stability
SOP V2: general purpose AI & Knowledge Base support patch update
Few minor refactors/updates to allow easier reuse of ai/memory KnowledgeBase package and dependencies.