Releases: Cyoda/cyoda-go
Release list
v0.8.3
cyoda-0.8.3
cyoda-go: a lightweight, multi-node Go digital twin of the Cyoda platform. This chart ships a production-ready Helm deployment backed by an external Postgres, fronted by Gateway API (default) or a still-maintained Ingress controller (transitional).
v0.8.2
Contract-true OpenAPI, richer entity queries, and transaction-joined compute callbacks.
This release sharpens the API/OpenAPI contract and deepens the entity data layer. Highlights:
- Search result sorting — order results by any scalar data or meta field, canonical across every backend.
- Partial entity updates (PATCH) — RFC 7386 merge-patch; stop destroying fields you didn't send.
- Composite unique keys — declare multi-field uniqueness on an entity model, enforced on create/update.
- Faster PostgreSQL search — predicates push down into SQL instead of loading and filtering in memory.
- Transaction-joined compute callbacks — processor/criteria callbacks join the originating workflow transaction.
- Renderer annotations on processors & criteria — display metadata on every workflow element (schema 1.2).
- Contract-true OpenAPI — error codes, response envelopes, and body shapes reconciled with the server.
meta-data → metaData, changeType spelling, search limit enforcement, and more). Review the breaking-changes section before upgrading.
📖 Read the full release notes — and explore the docs — at docs.cyoda.net. The documentation portal has guides, configuration schemas, API references, and architecture deep-dives to help you get the most out of Cyoda. · Changelog: https://github.com/Cyoda/cyoda-go/blob/main/CHANGELOG.md
Ships against cyoda-go-spi v0.8.2. Helm chart: cyoda-0.8.2.
What's Changed
- chore(helm): bump chart appVersion to v0.8.1 by @github-actions[bot] in #338
- fix(ci): use client-id for Homebrew tap App token (app-id deprecated) by @pschleger in #339
- feat: entity partial-update (PATCH / RFC 7386 merge patch) by @pschleger in #344
- chore: self-injecting skill gates (test-coverage + independent design review) by @pschleger in #345
- ci: auto-close referenced issues on merge into a release branch by @pschleger in #346
- docs(versioning): adopt 0.x patch-for-features convention; decouple SPI version from binary by @pschleger in #348
- fix: canonicalize point-in-time read semantics (inclusive <=, no rounding) by @pschleger in #350
- feat(postgres): search predicate pushdown (spi.Searcher) by @pschleger in #351
- feat: composite unique keys (scalar fields) — engine-internal UNIQUE constraint by @pschleger in #355
- fix(sqlite): same-tx delete+reclaim of a composite unique-key value by @pschleger in #356
- feat(search): client-controllable result sorting by field paths (#347) by @pschleger in #366
- feat(287): compute-node callbacks join the originating transaction by @pschleger in #368
- feat(openapi): contract status markers + live-or-marked conformance gate (Spec 1, ADR 0003) by @pschleger in #370
- feat(openapi): entity-group contract reconciliation — meta, conditional delete, PIT, error-code matrix (E1–E9 minus E6) by @pschleger in #371
- fix(test): make multinode cluster launch resilient to the port-collision flake by @pschleger in #375
- feat(openapi): stats/audit/search reconciliation — unknown-model 404 unification, fictional-surface removal, limit-cap coherence by @pschleger in #373
- ci: gofmt the tree + add a gofmt gate by @pschleger in #374
- feat(openapi): entity-model & workflow reconciliation + #369 documentation catch-up by @pschleger in #376
- feat(openapi): auth/OIDC reconciliation — ProblemDetail envelope, 409 duplicate, config-conditional 501 (#369 group 3) by @pschleger in #378
- feat(openapi): message reconciliation — flat metaData, ProblemDetail binding-400, body-shape fixes (#369) by @pschleger in #380
- feat(openapi): dead-surface disposition — SQL-Schema drift fixes, CQL cleanup, marker-backing invariant (#369) by @pschleger in #383
- chore(security): bump goldmark v1.7.13 → v1.7.17 (govulncheck GO-2026-5320) by @pschleger in #388
- fix(messaging)!: rename edge-message request field meta-data → metaData; add help topic by @pschleger in #387
- chore(security): bump Go toolchain 1.26.4 → 1.26.5 (govulncheck GO-2026-5856) by @pschleger in #389
- feat(workflow): renderer annotations on processors & criteria by @pschleger in #385
- chore(ci): bump azure/setup-helm v5.0.0 → v5.0.1 by @pschleger in #390
- release: v0.8.2 milestone bundle by @pschleger in #391
Full Changelog: v0.8.1...v0.8.2
cyoda-0.8.2
cyoda-go: a lightweight, multi-node Go digital twin of the Cyoda platform. This chart ships a production-ready Helm deployment backed by an external Postgres, fronted by Gateway API (default) or a still-maintained Ingress controller (transitional).
v0.8.1
What's Changed
- chore(helm): bump chart appVersion to v0.7.1 by @github-actions[bot] in #239
- chore(deps): go 1.26.3 + golang.org/x/net v0.53.0 (CVE bumps) by @pschleger in #241
- docs: correct stale isolation-level references to SI+FCW by @pschleger in #240
- docs: README + OVERVIEW→FEATURES + new help topics (admin, cluster) — evaluator-first refactor by @pschleger in #242
- feat(helm): optional separate migration DSN (migrate.postgres) by @pschleger in #268
- chore(deps): bump the minor-and-patch group across 1 directory with 8 updates by @dependabot[bot] in #267
- chore(deps): bump distroless/static from
47b2d72to3592aa8in /deploy/docker by @dependabot[bot] in #248 - chore(deps): bump actions/dependency-review-action from 4 to 5 by @dependabot[bot] in #245
- chore(deps): bump busybox from 1.37 to 1.38 in /deploy/docker in the minor-and-patch group by @dependabot[bot] in #266
- ci: run full CI battery on release/** branches by @pschleger in #269
- refactor(workflow): #250 split processor execution-location from scheduled-transition timing by @pschleger in #265
- chore(deps): target Dependabot PRs at release/v0.8.0 by @pschleger in #275
- chore(deps): bump go directive to 1.26.4 — stdlib CVE fixes by @pschleger in #279
- feat(iam): OpenAPI conformance for /oauth/keys/* (keypair + trusted) — closes #281 by @pschleger in #289
- feat(spi): tx-state sentinel errors — closes #200 by @pschleger in #294
- feat(grpc): wire ProcessorConfig.Context pass-through for Cloud parity (closes #253) by @pschleger in #297
- feat(workflow): tighten import-time validation (state graph, names, ExecutionMode enum) — closes #255 by @pschleger in #298
- feat(entity): grouped statistics query endpoint (closes #299) by @pschleger in #300
- feat(workflow): silent-default semantics — closes #256 by @pschleger in #302
- chore(workflow): import/export boundary hygiene sweep — closes #257 by @pschleger in #306
- test(workflow): import/export coverage sweep — closes #258 by @pschleger in #307
- feat(workflow): scheduled-transition configuration shape + SPI by @pschleger in #308
- feat(workflow): asyncResult + crossoverToAsyncMs SPI shape with import rejection — closes #261 by @pschleger in #309
- feat(workflow): RetryPolicy import-time validation + surface inbound retryable flag — closes #262 by @pschleger in #310
- feat(workflow): strict-decoder on import handler — closes #264 by @pschleger in #311
- feat(iam): OpenAPI conformance for /clients (technical users) by @pschleger in #312
- feat(iam): OIDC providers subsystem (#284) by @pschleger in #314
- auth help topic + v0.8.0 OIDC polish by @pschleger in #316
- feat(auth/oidc): #317 support object-shaped rolesClaim (Zitadel) by @pschleger in #318
- chore(help): use sort.Strings, drop hand-rolled insertion sort by @pschleger in #320
- chore(release): forward-port cyoda-platform → cyoda org-rename fix by @pschleger in #324
- feat(workflow): forward-port schema-version contract (#319) + bump 1.0 → 1.1 for v0.8.0 by @pschleger in #327
- chore(deps): bump mikefarah/yq from 4.53.2 to 4.53.3 in the minor-and-patch group across 1 directory by @dependabot[bot] in #325
- feat(workflow): client-owned annotations on workflows, states, and transitions by @pschleger in #329
- feat(observability): wire OIDC subsystem metrics (D22 follow-up to #284) by @pschleger in #331
- fix(test): unbuffered FaultInjectingKV pause channel (fix intermittent race deadlock) by @pschleger in #332
- release-prep v0.8.0: deps sweep, SPI v0.8.0 pin, GOPRIVATE fix, doc finalize by @pschleger in #333
- Release v0.8.0 by @pschleger in #334
Full Changelog: v0.7.1...v0.8.1
cyoda-0.8.1
cyoda-go: a lightweight, multi-node Go digital twin of the Cyoda platform. This chart ships a production-ready Helm deployment backed by an external Postgres, fronted by Gateway API (default) or a still-maintained Ingress controller (transitional).
v0.7.4
Changelog
- 9ba7b13 release: v0.7.4 (complete cyoda-platform → cyoda org rename in release pipeline)
v0.7.1
v0.7.0
Changelog
- 73e79f3 release: v0.7.0 — collection workflow routing + transactionWindow chunking + per-item ifMatch + COMMIT_BEFORE_DISPATCH (#231)
- 18d9d04 Merge pull request #225 from Cyoda-platform/release/v0.7.0
- c251674 docs(openapi): document asyncResult/crossoverToAsyncMs Cloud-parity gap (#223) (#224)
- 9cd4bc9 Merge pull request #221 from Cyoda-platform/release/v0.7.0
- e82171c docs(changelog): expand v0.7.0 entry to cover all 15 milestone issues (#220)
- a4f7f6f fix(release/v0.7.0): security-audit findings on supply-chain + concurrency (closes #218) (#219)
- 236b35e fix(release/v0.7.0): code-review findings on #210/#211/#213 (#214)
- 024de7d refactor(common): separate (status, code, retryable) axes in 4xx errors (#140) (#213)
- ddad755 docs(chart): dedicated guides for Ingress→Gateway migration + Gateway API policies (#57 #58) (#212)
- 5a1ffac fix(search): single-node invalidation + cross-tenant isolation in path cache (#174 #175) (#211)
- b3a2b65 feat(release): cosign keyless signatures on archives + verify in install.sh (#47) (#210)
- 7e35823 feat(fixtureutil): add LaunchCyodaClusterAndComputeWithBinaries (#157) (#209)
- fcbb726 test(parity): unblock #150/#152 skips — handler-param fixes already delivered (#208)
- 541498f fix(release): publish install.sh as a release asset + adopt stable URL (#49) (#207)
- 3003fec chore(deps): bump docker/setup-buildx-action from 3 to 4 (#206)
- 64ce242 docs(architecture): add CONCURRENCY.md (#199 PR-C3) (#205)
- ef16894 fix(postgres): tenant isolation across TM lifecycle surface (#199 PR-C2) (#204)
- 2a8c782 fix(sqlite): tx.OpMu coverage for Savepoint/RollbackToSavepoint + tenant isolation (#199 PR-C1) (#203)
- 9e8e0f1 chore(deps): bump cyoda-go-spi to v0.6.1 (#199 PR-B) (#202)
- 5c9cdf0 fix(memory): tx.OpMu coverage for Savepoint/RollbackToSavepoint/Join + tenant isolation (#199 PR-A) (#201)
- 29057e9 fix(memory): apply tx.OpMu locking discipline to remaining 6 in-tx ops (#176) (#198)
- 8bb7f49 fix(api): API-wide CORS support (#196)
- faeddc9 fix(openapi)!: #21 spec-server conformance — runtime validator, audit, defect fixes (BREAKING) (#195)
- 4abcea6 docs: add CHANGELOG.md with v0.7.0 entry + README versioning policy
- f1ee207 chore(deps): root go mod tidy after sqlite-plugin dep bump (#180)
- c344938 fix(conformance): address M-1 through M-7 minor review findings
- 7028cc7 fix(conformance): address I-1/I-2/I-3 review findings
- 1d037f6 docs: final consistency pass for openapi.md (Task 11.3 / #21)
- e85262f feat(e2e): flip openapi validator to ModeEnforce + final consistency pass
- 6ffaa7f fix(spec+e2e): final cleanup — content-type drift, enum mismatch, uncovered-op closure
- 6fe60de fix(search): reconcile spec with server, document ndjson streaming validator coverage
- 2d035ab fix(model): reconcile spec with server, declare error responses
- 85f1747 docs(audit): fill commit SHA e9d6985 for Task 7.1 messaging rows
- e9d6985 fix(messaging): JSON-in-string content + dead-branch removal + EdgeMessagePayload schema
- 38a1700 fix(e2e): add fallback path-template matcher for kin-openapi router overlaps
- 19aa18a docs(audit): note Task 6.1 embedded-spec update mechanism (commit 7ec63f3)
- 7ec63f3 fix(spec): update embedded swagger spec so GetSwagger reflects Task 6.1 changes
- 9f6f1a9 docs(audit): fill commit SHA 9c721b4 for Task 6.1 entity rows
- 9c721b4 fix(entity): reconcile spec with server (closes original #21 confirmed defects)
- 44a312c docs(audit): fill commit SHA 302ba1e for Task 5.1 transitions rows
- 302ba1e fix(spec+e2e): document missing transitions endpoints + skip operational paths
- 51120fc docs(audit): fill commit SHA 04d6721 for Task 4.1 audit rows
- 04d6721 fix(audit): reconcile spec with server, declare AuditEvent discriminator union
- 580d4aa fix(help): remove CQL Execution Statistics from tag list test
- bd98bd7 docs(audit): fill commit SHA 766df8b for Task 3.1 account/IAM rows
- 766df8b fix(account+iam): reconcile spec with server (decl. 501 for stubs per #194)
- 14a6b78 docs(audit): add per-operation OpenAPI conformance audit table
- 444103c fix(e2e): harden validator against streaming-body panic + spec context-path
- 95e3589 feat(e2e): wire openapi validator into TestMain + conformance test (record mode)
- fc99fd4 refactor(e2e): route all test requests through e2eNewRequest helper
- 77bc07e feat(e2e): add markdown report writer for conformance findings
- 2565ca7 feat(e2e): add validator middleware with mode-aware enforcement
- 25c59e1 docs(plan): correct Options struct placement in Task 1.5 spec
- dbd8c99 feat(e2e): add Validator with kin-openapi response validation + fixture suite
- 65214bc feat(e2e): add mismatch collector with exercised-ops tracking
- 1acba43 feat(e2e): add WithTestT/TestTFromContext for per-request test capture
- d09ecfc fix(e2e): drop dead teeFR/teeFHR variants + simplify capture-test
- 7ac3de9 feat(e2e): add tee-writer that delegates Flusher/Hijacker/ReaderFrom
- 54e92e8 fix(e2e): reorder mode.go declarations + drop duplicate package comment
- 2e47db5 feat(e2e): scaffold openapivalidator package with Mode constant
- 7101dcb docs(plan): add implementation plan for #21 OpenAPI conformance
- 4ecffd3 docs: revise #21 design after review-04 (2 nits) — convergence reached
- 3375537 docs: revise #21 design after review-03 (storage invariant + 3 moderates)
- 4d8c0af docs: revise #21 design after review-02 (Go test mechanics + 5 strong concerns)
- d51ffdb docs: revise #21 design after fresh-agent review
- fd0ec61 docs(spec): add design for #21 OpenAPI server-spec conformance
- 315f8f9 docs(adr): add 0001 OpenAPI server-spec conformance approach
cyoda-0.6.3
cyoda-go: a lightweight, multi-node Go digital twin of the Cyoda platform. This chart ships a production-ready Helm deployment backed by an external Postgres, fronted by Gateway API (default) or a still-maintained Ingress controller (transitional).