Skip to content
rise.Operator docs
GitHub

0.22.0

Rise 0.22.0

ReleasedGitHub release ↗

This release adds JFrog Artifactory and AWS S3 as first-class extensions, introduces per-deployment resource configuration, hardens authentication security, and overhauls the documentation site.

New Features

FeatureAll backends

JFrog Artifactory registry support

— mint scoped, short-lived credentials for image push and Kubernetes pull secrets via JFrog’s access token API or a Vault plugin. Separate push/pull TTLs, per-project scope isolation, and pull credential caching included.

FeatureAll backends

AWS S3 bucket extension

— automatically provisions a dedicated S3 bucket and scoped IAM credentials per project, injected as environment variables. Supports DeletionBlocked state when a bucket is non-empty, with opt-in force_empty_bucket for safe teardown.

FeatureAll backends

Configurable deployment replicas and resources

— set replicas, cpu, and memory in rise.toml or via --replicas/--cpu/--memory CLI flags. Admins can set per-environment min/max constraints; values are validated at deployment time.

FeatureAll backends

Starlight documentation sites

— user and engineering docs now live at docs/user and docs/engineering with improved structure and navigation.

FeatureAll backends

rise backend rise-toml-schema CLI command

— generates the rise-toml-v1.schema.json directly; the old /api/v1/schema/rise-toml/v1 endpoint now redirects (301) to /docs/schemas/rise-toml-v1.schema.json.

Bug Fixes

FixAll backends

Auth: cookies scoped to exact host

— cookies no longer carry a Domain attribute, preventing cross-subdomain leakage between the Rise API and app subdomains. Ingress auth flows now always redirect through /.rise/auth/complete on the app’s own domain.

FixAll backends

Auth: ingress JWTs now carry the correct aud claim

— private-app JWTs previously used the Rise server URL as audience; they now use the app’s own URL. API middleware rejects RS256 ingress tokens, preventing them from authenticating API calls.

FixAll backends

AWS error detection

— replaced brittle string-matching on formatted error types with typed AWS SDK error variants across S3 and RDS extension providers.

⚠️ Breaking Changes

BreakingAll backendsChange

cookie_domain setting repurposed

— this field no longer sets the Domain attribute on new cookies. It is now used only to clear stale domain-scoped cookies during migration. Existing configs continue to work, but cross-subdomain cookie sharing via cookie_domain is no longer supported.

BreakingKubernetesChange

Legacy Metacontroller adoption code removed

— the legacy_adopt_existing_resources_to_metacontroller backend setting and adoptExistingResources Helm value have been removed. Clusters that still rely on this one-time migration path must complete the migration before upgrading.

BreakingAll backendsDeprecation

Registry credentials endpoint moved

— credentials are now fetched from GET /projects/{name}/deployments/{id}/registry-credentials (scoped to Pending/Building/Pushing states) instead of the old project-scoped endpoint. Older CLI versions fall back to credentials in CreateDeploymentResponse, which is now deprecated.

Dependency Updates

MaintenanceAll backends

Dependency updates

Routine updates to tokio, openssl, aws-sdk-s3/s3-js, jsonwebtoken, tailwindcss 4.3, vite 8, react 19.2, pack 0.40.6, gunicorn 26, and several other crates and npm packages.

What do the impact labels mean?
Breaking
Requires action or changes behavior incompatibly. Read the instructions before upgrading.
Action required
The upgrade succeeds, but an operator action is needed for the expected behavior.
Config change
Configuration is available or changes; defaults preserve existing behavior.
No action required
Features, fixes, and maintenance with no required operator action.