Skip to content

Release 7.1

July 2026

Whats New In Our Products ?

Kelvin UI

What's New

  • Impact — a full impact-tracking suite: create and edit Impact Metrics through a guided wizard, an Impact Overview dashboard with KPIs, trend charts and performance breakdowns, an Economic Parameters tab, a live Impact activity widget across the platform, impact previews with configurable baselines, and time-savings capture when creating a task.
  • Tasks 2.0 — an Agents-aligned redesign: an agent-style Task Detail page, a prompt-first conversational Create flow, and an Edit flow with an overlay and automatic asset management.
  • Applications column configuration — configure the Applications column on asset tables.
  • Per-table saved settings — filters, page size and column layout now persist per table as a user setting (including the data stream resources and parameters assets tables).
  • Kelvin Academy — added to the navigation support items.
  • Workload networking — support for port protocol (TCP/UDP) in workload host/service configuration.
  • Connectors — Control Writable now defaults to checked for setpoint datastreams.

What Changed

  • Design polish — refreshed Impact, Tasks and table-config side-panel visuals, Tasks flowchart and chat-panel theming, and improved inline recommendation layout when actions or evidence are absent.
  • Tasks — hide unavailable assets by default; Data Explorer removed from task-app assets, and task apps excluded from the Data Explorer scope.
  • Consistent error handling — the "See Details" error standard applied across Impact and Tasks write paths, made modal-aware, with remaining generic API-failure messages audited.

Bug Fixes

  • Tables — drag-and-drop performance, skeleton flashing, range (Shift-click) selection, scroll position on page change, columns clipped while horizontal space went unused, and dirty-state marking on first visit.
  • Applications & App Manager — missing Applications filter, asset-tab error states, wrong bridge-app links, and singular/plural toast wording.
  • Assets & asset insights — view filtering on refresh, page flicker, control-panel error state, and numeric/threshold input handling.
  • Data Explorer — Auto-interval aggregation on zoom, datastream selection in multi-asset views, and invalid context when navigating from a task's workload.
  • Recommendations — modal closing on table polling, control-change polling in inline previews, and the action-card layout.
  • Connections — invalid sort key when sorting by status, timestamp-setting configuration, and the interval field missing its time unit.
  • Data quality — decimal values rejected, keystrokes replacing instead of appending, Tab discarding typed values, and validation when asset/datastream context is missing.
  • Auth & theming — guarded the NextAuth redirect callback against invalid URLs, and fixed light-mode instance settings not applying.

Kelvin API

What's New

Impact API (new service)

  • 21 new endpoints under the /impact domain.
  • Economic parameters: /impact/economic-parameters/upsert, /list, /delete.
  • Categories: /impact/categories/create, /delete.
  • Resource configurations: /impact/resources/configurations/create, /update, /list, /{id}/get, /delete.
  • Resource impact: /impact/resources/get, /impact/resources/range.
  • App configurations: /impact/apps/configurations/create, /{app_name}/update, /list, /{app_name}/get, /{app_name}/delete.
  • Impact results: /impact/apps/get, /impact/assets/get, /impact/tasks/get.
  • App impact calculation pipeline — computes impact per app (recommendation/control-change counts × labor cost), publishing one value per hour with all-time, current-hour, and previous-hour values for trending.
  • Compute worker — configurable, tracks compute activity and flushes pending writes before reset/delete calls; retry mechanism for window compute jobs; reset and delete jobs; resets unset impact status.
  • Event listeners — impact reacts to platform events rather than polling only.
  • Streamed assets endpoint, more frequent live-data planner, cursor-safe sort keys, cumulative values, impact sorting, endpoint filters, and a search filter on the apps impact endpoint.
  • Range query now served from the aggregated materialized view.
  • unit_name is validated on economic-parameter upsert.

Task impact results

  • GET /tasks/list and task get/list responses expose a read-only impact_result object (current, previous, last_updated).
  • impact_result is accepted as a select field on the tasks list endpoint.

Custom Action payload schemas

  • schema (JSON Schema) can be declared on a Custom Action type at creation (/custom-actions/types/create) and is returned by type create/get.
  • Custom Action payload is now validated against the bound type schema before creation; types without a schema keep accepting any object.
  • App manifests can declare custom_actions[].schema; the platform binds it to the declared type and rejects mismatches with an existing type.
  • Task runtime custom actions carry schema as well.

Asset bulk update

  • New POST /assets/bulk/update endpoint. Accepts a list of assets (name required; title, asset_type_name, properties optional) and supports dry_run.

