Documentation

InfluxDB Clustered release notes

Checkpoint releases

Some InfluxDB Clustered releases are checkpoint releases that introduce a breaking change to an InfluxDB component. When upgrading InfluxDB Clustered, always upgrade to each checkpoint release first, before proceeding to newer versions.

Checkpoint releases are only made when absolutely necessary and are clearly identified below with the icon.

Download release artifacts manually

    Show more

    20250925-1878107

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250925-1878107

    Release artifacts

    Highlights

    Rename and undelete tables

    Tables can now be renamed and undeleted with influxctl v2.10.5 or later.

    To enable hard delete of soft-deleted namespaces:

    • Set INFLUXDB_IOX_ENABLE_NAMESPACE_ROW_DELETION to true.
    • If needed, adjust how long a namespace remains soft-deleted (and eligible for undeletion) by setting INFLUXDB_IOX_GC_NAMESPACE_CUTOFF (default: 14d)
    • If needed, adjust how long the garbage collector should sleep between runs of the namespace deletion task with INFLUXDB_IOX_GC_NAMESPACE_SLEEP_INTERVAL The default is 24h which should be suitable for ongoing cleanup, but if there is a backlog of soft-deleted namespaces to clean up, you may want to run this more frequently until the garbage collector has caught up.
    • If needed, adjust the maximum number of namespaces that will get hard deleted in one run of the namespace deletion task with INFLUXDB_IOX_GC_NAMESPACE_LIMIT The default is 1000 which should be suitable for ongoing cleanup, but if you have a large number of namespaces and you’re running the task very frequently, you may need to lower this to delete fewer records per run if each individual run is timing out.

    To enable hard delete of soft-deleted tables in active namespaces (soft-deleted tables in soft-deleted namespaces get cleaned up when the namespace gets cleaned up):

    • Set INFLUXDB_IOX_ENABLE_TABLE_ROW_DELETION to true, and if needed, adjust these settings that work in the same way as the corresponding namespace flags:
      • INFLUXDB_IOX_GC_TABLE_CUTOFF (default: 14d)
      • INFLUXDB_IOX_GC_TABLE_SLEEP_INTERVAL (default: 24h)
      • INFLUXDB_IOX_GC_TABLE_LIMIT (default: 1000)

    Changes

    • Update Prometheus to 2.55.1.

    Database Engine

    • Update DataFusion to 49.
    • Improve performance of retention checking and reduce memory impact of Data Snapshots.

    Known Bugs

    Customers who specify the S3 bucket in spec.package.spec.objectStore.s3.endpoint (for example: “https://$BUCKET.$REGION.amazonaws.com”) and the bucket in spec.package.spec.objectStore.bucket need to disable the CATALOG_BACKUP_DATA_SNAPSHOT feature:

     spec:
       package:
         spec:
    +      components:
    +        garbage-collector:
    +          template:
    +            containers:
    +              iox:
    +                env:
    +                  INFLUXDB_IOX_CREATE_CATALOG_BACKUP_DATA_SNAPSHOT_FILES: 'false'
    +                  INFLUXDB_IOX_DELETE_USING_CATALOG_BACKUP_DATA_SNAPSHOT_FILES: 'false'

    20250814-1819052

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250814-1819052

    Release artifacts

    Bug Fixes

    • Fix incorrect service address for tokens in Clustered auth sidecar. If you were overriding the AUTHZ_TOKEN_SVC_ADDRESS environment variable in your AppInstance, you can now remove that override.
    • Remove default fallbackScrapeProtocol environment variable for prometheus-operator.
    • Update Grafana to 12.1.1 to address CVE-2025-6023 and CVE-2025-6197.

    Changes

    Database Engine

    • Update DataFusion to v48.
    • Tweak compaction to reduce write amplification and querier cache churn in some circumstances.

    20250721-1796368

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250721-1796368

    Release artifacts

    Highlights

    Support for InfluxQL INTEGRAL()

    InfluxQL INTEGRAL() function is now supported in the InfluxDB 3.0 database engine.

    Bug Fixes

    • Fix SHOW TABLES timeout when a database has a large number of tables.

    20250707-1777929

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250707-1777929

    Release artifacts

    Highlights

    Database rename and undelete

    Databases can now be renamed and undeleted with influxctl v2.10.2 or later.

    Table delete and list

    Tables can now be deleted and listed with influxctl v2.10.2 or later.

    Faster ingester recovery

    Persist queue workers now scale up when the queue is saturated to allow ingesters to get through the backlog quickly and restore write availability.

    Changes

    Database Engine

    • Update DataFusion to 47 and Apache Arrow to 55.

    20250618-1758428

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250618-1758428

    Release artifacts

    Bug Fixes

    • Update Grafana to 12.0.1-security-01 to address CVE-2025-3415, CVE-2025-4123, and CVE-2025-3580.

    Changes

    Database Engine

    • Update DataFusion to 45 and Apache Arrow to 54.

    20250613-1754010

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250613-1754010

    Release artifacts

    Bug Fixes

    • Remove default CPU and memory limits for the Catalog service and Prometheus.
    • Add time formatting checks to reject invalid custom partitioning requests.
    • Ensure that an incorrect backup is not created when pg_dump errs during data snapshot backups.

    Changes

    Deployment

    • Add support for Prometheus v3 when using the observability feature.
    • Refresh dependencies to address security vulnerabilities and improve stability.

    Configuration

    • Change the default of INFLUXDB_IOX_CREATE_CATALOG_BACKUP_INTERVAL from 1h to 4h.

    • Introduce the following environment variables to help in cases where the object store is large enough that the garbage collector cannot keep up when cleaning obsolete objects:

      • INFLUXDB_IOX_GC_PRIMARY_OBJECTSTORE_PARTITIONS
      • INFLUXDB_IOX_GC_SECONDARY_OBJECTSTORE_PARTITIONS

      Increasing these settings will add load to the object store and should not be modified unnecessarily.


    20250508-1719206

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250508-1719206

    Release artifacts

    Changes

    Deployment

    • Expose the v0 REST API for the management and authorization service (Granite).

    Database Engine

    • Reuse database names after deletion.
    • Create database tokens with expiration dates.
    • Revoke database tokens rather than deleting them.

    20250212-1570743

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250212-1570743

    Release artifacts

    Bug Fixes

    This release fixes a bug in the 20241217-1494922 release where the default Prometheus CPU limit was set to an integer instead of a string.

    Changes

    Deployment

    • Expose the Prometheus retention period to let users set a custom retention period for Prometheus metrics.

    Database Engine

    • Upgrade DataFusion
    • Add the ability to restore a cluster from a Catalog store snapshot.

    20241217-1494922

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241217-1494922

    Release artifacts

    Bug Fixes

    This fixes a bug present in release 20241024-1354148, in which core pods used an invalid DSN (omitting the ? in the query string) when attempting to connect to PostgreSQL. core pods now properly populate the DSN before connecting.

    Changes

    Deployment

    • Entitlements associated with a License Custom Resource (CR), including the license expiration date, are now exposed in the entitlements property of that CR’s spec.
    • Reduced default log level from debug to info in auth sidecar.

    Database Engine

    • Datafusion upgrades
    • Upgrade Rust to 1.83.0

    20241024-1354148

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241022-1346953

    Release artifacts

    Known Bugs

    core service DSN parsing errors

    This release has a known bug in the core pods with respect to handling of options in Postgres DSNs. This bug can be seen in the core-MMMMMMMMMM-NNNNN logs that look like the following:

    2024-11-04T01:00:00.000Z | 3: error returned from database: database "influxdb&options=-c%20search_path=" does not exist
    2024-11-04T01:00:19.000Z | 4: database "influxdb&options=-c%20search_path=" does not exist

    Due to incorrect parsing of the POSTGRES_DSN environment variable, the influxdb&options=-c%20search_path= string is interpreted as the database name.

    To work around this bug, in your AppInstance, include a spec.package.spec.images.overrides section to override the core pods built-in image with an image that has the bugfix for the DSN parsing error–for example:

    apiVersion: kubecfg.dev/v1alpha1
    kind: AppInstance
    metadata:
      name: influxdb
      namespace: influxdb
    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241024-1354148
        apiVersion: influxdata.com/v1alpha1
        spec:
          images:
            overrides:
              - name: 'influxdb2-artifacts/granite/granite'
                newFQIN: 'us-docker.pkg.dev/influxdb2-artifacts/granite/granite:7acf9ca6e1ad15db80b22cd0bc071acdb561eb51'
    # ...[remaining configuration]

    clustered-auth service routes to removed gateway service instead of core service

    If you have the clusteredAuth feature flag enabled, the clustered-auth service will be deployed. The service currently routes to the recently removed gateway service instead of the new core service.

    Temporary workaround for service routing

    Until you upgrade to release 20250805-1812019, you need to override the clustered-auth service to point to the new core service by adding the following env overrides to your AppInstance:

    apiVersion: kubecfg.dev/v1alpha1
    kind: AppInstance
    metadata:
      name: influxdb
      namespace: influxdb
    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241024-1354148
        apiVersion: influxdata.com/v1alpha1
        spec:
          components:
            querier:
              template:
                containers:
                  clustered-auth:
                    env:
                      AUTHZ_TOKEN_SVC_ADDRESS: 'http://core:8091/'
            router:
              template:
                containers:
                  clustered-auth:
                    env:
                      AUTHZ_TOKEN_SVC_ADDRESS: 'http://core:8091/'
    # ...remaining configuration...

    Highlights

    AppInstance image override bug fix

    In 20240925-1257864, the AppInstance image override was broken with the introduction of strict always-on license enforcement. This release fixes that bug.

    This bug is expected to have an outsized impact on customers running InfluxDB Clustered in air-gapped environments where the deployment model involves overriding the default image repository to point to images copied to an air-gapped registry.

    This release is an alternative to 20240925-1257864 for customers who depend on this image override feature.

    Upgrade bug fix

    20240925-1257864 introduced a schema migration bug that caused an init container in the account Pods to hang indefinitely. This would only affect InfluxDB Clustered during an upgrade; not a fresh install. The 20240925-1257864 release has been removed from the release notes, but relevant updates are included as part of this 20241024-1354148 release.

    For customers who experience this bug when attempting to upgrade to 20240925-1257864, upgrade to this 20241024-1354148 instead.

    Default to partial write semantics

    In InfluxDB Clustered 20240925-1257864+, “partial writes” are enabled by default. With partial writes enabled, InfluxDB accepts write requests with invalid or malformed lines of line protocol and successfully write valid lines and rejects invalid lines. Previously, if any line protocol in a batch was invalid, the entire batch was rejected and no data was written.

    To disable partial writes and revert back to the previous behavior, set the INFLUXDB_IOX_PARTIAL_WRITES_ENABLED environment variable on your cluster’s Ingester to false. Define this environment variable in the spec.package.spec.components.ingester.template.containers.iox.env property in your AppInstance resource.

    View example of disabling partial writes in your AppInstance resource

    For more information about defining variables in your InfluxDB cluster, see Manage environment variables in your InfluxDB Cluster.

    Write API behaviors

    When submitting a write request that includes invalid or malformed line protocol, The InfluxDB write API returns a 400 response code and does the following:

    • With partial writes enabled:

      • Writes all valid points and rejects all invalid points.
      • Includes details about the rejected points (up to 100 points) in the response body.
    • With partial writes disabled:

      • Rejects all points in the batch.
      • Includes an error message and the first malformed line of line protocol in the response body.

    Deploy and use the Catalog service by default

    The Catalog service is a new IOx component that centralizes access to the InfluxDB Catalog among Ingesters, Queriers, Compactors, and Garbage Collectors. This is expected to improve Catalog query performance overall with an expected drop in ninety-ninth percentile (p99) latencies.

    Upgrade notes

    License now required

    A valid license token is now required to start up your InfluxDB Cluster. To avoid possible complications, ensure you have a valid license token. If you do not, contact your InfluxData sales representative to get a license token before upgrading to this release.

    Removed prometheusOperator feature flag

    The prometheusOperator feature flag has been removed. If you current have this feature flag enabled in your AppInstance resource, remove it before upgrading to this release. This flag was deprecated in a previous release, but from this release forward, enabling this feature flag may cause errors.

    The installation of the Prometheus operator should be handled externally.

    Changes

    Deployment

    • Enable overriding the default CPU and memory resource requests and limits for the Garbage collector and Catalog services.
    • Remove the Gateway service and implement the newly introduced Core service.
    • Fix logic related to applying default resource limits for IOx components.
    • Support ResourceQuotas with the enableDefaultResourceLimits feature flag. This causes resource limits to be applied even to containers that don’t normally have limits applied.
    • Introduces the nodeAffinity and CPU/Memory requests setting for “granite” components. Previously, these settings were only available for core IOx components.
    • Prior to this release, many of the IOx dashboards deployed with the grafana feature flag were showing “no data.” This has been fixed and now all dashboards should display actual data.

    Database Engine

    • Adjusted compactor concurrency scaling heuristic to improve performance as memory and CPU scale.
    • Adjusted default INFLUXDB_IOX_COMPACTION_PARTITION_MINUTE_THRESHOLD from 20m to 100m to help compactor more quickly rediscover cool partitions.

    Configuration

    • Introduces the podAntiAffinity setting for InfluxDB Clustered components. Previously, the scheduling of pods was influenced by the Kubernetes scheduler’s default behavior. For further details, see the Kubernetes pod affinity documentation.

    20240819-1176644

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240819-1176644

    Release artifacts

    Highlights

    admin section is no longer required

    Previously, an identity provider setup was required through the admin section of the AppInstance resource, for example:

    apiVersion: kubecfg.dev/v1alpha1
    kind: AppInstance
    metadata:
      name: influxdb
      namespace: influxdb
    spec:
      package:
        image: <IMAGE>
        apiVersion: influxdata.com/v1alpha1
        spec:
          ## ...snip
          admin:
            users:
              - ...
            dsn:
              valueFrom:
                ...
            identityProvider: <PROVIDER>
            jwksEndpoint: <JWKS_ENDPOINT>

    This section is no longer required and will no longer result in a schema validation error when omitted. When the admin section is omitted, the admin-token Secret can be used instead to get started quickly.

    We recommend OAuth for production; however, the admin-token lets you run an InfluxDB Cluster without having to integrate with an identity provider.**

    Upgrade notes

    This release includes some preparatory work for changes being made to database schemas and tooling for internal services. It does not have an impact to customer workloads.

    Changes

    Deployment

    • Various Grafana dashboard updates.
    • A best-effort, pre-populated influxctl config file is provided as a ConfigMap for your convenience.
    • Limit garbage collector replicas to 1, see the documentation for further details.

    Database engine

    • Improved efficiency of system table queries.
    • Fixes for InfluxQL handling of 0 divisor.
    • Improve router performance when retrieving statistics.
    • Support InfluxQL queries over FlightSQL.
    • Various dependency updates.

    Configuration

    • Added schema definitions for admin.users.

    20240717-1117630

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240717-1117630

    Release artifacts

    Highlights

    Experimental license enforcement

    This release introduces a new feature flag, useLicensedBinaries, that causes InfluxDB to execute IOx components a container image implementing a new license enforcement mechanism. License enforcement mechanisms include:

    • A proper License Custom Resource manifest must be installed in the namespace to which InfluxDB Clustered is deployed. Only one License named iox-license may be deployed per namespace.
    • Without a valid License, IOx pods crashloop with error logs indicating that no valid license can be loaded.
      • A valid License is one that is properly signed by InfluxData and has not exceeded its hard expiration date.
    • One month before the License expires, all components begin logging pending expiry warning messages. These are visible with kubectl log -n <namespace> <pod>.
    • If a valid License expires while the system is running, it enters a grace period.
    • During the License’s grace period, the following happens:
      • Throughout the grace period, all components gradually increase the frequency of license expiry warnings.
      • One week into the grace period, the InfluxDB 3 Querier begins returning FailedPrecondition gRPC responses for the first 5 minutes of every hour.
      • One month into the grace period, the InfluxDB 3 Querier begins returning FailedPrecondition gRPC responses 100% of the time until the grace period ends.
    • At the end of the License grace period, all IOx components shutdown as this is the “hard expiration” date when the binaries no longer consider the License valid.

    This feature is being released on an experimental, opt-in basis while we work with a small group of customers before making requiring licenses to run InfluxDB Clustered. Before enabling the feature, please be sure you have a License manifest provided to you by your InfluxData sales representative.

    Default querier count increased

    Prior to this release, the number of queriers which were spawned from the default configuration was 1. This has now been increased to 3. If you have previously overwritten the default in the AppInstance resource, it is no longer required:

    apiVersion: kubecfg.dev/v1alpha1
    kind: AppInstance
    metadata:
      name: influxdb
      namespace: influxdb
    spec:
       ...
          resources:
            querier:
              requests:
                #replicas: 3 # No longer required!

    If you wish to keep the number of queriers to 1, you must override the replicas as shown above. Refer to the schema for further details.

    This new configuration serves as a scalable default installation for InfluxDB Clustered.

    Changes

    Deployment

    • Ingesters now have a terminationGracePeriodSeconds value of 600 to provid enough time to persist all buffered data.

    Database engine

    • Changed default INFLUXDB_IOX_COMPACTION_*_CONCURRENCY to be set based on available memory rather than available cores.
    • Improved metadata caching and queries.
    • Improved cache read efficiency.
    • Improved cache cleaning.
    • Fixed some I/O delays on query planning.
    • Better handling for resizing worker pools.
    • Faster recovery from ingester crashes.
    • Faster graceful shutdown of terminating ingester pods.
    • Fixed a rare issue where ingesters could become unresponsive after hitting memory limits.
    • Added per-table column limit, to prevent unintended schema expansion.
    • Reduced intermediate compactor writes to object storage.
    • Increase compactor throughput.
    • Numerous telemetry improvements.
    • Reduced write thrashing in the catalog.
    • Fixed errors with queries that use gap filling.
    • Fixed errors with multiple rounds of bulk ingestion.
    • Tuned garbage collector.
    • Fixed some intermittent failures in bulk ingest.
    • Reduced some network gossip between IOx pods.
    • Fixed some inconsistent results on leading edge queries.
    • Fixed WAL storage leak during ingester crash recovery.
    • Improved garbage collection of data beyond the retention limit.

    20240605-1035562

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240605-1035562

    Release artifacts

    Highlights

    Multiple improvements to compaction, pruning, and performance of concurrent queries.

    Feature flag: noPrometheus

    The introduction of the noPrometheus feature flag removes the StatefulSet and other resources related to a bare-bones installation of Prometheus that could be used for basic monitoring of InfluxDB Clustered.

    This feature flag is useful in cases where you already have an installation of Prometheus and you wish to use it to monitor your InfluxDB cluster.

    Refer to the AppInstance schema for further details regarding feature flags.

    Upgrade notes

    Air-gapped installations need to prefetch the new granite image.

    us-docker.pkg.dev/influxdb2-artifacts/granite/granite@sha256:1683f97386f8af9ce60662ae4ff423770fee166b11378583e211ea30dc849633

    For more information, see the documentation.

    Changes

    Deployment

    • Updated Granite components to reference a single image, reducing the overall image size.
    • Added Grafana licensing dashboard.
    • Added the noPrometheus feature flag.

    Database engine

    • Ingesters now provide a soft, best-effort memory limit.
      • Provided by INFLUXDB_IOX_RAM_SOFT_LIMIT_BYTES, which applies a ceiling from a percentage of the container memory to avoid OOMKilled scenarios.
      • Upon reaching this limit, InfluxDB Clustered attempts to persist all buffered data is and returns a resource exhaustion error for write requests until memory usage is below 50%.
    • Catalog cache write batching.
    • Multiple compactor improvements.
    • Improved performance of some metadata queries.
    • Improved concurrent query performance.
      • Adjusted querier partitions assigned to large queries to reduce latency of sub-second queries and prevent resource bottlenecks cause by long running queries.
      • This can be tuned with the INFLUXDB_IOX_NUM_QUERY_PARTITIONS environment variable.
    • Improved reporting for InfluxQL syntax errors.

    20240430-976585

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240430-976585

    Release artifacts

    Highlights

    • Added configuration settings for an optional Prometheus ServiceMonitor under observability.serviceMonitor

      • The feature flag is now deprecated, and will be removed in a future release.

      Using this setting will delete and recreate the existing serviceMonitor resource that was provided by the feature flag.

    Deployment

    • Removed Nginx server snippet annotations (nginx.ingress.kubernetes.io/server-snippet).
    • Added observability key in the AppInstance resource.

    Database engine

    • Improved NULL handling for InfluxQL.

    20240418-955990

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240418-955990

    Release artifacts

    Highlights

    Minimum influxctl version

    If a user observes an unimplemented gRPC error when running influxctl database commands, then the user should upgrade to influxctl v2.8.0 or later and ensure they are running InfluxDB Clustered 20240326-922145 or newer.

    If upgrading InfluxDB Clustered is not an option, you can continue to use a version of influxctl prior to v2.8.0.

    Changes

    Deployment

    • Routers now calculate the value of write replication based on the number of running ingesters.
      • This can be tuned through the INFLUXDB_IOX_RPC_WRITE_REPLICAS environment variable; however, high values can impact the performance of the system.

    Database engine

    • Router cache entries for namespace and retention periods are updated immediately via gossip.
      • Pod restarts are no longer required to immediately see updates.
    • Fixes to InfluxQL gap-filling mechanism, FILL.

    20240326-922145

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240326-922145

    Release artifacts

    Highlights

    Lower defaults for garbage collection

    Prior to this release, the garbage collector was set at 100 days before objects, that were no longer returned by queries, were deleted from object store. This has been reduced to 30 days. High values lead to a situation where there are many dangling objects and therefore many unnecessary references in the catalog, which increases operational burden and cost.

    Added support for nodeAffinity at the per-component level

    Introduces the nodeAffinity setting for individual components within InfluxDB Clustered. Previously, the scheduling of pods was influenced by the Kubernetes scheduler’s default behavior. For further details, please consult the documentation.

    Changes

    Deployment

    • Support for environment variable modifications to specific components.
    • Update optional Grafana component to version 10.3.4.
      • This upgrade from 9.x brings with it support for the SQL query type in the InfluxDB data source.

    Database engine

    • Various additional metrics and performance improvements.

    • Improve compactor concurrency heuristics.

    • Fix gRPC reflection to only include services served by a particular listening port.

      arrow.flight.protocol.FlightService is known to be missing in the iox-shared-querier’s reflection service even though iox-shared-querier does run that gRPC service.


    20240227-883344

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240227-883344

    Release artifacts

    Changes

    Deployment

    • Gossip communication between the global-router, iox-shared-compactor, and iox-shared-ingester` now works as expected.
    • Provide sane defaults to the global-router for maximum number of concurrent requests.
    • Lower the number of ndots for dnsConfig for IOx components.

    Database engine

    • SHOW TAG VALUES no longer causes a crash in the querier when the database has a large number of measurements.
    • Number of partitions scanned over in the querier is now limited for safety.

    20240214-863513

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240214-863513

    Release artifacts

    Highlights

    Grafana dashboards by default

    Previously, the grafana feature flag had to be enabled in order to have these dashboards created. This now occurs by default and the feature flag is reserved entirely for the creation of a Grafana Deployment and remains experimental.

    The contents of these dashboards are placed within various ConfigMap resources, under common format grafana-dashboard-<uid>. They can either be imported or mounted into your existing Grafana instance.

    Upgrade notes

    Consolidated authentication

    An authentication component, previously known as authz, has been consolidated into the token-management service.

    Now there is a temporary Job in place, delete-authz-schema, that automatically removes the authz schema from the configured PostgreSQL database.

    Changes

    Documentation

    • Fixed Google example in example-customer.yml file.

    Deployment

    • Fixed a logical error in the configuration when using Google Workload Identity caused the INFLUXDB_IOX_OBJECT_STORE variable to be set to memory instead of google.
    • Compactor configuration concurrency is now derived from CPU limit of the pod.
    • Compactor now has a lower L1 compaction threshold.

    Database engine

    • Correctly validate string length for column sizes.
    • FlightSQL support for prepared statements.
    • Improve metrics exposed by the compactor.
    • Further optimizations to LIMIT queries.
    • Add SPREAD, MODE, and ELAPSED support for InfluxQL.
    • Add EXPLAIN to all supported statements in InfluxQL.
    • Tracing correctly exposes HTTP path metrics.
    • Dependency updates.

    20240111-824437

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240111-824437

    Release artifacts

    Highlights

    Ingress improvements

    • Ingress no longer requires a host name to be specified.
    • When a TLS secret is not specified, the TLS annotations are not generated.
    Istio support

    This release includes first class support for Istio via the Gateway and VirtualService resources.

    This is enabled through the ingress key of the AppInstance resource–for example:

    package:
      spec:
        ingress:
          template:
            kind: 'Gateway'
            apiVersion: 'networking.istio.io/v1beta1'
            ## At present the 'selector' field is only used for Istio, this maps
            ## directly to the Gateway selector to decide which Istio ingress controller
            ## pods should serve the configured Gateway.
            selector:
              istio: 'ingressgateway'

    Note that the use of Gateway implies the need for VirtualService resources, these are automatically created for you.

    Upgrade notes

    As part of a partition_id migration that runs, if you have more than 10 million rows in the parquet_file table, reach out to your Sales representative before proceeding. You can confirm this with the following query:

    SELECT count(*) FROM iox_catalog.parquet_file

    Changes

    Database engine

    • partition_id is now used to consistently address a partition in the catalog. This requires a migration which may take some time to complete.
    • Bug fixes and dependency updates.

    20231213-791734

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231213-791734

    Release artifacts

    Highlights

    Labels/annotations

    • You can now add custom annotations and labels in pods by specifying them under spec.package.spec.components.*.metadata
    • Common settings for all components can be specified under spec.package.spec.components.common. This is useful when you need to configure common node selectors, taint tolerations, and annotations to adapt the workload to requirements of your specific execution environment.

    Contour ingress support

    Services are now properly annotated to support the Contour Ingress controller.

    Changes

    Database engine

    • Empty string values for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are ignored.
    • Dependency updates.
    • Query performance improvements.
    • Ingester active persist tasks are tracked as a metric.
    • WAL rotation logs moved from debug to info log level.
    • Fixed an issue where the compactor could get stuck until reboot.
    • Fixed an issue where the compactor might panic.
    • Added L2 -> L2 compactions when there are many small L2 files.

    20231117-750011

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231117-750011

    Release artifacts

    Highlights

    ![Important] This release fixes a regression in the database engine that was introduced in 20231115-746129.

    Changes

    Deployment

    • Add support for tuning per-component log filters.
    • Add support for tolerations at the per-component level.

    20231115-746129

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231115-746129

    Release artifacts

    Highlights

    Ingress templating

    This update enables custom annotations on the Ingress resources. This is useful when configuration ingress alongside third-party software, such as cert-manager.

    OpenShift Route

    Along with the ingress templating feature, this version includes OpenShift Route support. Specify the apiVersion and kind of the ingress configuration to align with Routes and change the typical Ingress objects to their Route equivalent.

    spec:
      package:
        spec:
          ingress:
            template:
              apiVersion: "route.openshift.io/v1"
              kind: "Route"

    Support for Google Cloud Storage (GCS)

    We now expose a google object within the objectStore configuration, which enables support for using Google Cloud’s GCS as a backing object store for IOx components. This supports both GKE workload identity and IAM Service Account authentication methods.

    Support for bypassing identity provider configuration for database/token management

    We now generate a valid access token for managing Databases and Tokens and store it as a secret within the namespace that InfluxDB is deployed. Use this token in lieu of configuring an identity provider with influxctl for interacting with the cluster. This access token is intended only for testing and is not recommended for use in production.

    This feature requires influxctl version 2.2.0 or later. To use the access token, you first need to copy it to a file by running the following command:

    kubectl get secrets/admin-token --template={{.data.token}} -n <your_influxdb_namespace> | base64 -d > token.json

    After that, you need to tell influxctl where to find the access token by adding the following lines to your profile.toml file.

    [profile.auth.token]
    token_file = "/path/to/token.json"

    This is a long-lived access token. Currently, the only way to revoke the token is to perform the following actions in this order:

    1. Delete the rsa-keys secret from your Clustered context and namespace.
    2. Rerun the key-gen job.
    3. Restart the authz service.

    If you want to create a new admin token after revoking the existing one, re-run the create-admin-token job.

    Changes

    Deployment

    • Increase HTTP write request limit from 10 MB to 50 MB.
    • Added support for Telegraf Operator. We have added the telegraf.influxdata.com/port annotation to all the pods. No configuration is required. We don’t yet provide a way to specify the telegraf.influxdata.com/class annotation, which means the pods use the default Telegraf operator class (called default).
    • Implement ingress.template for Ingress and openshift Route.
    • Add nodeSelector support.
    • Add Google Cloud support.
    • Fix JSONSchema for value and valueFrom configuration.
    • Remove AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY` environment variabless when EKS IRSA is enabled.

    Database engine

    • Ingester performance improvements.
    • Query pruning improvements where, in many cases, less data is fetched.
    • New compactor metrics.
    • Compactor tuning: autoscale L1 compaction threshold based on load.
    • FlightSQL query gRPC keep-alive fixes.
    • Log some querier configs during startup.
    • Bulk ingest gRPC API improvements.
    • Add partition_template column to system.tables table.
    • Add last_new_file_created_at, last_deleted_file_at, num_files , total_size_mb columns to system.partitions table.
    • Enable gossip cache distribution for faster cache coherence between nodes.

    20231024-711448

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231024-711448

    Release artifacts

    Highlights

    Additional AppInstance parameters

    This includes an addition to the AppInstance package specification with a new key: hostingEnvironment. Going forward, this object will be updated with various environment-specific functionality aimed at where you host InfluxDB Clustered, such as aws or openshift.

    EKS IRSA

    With the addition of the hostingEnvironment configuration to the AppInstance resource, InfluxDB now supports passing an eksRoleArn. This role ARN is placed onto the IOx ServiceAccount. Please ensure that the role you provide has AWS S3 permissions.

    OpenShift

    InfluxDB Clustered now also support the openshift key under the hostingEnvironment object. This specifies OpenShift tailored configuration for your environment.

    At the moment this simplifies the installation process by removing securityContext from all pods since it is specified by your cluster’s configuration instead.

    Ingress configuration

    A backwards-compatible change to the ingress configuration that makes the ingress use more fine-grained rules to avoid overriding other ingress rules. You may want to review the details if you have customized the Kubernetes manifests regarding the ingress resources.

    v1 write endpoint

    An endpoint has been exposed for the v1 write path, under /write.

    Changes

    Database engine

    • Honor SSL_CERT_FILE for PostgreSQL connections.
    • Wait for gRPC when shutting down the querier.

    Deployment

    • Add defined resources to authzpuller.

    20231004-666907

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231004-666907

    Release artifacts

    Highlights

    Object store custom certificates

    Support for custom certificates has been implemented since version 20230912-619813. Unfortunately, due to a bug, our Object store client didn’t use the custom certificates. This release fixes that so you can use the existing configuration for custom certificates to also specify the certificate and certficate authority used by your object store.

    Resource limits

    Until now, the configuration spec only exposed the Kubernetes resource requests and not the limits. Setting the limits is important for proper cluster capacity configuration. This release fixes this deficiency.

    See Scale components in your cluster.

    Object store configuration

    A backwards-compatible change has been made to object store configuration. This now enables the use of Azure blob storage.

    Installation documentation moved to the documentation site

    The “Install InfluxDB Clustered” instructions (formerly known as “GETTING_STARTED”) are now available on the public InfluxDB Clustered documentation.

    The example-customer.yml (also known as myinfluxdb.yml) example configuration file still lives in the release bundle alongside the RELEASE_NOTES.

    Upgrade notes

    You must update to this release before updating to any subsequent release. This ensure as schema migration is sequenced properly otherwise a Kubernetes cluster running pods with different versions will impact write availability.

    Changes

    Deployment

    • Add support for setting resource limits.

    Documentation

    • Prior to this release, the example query for the sample data (air-sensor-data.lp) was incorrect.

    Database engine

    • Use system certificate store.

    20230922-650371

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230922-650371

    Release artifacts

    Highlights

    Configuration simplification

    This release simplifies the configuration of the admin interface. The internalSigningKey configuration section is now optional and is autogenerated.

    Upgrade notes

    We simplified the ingress rules, which may require some changes if you have custom Ingress resources pointing to the underlying services. Otherwise, no changes are necessary.

    Details

    • Ingress that previously pointed to the account service should now point to the gateway service–for example: /account.v1.AccountService.
    • Ingress that previously pointed to the authz service can be removed–for example: /authz.public.v1.AuthzPublicService.
    • Ingress that previously pointed to the database-management service should now point to the gateway service–for example: /database_management.v1.DatabaseService.
    • Ingress that previously pointed to the token-management service should now point to the gateway service–for example: /token_management.public.v1.TokenManagementPublicService.

    Changes

    Deployment

    • Update reference version of kubit to 0.0.11.
    • Update the default number of routers to match ingesters (3).
    • Ensure custom certificates are available to all components.

    Database engine

    • Catalog cache convergence improvements.
    • Retry after out of memeory (OOM) errors.

    20230915-630658

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230915-630658

    Highlights

    Persistent volume fixes

    This release fixes am issue involving volume permissions in some volume provisioners (for example, EBS). No action is required for upgrades.

    Changes

    • Removed the “Generate internal signing key” section from the “Getting started” documentation.
    • Updated Volume permissions to fix issues in some environments.

    20230914-628600

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230914-628600

    Highlights

    Updated Azure AD documentation

    The Appendix / Configuring Identity Provider / Azure section of the “Geting started” documentation has been updated:

    - https://login.microsoftonline.com/{AZURE_TENANT_ID}/.well-known/openid-configuration
    + https://login.microsoftonline.com/{AZURE_TENANT_ID}/v2.0/.well-known/openid-configuration
    

    Changes

    Deployment

    • Documentation fixes.
    • Generate JWT signing keys automatically.

    Database engine

    • Various minor fixes.

    20230912-619813

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230912-619813

    Highlights

    Custom CA certificates

    InfluxDB processes inbound API requests (ingress) and issues outbound API request to external services (egress). The ingress transport security parameters (TLS) are configured in the ingress section. InfluxDB can work with any certificate signed with any Certificate Authority (accepting that CA is then a matter of InfluxDB client’s configuration, outside of the scope of this document).

    Egress connections to TLS secured endpoints (https or TLS secured postgres) are verified by a set of built-in certificate authorities (we use Debian’s ca-certificates).

    You may need to override the list of accepted CAs if your InfluxDB cluster is configured to access dependencies that use certificates issued by your private CA. In some cases your network setup may even involve an auditing MitM proxy that issues their own certificates.

    This release includes an optional feature that allows you to specify your own CA list. The custom CA replaces the standard set of CA certificates. The custom certificate file can contain one or more PEM encoded CA certificates.

    kubectl -n influxdb create  configmap custom-ca  --from-file=ca.pem
    ....
    kind: AppInstance
    spec:
        ...
        spec:
          ...
          egress:
             customCertificates:
                valueFrom:
                  configMapKeyRef:
                    key: ca.pem
                    name: custom-ca
          ...

    Changes

    Deployment

    • Allow users to specify custom certificate authorities for egress calls.

    Database engine

    • Fix health probe livelock.
    • Handle oversized files in the compactor.
    • Various minor optimizations.

    20230911-604209

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230911-604209

    Highlights

    This release contains a breaking change to the monitoring subsystem that requires manual intervention to unblock. More details in the Upgrade notes section below.

    Upgrade notes

    Prometheus StatefulSet

    This release contains a change to the prometheus StatefulSet resources that cannot be reconciled automatically by the operator. You must delete the stateful set manually. The operator will then automatically re-create the resources.

    kubectl -n influxdb delete sts prometheus

    Changes

    Documentation

    • Update active directory documentation.

    Deployment

    • Set serviceName in Prometheus deployment.
    • Ensure granite ingress has hostname declared.

    Database engine

    • Various dependency updates.
    • Adjust compactor catalog query rate limiter for small clusters.

    20230908-600131

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230908-600131

    Highlights

    Default storage class

    The storageClassName parameters are no longer required. InfluxDB uses the cluster’s default storage class unless you override it in your configuration.

    Changes

    Deployment

    • Remove unnecessary Grafana dashboards.
    • Make storage class optional.

    20230907-597343

    Quickstart

    spec:
      package:
        image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230907-597343

    Upgrade Notes

    This release requires a new configuration block:

    monitoringStorage:
      storage: 1Gi
      storageClassName: <your_storage_class>

    Changes

    Deployment

    • Make gRPC ingress work with the Traefik ingress controller.
    • Add hosts field to ingress specification.
    • Several fixes in ingress layer for the admin control plane.

    Database engine

    • Add support for FILL(linear) for selector functions in InfluxQL.
    • Prevent sort order mismatches from creating overlapping chains.
    • Minor performance optimizations.
    • Change loglevel to info on “No compaction job found” errors.

    Was this page helpful?

    Thank you for your feedback!


    New in InfluxDB 3.6

    Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

    See the Blog Post

    InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

    For more information, check out:

    InfluxDB Docker latest tag changing to InfluxDB 3 Core

    On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

    If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

    docker pull influxdb:2