Skip to Content
Product Changelog

Product changelog

This page covers Kubling releases. KDV is versioned independently; see the KDV changelog for CLI releases.

v26.6.2

  • Fixed dependent joins for access-restricted provider tables that support equality predicates but not OR. Multi-value lookups remain bounded, and a query is rejected before provider execution when the table’s declared access pattern cannot be preserved.
  • Fixed row locking for concurrent multi-row mutations in Soft Transactions. A lock conflict no longer leaves partial locks behind or removes locks owned by another transaction.
  • Added the official Redfish Provider  for querying hardware inventory, health, firmware, power and thermal data across multiple Redfish BMCs.
  • Added the Kubling APT repository for selected signed Debian packages on amd64 and arm64 systems.

v26.6.1

  • Rebuilt Kubling’s native images with Oracle GraalVM 25.0.5.0.2, incorporating the Java security update for CVE-2026-91403. No configuration, descriptor or client migration is required.

v26.6

  • Added opt-in partial query results with explicit completeness and structured diagnostics.
  • Added provider-declared access patterns for bounded direct queries and automatic dependent joins.
  • Added packaged JSONTABLE support for expanding JSON documents into typed rows.
  • Added a local end-to-end example for the Host Provider and listed it in the Provider catalog.
  • Fixed Studio results so repeated output column names preserve every selected value.

v26.5.3

  • Added a dedicated Studio view for visualizing semantic relationships.

v26.5.2

  • Fixed JavaScript SQL functions so scalar and aggregate results use the declared returnType. Functions without a declared return type continue to return string, while invalid type declarations are rejected during registration. JSON and CLOB arguments from SQL columns are now passed to functions as text.
  • Improved Kubling Studio. Module-provided SQL functions now show their complete signatures and return types, JavaScript HTTP endpoints appear alongside query and action endpoints, and structured or long result values can be opened in a dedicated viewer. Query columns remain visible even when a SELECT returns no rows.

v26.5.1

  • Fixed provider-backed UPDATE and DELETE statements for tables whose logical primary key is generated from provider fields. Kubling now resolves the provider-visible identity before issuing the mutation and rejects the statement without writing when the provider cannot represent the complete row filter in one request.
  • Fixed schema.addColumns for providers that return Kubling DDL, so configured constant and generated columns are applied consistently whether schema discovery returns structured metadata or DDL.

