| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| checksums.txt | 2026-02-24 | 582 Bytes | |
| checksums.txt.sigstore.json | 2026-02-24 | 10.5 kB | |
| occ_v0.16.0_darwin_amd64.tar.gz.sigstore.json | 2026-02-24 | 10.6 kB | |
| occ_v0.16.0_darwin_arm64.tar.gz.sigstore.json | 2026-02-24 | 10.4 kB | |
| occ_v0.16.0_linux_amd64.tar.gz.sigstore.json | 2026-02-24 | 10.4 kB | |
| occ_v0.16.0_linux_arm64.tar.gz.sigstore.json | 2026-02-24 | 10.5 kB | |
| occ_v0.16.0_windows_amd64.zip.sigstore.json | 2026-02-24 | 10.5 kB | |
| occ_v0.16.0_windows_arm64.zip.sigstore.json | 2026-02-24 | 10.5 kB | |
| occ_v0.16.0_darwin_amd64.tar.gz | 2026-02-23 | 14.7 MB | |
| occ_v0.16.0_darwin_arm64.tar.gz | 2026-02-23 | 13.7 MB | |
| occ_v0.16.0_linux_amd64.tar.gz | 2026-02-23 | 14.7 MB | |
| occ_v0.16.0_linux_arm64.tar.gz | 2026-02-23 | 13.1 MB | |
| occ_v0.16.0_windows_amd64.zip | 2026-02-23 | 15.0 MB | |
| occ_v0.16.0_windows_arm64.zip | 2026-02-23 | 13.2 MB | |
| README.md | 2026-02-23 | 22.4 kB | |
| v0.16.0 source code.tar.gz | 2026-02-23 | 6.3 MB | |
| v0.16.0 source code.zip | 2026-02-23 | 7.3 MB | |
| Totals: 17 Items | 98.0 MB | 1 | |
Summary of Changes
This release introduces cluster-scoped resource types, a rebuilt API handler layer with full CRUD coverage, a remediation agent, and several CRD simplifications across Workloads and ReleaseBindings.
-
Rebuilt API Handler Layer: The control plane API has been restructured into a modular handler/service architecture. Full CRUD endpoints added for Projects, Components, Namespaces, Environments, Releases, ReleaseBindings, ComponentReleases, Workloads, SecretReferences, DeploymentPipelines, ComponentTypes, Traits, ClusterComponentTypes, ClusterTraits, and ObservabilityAlertsNotificationChannels. All resources now go through CRD-based authorization directly with pagination support.
-
Release Resource Observability: New API endpoints for viewing a rendered release's resource tree, pod logs, and events. Gives full visibility into what a release actually deployed at runtime.
-
Workflow Run Observability: Added status, logs, and events endpoints for namespace-level workflow runs through the API server.
-
Remediation Agent: The RCA agent now is followed up with a remediation agent that can suggest openchoreo specific fixes. New prompt templates and a remediation result model support the two-stage diagnostic flow.
-
Workload Simplification: Workloads now use a single required
containerfield instead of the previous choice betweencontainer(optional) andcontainers(map). Removes ambiguity in the workload spec. -
WorkloadEndpoint Restructure: Endpoints now use an array-based
visibilityfield instead of a single value, and gaintargetPort,basePath, anddisplayNamefields for richer endpoint configuration. -
Release Resource Tree Diagnostics: Introduces a powerful hierarchical diagnostics view for release resources in the OpenChoreo Backstage UI. This update adds backend APIs and frontend components to visualize resource trees, inspect Kubernetes events, and view pod logs directly within the release details experience, replacing the legacy tabbed overview with an interactive tree layout and detailed context panels
-
Wildcard Array Selector for Patch Paths: Trait patches now support
[*]wildcard array selectors, enabling platform engineers to apply patches across all elements in an array. -
Observability Plane Module-Based Architecture: The observability plane now uses a modular approach. OpenTelemetry Collector, Prometheus, and OpenSearch are disabled by default and can be individually installed as separate modules as needed.
-
Workflow Templates Extracted from Helm: Workflow templates moved from being embedded in the Helm chart to standalone
ClusterWorkflowTemplateresources, decoupling workflow definitions from chart upgrades. -
E2E Testing Infrastructure: New end-to-end testing framework with platform health tests added to the CI pipeline.
-
Dependency Bumps: kgateway to 2.2.1, Thunder to v0.23.0, go-git to 5.16.5, MCP Go SDK to 1.3.0, and various Python dependency updates for the RCA agent.
-
Minor Bug Fixes and Improvements: Expired refresh token detection and re-login prompting in CLI, cluster build plane fixes, MCP response wrapping for ListComponentTraits, React cluster workflow build step fix, ReleaseBinding single container override validation, runtime log fetching from cluster planes, and various authz action corrections.
Breaking Changes
- Component CR:
componentTypefield changed from string to object. PreviouslycomponentTypewas a string like"deployment/web-app". It is now aComponentTypeRefobject withkind(ComponentType or ClusterComponentType which support will be available with 0.17) andnamefields. The legacytypeenum field has been removed entirely.
Existing Component CRs must be updated:
# Before
componentType: "deployment/web-app"
# After
componentType:
kind: ComponentType
name: "deployment/web-app"
-
Allowed Traits: Previously allowed traits are provided by string array which is convered to an object array which contains kind (Trait or ClusterTrait which support will be avaiable with 0.17)
Before
allowedTraits:
- api-configuration
After
allowedTraits:
- kind: Trait # Optional where the default is Trait name: api-configuration
-
Workload CR: single container only. The
containersmap field and the mutual exclusion validation betweencontainer/containershave been removed.containeris now a required (non-optional) field. Existing workloads using thecontainersmap must migrate to the singlecontainerfield. -
WorkloadEndpoint
visibilitychanged from single value to array. Previouslyvisibility: "public", nowvisibility: ["public"]. Every endpoint automatically gets project-level visibility; the array specifies additional visibility levels. -
ReleaseBinding:
containersmap replaced with singlecontainer.WorkloadOverrideTemplateSpecchanged fromcontainers map[string]ContainerOverrideto a single optionalcontainer *ContainerOverride, matching the workload simplification. -
Observability Plane: components disabled by default. OpenTelemetry Collector, Prometheus, and OpenSearch Cluster are now
enabled: falseby default. Install observability modules from openchoreo community modules if needed. Observer authz env vars (AUTHZ_ENABLED,AUTHZ_SERVICE_URL) removed, replaced bycontrolPlaneApiUrl. -
Workflow Templates: no longer bundled in Helm chart. Workflow templates are now installed as standalone
ClusterWorkflowTemplateresources and read CA from a secret. Existing setups relying on Helm-managed workflow templates need to install them separately.
What's Changed
- feat: add [*] wildcard array selector for patch paths by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2047
- feat: remove observer's opensearch-init container and remove opensearh health check by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2050
- feat: update component crs component type field by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2053
- refactor: update alert rule trait with enhanced descriptions by @akila-i in https://github.com/openchoreo/openchoreo/pull/2055
- feat(api): add events endpoint for workflow runs by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2062
- feat: add e2e testing infrastructure and platform health tests by @Mirage20 in https://github.com/openchoreo/openchoreo/pull/2064
- refactor: remove stale schema definitions from observer OpenAPI schema by @rashadism in https://github.com/openchoreo/openchoreo/pull/2065
- feat: support traits, allowed traits in cluster component types by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2067
- feat: provide raw k8s resource fetch support from cluster agent by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2068
- feat: remove legacy type in component cr by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2070
- feat: add CRUD API resources for project by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2071
- docs(api): add missing workflowrun logs endpoint by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2072
- refactor: switch to using Observability modules in the Observability plane by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2074
- feat: upsate trait reference in component types by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2075
- feat(api): make ObjectMeta.name required and add convert tests by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2076
- feat: restructure WorkloadEndpoint with targetPort, basePath and array visibility by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2077
- docs: update contributor workflow for squash merge by @Mirage20 in https://github.com/openchoreo/openchoreo/pull/2078
- refactor: update pod selectors with comp/proj/env names by @akila-i in https://github.com/openchoreo/openchoreo/pull/2082
- feat: add cluster component type and component trait endpoints to api server by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2084
- chore: update samples git reference by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2085
- feat: set endpoint visibilty in samples by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2087
- feat: add connections to gcp sample by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2089
- chore: add isala404 as a codeowner by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2090
- feat(api): add status endpoint for namespace-level workflow runs by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2091
- feat: add CRUD resources for component by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2102
- docs: add project health and quality badges to README by @Mirage20 in https://github.com/openchoreo/openchoreo/pull/2103
- feat: update component listing endpoint to return component type by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2104
- feat: update new handler path to work with authz crds directly by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2105
- feat: add component resource imperative actions by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2110
- test(controller): add unit and integration tests for release_binding controller by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2111
- feat: add mcp support for cluster traits and cluster component types by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2112
- feat: add componenttype and trait crud resources by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2113
- feat: implement build plane service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2115
- feat: simplify workload into a single container by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2116
- feat(api): add logs endpoints for workflowruns in apiserver by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2117
- feat: add componenttype and trait schema endpoints by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2118
- fix: re-add k3d cluster make file by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2119
- feat(api): add new endpoint to retrieve rendered release's resource tree by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2120
- fix: runtime logs are not fetched from cluster planes by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2121
- feat: implement cluster build plane service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2122
- fix: change default cluster name in k3d.mk by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2123
- chore: bump dependencies and improve code by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2126
- feat: add environment resource to new handler path by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2127
- feat: implement data plane service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2129
- refactor: enhance notification channel handling in release binding by @akila-i in https://github.com/openchoreo/openchoreo/pull/2130
- feat: implement cluster data plane service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2131
- feat: add workload resource to new handler path by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2132
- fix: update quickstart scripts to install logs and metrics module and remove opensearch readiness job by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2133
- feat: implement cluster & namespaced observability plane service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2134
- refactor: move workflow templates from helm chart to standalone ClusterWorkflowTemplates by @isala404 in https://github.com/openchoreo/openchoreo/pull/2135
- fix(helm): use generateCerts as the issuer switch in cluster-agent templates by @isala404 in https://github.com/openchoreo/openchoreo/pull/2136
- chore: bump dependencies and refactor append pointer logic by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2137
- feat: add release, componentrelease and releasebinding resources by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2138
- chore: bump kgateway version to 2.2.1 by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2139
- feat: implement cluster component types service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2140
- feat: implement cluster traits service with pagination and authorization in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2141
- feat(api): add SecretReference CRUD to new handler path by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2143
- fix: remove unsupported required=true marker from schema docs and samples by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2144
- feat(api): add ObservabilityAlertsNotificationChannel CRUD by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2145
- feat(api): add DeploymentPipeline CRUD by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2146
- feat(api): add release resource events endpoint by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2147
- fix(api): add missing 403 and validate pipeline ref by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2148
- feat: add occ list commands for cluster component types and cluster traits by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2149
- fix(api): update patch_release_binding tool to use workload_overrides… by @rashadism in https://github.com/openchoreo/openchoreo/pull/2150
- feat: add missing CRUDs in clusterXplanes and Xplanes services by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2151
- feat(api): add Namespace CRUD with K8s-native schema by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2152
- chore: bump thunder to v0.23.0, remove HTTPRoute from CP chart by @isala404 in https://github.com/openchoreo/openchoreo/pull/2153
- feat(api): add release resource pod logs endpoint by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2155
- feat: follow up rca agent with remediation agent by @rashadism in https://github.com/openchoreo/openchoreo/pull/2156
- feat: add missing delete ops in cluster component types and traits svcs by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2157
- refactor: remove redundant Get before Delete in service delete methods by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2158
- feat(api): migrate component schema endpoint to flat path by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2159
- fix: build is not working in clusterbuildplane by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2160
- fix: wrap ListComponentTraits MCP response in record type by @rashadism in https://github.com/openchoreo/openchoreo/pull/2161
- feat: implement authz pdp eps in the new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2167
- fix: read CA from secret and add workflow template installation by @isala404 in https://github.com/openchoreo/openchoreo/pull/2174
- fix: detect expired refresh token and prompt re-login by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2175
- fix: improve api with releasebinding to return single container overrides and add validation for envVars by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2178
- feat: add connections to gcp sample by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2179
- fix: remove client-side refresh token expiry check by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2180
- fix: react cluster workflow build step by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2181
- fix: update OCC CLI login instructions for clarity by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2182
- fix: update authz actions for RCA agent and prompt update by @rashadism in https://github.com/openchoreo/openchoreo/pull/2183
- chore: updated samples for v0.16 by @isala404 in https://github.com/openchoreo/openchoreo/pull/2188
- chore: remove duplicate kgateway installation instructions from README by @akila-i in https://github.com/openchoreo/openchoreo/pull/2189
Full Changelog: https://github.com/openchoreo/openchoreo/compare/v0.15.0...v0.16.0