Skip to content

Releases: Cyoda/cyoda-go

v0.8.3

Choose a tag to compare

@github-actions github-actions released this 27 Jul 16:58
v0.8.3
76dd723

Changelog

cyoda-0.8.3

Choose a tag to compare

@github-actions github-actions released this 27 Jul 19:32
cyoda-0.8.3
7dc919a

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

Choose a tag to compare

@pschleger pschleger released this 08 Jul 22:24

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.

⚠️ This release tightens several contracts (edge-message meta-datametaData, 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

Choose a tag to compare

@github-actions github-actions released this 08 Jul 22:38
305cbe8

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

Choose a tag to compare

@pschleger pschleger released this 24 Jun 00:57

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 47b2d72 to 3592aa8 in /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

Choose a tag to compare

@github-actions github-actions released this 24 Jun 01:16
3d19249

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

Choose a tag to compare

@github-actions github-actions released this 19 Jun 21:55

Changelog

  • 9ba7b13 release: v0.7.4 (complete cyoda-platform → cyoda org rename in release pipeline)

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 06 May 14:16
v0.7.1
39e3266

Changelog

  • 39e3266 chore(release): drop replace directives; pin plugin modules at v0.7.1 (#238)

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 05 May 17:45
73e79f3

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

Choose a tag to compare

@github-actions github-actions released this 29 Apr 02:30
ea61042

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).