Repository navigation
Releases
Release 0.18.0
XMC Release 0.18.0
Release Version Determination: Minor bump (
0.17.0->0.18.0).
Rationale: Marks XMC's launch as a public open-source repository (pre-1.0 milestone), opens the0.18.xone-time transition window for migrating legacy umbrella-managedingestion-gatewaymetrics workloads to thestable-2026aComponent profile (enable_components: true), promotes Components (enable_components/componentsDeployment.enabled) to Section 2 with an end-to-endComponentStabilitycontract acrossstable-2026a(redpanda,clickhouse, andingestion-gatewayasSTABLE), introduces experimental Vizier (3P) and HPO (xmc-study-controller, 1P) components (EXPERIMENTALwithacknowledgeExperimental), adds ESS database schema migration017(Xidqueue ordering tie-breaker), and delivers Resource Observability Dashboard (/resources) enhancements alongside BYO PostgreSQL support in Cluster Toolkit.
Important
Running ingestion-gateway without Components (enable_components: false)? 0.18.x is the only release for migrating to Components. Complete the cutover in docs/migrations/components.md before upgrading to 0.19.0. See the first [Action Required] item below.
๐ Public Open-Source Repository Launch (Pre-1.0 Milestone)
XMC is now available as a public open-source repository! While XMC remains pre-1.0 as we continue stabilizing core APIs, database backends, and component profiles toward a future 1.0 release, 0.18.0 marks our transition to open-source development with public onboarding documentation, contribution workflows, and security reporting guidelines in place.
๐ 1. Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Promoted Capabilities
- [Action Required] One-Time Components Transition Window (
0.18.xOnly) & Post-Migrationxmc-profileUpgrades:- Supported Migration Window (
0.18.xOnly):0.18.xis the only supported window for migrating an existing installation from legacy umbrella-managed metrics workloads (enable_components: false, umbrellaingestion-gateway) to thestable-2026aComponent profile (enable_components: true). Starting with0.19.0, the legacy non-component metrics templates and the one-time migration tool (tools/migrations/components/migrate.py) are scheduled for removal. Operators runningingestion-gatewayfrom the umbrella chart must complete the cutover on0.18.xbefore upgrading to0.19.0(clusters without a live umbrellaingestion-gatewaydo not need to run the handoff, ashandoffis a no-op for them). - Cutover Runbook: Follow
docs/migrations/components.md(prepare->handoff-> upgrade with components -> installxmc-profile->finalize) (#1461, #1606). The cutover keeps the liveingestion-gatewayserving throughout: Helm ownership is handed over without deleting pods, andxmc-bridgethen adopts the release with a rolling update. - Upgrading XMC After Migration: Because
xmc-profileis a separate Helm release thatgcluster deployand umbrellahelm upgradedo not upgrade, on every subsequent XMC upgrade operators must bump the pinned gateway image tag inprofile-values.yaml(components.ingestion-gateway.imageTag, andcomponents.ingestion-gateway.parameters.imageif set) and re-run thexmc-profileupgrade (docs/migrations/components.mdsection "After Migration: Upgrading XMC", #1606). - New Installations: Fresh installations do not need the migration toolโstart directly by explicitly setting
enable_components: true(componentsDeployment.enabled: true; the default is stillfalse) and install thestable-2026aprofile (deploy/profiles/stable-2026a/README.md).
- Supported Migration Window (
- [Action Required] Cluster Toolkit Upgrades Must Re-Compile the Blueprint:
INSTALL.mdupgrade Step 4 (Option A) now runs./cluster-toolkit/gcluster create deploy/ctk_v2/xmanager-cloud.yaml -d <deployment_config_path> -o ctk-out -l WARNING -w --forcebefore./cluster-toolkit/gcluster deploy ctk-out/<deployment_name> --only xmc_app --auto-approve. Runninggcluster deployalone re-applies a stalectk-out/<deployment_name>without your updatedimage_tag,enable_componentssetting, or chart templates. This applies to every Cluster Toolkit upgrade, including the Components cutover (#1606). - [Action Required] ESS Database Schema Migration
017(017_work_units_queue_index_xid_tiebreaker): Added migration017_work_units_queue_index_xid_tiebreakerfor both Spanner and PostgreSQL to appendXidas a deterministic tie-breaker to the active work unit queue ordering index (#1491). Ensure schema migrations are applied before upgrading workloads: they are not run automatically bygcluster deploy. FollowINSTALL.mdโ Step 3: Run Database Schema Migrations (or pass--run-migrationstodev_env.py gke-upgradein development environments).
โจ New Features & Improvements
- Resource Observability Dashboard (
/resources) Enhancements:- Experiment Title & Live Running Duration in Queue Jobs Table: Added the parent experiment title (#1522) and live running duration for active jobs (#1588) to the Queue Jobs side panel table.
- Draggable Pane Resize Divider & Persisted Full-Row Expandable Jobs Toggle: Added a draggable resize divider between the queues list and side panel (#1562) and a full-row expandable jobs layout toggle backed by
localStoragepersistence (#1570). - Generic Accelerator Parent Categories in Resource Type Picker: Updated the resource type filter picker to offer generic accelerator parent categories (e.g. grouping accelerator variants) (#1526).
- Configurable Web UI Documentation Link (
XMC_DOCS_URL): Made the documentation link in the Web UI navigation header configurable via theXMC_DOCS_URLenvironment variable and Helm chart values (#1584).
๐ User-Facing Bug Fixes & Stability
- Executing-Cluster Resolution for Work Unit Logging & Dashboard Links: Updated the Reconciler and Web UI URL processor so work unit Cloud Logging and GKE dashboard links point to the actual executing cluster (properly supporting MultiKueue delegated workloads on remote clusters) (#1551).
- Deterministic Active Work Unit Queue Ordering: Added
Xidas a secondary sort tie-breaker when fetching active work units by queue across Spanner and PostgreSQL (#1491). - Opaque Search Syntax Help Popover: Fixed the experiment list search syntax help popover background so it renders opaquely over table content (#1513).
- Repo-Checkout SDK Verification in
install_xmanager.py: Updateddeploy/cli/install_xmanager.pyto assert that local Python SDKs (xmcandxdash) resolve from the repository checkout after installation (#1485).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled. Their default enablement is temporarily postponed solely to align with managed solution milestones or external BYOD prerequisites.
๐น [Flag: enable_components] Components
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmc-deployment-template.yaml(orcomponentsDeployment.enabled: trueindeploy/helm/values.yaml), then install thestable-2026aComponent profile (deploy/profiles/stable-2026a/README.md) or migrate an existing installation usingdocs/migrations/components.md. stable-2026aProfile Catalog & Declared Stability:redpanda:STABLEclickhouse:STABLEingestion-gateway:STABLEvizier:EXPERIMENTAL(requiresacknowledgeExperimental: trueโ see Section 3)hpo:EXPERIMENTAL(requiresacknowledgeExperimental: trueโ see Section 3)
- What's New:
ComponentStabilityContract & CRD Admission Enforcement: Added theComponentStabilitycontract (STABLE,EXPERIMENTAL) tocomponents.protoand theComponentCRD admission rules, declaring explicit stability tiers across thestable-2026acatalog (#1538). Note:spec.stabilityis now a requiredComponentfield. If you author or commitComponentmanifests yourself (e.g. GitOps), re-render them from the0.18.0stable-2026aprofile so they are not rejected on apply (#1564).- Stability Gating & Dependency Inversion Rules in CMS,
xmc-bridge, Profile Chart & Linter: EnforcedacknowledgeExperimentalgating and dependency stability inversion rules (preventingSTABLEcomponents from depending onEXPERIMENTALcomponents) at runtime in CMS andxmc-bridge(#1539) as well as statically in thestable-2026aprofile chart andcmd/component-linter(#1540). - End-to-End Component Stability Visibility (ESS, Health Service, Admin Panel UI &
xmc-diag): Surfaced component stability tiers across ESS drift detection, Health Service responses, the Admin Panel UI (/admin), andtools/xmc-diagoutput (#1541). - **One-Time Legacy Metric...
Release 0.17.0
XMC Release 0.17.0
Release Version Determination: Minor bump (
0.16.0->0.17.0).
Rationale: Promotes Log Monitor (log_monitor_deployment_enabled: true/logMonitorDeployment.enabled: true) to enabled out-of-the-box by default across Cluster Toolkit and Helm deployments, adds database schema version health checks anddb-configvisibility in the Admin Panel, hardens XID ACL principal normalization and fail-closed production authentication guards, raises the minimum Python version for SDKs to Python 3.11+ (xmanager >= 0.8.5.post1), delivers the Pub/Sub Metrics Ingester and BigQueryDataEnginesupport for Dashboard Service, and completes the experimental PostgreSQL repository layer and database-agnostic Componentsdbstore.
๐ 1. Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Promoted Capabilities
- [Promoted to Default] Log Monitor GKE Deployment (
log_monitor_deployment_enabled: true): The Log Monitor service is now enabled out-of-the-box by default indeploy/ctk_v2/xmanager-cloud.yaml(deploy/ctk_v2/xmc-deployment-template.yaml) anddeploy/helm/values.yaml(logMonitorDeployment.enabled: true), automatically scanning Cloud Logging for workload failures and surfacing root-cause status messages on experiments and work units (#1494). - [Action Required / Breaking] Python 3.11+ Minimum Requirement for SDKs &
xmanager >= 0.8.5.post1Default: Raisedrequires-pythonacross thexmcandxdashPython SDKs to>=3.11(#1452), bumped the defaultxmanagerclient version requirement indeploy/cli/install_xmanager.pyand all example workloads to>=0.8.5.post1(#1400), and updatedinstall_xmanager.pyto purge shadowed wheelxdashpackages so localsdks/python/xdashinstalls cleanly (#1482).
โจ New Features & Improvements
- Database Configuration (
db-config) & Schema Version Health Checks in Admin Panel: Added Spanner and PostgreSQL schema version verification to the health checker (#1394) and exposed the shareddb-configConfigMap in the Health Service and Admin Panel UI (/admin) (#1293, #1380). - Declarative Kueue Queue & MultiKueue Dispatch Configuration in Helm: Extended
deploy/helm/values.yamlandkueue-devchart templates so deployments can declaratively configure CPU/GPU queues and their MultiKueue dispatch targets (#1359).
๐ User-Facing Bug Fixes & Stability
- Case-Insensitive XID ACL Matching, Principal Normalization & Group Query Injection Guard: Consolidated and normalized email principals on ACL write and OAuth2 sign-in (#1447, #1453), matched XID ACL principals case-insensitively during authorization checks (#1446), and escaped group membership filter queries to prevent query injection (#1448).
- Build-Tag Isolation & Fail-Closed Production Guards for
DISABLE_AUTHENTICATIONandMOCK_AUTH: GatedDISABLE_AUTHENTICATIONandMOCK_AUTHbehind thedevbuild tag, built production container images exclusively from untagged binaries, and enforced fail-closed startup in production binaries (#1443, #1444, #1451). - Spanner
bit_reversed_xidFilter Rewrite & Thread-SafeQueryGenerator: Stopped leaking Spanner-specificbit_reversed_xidfilter predicates from ESSListExperimentsandListArtifactsby rewritingxidequality filters inside the Spanner XID repository (#1481), and removed racy mutablelastFromTablestate fromQueryGenerator(#1480).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled. Their default enablement is temporarily postponed solely to align with managed solution milestones or external BYOD prerequisites.
๐น [Flag: enable_metrics & dashboard_service_deployment_enabled] Metrics Pipeline & Dashboard Service
- How to enable:
- Metrics Ingestion: Set
enable_metrics: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ormetrics.enabled: trueindeploy/helm/values.yaml). - Dashboard Service: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ordashboardServiceDeployment.enabled: trueindeploy/helm/values.yaml). (Note: Dashboard Service requires BYOD storage devicesโsee the deployment READMEโand also requiresenable_metrics/metrics.enabledto be enabled for workload metrics data to be generated).
- Metrics Ingestion: Set
- What's New:
- Pub/Sub Metrics Ingester (
cmd/metrics_ingester) with ClickHouse & BigQuery Writers: Added the Pub/Sub metrics ingester service with ClickHouse batch ingestion, subscription validation, health/readiness probes, and graceful shutdown batch flushing (#1002, #1003, #1004), alongside a BigQuery schema, row normalizer, and streaming writer (#1405, #1406). - Dashboard Service BigQuery
DataEngine, Parallel Multi-Plot Queries & LiveComponent/bigqueryHot-Reload: Decoupled theDataEngineprovider and parallelized multi-plot queries in Dashboard Service (#1407), added BigQuery client and staticDataEnginequery support (#1408), supported liveComponent/bigqueryconfiguration hot-reloading (#1409), and added a BigQuery golden E2E parity harness and seeder (#1410). xdashAuto-Discovery ofxmanager loginCredentials & Resilient Metrics Addons: Updated thexdashPython SDK and nightly verifiers to automatically discover cachedxmanager logincredentials (#1462), and hardened ClickHouse and Redpanda metrics addon manifests to survive pod rescheduling (#1459).
- Pub/Sub Metrics Ingester (
๐งช 3. In-Development / Experimental Features Behind Flags
Warning
The following capabilities are under active ongoing development, experimental, and may not yet be functional. They are available for early preview and evaluation by enabling their deployment flags in deploy/ctk_v2/xmc-deployment-template.yaml (or deploy/ctk_v2/xmanager-cloud.yaml) and Helm values.yaml.
๐น [Flag: enable_components] Components
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmc-deployment-template.yaml(orcomponentsDeployment.enabled: trueindeploy/helm/values.yaml). - What's New:
- Database-Agnostic
dbstoreComponent Store & Serializable Catalog Transactions: Promoted the component store to a database-agnosticpkg/components/store/dbstorepackage backed bystorage.StorageandRunInSerializableTransaction(#1393, #1398, #1402, #1403, #1404, #1415, #1416, #1471, #1495). - Gateway Parameter Parity, Config Checksum Rollouts & Multi-Broker Preservation: Added gateway parameter parity, custom namespace support, and image resolution across
stable-2026acomponent charts (#1428), rotated config checksum annotations on Helm deployments while preserving multi-broker Redpanda endpoints iningestion-gateway(#1427), and added--profile-valuessupport with Helm>= 3.14enforcement indev_env.py(#1429).
- Database-Agnostic
๐น [Flag: database.experimentalPostgres] Experimental PostgreSQL Control-Plane Backend
- How to enable: Set
database.backend: postgresanddatabase.experimentalPostgres: trueindeploy/helm/values.yaml. - What's New:
- Shared
dbconfigLoader & Backend-Agnostic Storage Factory Across Services: Added the shareddbconfigloader,postgres-secretdelivery, explicitdatabase.experimentalPostgresHelm opt-in, and backend-agnostic storage factory across all control-plane and auxiliary services (ess,xid_service,actuator,reconciler,dashboard_service,log_monitor,rod_data_provider,health_service) (#1293, #1302, #1387, #1388, #1396, #1401, #1419, #1493). - Complete PostgreSQL Domain Repositories & Spanner Parity: Implemented PostgreSQL repositories and row converters for Experiments (
Create,Get,Update,ListExperiments,FetchDriftedComponents), WorkUnits (read...
- Shared
Release 0.16.0
XMC Release 0.16.0
Release Version Determination: Minor bump (
0.15.0->0.16.0).
Rationale: Introduces interactive and headless per-user CLI OAuth2 login (xmanager login) backed by ESS schema migration016_cli_login_codes, adds/v1/Nginx proxying in the Web UI, hardens gRPC deployment admission and OAuth2 session verification, delivers dashboard ordering andxdashIAM fallback improvements, and advances behind-the-flag capabilities for Components (cluster ownership fencing via migration015_component_ownership_fence, cold-standby takeover, per-CR UID isolation, and least-privilege RBAC) and PostgreSQL storage parity.
๐ 1. Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Database Migrations
- [Action Required / Database Migrations] Spanner & PostgreSQL ESS Schema Migrations (
015&016): This release adds ESS schema migrations015_component_ownership_fence(ComponentOwnershipFencetable for cluster epoch fencing, #1234) and016_cli_login_codes(CLILoginCodestable for one-time CLI OAuth2 login code exchange, #1314). When upgrading an existing deployment, ensure Spanner migrations are applied (executed automatically by default duringdev_env.py gke-deployandgke-upgrade).
โจ New Features & Improvements
- Interactive & Headless CLI OAuth2 Login (
xmanager login): Added end-to-end per-user CLI OAuth2 authentication flows in the Experiment State Server (pkg/auth/oauth2), including sealedcli_loginticket cookies (#1348), loopback callback completion on/api/callbackpersisted viaCLILoginCodes(016_cli_login_codes, #1314), one-time authorization code exchange for per-user XMC session tokens (#1315), and a headless manual confirmation page for remote/SSH sessions (#1329). Migrated all example workloads and CLI guides toxmanager login(#1324) and standardizedxmanagerCLI installation onpipacross examples, docs, and nightly E2E (#1377).- Note: Requires
xmanager >= 0.8.5.post1on the client (pip install -U "xmanager>=0.8.5.post1"or re-runpython3 deploy/cli/install_xmanager.py).
- Note: Requires
- Web UI
/v1/Reverse Proxy to Experiment State Server: Configured the Web UI Nginx server (cmd/ui/nginx.conf) to proxy/v1/API requests directly to the Experiment State Server (#1369).
๐ User-Facing Bug Fixes & Stability
- gRPC Deployment Admission, Session Token Hardening & Production Auth Guards: Enforced deployment-level admission checks across gRPC servers in ESS, XID Service, Dashboard Service, and Health Service (#1312), required verified email claims and normalized user identities at OAuth2 sign-in and session token parsing (#1311, #1313), and blocked
disableAuthenticationandmockAuthin Helm templates outside development environments (#1321). - Pre-XID Creator ACL Check & Default Experiment Owner: Fixed
CreateExperimentin ESS to validate the caller's creator ACL before provisioning an XID from the XID Service and to default the experimentownerto the authenticated creator when omitted (#1323). - Long Token Wrapping in Web UI Status Messages: Fixed long unbroken tokens in experiment and work unit status messages overflowing table cells in the Web UI (#1373).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled. Their default enablement is temporarily postponed solely to align with managed solution milestones or external BYOD prerequisites.
๐น [Flag: enable_metrics & dashboard_service_deployment_enabled] Metrics Pipeline & Dashboard Service
- How to enable:
- Metrics Ingestion: Set
enable_metrics: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ormetrics.enabled: trueindeploy/helm/values.yaml). - Dashboard Service: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ordashboardServiceDeployment.enabled: trueindeploy/helm/values.yaml). (Note: Dashboard Service requires BYOD storage devicesโsee the deployment READMEโand also requiresenable_metrics/metrics.enabledto be enabled for workload metrics data to be generated).
- Metrics Ingestion: Set
- What's New:
- Newest-First Default Ordering in
ListDashboards: FixedListDashboardsin Spanner dashboard storage to order dashboards newest-first (create_time DESC) by default when no explicitorder_byclause is provided (#1298). - Dashboards List Table Row Border Alignment & Screenshot Test: Fixed row border alignment in the Web UI Dashboards list page (
/dashboards) and added golden Playwright screenshot verification (#1306). xdashPython SDK IAM Token Fallback & Metrics Addon Setup Script: Added Google Cloud IAM identity token fallback to thexdashPython SDK client and addeddeploy/addons/metrics/setup_metrics_addons.shto automate ClickHouse metrics addon setup (#1305).
- Newest-First Default Ordering in
๐งช 3. In-Development / Experimental Features Behind Flags
Warning
The following capabilities are under active ongoing development, experimental, and may not yet be functional. They are available for early preview and evaluation by enabling their deployment flags in deploy/ctk_v2/xmc-deployment-template.yaml (or deploy/ctk_v2/xmanager-cloud.yaml) and Helm values.yaml.
๐น [Flag: enable_components] Components
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmc-deployment-template.yaml(orcomponentsDeployment.enabled: trueindeploy/helm/values.yaml). - What's New:
- Cluster Ownership Fence, Epoch Declaration & Cold-Standby Takeover: Added the
ComponentOwnershipFenceschema (015_component_ownership_fence) andDeclareClusterEpochRPC in CMS (#1234), declaredxmc-bridgecluster identity and epoch to CMS on startup (#1273), enforced cluster ownership fencing and source-object ownership across sourced intents, observations, deactivations, and CR deletion cleanup (#1233, #1235, #1238, #1240), held fenced bridges in cold standby (#1236), and added store-backed CMS ownership Prometheus gauges and DR takeover documentation (#1243, #1275). - Per-CR UID Isolation, Same-Cluster Recreated CR Adoption & Status Tracking: Isolated per-CR Helm actuation state by Kubernetes UID (#1239), enabled seamless adoption of recreated
ComponentCRs on the same cluster viaexpected_owner_uid(#1274), recordedstatus.componentIdandstatus.componentGenerationonComponentCRs (#1237, #1241), reduced steady-state bridge log noise (#1244), and added disjunctiveordependency rules tocomponent-linter(#1341). - Least-Privilege
xmc-bridgeRBAC & Modular Bridge/Store Subpackages: Scopedxmc-bridgeRBAC to least-privilege workload and wrapper resources (removingcomponentsDeployment.rbac.clusterScope, #1242), and decomposedpkg/components/bridge(helm,statusdetector,healthprobe) andpkg/components/store(memory,spanner,ownership,dependency,lifecycle) into dedicated subpackages (#1362, #1363, #1364, #1365).
- Cluster Ownership Fence, Epoch Declaration & Cold-Standby Takeover: Added the
๐น [Flag: enable_managed_mldiagnostics] Managed ML Diagnostics
- How to enable: Set
enable_managed_mldiagnostics: trueindeploy/ctk_v2/xmc-deployment-template.yaml. - What's New:
- Configurable MLRun Project, Location & Service Account Impersonation: Added reconciler configuration flags to override the target GCP project, location, and service account impersonation for MLRun synchronization and managed XProf sessions (#1370).
โ๏ธ 4. Operational, Infrastructure & Engineering Velocity
Changes relevant to cluster operators, CI/CD, and internal architecture that do not alter the end-user interface.
- PostgreSQL Storage Engine, Query Dialect & Schema Parity: Added the PostgreSQL connection pool,
DBTXtransaction runner, SQLSTATE error translator, and migration runner CLI (internal/storage/postgres, #1284, #1287, #1308), implemented the PostgreSQLpausestaterepository with row locking (#1357), wiredpgxpool andDBTXacross all PostgreS...
Release 0.15.0
XMC Release 0.15.0
Release Version Determination: Minor bump (
0.14.0->0.15.0).
Rationale: Promotes Pause Scheduling (pause_scheduling_enabled: true) to enabled out-of-the-box by default across Cluster Toolkit and Helm deployments (backed by Spanner schema migration013_pause_scheduling), adds Work Units table sorting and status filtering in the Web UI, fixes JobSet reconcilerSTOPPEDstatus persistence and ROD gateway routing, expands Nightly Playwright UI E2E coverage across Metrics Dashboards, ROD, and the Admin Panel, and advances behind-the-flag capabilities for Components (CMS authentication/authorization, Workload Identity,kstatusconditions, and014_component_intent_sourcemigration).
๐ 1. Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Promoted Capabilities
- [Promoted to Default] Pause Scheduling (
pause_scheduling_enabled: true): Cluster-wide workload scheduling pause and resume is now enabled out-of-the-box by default indeploy/ctk_v2/xmanager-cloud.yaml(deploy/ctk_v2/xmc-deployment-template.yaml) anddeploy/helm/values.yaml(featureFlags.pause_scheduling_enabled: true) (#1283).- Operator & User Experience: Administrators can pause and resume workload scheduling directly from the Admin Panel (
/admin) or Health Service API during cluster maintenance while researchers continue submitting experiments without disruption. While paused, the Experiments List page (/experiments) displays a global scheduling-paused banner (#1217) and the Actuator records a clearSCHEDULING_PAUSEDsystem status message on buffered work units (#1258). - Spanner Persistence & Broadcast Resilience: Added the Spanner
PauseStateandPausedTasksschema (013_pause_scheduling) and storage repositories (#1046, #1085, #1116), hardened Health Service and the Actuator broadcast listener against Redis pub/sub outages and transient Spanner read errors (#1205, #1289), and documented the end-to-end architecture and operational flows (#1264).
- Operator & User Experience: Administrators can pause and resume workload scheduling directly from the Admin Panel (
- [Action Required / Database Migrations] Spanner ESS Schema Migrations (
013&014): This release adds Spanner ESS migrations013_pause_scheduling(PauseStateandPausedTaskstables, #1085) and014_component_intent_source(request_sourcecolumn onComponentIntents, #1232). When upgrading an existing deployment, ensure Spanner migrations are applied (executed automatically by default duringdev_env.py gke-deployandgke-upgrade).
โจ New Features & Improvements
- Work Units Table Sorting & Status Filtering in Web UI: Users can now sort the Work Units table on the Experiment Details page (
/experiments/:id) by Work Unit ID, Status, Created time, and Completed time (#1251), and filter work units by status directly from the Work Units filters menu (#1252).
๐ User-Facing Bug Fixes & Stability
- Work Units Table Reload on Experiment Navigation: Fixed an issue in the Web UI where navigating directly between different experiment detail routes did not reload the Work Units table for the newly selected experiment ID (#1260).
- ROD
batchGetSecondaryDataGateway Route Matching: Fixed the Envoy GatewayHTTPRoutefor the Resource Overview Dashboard (rod) to match the AIP-136 custom verb/v1/clusterqueues:batchGetSecondaryData, ensuring queue velocity and predictability metrics resolve reliably through the gateway (#1212). - JobSet Reconciler
STOPPEDState Ordering & Batcher Fault Isolation: Fixed the JobSet reconciler to flush and persist theSTOPPEDstatus in Spanner before releasing theJobSetprotection finalizer (#1189), added bounded backoff retries for failed batcher flushes (#1200), isolated permanent per-work-unit batcher errors via typedWorkUnitNotFoundErrorso missing work units never block status updates for sibling work units (#1201, #1202), and mapped SpannerNotFound/AlreadyExistserrors to canonicalgrpcerrsentinels (#1250).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled. Their default enablement is temporarily postponed solely to align with managed solution milestones or external BYOD prerequisites.
๐น [Flag: enable_metrics & dashboard_service_deployment_enabled] Metrics Pipeline & Dashboard Service
- How to enable:
- Metrics Ingestion: Set
enable_metrics: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ormetrics.enabled: trueindeploy/helm/values.yaml). - Dashboard Service: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ordashboardServiceDeployment.enabled: trueindeploy/helm/values.yaml). (Note: Dashboard Service requires BYOD storage devicesโsee the deployment READMEโand also requiresenable_metrics/metrics.enabledto be enabled for workload metrics data to be generated).
- Metrics Ingestion: Set
- What's New:
- Nightly Playwright UI E2E Verification for Metrics Dashboards: Added automated Playwright browser verification (
metrics_dashboard_ui_verify.py) to the Nightly E2E suite, asserting that dashboards created bymetrics_dashboard_jobandxdash_dashboardrender cleanly on/dashboardsand/dashboards/:idwith hydrated chart cards and zero runtime or HTTP errors (#1256). - Backend-Neutral Dashboard Storage Logic & Sentinel Error Mapping: Extracted dashboard chart plot construction and validation into backend-neutral storage packages (
internal/storage/data) (#1196) and mapped SpannerNotFound/AlreadyExistserrors inGetChartandDeleteChartto canonicalgrpcerrstatus codes (#1250).
- Nightly Playwright UI E2E Verification for Metrics Dashboards: Added automated Playwright browser verification (
๐งช 3. In-Development / Experimental Features Behind Flags
Warning
The following capabilities are under active ongoing development, experimental, and may not yet be functional. They are available for early preview and evaluation by enabling their deployment flags in deploy/ctk_v2/xmc-deployment-template.yaml (or deploy/ctk_v2/xmanager-cloud.yaml) and Helm values.yaml.
๐น [Flag: enable_components] Components
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmc-deployment-template.yaml(orcomponentsDeployment.enabled: trueindeploy/helm/values.yaml). - What's New:
- CMS Authentication, Mutating RPC Authorization & Request-Source Ownership: Enforced gRPC authentication and mutating RPC authorization on the Component Management Service (CMS) in ESS (#1219), configured per-RPC bearer token credentials and GKE Workload Identity bindings for
xmc-bridge(#1247), and recorded the authenticated request source as the owner of sourced component intents (014_component_intent_source, #1232). controller-runtimeBridge Architecture, Leader Election & Configurable Concurrency: Migratedxmc-bridgeto acontroller-runtimecontroller running as a single leader-elected writer (#1224, #1225), made reconcile timeout and concurrency configurable via CLI flags and Helm values (#1272), and tracked CMS sync and deactivation rechecks in memory (#1229).kstatusConditions, Finalizer Ordering & CRD Lifecycle Retention: Emitted standardkstatusReconcilingandStalledconditions alongside decoupledSyncedandReadyconditions onComponentCustom Resources (#1227, #1228), attached the CMS cleanup finalizer before executing any side effects (#1226), preserved theComponentCRD across Helm uninstalls and feature-flag flips (#1223), and added KinD E2E lifecycle tests covering blocked deactivation and finalizer cleanup (#1151, #1276).- Unified Idempotent Intent Planning & Structured
ErrorInfoRejections: Consolidated component intent writes into a single shared plan with idempotent application and a Spanner no-op fast path (#1152, #1155, #1231), and attached structuredgoogle.rpc.ErrorInforeasons to missing-dependency, cycle, and active-dependents rejections (#1230).
- CMS Authentication, Mutating RPC Authorization & Request-Source Ownership: Enforced gRPC authentication and mutating RPC authorization on the Component Management Service (CMS) in ESS (#1219), configured per-RPC bearer token credentials and GKE Workload Identity bindings for
โ๏ธ 4. Operational, Infrastructure & Engineering Velocity
Changes relevant to cluster operators, CI/CD, and internal architecture that do not alter the end-user interface.
- **Real Upstream JobSet & Kueue Controllers in...
Release 0.14.0
XMC Release 0.14.0
Release Version Determination: Minor bump (
0.13.0->0.14.0).
Rationale: Adds out-of-the-box support for NVIDIA H100 Mega 80GB (a3-megagpu-8g) GPU accelerators on GKE and an XMC Lite batch job example for existing GKE clusters, resolves JobSet finalizer patching and reconciler error reporting bugs, brings dynamic ClickHouseComponentCR resolution and hot-reloading DataEngine to the production-ready Metrics & Dashboard Service pipeline, and advances behind-the-flag capabilities across Components (stable-2026ameta-chart, drift self-healing), Pause Scheduling, and GKE-hosted Log Monitor deployments. (Note: No.sqlor.ddldatabase schema migrations were introduced in this release;migrations/changes were internal Go compatibility refactors).
๐ 1. Public Changes (Available Out-of-the-Box)
โจ New Features & Improvements
- NVIDIA H100 Mega 80GB (
a3-megagpu-8g) GPU Accelerator Support: Researchers and cluster users can now schedule workloads targeting GKEa3-megagpu-8gnode pools usingH100_MEGA(nvidia-h100-mega-80gb). The Actuator automatically injectscloud.google.com/gke-accelerator: nvidia-h100-mega-80gbinto the JobSet PodSpecnodeSelector, and Kueue and Resource Overview Dashboard (ROD) resource classifiers recognize and track th 8000 e accelerator (#1115). - XMC Lite Batch Job Example on Existing GKE Clusters: Added
examples/xmc_lite_job/, providing a ready-to-run workflow for launching batch experiments directly onto an existing GKE cluster viaxm_local.create_experimentandxm_local.Kubernetesโcomplete with local SQLite experiment state inspection (inspect_sqlite_state.py)โwithout deploying the full XMC control plane (#1047).
๐ User-Facing Bug Fixes & Stability
- Atomic JobSet Finalizer Removal & Reconciler Error Visibility: Replaced full-list finalizer merge patches in the JobSet reconciler with an atomic RFC 6902 JSON Patch (
test+remove) so concurrent finalizer updates on terminating workloads are never overwritten, enabled immediate reconciliation when malformed XMC labels are corrected on update, and surfaced non-retryable label/conversion failures asreconcile.TerminalErrorin controller-runtime metrics (#1025). - Corrected Kueue
LocalQueueTargeting insimple_jobExample: Updatedexamples/simple_jobdocumentation and CLI usage to pass KueueLocalQueuenames (cpu-queue,gpu-queue) instead ofClusterQueuenamesโpreventing example workloads from stalling asInadmissibleโand documented required client environment variables (XMANAGER_ENDPOINT,IAP_CLIENT_ID,XMC_CLIENT_SA) (#1020).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled. Their default enablement is temporarily postponed solely to align with managed solution milestones or external BYOD prerequisites.
๐น [Flag: enable_metrics & dashboard_service_deployment_enabled] Metrics Pipeline & Dashboard Service
- How to enable:
- Metrics Ingestion: Set
enable_metrics: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ormetrics.enabled: trueindeploy/helm/values.yaml). - Dashboard Service: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmc-deployment-template.yaml(ordashboardServiceDeployment.enabled: trueindeploy/helm/values.yaml). (Note: Dashboard Service requires BYOD storage devicesโsee the deployment READMEโand also requiresenable_metrics/metrics.enabledto be enabled for workload metrics data to be generated).
- Metrics Ingestion: Set
- What's New:
- Dynamic ClickHouse Connection Resolution & Hot-Reloading DataEngine: When running with components,
dashboard-servicedynamically resolves ClickHouse connection coordinates and credentials from theclickhouseComponentCR (falling back to staticCLICKHOUSE_*environment variables when absent), and automatically rebuilds and atomically swaps the cached ClickHouseDataEnginewithout requiring pod restarts whenever configuration or credentials change (#1037, #1038, #1039). - Expanded Nightly E2E Verification for Metrics & ClickHouse Workloads: Added dedicated automated E2E test verification for
clickhouse_metrics_job,metrics_job,metrics_dashboard_job, andxdash_dashboard, continuously verifying that workloads successfully stream metrics through the Ingestion Gateway into ClickHouse and that charts hydrate correctly (#1057, #1064, #1099). - Hermetic KinD E2E 3P ClickHouse & Redpanda Integration Suite: Added a dedicated KinD E2E test suite running real OSS ClickHouse and Redpanda containers to validate metrics pipeline integration locally and in CI (#1105).
- Dynamic ClickHouse Connection Resolution & Hot-Reloading DataEngine: When running with components,
๐งช 3. In-Development / Experimental Features Behind Flags
Warning
The following capabilities are under active ongoing development, experimental, and may not yet be functional. They are available for early preview and evaluation by enabling their deployment flags in deploy/ctk_v2/xmc-deployment-template.yaml (or deploy/ctk_v2/xmanager-cloud-deployment.yaml) and Helm values.yaml.
๐น [Flag: enable_components] Components
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmc-deployment-template.yaml(orcomponentsDeployment.enabled: trueindeploy/helm/values.yaml). - What's New:
- Single-Release
stable-2026aProfile Meta-Chart: Packageddeploy/profiles/stable-2026aas a unified Helm meta-chart (xmc-profile-stable-2026a) that renders and validates every catalogComponentCustom Resource (clickhouse,redpanda,ingestion-gateway) from a singlevalues.yamlfile with strict JSON Schema validation, extracted reusable profile chart contract tests, and updatedcomponent-linterto deduplicate nested chartComponentdefinitions (#1016, #1034, #1059). - Self-Healing Drifted 1P Component Releases & Serialized Teardowns:
xmc-bridgenow verifies that all Kubernetes objects in a deployed 1P component's Helm manifest exist on cluster, reports missing resources asHelmReleaseDrifted, automatically repairs drifted or failed releases with rate-limited exponential backoff (MaxHistory=10), and serializes async Helm upgrades with uninstalls/deactivations so removed releases are never resurrected (#1030, #1061, #1072). - Dynamic ClickHouse
ComponentCR Integration: Integratedpkg/components/crreaderwithdashboard-serviceso ClickHouse connection coordinates and credentials dynamically resolve from theclickhouseComponentCR with hot-reloadedDataEngineupdates (see Section 2 for details) (#1037, #1038, #1039). - Server-Side Apply (SSA) Status Applier, 3P Contract Breach Handling & Envtest Suite: Extracted
ApplyComponentStatusSSA(fieldManager: "xmc-bridge") and conflict-retried finalizer synchronization, separatedContractBrokenfromInvalidWrapperSpecfor 3P component status probes, modularizedK8sHelmManagerinto focused sub-packages, and added a hermeticcontroller-runtimeenvtestintegration suite covering CEL schema rules andValidatingAdmissionPolicydeletion protection (#1067, #1068, #1069, #1070, #1071, #1077, #1104, #1118). - Dev Environment Deployment, CTK Verification &
xmc-diagComponent Diagnostics: Added--enable-componentssupport totools/dev_env(automatically installing thestable-2026aprofile and verifyingComponentCRD,xmc-bridge, andComponentCR readiness inverify_xmc.py) and extendedtools/xmc-diagwith--check-componentsto report KubernetesComponentCR health in text and JSON diagnostic reports (#1081, #1087).
- Single-Release
๐น [Flag: pause_scheduling_enabled] Pause Scheduling
- How to enable: Set
pause_scheduling_enabled: trueindeploy/ctk_v2/xmc-deployment-template.yaml(orfeatureFlags.pause_scheduling_enabled: trueindeploy/helm/values.yaml). - What's New:
- Immediate
STOPPEDTransition for Paused Work Units: Stopping a work unit in theSCHEDULING_PAUSEDstate viaStopWorkUnitorBatchStopWorkUnitsnow transitions its execution state directly toSTOPPEDin the Experiment State Server instead of waiting for a KubernetesJobSetdeletion watch event that never fires for unscheduled paused workloads (#1080). - Fast-Path Actuator Cache Advancement on Task Resumption: Replayed tasks now carry
resumption_run_idandresumption_timemetadata so an Actuator whose local pause cache has not yet refreshed immediately transitions to unpaused and dispatches replayed workloads to GKE in...
- Immediate
Release 0.13.0
XMC Release 0.13.0
Release Version Determination: Minor bump (
0.12.0->0.13.0).
Rationale: Introduces configurable login session lifetime for operators, resolves out-of-the-box pagination and JobSet pod diagnostic bugs, expands end-to-end verification for the production-ready Metrics & Dashboard Service pipeline, and advances experimental Components and Pause Scheduling capabilities.
๐ 1. Public Changes (Available Out-of-the-Box)
โจ New Features & Improvements
- Configurable Login Session Lifetime: Cluster operators can now configure how long authenticated user login sessions remain active via
auth.sessionTtlindeploy/helm/values.yaml(or theSESSION_TTLenvironment variable, defaulting to1h). Both OAuth2 tokens and browser session cookies automatically align to the configured duration (#997).
๐ User-Facing Bug Fixes & Stability
- Reliable Cursor Pagination & Filtering Across List RPCs: Fixed server-side Spanner SQL errors and cursor deserialization issues when paginating
ListExperiments,ListWorkUnits,ListXidEntries,ListArtifacts, andListStatusMessageswithpage_size,page_token, and customorder_byparameters (#983). - Restored JobSet Startup Pod Diagnostics: Fixed a pod lookup bug in the reconciler that prevented JobSet startup pod checks from running in production, ensuring
ImagePullBackOff,ErrImagePull, andUnschedulablepod warnings are surfaced to users when workloads fail to start (#1017).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled. Their default enablement is temporarily postponed solely to align with managed solution milestones or external BYOD prerequisites.
๐น [Flag: enable_metrics & dashboard_service_deployment_enabled] Metrics Pipeline & Dashboard Service
- How to enable:
- Metrics Ingestion: Set
enable_metrics: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(ormetrics.enabled: trueindeploy/helm/values.yaml). - Dashboard Service: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(ordashboardServiceDeployment.enabled: trueindeploy/helm/values.yaml). (Note: Dashboard Service requires BYOD storage devicesโsee the deployment READMEโand also requiresenable_metrics/metrics.enabledto be enabled for workload metrics data to be generated).
- Metrics Ingestion: Set
- What's New:
- End-to-End ClickHouse Metrics & Dashboard Hydration Verification: Enabled the metrics pipeline and ClickHouse/Redpanda addons in the continuous nightly environment, adding automated end-to-end verification of workload execution, direct ClickHouse SQL data ingestion, and Dashboard Service chart hydration (#910, #933, #1029, #1056).
- Flexible Node-Pool Scheduling for Redpanda Addon: Removed the hardcoded
main-poolnode selector fromdeploy/addons/metrics/redpanda/values.yamlso Redpanda schedules cleanly across standard and custom GKE node pool topologies, and pinned the documented Redpanda chart version to5.8.3(compatible with ClickHouse24.3) (#933).
๐งช 3. In-Development / Experimental Features Behind Flags
Warning
The following capabilities are under active ongoing development, experimental, and may not yet be functional. They are available for early preview and evaluation by enabling their deployment flags in your Cluster Toolkit deployment YAML or Helm values.yaml.
๐น [Flag: enable_components] Components
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(orcomponentsDeployment.enabled: trueindeploy/helm/values.yaml). - What's New:
โ ๏ธ [Topology Change whenenable_components: true] Ingestion Gateway Moves from Umbrella Chart to 1P Component: Whenenable_components: true(componentsDeployment.enabled: true), enablingenable_metrics: true(ingestionGatewayDeployment.enabled: true) no longer deploys the Ingestion Gateway from the umbrella Helm chart. Instead,ingestion-gatewayis now packaged as an embedded 1P native component blueprint (deploy/profiles/stable-2026a/components/ingestion-gateway) and actuated dynamically byxmc-bridgeonce itsComponentresource (along with its requiredredpandaandclickhousecomponent dependencies) is active (#969, #974).- Dependency-Safe Component Actuation & Deactivation: Propagated
Component.spec.dependenciesinto the CMS dependency graph and gated both component actuation and deactivation on dependency readiness and safety checks so dependent components are not orphaned or started prematurely (#989, #991, #992). - Live 1P Helm Release Health & Probe Diagnostics:
xmc-bridgenow reports live 1P Helm release health, verifies release status on cold-start hydration, and falls back to a clear diagnostic message when a 3P readiness probe fails without detail (#990, #1014). - Modular Bridge Reconciler Architecture: Decomposed
pkg/components/bridge/reconciler.gointo focused modules covering condition and spec parsing, CMS client and prober wiring, 3P wrapper reconciliation, and deletion/deactivation lifecycle management (#1009, #1010, #1011, #1012, #1015).
๐น [Flag: pause_scheduling_enabled] Pause Scheduling
- How to enable: Set
pause_scheduling_enabled: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(orfeatureFlags.pause_scheduling_enabled: trueindeploy/helm/values.yaml). - What's New:
- Paused Work Unit Status in the UI: Fixed the actuator pause handler update mask so paused tasks persist
SCHEDULING_PAUSEDwithout failing validation, and added a dedicated orange "Scheduling Paused" status chip and status bar segment in the Web UI (#984). - Backlog-Throttled Resumption Replay & Lease Extension: The Experiment State Server resumption worker now throttles paused-task replay when the Redis task stream (
xmc-tasks-stream) backlog exceeds threshold (500by default) to protect Redis memory, and automatically extends its Redis message claim lease (XCLAIM) during long replay runs (#986, #1007, #1042). - Transactional Pause Scheduling Storage Wiring: Centralized pause state and paused task repositories in the storage layer and bound actuator and ESS pause writes to transaction-scoped repositories (#1043, #1044).
- Paused Work Unit Status in the UI: Fixed the actuator pause handler update mask so paused tasks persist
โ๏ธ 4. Operational, Infrastructure & Engineering Velocity
Changes relevant to cluster operators, CI/CD, and internal architecture that do not alter the end-user interface.
- Reconciler Performance, Observability & Lifecycle Modernization: Migrated the reconciler to upstream
controller-runtimeAPIs, consolidated all reconciler and controller-runtime Prometheus metrics onto the:8082metrics endpoint (removing the unexposed:8081listener), scoped the Kubernetes informer cache strictly to XMC-managed JobSets and JobSet-owned Pods to lower memory usage, bounded reconcile loops withreconciliation_timeout(2m), and registered the update batcher andkueuesyncloop as managed controller-runtime runnables (#1017, #1021, #1022, #1023, #1024). - Storage Transaction Runner Refactoring: Introduced a Spanner transaction runner and moved work unit restart orchestration out of the storage layer into Experiment State Server handlers (#950).
- Release Orchestration & Developer Environment Tooling: Added the end-to-end
xmc_releaseorchestration skill and workflow watcher (dispatch_and_watch.py), and updated the GKE dev environment upgrade script to restartxmc-bridgeandingestion-gatewayduring rollout (#980, #988). - CI, Test Scoping & Linting Standards: Hardened stacked-PR test target resolution and added concurrency controls to
unit-tests.yml, propagated dynamic work unit counts to nightly verification scripts, enforced Python cyclomatic complexity checks in Ruff and unused-dependency linting across the stack, and updated engineering workflow rules (#987, #1000, #1001, #1008, #1041). - Dependency & Security Maintenance: Remediated Dependabot security alerts for
qsin the UI and bumped npm/yarn development packages (#999, [#1...
Release 0.12.0
XMC Release 0.12.0
Release Version Determination: Minor bump (
0.11.0->0.12.0).
Rationale: Promotes the Resource Observability Dashboard (ROD) and Health Service / Admin Panel to default-enabled (true) out-of-the-box across all Cluster Toolkit v2 blueprints and Helm deployments, introduces a comprehensive UI design system overhaul, hardens core task queue and workload scheduling reliability, and advances the preview Pause Scheduling and Custom Components frameworks.
๐ 1. Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Promoted Capabilities
- Resource Observability Dashboard (ROD) Enabled by Default: The Resource Observability Dashboard is now deployed and active out-of-the-box across all Cluster Toolkit v2 blueprints and Helm manifests (
rod_deployment_enabled: true,rodDeployment.enabled: true), giving operators immediate, zero-configuration visibility into cluster queue velocity, resource utilization, and queue backlog predictability (#981). - Health Service & Admin Panel Enabled by Default: The Health Service and administrative interface are now enabled out-of-the-box (
health_service_deployment_enabled: true,healthServiceDeployment.enabled: true), enabling real-time platform component health inspection, readiness probing, and centralized administrative controls without custom configuration (#981). - Comprehensive UI Design System & Visual Refresh: Overhauled the frontend visual styling, typography, and page structure across 8 synchronized updates to deliver a modern, cohesive developer experience:
- Collapsible Sidenav Rail: Introduced a responsive navigation rail expandable from compact 72px icon view to 240px full-width label view, with restored documentation quick-links (#953, #973).
- Global Theming & Typography: Aligned color tokens, typography hierarchies, and status chip styling across light and dark interfaces (#952).
- Top Toolbar & Global Search: Refreshed the global application header with standardized height, borders, and an integrated search bar (#954).
- Experiments & Work Units Layouts: Redesigned the Experiments List container, data table borders, metadata split cards, and Work Units table row headers and ID badges (#955, #956, #957, #958).
- Artifact Filters & Cards: Polished artifact category toggle buttons and interactive artifact cards (#959).
โจ New Features & Runtime Improvements
- Automated Default Resource Requests for Kueue Workloads: Workloads submitted without explicit resource limits are now automatically assigned safe default resource requests, preventing submitted jobs from becoming indefinitely stuck in Kueue scheduling queues (#916).
- Strict Task Queue Error Propagation: The Experiment State Server (ESS) now rigorously checks and propagates Redis message broker errors during work unit task enqueueing, preventing silent task drops and ensuring immediate operational visibility into queue saturation (#937).
๐ User-Facing Bug Fixes & Stability
- Protobuf Compatibility & Python SDK Stability: Pinned
googleapis-common-protosbelow version1.75.4across example workloads and deployments, eliminating runtime descriptor conflicts and import failures in Python SDK clients (#985). - Dev Environment Service Synchronization: Fixed the local development orchestrator (
dev_env.py) to automatically rebuild, push, and restart therod_data_providercontainer upon local code changes (#994).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully verified and safe to enable in production environments. Default enablement is optional to accommodate bring-your-own-device or cloud infrastructure prerequisites.
๐น [Flag: dashboard_service_deployment_enabled] Dashboard Service (Custom Dashboards & Visualization)
- How to enable: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmanager-cloud.yaml(ordashboardServiceDeployment.enabled: truein Helmvalues.yaml). - Why it's opt-in: Fully production-ready and safe to enable, but kept opt-in by default as it requires bring-your-own-devices (BYOD / external storage backends such as ClickHouse for metric ingestion and analytical query processing).
- Prerequisite Flag: Note that for the dashboard service to fully function and ingest telemetry, the metrics pipeline must also be activated by enabling
enable_metrics: trueindeploy/ctk_v2/xmanager-cloud.yaml(ormetrics.enabled: truein Helmvalues.yaml) for metric data to be generated and streamed. - What's New:
- Powers custom metric charts, interactive dashboard creation, and high-throughput metric aggregation for experiment workloads.
๐น [Flag: enable_managed_mldiagnostics] Google Cloud Managed ML Diagnostics on GKE
- How to enable: Set
enable_managed_mldiagnostics: trueandmanaged_xprof_gcs_bucket: "gs://<bucket-name>"indeploy/ctk_v2/xmanager-cloud.yaml(ormanagedMLDiagnostics.enabled: truein Helmvalues.yaml). - What's New:
- Automates performance profiling and diagnostic trace capture for JAX, PyTorch, and TensorFlow workloads running on GKE TPU/GPU clusters.
- Injects XProf profiling sidecars, enables Google Cloud Hypercompute Cluster APIs, and integrates seamlessly with Diagon profiling consoles.
๐ ๏ธ 3. Internal Development / Upcoming Features (Under Construction)
Caution
The following capabilities are under active internal development and are not ready for use, preview, or testing. They are guarded by strict feature flags (defaulting to false). Enabling them manually is unsupported and will lead to environment instability.
๐น Pause Scheduling & Task Resumption Subsystem
- Status: ๐ง Under Construction (Do not enable)
- What's New:
- Real-Time Redis Broadcast Engine: Implemented production Redis Pub/Sub publisher and consumer channels for broadcasting cluster-wide pause and resume events between microservices (#864).
- Actuator Task Interception & Buffering: Actuator now intercepts and safely buffers pending work unit tasks in Spanner storage when scheduling is paused, preventing premature execution on drained compute nodes (#927).
- Resumption Worker Loop & Replay Execution: Added dedicated ESS resumption workers that progressively replay buffered tasks in configurable batches upon cluster resumption (#922).
- Replay Claim Verification & Safety Checks: Replay workers verify cluster pause state and worker ownership claims on every batch to prevent split-brain processing during rapid pause/unpause toggles (#926).
- Active Task State Filtering: Enhanced replay filtering to skip cancelled, expired, or superseded tasks during cluster unpause (#972).
๐น Pluggable Custom Components Framework
- Status: ๐ง Under Construction (Do not enable)
- What's New:
- ClickHouse 3P Component Blueprint: Added official 3rd-party component blueprint for deploying and managing ClickHouse analytical engines (#963).
- Simplified Wrapper Component Architecture: Made
wrapperRefoptional for 3P components and migrated Redpanda to the unified 3P Wrapper Component blueprint (#939, #978). - Ingestion Gateway CR Resolution: Ingestion Gateway now automatically resolves Redpanda Custom Resources and configures RBAC policies when
enable_components=true(#948). - Shared Component Dependency DAG: Introduced a unified directed acyclic graph (DAG) engine for validating and resolving complex inter-component dependencies (#930).
- Dynamic Chart Resolution & Cold-Start Hydration: Bridge reconciler supports dynamic per-component chart resolution and cold-start state hydration on controller restarts (#931).
- Integration Testing & Linter Hardening: Added Cloud Spanner emulator drift integration suites and extended the component linter to support Helm sub-charts and CRD enums (#826, #945).
โ๏ธ 4. Operational, Infrastructure & Engineering Velocity
Changes relevant to cluster operators, CI/CD, and internal architecture that do not alter the end-user interface.
- Automated Release Tooling Suite:
- Introduced the end-to-end AI release notes generator skill and taxonomy reference (
xmc_generate_release_notes) (#836). - Added core release publisher CLI tool with headless GitHub REST API fallback (
tools/release/publish_release.py) (#834, #835). - Built dynamic feature flag discovery, gated subsystem classification, and automated SemVer bump calculation engines (`tools/release/extrac...
- Introduced the end-to-end AI release notes generator skill and taxonomy reference (
XMC Release Notes 0.11.0
XMC Release Notes (Week of September 14 โ September 18, 2026)
๐ Release Summary & SemVer Determination
- Analysis Window:
2026-09-14T00:00:00Zto2026-09-18T13:48:53Z - Total Merged Pull Requests: 40 PRs (100% accounted for & verified)
- Recommended Version Bump: Minor Bump (
0.Y.0/X.Y.0)- Reasoning: Introduces backwards-compatible user and operator capabilities (out-of-the-box work unit artifacts navigation in the UI, General Availability of Queue Predictability throughput metrics, automatic Managed XProf metadata defaulting, Actuator JobSet adoption idempotency), standardizes deployment configuration switches in CTK v2 and modern Kueue
v1beta2manifests, and lays the foundational backend architecture for upcoming Pause Scheduling preview capabilities without breaking existing APIs or data contracts.
- Reasoning: Introduces backwards-compatible user and operator capabilities (out-of-the-box work unit artifacts navigation in the UI, General Availability of Queue Predictability throughput metrics, automatic Managed XProf metadata defaulting, Actuator JobSet adoption idempotency), standardizes deployment configuration switches in CTK v2 and modern Kueue
Section 1: ๐ Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Promoted Capabilities
- Work-Unit Artifact Exploration Enabled by Default: Researchers and developers can now immediately inspect and navigate diagnostic artifacts generated by individual work units directly on the per-experiment page without requiring manual feature flag activation (#875).
- Resource Observability Queue Predictability Graduated to GA: Removed the temporary "Work in Progress" banner from the Predictability section on Resource Observability queue cards, delivering production-ready queue velocity and throughput predictability metrics directly to cluster operators (#921).
- Automatic Metadata Defaulting for Managed XProf Artifacts: The Experiment Storage Service (ESS)
CreateArtifactAPI now automatically populatesdisplay_nameandrun_groupwith sensible defaults when omitted by client training workloads, streamlining artifact registration (#867).
โจ New Features & User-Facing Improvements
- Deterministic MLRun Identifier Generation: The reconciler now generates MLRun IDs using deterministic truncated SHA-256 hashes of parent experiment and work unit identifiers, eliminating ID collisions and race conditions during reconciler retries or failovers (#865).
- Contextual Work Unit Profiler Tooltips: Added explanatory tooltips to the "Profile" button within the work units table to provide operators with immediate clarity regarding profiling availability and active states (#872).
๐ User-Facing Bug Fixes & Stability
- Actuator JobSet Creation Idempotency: Actuator now idempotently reconciles and adopts existing Kubernetes
JobSetresources when encounteringAlreadyExistserrors (such as after network timeout retries during submission), preventing unnecessary workload execution failures (#861). - OCI Container Startup & Security Hardening: Granted explicit read and execute permissions to the entrypoint script and Nginx configuration inside UI OCI images, ensuring reliable container startup in non-root and security-hardened environments (#886).
Section 2: ๐ Production-Ready Features Behind Feature Flags (Safe to Enable)
1. Cluster Toolkit (CTK) v2 Blueprint Feature Switches
- Configuration Toggle:
- Cluster Toolkit Blueprint: Documented and exposed formal deployment configuration switches in the CTK v2 blueprint (
deploy/ctk_v2/xmanager-cloud.yamlandREADME.md), allowing operators to configure optional platform modules such as the Resource Observability Dashboard (#896).
- Cluster Toolkit Blueprint: Documented and exposed formal deployment configuration switches in the CTK v2 blueprint (
- Customer Value & Capabilities:
- Gives platform engineers clear, declarative controls to selectively activate or deactivate peripheral observability stacks and services during initial cluster blueprint provisioning.
- Associated PRs: #896.
2. Kueue Resource Version Standardization (v1beta2)
- Configuration Toggle:
- Helm Chart: Standardized all Kueue queue manifests across CPU, GPU, and TPU queues in
deploy/helm/templates/kueue-dev/to servekueue.x-k8s.io/v1beta2(#915).
- Helm Chart: Standardized all Kueue queue manifests across CPU, GPU, and TPU queues in
- Customer Value & Capabilities:
- Aligns local and remote deployment templates with modern Kueue Custom Resource Definition storage versions, eliminating runtime object conversion overhead and future-proofing queue definitions for cluster upgrades.
- Associated PRs: #915.
Section 3: ๐ง In-Progress Development
Warning
The following changes lay the initial backend foundation and scaffolding for the upcoming Pause Scheduling capability. These components are strictly for internal development, are currently non-functional/incomplete, and are not yet available for customer or preview enablement.
Pause Scheduling Groundwork (Work-in-Progress)
-
Status: In-development backend scaffolding (internal dev flag
pause_scheduling_enabled: falsedefault in Helm) (#850, #879). -
Work Merged This Cycle:
- Admin UI Scaffolding: Added draft administrative card and confirmation modal components to the Admin Panel (#889, #891).
- Health Service Endpoints & Messaging: Added preliminary
:pause/:resumeendpoints and Redis notification broadcast hooks (#877, #894, #920). - Actuator State Handling: Added initial stream listeners and local state cache interfaces (#912).
- ESS Resumption Interfaces: Implemented base consumer worker interfaces and persistence repository structures (#857, #876, #890).
-
Associated PRs: #850, #857, #876, #877, #879, #889, #890, #891, #894, #912, #920.
Section 4: โ๏ธ Operational, Infrastructure & Engineering Velocity
โ๏ธ Operational & CI/CD Infrastructure Updates
- Automated Nightly Verification & Issue Dispatch: Added scheduled nightly test workflow automation with automated GitHub Issue alerts dispatched to repository maintainers upon failure (#852, #884, #888).
- Parallel Workload Execution in Nightly CI: Added parallel example workload execution runner and unified nightly examples E2E pipeline (#881, #909).
- Atomic Workload Launch & Validation: Consolidated workload launch and verification into an atomic CI runner pattern, eliminating legacy standalone trigger jobs (#895, #919).
- Nightly Dashboard Deployment & Version Tagging: Enabled dashboard service deployment in nightly build and GKE deploy workflows with run-number version tagging upfront (
nightly-YYYY-MM-DD.<run_number>) (#893, #918).
๐ ๏ธ Developer Velocity & Testing Infrastructure
- E2E Test Orchestration Hardening: Hardened E2E test orchestration foundation, headless Dex OIDC authentication helpers, Playwright authenticator, dynamic KinD binary resolution, UI screenshot diagnostics, and dev NodePort forwarding manifests (#746).
- Unified Verification Framework: Introduced common entity verification framework, queue/state resilience assertions, reusable in-process runner harness, and exhaustive Protobuf/priority validation CLI (
tools/nightly_tests/) (#862, #868, #873, #882, #901, #908). - Examples & Architecture Documentation:
- Repository Hygiene: Updated developer availability schedule in
.agents/absence.yaml(#870).
XMC Release Notes 0.10.0
XMC Release Notes (Week of September 7 โ September 11, 2026)
๐ Release Summary & SemVer Determination
- Analysis Timeframe:
2026-09-07T00:00:00Zto2026-09-11T12:18:09Z - Total Merged Pull Requests: 46 PRs (100% accounted for & verified)
- Recommended Version Bump: Minor Bump (
0.Y.0/X.Y.0)- Reasoning: Introduces backwards-compatible public features (
ChartArtifactfull-width plot rendering and automated plot specs, permanent promotion of core platform status/error tracking, resilient task retry classification), new production-ready blueprint and Helm toggles (Managed ML Diagnostics on GKE, federated JWKS/OIDC authentication, hybrid remote Kubernetes cluster actuation), and major architectural additions across preview subsystems (Custom Components).
- Reasoning: Introduces backwards-compatible public features (
Section 1: ๐ Public Changes (Available Out-of-the-Box)
๐ Major Highlights & Promoted Capabilities
- Core Platform Guarantees Promoted to Permanent Invariants: Status history tracking, inadmissible workload detection, and startup pod error inspection have been stabilized and promoted to permanent, out-of-the-box platform guarantees with the permanent removal of their legacy deployment flags (#801).
- Full-Width Interactive Chart & Metric Visualization: Researchers can now view wide-aspect
ChartArtifacttime-series graphs spanning the entire Work Unit details page, dramatically improving metric readability and visual analysis across desktop displays (#811). - Automated Plot Specification Rendering for Artifacts: Users no longer need to write custom frontend charting code to visualize experiment results; declaring a
ChartArtifactautomatically provisions and renders complete interactive plot specifications in the dashboard (#810).
โจ New Features & User-Facing Improvements
- Live Metric Streaming Example Workload: Developers and researchers can reference an updated example job demonstrating how to stream live multi-metric training series (such as loss, accuracy, learning rate, and step time) directly into XMC dashboards (#676).
- Multi-Worker Job Template with Automated Queue Submission: Researchers can launch multi-workunit batch jobs across Kueue resource queues using a standardized example script that automatically manages dynamic project domains and worker replicas (#847).
๐ User-Facing Bug Fixes & Stability
- Resilient Workload State Handling on Network Glitches: Workloads no longer erroneously fail during transient Kubernetes API timeouts or network hiccups, as retryable network errors are automatically distinguished from terminal container failures in task workers (#814).
- Intuitive UI Action Button Tooltip: Improved interface clarity by renaming the Work Units table action button tooltip from "Run Profile" to "Profile" (#851).
Section 2: ๐ Production-Ready Features Behind Feature Flags (Safe to Enable)
1. Google Cloud Managed ML Diagnostics on GKE
- Configuration Toggle:
- Cluster Toolkit Blueprint: Set
enable_managed_mldiagnostics: trueandmanaged_xprof_gcs_bucket: "gs://<bucket-name>"indeploy/ctk_v2/xmanager-cloud.yaml(#762). - Helm Chart: Set
managedMLDiagnostics.enabled: trueindeploy/helm/values.yaml.
- Cluster Toolkit Blueprint: Set
- Functional Capability & Operator Enablement:
- Delivers zero-configuration performance profiling and diagnostic trace capture for JAX, PyTorch, and TensorFlow workloads running on GKE TPU/GPU clusters.
- Automatically injects profiling sidecars into training pods and provisions required Cloud IAM bindings and GKE cluster integrations (#762).
- Single-Click Profiling Navigation: Reconciler automatically appends
tab=profilesto MLRun Diagon console URLs, landing users directly on active profiling dashboards (#791). - Scheduling Latency Visibility: Exports JobSet creation timestamps to MLRun workload details, allowing operators to measure queuing and scheduling delay (#822).
- Reliable Session Discovery: Eliminates profiling session discovery race conditions on active training runs (#839).
- Safe Metadata Updates: Preserves workload ownership labels and orchestrator details during experiment updates (#845).
- Standardized Label Formats: Migrated system labels to
snake_casefor consistent search and query filtering (#819). - Streamlined Configuration: Cleaned up redundant environment variables and CLI overrides in favor of per-work-unit bucket paths (#840, #842).
- Associated PRs: #762, #791, #819, #822, #839, #840, #842, #845.
2. Hybrid Remote Cluster Management & Out-of-Cluster Kubernetes
Section 3: ๐งช In-Development / Experimental Features Behind Flags
Warning
The following capabilities are in active preview and default to disabled (false). Schemas and interfaces are subject to change prior to general availability.
Pluggable Custom Components Framework
- Configuration Flag:
- Cluster Toolkit:
enable_components: falseindeploy/ctk_v2/xmanager-cloud.yaml - Helm Chart:
componentsDeployment.enabled: falseindeploy/helm/values.yaml - CLI / Env:
--enable_components=false/ENABLE_COMPONENTS=false
- Cluster Toolkit:
- Functional Capability & Operator Enablement (Preview):
- Proactive Experiment Drift Detection: Experiment State Server checks Spanner consistency views to detect divergences between live component catalogs and immutable experiment snapshots, surfacing warning annotations in the UI (#805).
- Automated Lifecycle Management for 3rd-Party Addons: Enables declarative installation, upgrading, and uninstallation of auxiliary Helm packages directly alongside experiment workloads via an in-process Go Helm SDK runner (#806).
- Custom Component Parameterization: Allows users to customize addon behavior by declaring and passing configurable parameters to managed components (#827).
- Live Addon Health & Status Probing: Automatically discovers Kubernetes Custom Resource Definitions (CRDs) via JSONPath evaluation (#581, #708), executes TCP socket connectivity checks (#582), and reports aggregated health status (#792).
- Dependency-Aware Workload Placement: Workloads requiring specific cluster services can automatically wait for dependent components to become healthy before starting (#802).
- Dynamic Value Persistence: Persists resolved component values inside
cm-<release-name>ConfigMaps for traceable release state (#735). - Unified Component Schema & Test Doubles: Standardized component references and mock management tools to accelerate ecosystem extension development (#766).
- Associated PRs: #766, #792, #802, #805, #806, #827, #735, #581, #582, #708.
Section 4: โ๏ธ Operational, Infrastructure & Engineering Velocity
โ๏ธ Operational & Infrastructure Updates
- Automated Nightly GKE Staging & Health Validation: Continuous nightly deployment pipelines now build container images, compile Cluster Toolkit blueprints, provision GKE environments, and execute end-to-end health verification automatically every day (#844).
- **Cloud Quota & Capacity Res...
Release 0.9.0
XMC Release 0.9.0
Release Version Determination: minor bump (
0.8.0->0.9.0).
Rationale: Pre-1.0 zero-major versioning (0.Y.Z). Includes out-of-the-box user-facing UI enhancements, user-facing security remediations, approved production-ready preview features behind flags (enable_metrics,rod_deployment_enabled,health_service_deployment_enabled), and major database schema migration capabilities.
๐ 1. Public Changes (Available Out-of-the-Box)
โจ New Features & Improvements
- Work Units Performance Profiling: Added a dedicated Run Profile action button directly within the Work Units table (#720), enabling operators and ML engineers to trigger runtime profiling directly from the UI without navigating through external submenus.
- Frontend Strictness & Angular Guidelines: Expanded ESLint rules for TypeScript and modern Angular signals and control flow to prevent common UI memory leaks and non-reactive patterns (#723).
๐ User-Facing Bug Fixes & Stability
- Frontend Dependency Security Remediations: Updated vulnerable transitive npm dependencies (
js-yamlandnanoid) to resolve Dependabot security alerts in the web UI console (#694).
๐ 2. Production-Ready Features Behind Feature Flags (Safe to Enable)
The following capabilities are fully developed, verified, and safe to be enabled in staging or production environments. Their default enablement is temporarily postponed solely to align with platform release milestones.
๐น [Flag: enable_metrics] Metrics & ClickHouse Pipeline
- How to enable: Set
enable_metrics: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(ormetrics.enabled: truein Helmvalues.yaml). - What's New:
- Secret Manager Integration: ClickHouse database credentials can now be securely sourced directly from Google Cloud Secret Manager via the Secret Manager CSI driver (
SecretProviderClass), replacing static Secret references (#645). - Automated Schema Initialization: Automated ClickHouse database schema setup and worker permission assignment upon initial provisioning (#681).
- Secret Manager Integration: ClickHouse database credentials can now be securely sourced directly from Google Cloud Secret Manager via the Secret Manager CSI driver (
๐น [Flag: rod_deployment_enabled] Resource Observability Dashboard (ROD)
- How to enable: Set
rod_deployment_enabled: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(orrod.enabled: truein Helmvalues.yaml). - What's New:
- Production-ready telemetry collection and hardware resource utilization ingestion pipeline across distributed cluster nodes.
๐น [Flag: health_service_deployment_enabled] Health Service
- How to enable: Set
health_service_deployment_enabled: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(orhealthServiceDeployment.enabled: truein Helmvalues.yaml). - What's New:
- Centralized health aggregator microservice actively monitoring Spanner connectivity, schema migrations, and internal daemon endpoints.
๐งช 3. In-Development / Experimental Features Behind Flags
Warning
The following capabilities are under active ongoing development, experimental, and may not yet be functional. They are available for early preview and evaluation by enabling their deployment flags in your Cluster Toolkit deployment YAML or Helm values.yaml.
๐น [Flag: enable_components] Pluggable Components for XMC
- How to enable: Set
enable_components: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(orcomponents.enabled: truein Helmvalues.yaml). - What's New:
- Production Cloud Spanner Store Client: Implemented the complete 11-method
store.Storeclient interface backed by Google Cloud Spanner, featuring transactional soft-delete joins, mutations, and an emulator integration test suite (#682). - Dependency Resolution & SemVer Algebra: Added SemVer 2.0.0 constraint algebra engine, acyclic DAG validator, and component dependency validator for multi-component workflows (#514, #515, #777).
- CRD Schema Conformance & Platform Rules: Introduced Component Custom Resource Definition (CRD) schema validation, platform constraint checks, and cluster CRD compatibility rule evaluations (#513, #593, #624).
- 1P Helm Values Synthesis: Developed 1P Helm values synthesis engine and manager contract for automating sub-chart configuration generation (#578).
- Platform Health Aggregator & AIP-158 Pagination: Added component platform health aggregation and standardized AIP-158 list pagination (#659).
- Lifecycle & Deletion Protection: Built deletion protection finalizer lifecycle handling and safe teardown engine (#604).
- UI Component Explorer: Enhanced UI with outlined input controls and tooltips (#684), dominant resource badges in smart resource finder (#675), clickable Xprof artifact links (#751), and shared error banners (#670, #677).
- Production Cloud Spanner Store Client: Implemented the complete 11-method
๐น [Flag: dashboard_service_deployment_enabled] Dashboard Service & xdash SDK
- How to enable: Set
dashboard_service_deployment_enabled: trueindeploy/ctk_v2/xmanager-cloud-deployment.yaml(ordashboardServiceDeployment.enabled: truein Helmvalues.yaml). - What's New:
- Chart Data Engine On-Demand Rebuild: Rebuilt the chart data engine on demand with gated service readiness (#646).
- Transactional Updates: Merged chart and dashboard updates inside write transactions to prevent race conditions (#663).
- Structured Logging & Diagnostics: Migrated legacy logging to structured slog format (#721) and updated HTTPRoute regex matching (#649).
- Examples & Job Harness: Added end-to-end metrics and dashboard job examples (#649, #664).
๐น [Flag: reconciler.monitoring.enabled] Reconciler Prometheus Monitoring
- How to enable: Set
reconciler.monitoring.enabled: trueindeploy/helm/values.yaml. - What's New:
- Added new configuration toggle to export reconciler MLRun RED metrics into GCP Cloud Monitoring via Google Managed Prometheus (GMP) PodMonitoring (#391).
โ๏ธ 4. Operational, Infrastructure & Engineering Velocity
Changes relevant to cluster operators, CI/CD, and internal architecture that do not alter the end-user interface.
๐ ๏ธ Local Development Orchestration (tools/dev_env.py)
- Unified Development Entrypoint: Decomposed local dev orchestration into focused domain packages:
LocalRunnerorchestrator for single-commandup/downcluster lifecycle (#559).KindManagerfor automated local KinD cluster management (#573).ImageBuilderfor parallel OCI container compilation and multi-image KinD loading (#686).HelmDeployerfor local chart rendering, release deployment, and KinD sanitization (#683, #764).SpannerManagerfor automated local Cloud Spanner emulator provisioning and schema migration execution (#572, #619).- Continuous watch mode, fast service live-reload, and rollout restarts (#561, #622, #696).
- Deployment rollout diagnostics collector (#770).
๐ CI/CD, Build Tooling & Test Reliability
- Stacked PR Base Correlation: Correlated stacked PR parent bases via git
patch-idto eliminate false merge conflicts (#763). - Modular PR Review & Approval Workflows: Extracted domain modules for PR approval timelines, approval policies, range-diff parsing, and severity badge tracking (#718, #753, #758, #759, #760, #768).
- Test Concurrency & Determinism: Accelerated E2E execution via concurrent Spanner, KinD, and Playwright optimizations (#741) and eliminated time-dependent test non-determinism (#738).
- In-Job Scope Resolution: Optimized unit test scheduling with fast in-job Bazel test target scoping (#650).
- Frontend Packaging: Pre-compiled Angular UI directly on host runners and packaged via single-stage static containers (#740).
๐ Linting & Repository Governance
- Security Scanning: Added Helm chart linting and Kubernetes manifest security scanners (#772).
- Expanded Linter Rules: Codified additional
golangci-lintrevive checks (#722) and Python Ruff rules (#719) based on PR review audits. - Workflow Guidelines: Enforced incremental follow-up commits, prohibited review force-pushing (#679), and added harness encapsulation rules (#743).