Releases: danieljustus/symaira-corekit
Releases · danieljustus/symaira-corekit
Release list
v0.17.0
What's Changed
- feat(mcpserver): carry structured tool errors in the result _meta by @danieljustus in #219
Full Changelog: v0.16.3...v0.17.0
v0.16.3
What's changed
Fixes
- #214 Add an opt-in
updatecheck/updateapplyvalidation hook that checks the installed executable before finalizing the swap and restores the previous binary when validation fails — closes #213
Closed Issues
- #213 Validate the installed binary before finalizing an update swap
Full Changelog: v0.16.2...v0.16.3
v0.16.2
What's changed
Features and contracts
- #208 Add the shared
secretrefresolver forsymvault://,keychain://,env://, and bare environment-variable references, with a default subprocess timeout — closes #206 - #209 Publish the cross-language MCP tool-annotation contract and conformance tests — closes #207
Documentation
Closed Issues
- #206 Extract the secret-reference resolver into a shared package
- #207 Specify the MCP tool-annotation contract across languages
- #210 Document the v0.16.2 release artifact
Full Changelog: v0.16.1...v0.16.2
v0.16.1
What's Changed
- ci: make release workflow idempotent for pre-created releases by @danieljustus in #188
- docs: add llmkit to AGENTS.md package inventory by @danieljustus in #189
- llmkit: harden credential and endpoint handling by @danieljustus in #200
- CI: enforce CGO-free cross-platform checks by @danieljustus in #201
- Docs: align exit codes and release migrations by @danieljustus in #202
- feat: complete config, update, Ollama, and audit contracts by @danieljustus in #203
- test: cover Ollama compatibility contract by @danieljustus in #204
- docs: add v0.16.1 release notes by @danieljustus in #205
Full Changelog: v0.16.0...v0.16.1
v0.16.0
What's changed
Features
- #187 llmkit consumer hooks:
WithStreamFinished(terminal finish/stop reason on streaming — OpenAIfinish_reason, Anthropicmessage_delta.stop_reason),WithAPIKey(direct credential injection for consumers with their own secret store),WithEmbedDimensions(Matryoshka dimension pinning via the OpenAI-wiredimensionsfield). All additive/backward compatible; required by the symaira-desktop provider-transport migration (symaira-desktop#617).
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's changed
Features
- #186 llmkit: add structured-output options for consumers —
ChatOptions.ResponseFormat(OpenAI-wireresponse_formatbody field) and additiveGenerateoptionsWithGenerateSystem/WithGenerateFormat(system prompt and JSON-schema constraint on native Ollama calls). Backward compatible; required by the symaira-brain memory-consolidation migration (symaira-brain#321).
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's changed
Features
- #179 Define the shared LLM provider contract (contracts/llm_providers.json, llm_errors.json, llm-provider-contract.md)
- #180 Add the shared
llmkitprovider layer — one HTTP transport plus a dialect table for OpenAI-compatible vendors and Anthropic, credential resolution via symvault:// / keychain:// / env:// references, six-category error taxonomy mapped onto corekit exit codes - #181 Provider coverage: conformance suite over the whole embedded registry proving every descriptor speaks the documented wire format
- #178 Automate tag-to-release for the Go library (release.yml)
- #171 Add consumer bump ownership rule and pin-drift follow-up mechanism (docs/consumers.json, consumer-pin-drift.yml)
Fixes
- #184 Restore release coverage for the llmkit provider layer — behavioral tests for error/dialect branches lift the package from 74.6% to 98.8%; also fix
Error.Error()to surface underlying local-failure details instead of a bareprovider_error
Docs
- #182 Document the shared provider layer and record it as ecosystem SSOT
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's changed
Cross-language contracts
- Add
contracts/*.jsonfixtures for the exit-code table, update-check invariants, config-path pattern, and JSON encoding/stdio rules, plus Go tests asserting this repo's behavior against them (#170, closes #155).symaira-appkit's Swift port can now assert against the same fixtures instead of relying on prose staying in sync. - Correct two stale references in
docs/cross-language-conventions.md: the error-type examples now point atsymcockpit'sSymOperateCore.AutomationError/SymTuneCore.TuneError(the oldsymoperate/symtunepackages were archived), and the file-locking extraction candidate pointing at the archivedsymaira-scoperepo is removed.
Full Changelog: v0.12.1...v0.13.0
v0.12.1
What's changed
Runtime dependency
- Bump
modernc.org/sqlitefrom 1.56.0 to 1.57.0 for the shared SQLite layer (#162).
Documentation and repository hygiene
- Restructure the README around the shared Symaira documentation layout and add a linked changelog (#169, closes #168).
- Stop tracking internal audit, coverage, prerelease, review, and adoption artifacts while keeping the local tooling paths available (#167).
CI maintenance
- Update CodeQL actions to 4.37.8 (#163, #165, #166).
- Update the golangci-lint action to the current pinned revision (#164).
Full Changelog: v0.12.0...v0.12.1
v0.12.0
What's Changed
Features
- auditkit: shared tamper-evident audit log infrastructure (#152) —
auditkit.Sinkprovides a tamper-evident audit log with SHA-256 chaining,ChainAnchorcheckpoints for crash-safe flushes, andVerificationfor integrity checks. Shared across all Symaira tools.
Performance
- mcpserver: concurrent tool dispatch (#141) —
ServeIOnow dispatchestools/callhandlers in goroutines with async.WaitGroup, so one slow handler cannot block the transport. TheresponseWriteris mutex-protected to prevent interleaved writes. IncludesTestConcurrentToolDispatch.
Fixes
- cosign: correct double-escaped default certificate identity regexp (#142) — closes #134, #135, #136, #137
- golangci-lint: correct
.golangci.ymlto uselinters.settings(golangci-lint v2) (#159) — closes #138 - domkit: neutralize stale package docs (#159) — closes #139
- godoc: add runnable
Example*tests for 7 packages (#159) — closes #140 - CI: decouple check names from Go toolchain version #145 — closes #145 (resolved via API during prerelease)
Breaking changes
- embedkit: removed the unused
embedkitpackage (#160) — closes #156. No consumers found across the Symaira workspace;symbrainhas its own specialized implementation.
Chore / Docs
- deps: bump
golang.org/x/netfrom 0.57.0 to 0.58.0 (#143) - README: correct consumer list after repo consolidation (#153)
- README: name the tools that actually consume this library (#154)
- Security: add
.github/SECURITY.mdwith supported versions and reporting policy (#161) - CI: pin
golangci/golangci-lint-actionto SHA for supply-chain hardening (#161)
Security
No new vulnerabilities. Secret scanning, push protection, and Dependabot security updates are enabled. secret_scanning_non_provider_patterns and secret_scanning_validity_checks remain disabled — these require GitHub Advanced Security (not available for personal-account repos; see #132).
Closed Issues
None directly closed by this release's tag (issues were closed via the implementation PRs).
Full Changelog: v0.11.0...v0.12.0