April 2026
v0.101.0 - April 1, 2026
- Disabled ClickHouse replica check before attaching backup parts (
CLICKHOUSE_CHECK_REPLICAS_BEFORE_ATTACHset to"false"in backup container) - prevents backup restore failures in environments where replica availability cannot be confirmed - ClickHouse instances
chi-installationchart version bumped from1.1.5to1.1.6 - No breaking changes — fully backward-compatible with v0.100.0 configurations
March 2026
v0.100.0 - March 25, 2026
- New
ingress.albClassName(default:"alb") andfrontendIngress.albClassName(default:"alb") in control-plane and data-plane services for configurable ALB ingress class- Useful for shared CP+DP cluster scenarios where each plane needs its own ALB IngressClass (e.g.,
"cp-alb","dp-alb") - Existing deployments using the default
"alb"class require no changes
- Useful for shared CP+DP cluster scenarios where each plane needs its own ALB IngressClass (e.g.,
- New scheduling config for CP prometheus-nats-exporter in
control-plane/infrastructure/nats/values.yaml:prometheusExporter.tolerations,prometheusExporter.nodeSelector,prometheusExporter.affinity,prometheusExporter.additionalLabels common.extraLabelsnow propagated to all Service, ServiceAccount, HPA, and Ingress resources across both planes (previously only applied to Deployments)
v0.99.3 - March 20, 2026
- Action Required: Add
common.controlPlane.idindata-plane/services/values.yaml- set it to matchcommon.controlPlane.idfrom your control-plane values. Without this,dp-controller-servicecannot identify its parent control plane, causing data-plane-to-control-plane communication failures - New
global.labels(default:{}) incontrol-plane/infrastructure/nats/values.yamlanddata-plane/infrastructure/nats/values.yaml- applied to all NATS-generated Kubernetes resources (StatefulSet, Service, PVC, ConfigMap, PDB, etc.) - New
nack.additionalLabels,nack.tolerations,nack.nodeSelector,nack.affinityin control-plane NATS values for JetStream Controller scheduling prometheusExporter.additionalLabelsnow propagated to Prometheus NATS Exporter Deployment, Service, and ServiceMonitor labels in both planes- Fixed
topologySpreadConstraintstypo in control-plane NATS values (topolicySpreadConstraints→topologySpreadConstraints)
v0.99.2 - March 9, 2026
- ClickHouse instances
chi-installationchart version bumped from1.1.4to1.1.5incontrol-plane/infrastructure/clickhouse/clickhouse_instances/Chart.yaml
v0.99.1 - March 6, 2026
- Fixed cp-notification-service healthcheck port - renamed env var from
EXPRESS_PORTtoPORTin deployment template - Control plane
hive-control-planechart version bumped from0.2.0to0.2.1
v0.99.0 - March 6, 2026
- Added readiness and liveness probes (
GET /healthcheck) to all 9 service deployments across control-plane and data-plane cp-backend-serviceanddp-backend-serviceinclude a startup probe (allows up to 310s for Prisma migrations before liveness checks begin)- Eliminates intermittent 502 errors during rolling updates caused by traffic routing to pods not yet ready to serve
- No values.yaml changes required - probes use hardcoded values in deployment templates
February 2026
v0.98.9 - February 25, 2026
- Unified encryption configuration for cp-controller, dp-controller, and dp-llmproxy-service
- Supports at-rest encryption for identity management and provider secrets via KMS or environment variable mode
- New
common.encryption.keyIdvalue in both control-plane and data-plane services - New ExternalSecret templates for encryption in both control-plane and data-plane secret-store charts
- Replaced
dpLlmproxyService.kmsKeyIdwith unifiedHH_ENCRYPTION_KEY_IDandHH_ENCRYPTION_SECRETenv vars in dp-llmproxy-service - Fixed perpetual ArgoCD OutOfSync caused by Redis PDB
enabled: truein control-plane Redis - Action Required: Remove
dpLlmproxyService.kmsKeyIdfrom data-plane values and addcommon.encryption.keyIdin both control-plane and data-plane values
February 2026
v0.98.1 - February 11, 2026
- Added
common.extraLabelsfor custom governance/compliance labels on all Kubernetes resources (control-plane, data-plane, shared dependencies) - Added
common.observability.otel.exporterProtocol(default:"grpc") for OTLP exporter protocol configuration in data-plane - Added
dpLlmproxyService.kmsKeyId(default:"alias/hh-provider-secrets") for AWS KMS encryption of LLM provider secrets - Removed duplicate
common.observabilityblock in data-plane services values - Fixed Next.js cache permission errors in cp-frontend-service with
nextjs-cacheemptyDir volume - Fixed OTEL service name in cp-frontend-service (was hardcoded to
cp-controller-service) - Added custom CA certificate support (
SSL_CERT_FILE,REQUESTS_CA_BUNDLE) for dp-llmproxy-service and dp-pythonmetric-service - Added
DP_DATABASE_URLenv var and KMS config to dp-llmproxy-service - Fixed ClickHouse logging configuration (moved to
config.d/99-logger.xmlwithreplace="1") - Action Required: Set
common.extraLabelsif your organization requires specific labels on all resources
January 2026
v0.90.17 - January 12, 2026
- Added kube-prometheus-stack monitoring for both control-plane and data-plane (Prometheus, Grafana, Alertmanager with 30-day retention)
- Added Tempo for distributed tracing in both control-plane and data-plane
- Added Loki and Promtail for centralized log aggregation in control-plane
- Added legacy
nats-oldchart for backward compatibility - Added Datadog integration support for OTEL collectors (disabled by default, set
datadog.enabled: true) - Added
common.tls.caCertsdictionary for custom root CA certificates in data-plane - Added
common.controlPlane.apiPublicUrlfor data-plane to call control-plane API - Added resource limits for dp-llmproxy-service and dp-pythonmetric-service (500m/512Mi requests, 1000m/1Gi limits)
- Added persistent storage for ClickHouse Keeper (
storage.enabled: true,storage.size: "10Gi") - Updated ClickHouse Keeper image to
altinity/clickhouse-keeper:25.3.6.10034.altinitystable-alpine - Simplified ClickHouse Operator values from 903 lines to 29 lines
- Updated ExternalSecret API version from
v1beta1tov1(requires External Secrets Operator 0.9.0+) - Moved OTEL collector
nodeSelector/affinity/tolerationsunderopentelemetry-collectorkey - Action Required: Set
common.controlPlane.apiPublicUrlto your control-plane API endpoint - Action Required: Ensure ClickHouse Keeper persistent storage is enabled for production
- Action Required: Update External Secrets Operator to 0.9.0+ if not already
December 2025
December 2025
- Removed OpenUnison authentication infrastructure (all charts, operators, CRDs)
- Removed Nginx ingress infrastructure
- Added NATS infrastructure for data-plane with independent cluster deployment (3 replicas, JetStream, PDB)
- Disabled S3 DLQ and disk spool in writer service (
cpWriterService.dlq.enabled: false) - Added
frontendIngress.alb.annotationsfor custom ALB annotations - Removed PVC functionality from cp-writer-service
- Changed cp-frontend-service
NEXTJS_PORTenv var toPORT - Added auth config env vars (
AUTH_ISSUER_DOMAIN,AUTH_CLIENT_ID,AUTH_CLIENT_SECRET) to cp-frontend-service - Added NATS connection settings for data-plane services (dp-evaluation-service, dp-ingestion-service)
- Enabled Redis authentication in control-plane (
auth: true,existingSecret: redis-secrets) - Removed gRPC ingress from data-plane services
- Switched from NLB to ALB for both control-plane and data-plane ingress
- Added NATS HA streams configuration with configurable replicas
- Added
common.dataPlane.dpPublicUrlandcommon.controlPlane.frontendPublicUrlfor cross-plane communication - Added Prometheus monitoring for NATS (exporter on port 7777) and ClickHouse (built-in on port 9363)
- Added Redis authentication for data-plane (
auth: true,existingSecret: redis-secrets) - Fixed Redis PDB in data-plane (removed invalid
enabledfield) - Action Required: Remove any NLB-related values overrides and switch to ALB configuration
- Action Required: Remove any OpenUnison or Beekeeper-related overrides from values files
- Action Required: Configure auth secrets in AWS Secrets Manager with
client-secretandcp-jwt-private-key

