Skip to content

Release 0.9.0

Choose a tag to compare

@VLukiantsev VLukiantsev released this 04 Sep 13:43
519c6e6

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-yaml and nanoid) 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: true in deploy/ctk_v2/xmanager-cloud-deployment.yaml (or metrics.enabled: true in Helm values.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).

🔹 [Flag: rod_deployment_enabled] Resource Observability Dashboard (ROD)

  • How to enable: Set rod_deployment_enabled: true in deploy/ctk_v2/xmanager-cloud-deployment.yaml (or rod.enabled: true in Helm values.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: true in deploy/ctk_v2/xmanager-cloud-deployment.yaml (or healthServiceDeployment.enabled: true in Helm values.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: true in deploy/ctk_v2/xmanager-cloud-deployment.yaml (or components.enabled: true in Helm values.yaml).
  • What's New:
    • Production Cloud Spanner Store Client: Implemented the complete 11-method store.Store client 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).

🔹 [Flag: dashboard_service_deployment_enabled] Dashboard Service & xdash SDK

  • How to enable: Set dashboard_service_deployment_enabled: true in deploy/ctk_v2/xmanager-cloud-deployment.yaml (or dashboardServiceDeployment.enabled: true in Helm values.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: true in deploy/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:
    • LocalRunner orchestrator for single-command up / down cluster lifecycle (#559).
    • KindManager for automated local KinD cluster management (#573).
    • ImageBuilder for parallel OCI container compilation and multi-image KinD loading (#686).
    • HelmDeployer for local chart rendering, release deployment, and KinD sanitization (#683, #764).
    • SpannerManager for 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-id to 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-lint revive 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).