v26.5

  • Introduced Preview semantic federation, allowing each VDB to acquire, validate, compose and activate versioned semantic Modules and optional provider fragments.
  • Added Logical Query v1, a structured query contract that Kubling validates against the active VDB catalog and semantic model before compiling it to SQL.
  • Added the Preview native capability Task API for bounded execution through an external agent runtime while preserving the initiating caller and VDB policies. The legacy /agent/* integration is deprecated.
  • Extended the Provider gRPC boundary with negotiated rich values and LOB reads and aggregate pushdown. Providers that do not advertise these capabilities retain their previous behavior.
  • Expanded the gRPC client contract with session-scoped capability negotiation, generic streamed execution, structured errors, transaction status and LOB operations.
  • Completed the Kubling naming migration. Kubling-owned Java namespaces, JDBC identifiers and client property keys now use Kubling names, while error identifiers use KBL instead of TEIID. Existing Java integrations, native-client settings and monitoring rules must be updated.

v26.4

  • Introduced the external gRPC provider mechanism, which moves source-specific connectivity, schema discovery and execution outside the Kubling engine.
  • Removed the built-in KUBERNETES, REDIS and CASSANDRA data source implementations. These integrations are now deployed independently and registered in Kubling as PROVIDER_GRPC data sources. Existing VDBs must follow the provider migration guide.

v26.3

  • Introduced the Preview gRPC client transport, with session-based authentication, streamed query results, statement execution, explicit transaction management, TLS, IP filtering, and transport observability.
  • Added the RANDINT() and RANDLONG() functions for generating random integer and long values.
  • Improved native binary compatibility with systems using 64 KB memory pages, preventing segmentation faults reported on some ARM64 environments, including Raspberry Pi 5.

v26.2.2

  • Removed Java-related metrics from SYSMETRICS.METRICS, as they do not provide meaningful information when running Kubling as a native binary image.

v26.2.1

  • Improved isolation for unauthenticated HTTP requests by assigning each request a distinct anonymous identity.

v26.2

  • Extended Script Endpoints security integration with support for authenticated execution context propagation.
  • Introduced Performance Tracer, enabling low-level execution analysis and workload-based performance tuning.
  • Added RocksDB-backed buffering capabilities for large temporary workloads and memory-constrained environments.
  • Added native Kubling DDL support for Portable Local data sources, allowing schema definitions without relying on database-specific syntax.
  • Introduced automatic schema documentation generation from configuration schemas.

v26.1.5

  • Upgraded dependencies affected by critical vulnerabilities.
  • Upgraded the JavaScript engine to improve throughput and reduce response time in cold execution contexts.

v26.1.4

  • Fixed legacy Agent API context publication so system-table metadata is scoped to the selected Kubling instance.

v26.1.3

  • Fixed Redis data-source queries composed exclusively of literals, expressions or functions.

v26.1.2

  • Fixed scripted database operations so a missing VDB returns a clear error instead of exposing an internal exception.

v26.1.1

  • Fixed a bug that prevented correct automatic column expansion in projections, leading to errors during row identity calculation.
  • Fixed Soft Transactions continuing after a row lock could not be acquired, so the original locking failure is now reported immediately.

v26.1

  • Soft Transactions now support simulated MVCC, enabling consistent read-your-writes semantics within a transaction when using deferred execution.
  • Introduced row identity–based locking requirements for Soft Transactions. Tables participating in Soft Transactions must now define a usable primary key or unique key to allow deterministic row locking and versioning.
  • Added crash recovery for pending compensations. When enabled at the application level, Kubling can detect and execute unfinished compensation commands during engine startup.
  • The SNMP data source now supports UPDATE operations, allowing controlled mutation of writable managed values while preserving SNMP protocol semantics.
  • The Modbus data source now supports UPDATE operations, enabling write access to device registers as part of SQL-based workflows.
  • Introduced table handler auto-discovery for Script Data Sources, simplifying module structure by allowing handlers to be resolved automatically based on table names.
  • Added support for generated keys propagation from Script Data Sources, enabling scripts to report generated identifiers back to the engine.
  • Introduced the MAIN_HTTP_PORT environment variable to explicitly control the port used by all HTTP-based engine services.

v25.6.1

  • Fixed an out-of-memory failure when querying POD_CONTAINER or POD_CONTAINER_STATUS in native deployments.
  • Updated the Kubernetes base DDL.

v25.6

  • Full support for OpenTelemetry added: logs, metrics, and traces can now be exported to remote collectors or observability platforms.
  • Introduced the SOFT_TRANSACTIONS.TXDB system table, exposing the current state and metadata of all registered Soft Transactions within the instance.
  • Added new exposed metrics related to the Buffer Manager and Soft Transactions for enhanced observability.

v25.5

  • Added JavaScript HTTP endpoints, allowing you to define custom paths and handle them directly within your scripts.
  • Added a new way of defining instrumentation at the application level, with support for OpenTelemetry and DataDog formats, including endpoints for pushing metrics.
  • Added the SYSREGISTRY system table, exposing instance identity and traceability metadata.
  • Added support for HTTP TLS certificates, affecting all HTTP-based endpoints.
  • Changed the container base image to distroless CC  to improve reliability on memory-constrained systems.
  • Portable Local data source now supports flyway migrations.
  • Fixed an issue with the MySQL data source that prevented Kubling from initializing correctly due to an incorrectly constructed connection string.

v25.4.3

  • Kubling is now completely free, no more Community or Enterprise editions. A single, unified distribution going forward..
  • Fixed batch/bulk UPDATE handling in the routing data source.

v25.4.2

  • Enabled top-level comparison support for the json data type, allowing standard operators (e.g. =) to be used directly in filters and joins involving JSON values.
  • Added automatic detection of the jsonb data type in PostgreSQL with implicit transformation using the ::jsonb suffix in pushed-down queries to avoid type-related errors.
  • Updated Kubernetes API support for compatibility with the latest version.
  • Enabled implicit joins with multiple tables in FROM for PostgreSQL and MySQL queries whose execution plans were previously rejected.
  • Fixed an issue where prepared statement parameters were incorrectly skipped when LIMIT was included as a parameterized value.

v25.4.1

  • Fixed Cassandra data-source queries that could return only the first page of visible rows.
  • Fixed an HTTP 500 response in the console when adding a data source.

v25.4

  • Added support for SNMP.
  • Added support for Modbus.
  • Hardened native-client deserialization against unsafe object types and injection attacks.
  • Added IP filtering per transport, supporting both CIDR whitelisting and blacklisting.
  • Introduced two new traffic metrics (per transport) to track total bytes transferred.
  • Added PostgreSQL system objects (tables and views) to support standard metadata queries. Now, universal DB tools like DBeaver should be able to retrieve database metadata when using the PG transport.

v25.3.6

  • Fixed connection-pool exhaustion when metadata was read concurrently from COMPOSITE data sources.

v25.3.5

v25.3.4

  • Fixed call_func columns using standard SQL functions when their input fields were not part of the requested projection. Kubling now includes the required fields without changing the result columns requested by the client.

v25.3.3

  • Fixed Database data-source queries losing the schema portion of NAMEINSOURCE before reaching the remote source.

v25.3.2

  • Fixed spatial operations failing because required runtime types were missing from native images.
  • Added support for using SQL functions within the DDL call_func directive.

v25.3.1

  • Fixed an issue that created the soft transaction row locks DB even when the feature was disabled at the application level.
  • Added support to mark data sources as contributors to the global health check.
  • Introduced the new SYSMETRICS.DataSources table, which provides data source–level health status.

v25.3

  • Implemented the Soft Transaction Engine
  • Added SYSMETRICS.Health table.

v25.2

  • Introduced agentic endpoints that enable capability propagation to any upstream agent following the expected message contract.
  • Fixed an issue in the Cassandra data source where Kubling SQL expressions like field = field + 1 were not correctly translated to Cassandra’s += operator for COUNTER fields.
  • Added support for defining properties directly in the application configuration, useful when an external properties file is not an option.
  • Added caching support for the Redis data source, based on user feedback.
  • Added support for Redis counter field types.
  • Added the ability to transparently define table names as part of keys in Redis, to avoid mixing up entries when using LIKE.
  • Added support for batch updates to the Redis data source (e.g., when performing a SELECT ... INTO).
  • Added importer.tableNamePattern to the Cassandra data type.
  • Added support for DataStax configuration file definition in the Cassandra data type.

v25.1.2

  • Fixed an issue in the Cassandra Data Source that prevented SELECT queries from completing correctly when processing millions of tuples.
  • Fixed the cosineDistance function, which failed when applied to high-dimensional vectors (1000+).

v25.1.1

  • Fixed an issue where expiration was being ignored in the Redis data source during UPDATE operations on the hash data structure.

v25.1

  • Introduced Redis as a new Data Source type.
  • Introduced Cassandra as a new Data Source type.
  • Introduced Composite as a new Data Source type.
  • Introduced Routing as a new Data Source type.
  • Enabled the definition of additional columns in Database Data Sources.
  • Added query functions for basic vector operations.
  • Documented the TIMESTAMPADD and TIMESTAMPDIFF query functions.
  • Introduced an HTTP endpoint to display query plans, similar to the EXPLAIN command in other database engines.

v24.5.7

  • Added support for SQL query functions, defined in modules. Configuration mechanism has changed, please check it here
  • Added Portable Local data source.
  • Enhanced clarity and detail in error messages for critical failures.

v24.5.6

  • It is now possible to use a parent field in a synthetic table with the format synthetic_type 'parent', synthetic_parent_field 'another_field' in filters.
  • Descriptor Module Bundle now supports scheduled scripts, similar to other modules.
  • Resolved Out-Of-Memory (OOM) problems encountered when running certain queries on the KUBERNETES data source.
  • Introduced a new environment variable flag, KBL_SKIP_ENV_VAR_TEMP_FILE_ENCRYPTION, to prevent the local environment variable buffer file (used for restarting the instance) from being encrypted. This resolves issues where containers could not be stopped and restarted due to an invalid random key.
  • Enhanced the built-in DDL for the Kubernetes data source to cover reported use cases.

v24.5.5

  • Introduced a new system schema called SYSMETRICS, which includes a table named METRICS for retrieving the engine’s metrics values.
  • Removed the metric kubling.engine.sql.plan.enqueued_time.max and replaced it with kubling.engine.sql.plan.enqueued.max.

v24.5.4

  • Implemented the distinction between passthrough and regular access in Database data sources. Therefore, you can now extend schemas also in these type of data sources. Learn more.
  • Added support for parameter lists in SQL functions.
  • Updated function module loading (SQL and Template) to support multiple modules instead of a single one. Changes to naming resolution were introduced; read more here and here.
  • It is no longer necessary to pass random values for generated fields in INSERT and UPDATE operations. The Query Engine now identifies and handles these fields automatically before executing the final command.
  • Fixed an issue that prevented the use of non-generated fields as filters with subqueries.
  • Updated embedded web console to reflect the above-mentioned changes.
  • Official images were renamed to kubling/kubling-ce and kubling/kubling-cli.

v24.5.3

  • Implemented Cache. See here.
  • Added metrics to monitor Cache. See here.
  • Implemented first-class Document functions. See here.
  • Engine Stream Buffer can now use local disk. See the buffer configuration option in the main application configuration.
  • Updated embedded web console to reflect the above-mentioned changes.

v24.5.2

  • Added blankNamespaceStrategy option to the Kubernetes Data Source Configuration.
  • Added a new aggregator schema button in the console, under Virtual Databases.
  • Fixed the JavaScript filesystem cache, which in some circumstances resulted in a false cache miss when the resource had been visited before, especially during import.
  • Added metadata__uid in all deployment related TABLE, in the built-in Kubernetes DDL
Last updated on