Recommendation metadata

  • New POST /recommendations/{recommendation_id}/metadata/update — replaces a recommendation's metadata without touching state, confidence, or message, and works in any state. Useful for attaching an externally-issued reference (work order/ticket ID) after accept/reject.
  • metadata is also accepted on the accept/reject update requests.

Kelvin MCP server — write endpoints and file transfer

  • The MCP spec (paths-mcp.yaml) is no longer read-only. It is now a curated read and write surface, gated upstream by per-token OAuth/OIDC auth and Cerbos permissions.
  • Write tools added across: apps (deploy, delete, resources enable/disable/delete, parameter values update), workloads (apply, enable, delete), assets (create, update, delete, types create), control changes (create, delete), custom actions (create), data quality configuration and metrics (create/update/delete), data streams and units (create/update/delete), data tags and tags (create/update/delete), guardrails (create/update/delete), instance settings (update/delete), orchestration clusters (update/delete), properties (values update), recommendations and recommendation types (create/update/delete/accept/reject/metadata), secrets (create/update/delete), timeseries (create, range download).
  • File transfer tools — uploadFile / downloadFile as hand-written built-ins that bridge multipart/octet-stream payloads to base64 MCP arguments, plus file storage delete.

Custom Data Quality with dynamic data streams

  • App manifests gain custom_data_quality.type (asset | ad) and documented datastreams scoping.
  • Type defaults to ad when datastreams is non-empty, asset otherwise.
  • Dynamic-datastream custom data quality is allowed only for importer and exporter apps.

Manifest recommendations as first-class objects

  • manifest.Recommendation (type, way) replaces the plain string list, with enum.RecWay (output only).
  • App manifests can declare recommendations, and tasks treat manifest recommendations as first-class.

Configurable port protocol

  • protocol (tcp | udp, default tcp) can be set on both Service Port and Host Port when deploying workloads.
  • Cloud and edge orchestration responses now also return the service port and protocol.

Asset text search index

  • New search-index package for building text-search repositories.
  • api-asset gains a search index service and projection; the asset list endpoint is served from it.
  • CQRS gained the ability to subscribe to event streams directly from the Postgres store.

Event sourcing rollout

  • api-user and api-instance migrated to CQRS/event sourcing, with an event-sourcing migration job added to both.

CQRS archiving

  • New ArchivePolicy, ArchiveRequest, ArchiveJob, and ArchiveStore interfaces with a Postgres ArchiveStore implementation.
  • Store registration is archive-aware; store lifecycle gained Stop() so the post-commit channel drains while new saves are blocked.

External events session cleanup

  • New worker that deletes orphan sessions in the external events API.

Asset insights

  • first and last aggregations added.
  • App extra fields are sortable by <extra_field_name>.app_title, .app_version, .status, .workload_name, .updated.
  • App extra fields gain title; the apps array is sorted by app title.

Other additions

  • clickhouse-importer: action-type importer.
  • clickhouse: Setting and Final query modifiers.
  • api-timeseries: GetValues on the timeseries service; the timeseries Sink was promoted to a pkg.
  • jobqueue: dedupe key, UnlessCompleted, and retry enqueue options.
  • batcher: Flush method that temporarily pauses Add while buffers flush.
  • Data Quality type field in the cloud API spec.
  • kelvin-provision report: cluster dump log explorer, resource describe modal, log viewers, cert SAN capture, and cluster issue diagnosis.

What's Updated

  • To be confirmed.

What's Deprecated

  • created_by on control change responses — replaced by source; the value is the namespace-specific identifier extracted from source.
  • created_type on control change responses (both the CC response and the CC list/history response) — replaced by source.

What's Deleted

  • metadata field on Custom Action types — removed from requests, responses, events, aggregates, and the projection, with a migration.
  • Custom Action schema in the runtime manifest — runtime custom actions now use a dedicated type.AppDeploymentRuntimeCustomAction (type, way) instead of the full manifest.CustomAction, so schema no longer leaks into the runtime payload.
  • app_name on asset insights extra fields — replaced by the app_names array.
  • Event ID from NATS messages — removed as part of the CQRS event-ID refactor.
  • Bitbucket dependencies — go.mod Bitbucket modules migrated to core-api-libs.
  • Bun version verification in the edge-k8s DB ORM.
  • Legacy api-instance / api-user repository and service layers — superseded by the event-sourced implementations.

What's Changed

