0.19.0 (2026-07-28)
- availability: configurable terminationGracePeriodSeconds + preStop for server drain (#106) (c414636)
- configurable server termination grace + preStop drain hook (c414636)
- egressPolicy passthrough (#104) (d459426)
- egressPolicy passthrough for tenant sandbox egress posture (d459426)
0.18.1 (2026-07-18)
0.18.0 (2026-07-12)
- crd: perTenantQuota/perTenantLimitRange on K8sExecutionSpec (#94) (f21a965)
- instance: add priorityClassName for the product pod (outage guard) (#100) (0528728)
0.17.2 (2026-06-16)
0.17.1 (2026-06-16)
- bundle: declare com.redhat.openshift.versions for OpenShift cert (#90) (48f1ccc)
- bundle: declare com.redhat.openshift.versions=v4.15 for OpenShift cert (48f1ccc)
0.17.0 (2026-06-16)
0.16.0 (2026-06-14)
- Deployment workload profile, multi-replica preconditions, scale subresource (#81) (a3871bf)
- instance: optional brand theming via spec.branding.cssConfigMapRef (e5da3ab)
- lease-aware scheduler gating, leader visibility, failover e2e (#82) (de2005d)
- bootstrap: make bootstrap Job reconcile idempotent (no immutable-template churn) (#85) (3f1beac), closes #83
0.15.0 (2026-06-08)
0.14.0 (2026-06-05)
- instance: in-cluster Kubernetes execution config + scoped RBAC (#77) (7f65f03)
- instance: seed platform instance-admin via init container (#75) (2b07483)
0.13.0 (2026-06-05)
- remove fabricated managed-inference config
- remove managed Redis (app does not consume it)
- emit PAPERCLIP_BIND/PAPERCLIP_BIND_HOST instead of legacy HOST
- align deployment mode enum with app (local_trusted|authenticated)
- add app-native DB backup config (PAPERCLIP_DB_BACKUP_*) (4e067c4)
- add AWS Secrets Manager secrets provider (c2104a7)
- add E2B sandbox API key (spec.adapters.e2b -> E2B_API_KEY) (5fdc615)
- align deployment mode enum with app (local_trusted|authenticated) (a12efd9)
- emit PAPERCLIP_BIND/PAPERCLIP_BIND_HOST instead of legacy HOST (ec38bb9)
- remove fabricated managed-inference config (45a4518)
- remove managed Redis (app does not consume it) (afde2f5)
- controller: only watch Gateway API HTTPRoute when its CRD is installed (b9e3874)
- image: default app image to ghcr.io/paperclipai/paperclip (80092b5)
- statefulset: make the app actually boot under restricted security (d753fa9)
0.12.1 (2026-06-04)
- olm: include PaperclipClusterDefaults and PaperclipSelfConfig CRDs in the bundle (#71) (f1be2dd)
- olm: use the official Paperclip logo for the bundle icon (#69) (b53cc5e)
0.12.0 (2026-06-03)
- bring paperclip-operator to parity (tier 1/2 feature port) (#65) (97b9d0f)
- Tier 3 cross-pollination - PaperclipClusterDefaults + PaperclipSelfConfig CRDs + Tailscale sidecar (#68) (5bb11f0)
0.11.2 (2026-06-03)
- ci: ship operators/paperclip-operator/ci.yaml with every submission (#60) (42b323e)
- point NOTICE attribution at github.com/paperclipinc (#62) (b50e5ed)
0.11.1 (2026-04-18)
0.11.0 (2026-04-17)
- add NODE_OPTIONS to preload OTEL instrumentation (#39) (9c16a85)
- add NODE_OPTIONS to preload OTEL instrumentation before app start (9c16a85)
- add SELinux relabel init container for persistent volumes (#41) (93df250)
- allow OTEL collector egress in NetworkPolicy (#40) (dc26f4f)
- allow OTEL collector egress in NetworkPolicy (ports 4317/4318) (dc26f4f)
- allow Redis egress in NetworkPolicy for external mode (#44) (94fc4a0)
- apply CRD security context override to all Paperclip containers (#46) (7e5b87a)
- apply CRD security context override to onboard and bootstrap containers (7e5b87a), closes #45
- require explicit image tag or digest instead of defaulting to :latest (#54) (90a945e), closes #52
- set runAsNonRoot=false on SELinux relabel init container (#42) (d6aac33)
0.10.0 (2026-04-06)
- add NODE_OPTIONS to preload OTEL instrumentation (#39) (9c16a85)
- add NODE_OPTIONS to preload OTEL instrumentation before app start (9c16a85)
- add SELinux relabel init container for persistent volumes (#41) (93df250)
- allow OTEL collector egress in NetworkPolicy (#40) (dc26f4f)
- allow OTEL collector egress in NetworkPolicy (ports 4317/4318) (dc26f4f)
- allow PostgreSQL egress in NetworkPolicy for external databases (#36) (56939c8)
- allow Redis egress in NetworkPolicy for external mode (#44) (94fc4a0)
- apply CRD security context override to all Paperclip containers (#46) (7e5b87a)
- apply CRD security context override to onboard and bootstrap containers (7e5b87a), closes #45
- set runAsNonRoot=false on SELinux relabel init container (#42) (d6aac33)
0.9.1 (2026-03-30)
0.9.0 (2026-03-30)
0.8.0 (2026-03-25)
0.7.0 (2026-03-25)
- add OAuth provider and email config to AuthSpec (e2314a9)
- align S3 env var names with server config (#24) (af31956)
- bootstrap job uses wrong health endpoint (#21) (2011328)
- use /api/health/details for bootstrap status check (2011328)
0.6.0 (2026-03-25)
0.5.2 (2026-03-24)
- add get verb to pods/exec RBAC for WebSocket exec (#17) (ebb12cf)
- add K8s API egress and sandbox scheduling env vars (ebb12cf)
- add K8s API egress and sandbox scheduling env vars (edb5c33)
- add K8s API egress to NetworkPolicy for cloud sandbox (#15) (edb5c33)
0.5.1 (2026-03-24)
0.5.0 (2026-03-24)
0.4.0 (2026-03-23)
0.3.0 (2026-03-23)
- add connections spec for third-party OAuth credentials (#6) (34add3f)
- automatic image updates via OCI registry digest polling (#8) (90858c1)
0.2.0 (2026-03-21)
- add automatic admin user bootstrap via spec.auth.adminUser (daf5731)
- add onboarding init container for automatic admin bootstrap (2680aee)
- migrate to paperclipinc org and add upstream image build workflow (5eeb3d2)
- production-ready horizontal scaling and multi-replica support (2e9065d)
- bootstrap job health check for authenticated mode (41654d3)
- correct Docker image name in release workflow (551ee4e)
- correct gofmt formatting in database.go (c5b707a)
- correct RBAC kustomization filenames for CRD roles (1aa89b1)
- define DB_PASSWORD before DATABASE_URL for env var substitution (ef07763)
- implement correct Paperclip admin bootstrap flow (3c63d3d)
- kill onboard server process after config creation (c47b5de)
- prevent onboard init container from starting the server (c269fc8)
- propagate nodeSelector and tolerations to database StatefulSet (7db4e83)
- use curl instead of wget in bootstrap job (1b1a117)
- use kill -9 and pkill to terminate onboard process tree (e496aaa)
- use public URL for all bootstrap API calls (03bc4f2)
- use server-side apply for CRD installation (99b767d)
0.1.0 (2026-03-19)
- Initial release of the Paperclip Kubernetes Operator
- Instance CRD with comprehensive configuration (image, database, auth, storage, networking, security, scaling, observability)
- Managed PostgreSQL mode with auto-generated credentials
- External database support via connection string or Secret reference
- Persistent storage with configurable PVC
- S3-compatible object storage for multi-replica deployments
- Ingress with WebSocket support for real-time UI updates
- NetworkPolicy with deny-all baseline
- HPA and PDB for availability
- Health probes against /api/health
- LLM API key injection from Kubernetes Secrets
- Helm chart for operator deployment
- Prometheus metrics for reconciliation monitoring