Breaking / contract changes

  • Asset insights extra fields: app_name (single string) → app_names (array of strings). When omitted, the extra field matches any app.
  • Task build manifest recommendations: array of strings → array of manifest.Recommendation objects.
  • Runtime custom actions: manifest.CustomActiontype.AppDeploymentRuntimeCustomAction in app and workload runtime responses.
  • CQRS event ID refactored to bigint.
  • Request logs now record the username instead of the user ID.
  • Single asset update no longer returns 207 Multi-Status.

Fixes

  • api-asset: correct processProperties usage in bulk update; fixed event/gRPC amplification from repeated ReplaceValues calls; ReplaceValues now accepts a list of properties to reset; status updates also bump updated; fixed migrations from scratch.
  • api-asset: status_indicator now carries last_updated so the ClickHouse importer picks up its changes, fixing asset state evaluation lagging hours behind the driver data stream.
  • api-properties: history service is no longer a contention point for event amplification; fixed failures on many parallel updates to the same property; ReplaceValues and FetchPropertiesForResource reworked for multi-resource use; the assets event listener now works in batches.
  • api-asset-insights: fixed negative filter behavior; fixed view grouping for control changes, recommendations, and actions; fixed newer app statuses not being picked up; empty string handled as a valid workload state; missing aggregations added to the spec.
  • cqrs: new event streams now create the table with the transaction_id column; fixed loss of events on a coarser stream when a sparse stream is present; setval() no longer crashes on empty es_* tables during the aggregate cleanup migration.
  • api-app: workload update retries are skipped on connectivity errors; app title/description are synced on partial task updates; custom data qualities allowed for importer/exporter apps.
  • api-data-tag: retry added to the update-similarity event command; session deleted in the external events detection API on model session delete.
  • api-instance: audit log created time set in gRPC; legacy mock endpoint restored in v2.
  • api-guardrails: worker ticker period reduced to 10s.
  • kelvin-status-puller: only enabled workloads are marked unreachable.
  • keycloak: re-authenticate on 401 instead of relying on the local timer only.
  • clickhouse-importer: fixed unknown column in the properties importer; app-asset updates filtered by workload status.
  • mcp: built-in tool operations excluded from spec generation; tool annotations fixed.
  • api-control-change: API spec corrections.
  • api-impact: migration fixes; asset total value query fixed.
  • Cluster upsert service list fixed; legacy workloads sync fixed.

Performance / maintenance

  • es_aggregate now includes aggregate status so deleted/non-existing aggregate evaluation is faster.
  • Snapshotting configuration moved from save to store registration; the snapshot channel became a post-commit channel used for snapshotting and archive policy evaluation.
  • Database default pool size set to 4, to be more conservative in slimmer environments.
  • Dependency bumps: cel-go, gRPC, protobuf, OTel transitives, and general Go vulnerability fixes.

Kelvin SDK

What's New

  • Added support to create Custom Actions Schemas
  • Added recommendations:outputs to the app.yaml and its respective firewall
  • Added system schema support to specify port protocol to host and service for tcp and udp
  • Added Heap Analytics to SDK CLI
  • Built a refactored version of the Control Change Manager in Go
  • Built a refactored version of the OPCUA Connector in Go
  • Added support for Python 3.14

What's Changed

  • Connectors (Importers and Exporters) can now generate Data Quality metrics
  • Refactored CLI MLflow connections manager

Miscellaneous

  • Bug fixes

Whats New in our Documentation ?

The biggest addition in 7.1 is the new Impact section under Operations Tools. It covers how to configure and track the financial value Kelvin delivers, with dedicated pages for economic parameters, creating and managing impact metrics, and a full explanation of how the two types of impact -- task-based and data stream-based -- are calculated. A companion concept page in Overview explains the underlying ideas for anyone new to the feature.

A new testing section in Developer Tools documents the full testing infrastructure for Applications. Pages cover the test harness setup, manual testing with simulators and CSV files, automated testing with data sources and custom generators, and publishing data streams, control changes, and custom actions during local development.

The Kelvin MCP section in Developer Tools gains its first dedicated documentation, with pages covering the overview, authentication, and connecting clients.

Several existing pages have been updated across Developer Tools and Operations Tools. The Tasks section gains a new Impact Metrics page. Custom Action pages are updated with UI schema documentation for both producers and consumers. The Create Import and Create Export pages now cover data quality metric support for importers and exporters. The Deploy Workload page gains the new TCP/UDP protocol option, and the Customize Columns page adds documentation for the Applications Column filter.

What's New

What's Updated

What's Deleted

  • None

Others

  • Two new diagrams added to the Impact section illustrating the two impact source types and the step-by-step calculation logic
  • All screenshots updated to the latest look and feel