influxdata/influxdb
 Watch   
 Star   
 Fork   
27 days ago
influxdb

v3.9.13 | 09-04-26

The following are some highlighted updates with the newest release for InfluxDB 3. Learn more via our full Release Notes.

Updates

Core

Bug fixes

  • Snapshot manifest skipped for an empty snapshot: Every snapshot sequence number now lands a manifest, including a snapshot with nothing to persist. Previously the manifest was skipped, leaving a permanent hole in the sequence. Consumers that walk the sequence by exact key cannot tell a skipped snapshot from a manifest that failed to persist, so a single hole stalled Enterprise compaction on that node and blocked its read replicas.
  • Unnecessary node shutdown after a retried WAL write: Each WAL file now carries a nonce in its object metadata, so a node recognizes its own write and shuts down only for a file written by another node. Previously, a conditional PUT that was applied but returned a 500 was retried, and the node read the resulting 412 as a second process holding the same --node-id and shut down, though the file was durable and correct.
  • Restarted downloads of large manifests and checkpoints at startup: Snapshot manifest and checkpoint reads larger than 128 MiB are now fetched as 16 MiB ranged reads, so a slow or failed transfer retries one range. Previously, a single whole-object GET restarted a multi-gigabyte download from byte 0.
  • Panic on oversized duration values: Time arithmetic now saturates at the minimum or maximum representable timestamp instead of panicking when a duration is too large to represent. Previously, an oversized user-supplied duration produced a panic and could put the server into a startup panic loop.
  • Processing engine Python updated to 3.13.15: Picks up the security fixes in that release.
  • Other bug fixes and performance improvements

Enterprise

All Core updates are included in Enterprise. Additional Enterprise-specific updates:

Features

  • Startup phase logging: The server logs the start and completion of each startup phase, so a node killed during startup shows which phase it was in.

Bug fixes

  • File index left behind when a generation expires: Retention now deletes a generation's detail object along with its Parquet files. Previously the detail, which holds the file index describing those files, was left unreferenced in object storage. On a table with high-cardinality index columns the detail is the larger of the two, so retention shrank the data and accumulated the indexes for the life of the cluster.
  • Slow compaction catch-up behind a lagging node: The compactor now accumulates the rerun signal across every node in a cycle. Previously it kept only the last node's value, so a caught-up node could end the cycle after a single snapshot and leave a lagging node advancing one snapshot per check interval until restart.
  • Other bug fixes and performance improvements
27 days ago
influxdb

v3.10.6 | 09-04-26

The following are some highlighted updates with the newest release for InfluxDB 3. Learn more via our full Release Notes.

Core

Features

  • --shutdown-timeout graceful shutdown bound: This new option (default 30s) caps how long the server waits for active connections to drain during shutdown before forcibly closing them. Set it to 0s to skip the drain.

Bug fixes

  • Crash loop migrating a catalog written by Core: Catalog snapshots deserialize again when the node spec is missing from trigger, last value cache, and distinct value cache entries, defaulting to all nodes. Core never writes that field, so the unified deserializer rejected Core-written checkpoint files and the v2-to-v3 catalog migration crash-looped on upgrade.
  • Snapshot manifest skipped for an empty snapshot: Every snapshot sequence number now lands a manifest, including a snapshot with nothing to persist. Previously the manifest was skipped, leaving a permanent hole in the sequence. Consumers that walk the sequence by exact key cannot tell a skipped snapshot from a manifest that failed to persist, so a single hole stalled Enterprise compaction on that node and blocked its read replicas.
  • Unnecessary node shutdown after a retried WAL write: Each WAL file now carries a nonce in its object metadata, so a node recognizes its own write and shuts down only for a file written by another node. Previously, a conditional PUT that was applied but returned a 500 was retried, and the node read the resulting 412 as a second process holding the same --node-id and shut down, though the file was durable and correct.
  • Panic on oversized duration values: Time arithmetic now saturates at the minimum or maximum representable timestamp instead of panicking when a duration is too large to represent. Previously, an oversized user-supplied duration produced a panic and could put the server into a startup panic loop.
  • Processing engine Python updated to 3.13.15: Picks up the security fixes in that release.
  • Other bug fixes and performance improvements

Enterprise

All Core updates are included in Enterprise. Additional Enterprise-specific updates:

Features

  • Startup phase logging: The server logs the start and completion of each startup phase, so a node killed during startup shows which phase it was in.

Bug fixes

  • Privilege escalation through role assignment: Creating, updating, and deleting a role, and assigning roles to a user, now require admin authorization. Previously a non-admin subject holding User:Update, or User:Create with roles in the request, could grant permissions beyond its own. This affects the user authentication preview, which is off by default (--without-user-auth true); deployments that have not enabled it are unaffected.
  • File index left behind when a generation expires: Retention now deletes a generation's detail object along with its Parquet files. Previously the detail, which holds the file index describing those files, was left unreferenced in object storage. On a table with high-cardinality index columns the detail is the larger of the two, so retention shrank the data and accumulated the indexes for the life of the cluster.
  • Slow compaction catch-up behind a lagging node: The compactor now accumulates the rerun signal across every node in a cycle. Previously it kept only the last node's value, so a caught-up node could end the cycle after a single snapshot and leave a lagging node advancing one snapshot per check interval until restart.
  • Other bug fixes and performance improvements
27 days ago
influxdb

v3.11.4 | 09-04-26

The following are some highlighted updates with the newest release for InfluxDB 3. Learn more via our full Release Notes.

Updates

Core

Bug fixes

  • Overwrites in the write buffer resolved arbitrarily: Writes that repeat a series key and timestamp within one write buffer chunk now resolve to the last acknowledged write, in query results and in the persisted Parquet file. Previously the duplicate rows tied on both deduplication sort keys and an unstable sort picked an arbitrary survivor, so a superseded version could win. An overwrite that arrives while a snapshot is persisting also now wins over the frozen rows it replaces.
  • Snapshot manifest skipped for an empty snapshot: Every snapshot sequence number now lands a manifest, including a snapshot with nothing to persist. Previously the manifest was skipped, leaving a permanent hole in the sequence. Consumers that walk the sequence by exact key cannot tell a skipped snapshot from a manifest that failed to persist, so a single hole stalled Enterprise compaction on that node and blocked its read replicas.
  • Stale plugin source after re-enabling a trigger: Stopping a trigger now drops its plugin from the worker's in-memory cache, so re-enabling it re-reads the code. Since v3.11.0 the cache was insert-only, so disabling and re-enabling a trigger resumed the cached copy and never contacted the plugin repository again, which is the documented way to pick up a new version of a gh: plugin.
  • Plugin source retained after a database was deleted: Deleting a database now evicts its triggers' cached plugin source. Previously it stayed resident until the server restarted.
  • Processing engine Python updated to 3.13.15: Picks up the security fixes in that release.
  • Other bug fixes and performance improvements

Enterprise

All Core updates are included in Enterprise. Additional Enterprise-specific updates:

Features

  • Startup phase logging: The server logs the start and completion of each startup phase, so a node killed during startup shows which phase it was in.

Bug fixes

  • Privilege escalation through role assignment: Creating, updating, and deleting a role, and assigning roles to a user, now require admin authorization. Previously a non-admin subject holding User:Update, or User:Create with roles in the request, could grant permissions beyond its own. This affects the user authentication preview, which is off by default (--user-auth-type none); deployments that have not enabled it are unaffected.
  • Out-of-memory clearing the WAL backlog during a storage engine upgrade: The upgrade now snapshots during WAL replay whenever the buffer reaches a quarter of the query executor's memory pool, instead of buffering the whole backlog and persisting it in one pass. Each snapshot removes the WAL files it covers, so a restart resumes from the last one rather than replaying from the beginning.
  • Out-of-memory importing a large source during a storage engine upgrade: Bulk import now admits a job by its estimated working set rather than its compressed size, runs a job larger than the compactor's input-size budget on its own, and refuses a source that cannot fit at all with an error naming the budget it would need. Previously an oversized source was retried until the node ran out of memory, with no attempt recorded.
  • File index left behind when a generation expires: Retention now deletes a generation's detail object along with its Parquet files. Previously the detail, which holds the file index describing those files, was left unreferenced in object storage. On a table with high-cardinality index columns the detail is the larger of the two, so retention shrank the data and accumulated the indexes for the life of the cluster.
  • Compactor replans forever against a missing index file (upgraded storage engine): A run set whose index object is confirmed gone from object storage is now skipped after three failed reads on separate scheduler passes, so planning moves on to other work. Previously every planner that read the index failed, abandoned the plan, and recreated it on the next tick indefinitely. The skip list is in memory only: a restart clears it, and a repaired index is picked up again.
  • Empty snapshot manifests were never deleted: Gen1 cleanup now deletes a consumed manifest that references no files. Previously it returned early on such a manifest without deleting it, and because cleanup retains the oldest entries in each batch, undeletable manifests could eventually fill every batch and starve cleanup.
  • Stale plugin source after a catalog restore: Restoring a catalog now evicts the worker's cached plugin source, so restarted triggers re-read their code. Previously a trigger whose restored definition matched the cached one resumed the pre-restore source without contacting the plugin repository.
  • Spurious memory reservation warning at startup: The warning threshold is now above the sum of the shipped percentage defaults, which come to 90 percent of detected memory. Previously a server running the default configuration warned about itself.
  • Other bug fixes and performance improvements
27 days ago
influxdb

v3.11.3 | 08-28-26

The following are some highlighted updates with the newest release for InfluxDB 3. Learn more via our full Release Notes.

Updates

Core

No adjustments in this release. Core remains on v3.11.2.

Enterprise

All Core updates are included in Enterprise. Additional Enterprise-specific updates:

Features

  • Read run-set indexes written by later releases: The compactor now reads the v3 run-set index format that later releases write, so you can roll back to v3.11.3 from a release that writes v3 indexes without leaving unreadable indexes behind.

Bug fixes

  • Missing rows from an OR predicate against a file index: File pruning now applies to an OR only when both sides resolve against the index, and otherwise falls back to scanning all files. Previously, when one side referenced a column that the index doesn't cover, the query kept only the files that matched the resolved side, so rows that matched only through the uncovered side were dropped from the results.
  • Deferred snapshot recovery makes no progress on a busy cluster: The new --recover-deferred-snapshots-in-flight-limit option raises the per-node in-flight snapshot limit that gates --recover-deferred-snapshots. The limit was previously fixed at three, so on a cluster whose ingest nodes snapshot faster than compaction completes batches, recovery never ran. The default is unchanged.
  • Other bug fixes and performance improvements
2026-08-21 03:31:24
influxdb

v1.13.1

Features

  • mTLS support: Add mutual TLS (mTLS) authentication for the HTTP, OpenTSDB, and subscriber services, including certificate reload on SIGHUP and separate client and server certificate configuration. (#27534, #27543)
  • Adaptive TSI cache sizing: The series-id-set-cache-size cache can now grow and shrink itself between a configurable floor and ceiling based on the measured query hit rate, instead of staying at one fixed size. Configure it with the new series-id-set-cache-max-size, series-id-set-cache-target-hit-rate, and series-id-set-cache-shrink-conservatism settings. Monitor it through the new tsi1_cache SHOW STATS measurement. (#27480, #27552)
  • hardening-enabled: Add a hardening-enabled configuration option that restricts Flux HTTP requests to public addresses, mitigating server-side request forgery (SSRF). Disabled by default to preserve existing behavior. (#27488)
  • Backup compression: Add a -gzipCompressionLevel flag to influxd backup for trading compression ratio against speed. (#27293)
  • Broader config value formats: Size and duration configuration settings now accept a wider range of human-readable input formats, while remaining compatible with all previously accepted values. (#27376)
  • SHOW MEASUREMENTS: Support partial results when some shards are unavailable. (#27443)
  • Operational visibility: Failed and slow queries, per-user query and write byte statistics (opt-in), the remote host and user in query logs, compaction planning statistics, continuous query diagnostics, and TSM file-store merge metrics are now available through SHOW STATS, /debug/vars, and EXPLAIN ANALYZE. (#27536, #27547, #27188, #27528, #26981, #27523, #26874, #26615, #26624)

Bug Fixes

  • Fixed a potential deadlock and reduced lock contention between compactions and hot query reads in the TSM file store by splitting its single lock into separate fast and slow paths. (#27501)
  • Corrected several TSI compaction-planning and lock-contention issues. (#27146, #27123, #26649, #26647, #26432)
  • Fixed authorizer leakage in SHOW queries. (#27196)

Notes

  • This is identical code to InfluxDB OSS v1.13.0. Only the version number has changed.

OSS BINARY FILES SHA256
influxdb-1.13.1_linux_amd64.tar.gz a8a6e648f5271e3286bc965a2d321c86c6404afaa12ca4bf37c44303e0bf2f52
influxdb-1.13.1_linux_arm64.tar.gz ba984cf56eaaf37a5dba89173b82f98e56173751f039424d000ed3e5fe42c056
influxdb-1.13.1_darwin_amd64.tar.gz fafce38a9dc206edc8c54a8104eedfb14f737d5dc33f5fab5ef8950595f8fb0f
influxdb-1.13.1-windows_amd64.zip 399dd9adc27e8ad455c7bb9dd44514f300e58bd719330c839c130db1b5fe23b3
OSS UBUNTU AND DEBIAN PACKAGE FILES SHA256
influxdb_1.13.1-1_amd64.deb 010367d3ea974d2172dda8992d338d991fc2d5f3ef8748db2409e986307a0780
influxdb_1.13.1-1_arm64.deb a9242c42d414207f3bae8d72c1387aab0f893f4cd41ec23701eede0207be7213
OSS REDHAT & CENTOS PACKAGE FILES SHA256
influxdb-1.13.1.aarch64.rpm 0d7eb40def11e56bf3c71b062f43a9311ed04f7fa4a98fd87604315eca1c6f84
influxdb-1.13.1.x86_64.rpm bbc09ab292a1935063f68d50ebafaf0e8a50ab42198768f9aeb3f8bb2e2168a0
2026-08-21 00:28:34
influxdb

v3.11.2 | 08-20-26

The following are some highlighted updates with the newest release for InfluxDB 3. Learn more via our full Release Notes.

Updates

Core

Bug fixes

  • Rows missing from queries during snapshot persistence: Each persist job now drops only the buffer chunk whose Parquet file it published. Previously, the first job of a snapshot to finish evicted every sibling chunk, so whole time ranges vanished from query results until their persist job finished.
  • Partial schema changes from a rejected line: A line protocol line is now validated in full before the catalog is mutated, so a rejected line contributes nothing to it. Previously, with accept_partial=true, columns created earlier in the line were committed anyway, and a line rejected after its tags were processed merged them into the next valid line's series key.
  • Unnecessary node shutdown after a retried WAL write: Each WAL file now carries a nonce in its object metadata, so a node recognizes its own write and shuts down only for a file written by another node. Previously, a conditional PUT that was applied but returned a 500 was retried, and the node read the resulting 412 as a second process holding the same --node-id and shut down, though the file was durable and correct.
  • Panic querying system.parquet_files for an unknown table: Filtering on a table_name that is not a current table, or querying after its database is dropped, now returns zero rows. Previously, both panicked the request thread and returned a truncated HTTP 200.
  • Duplicate rows from a concurrent snapshot handoff: Buffer chunks and persisted Parquet files are now read under a single lock. Previously, a read landing between the two saw a new Parquet file alongside the buffer chunks it was written from and returned those rows twice. Served queries masked this through deduplication, but paths that read record batches directly, such as the Processing Engine, did not.
  • Restarted downloads of large manifests and checkpoints at startup: Snapshot manifest and checkpoint reads larger than 128 MiB are now fetched as 16 MiB ranged reads, so a slow or failed transfer retries one range. Previously, a single whole-object GET restarted a multi-gigabyte download from byte 0.

Enterprise

All Core updates are included in Enterprise. Additional Enterprise-specific updates:

Features

  • Retry storage engine upgrade: The new influxdb3 manage retry-upgrade-to-pacha-tree command resets a storage engine upgrade, so it resumes the next time the compactor node starts with --upgrade-pacha-tree. Sources whose table, database, or objects are gone become skips, and anything still readable returns to the queue. Nothing is deleted, so the command is safe to run again.

Bug fixes

  • Compaction falls behind on a large snapshot backlog: Snapshot compaction now caps outstanding plans relative to the compactor's core count, batches snapshots in ingest-time order, and fetches each plan's gen0 files once per worker. Previously, a deep backlog could accumulate thousands of outstanding plans, recompact the same time windows once per node, and delay the first plan by over 12 minutes.
  • Compactor primacy livelock during a migration: Primary lease reads and writes now bypass the process-wide object store concurrency limit. Previously, a migration's bulk import could starve lease renewal, so the holder repeatedly demoted at its 30-second lease TTL and reacquired, pinning the migration indefinitely while object storage itself was healthy.
  • Multi-window migration imports make no progress: The migration baseline now clips each staged file's contribution to its window's time range, and migration imports the newest windows first. Previously, a file crossing a window boundary caused publish validation to refuse each consolidation, so the scheduler replanned the same work forever.
  • Migration fails on an unreadable source: A source Parquet file confirmed missing, or whose table or database has been dropped, is now recorded as a skip instead of failing the whole upgrade, and system.upgrade_parquet reports it as skipped_source_missing or skipped_table_dropped. Only confirmed-missing sources are skipped, so a transient NotFound stays retryable and a grouped job still converts its readable companions.
  • Compaction and migration fail on stale gen1 references: leftover_gen1_files references are now reconciled against the deletions that ingesters record in their snapshots, so a reference is dropped when its Parquet file is deleted regardless of retention configuration. Previously, references were pruned only against the current retention cutoff, so they accumulated indefinitely on a table with no retention period, and a storage engine upgrade then failed enumerating them.
  • Internal error querying a last value or distinct value cache: A query node now registers caches that were created on another node during startup, regardless of the cache's node spec. Previously, a cache present in the catalog but missing from a node's in-memory provider failed every query against it with last cache crate is invalid until the node was restarted.
  • Duplicate rows from a replica snapshot handoff: Each buffer on a node now has its chunks and Parquet files read under a single lock, and each replica advances the gen1 chunk order offset by its own chunk count. Previously, a snapshot handoff landing between the two read passes returned those rows twice, and on clusters with more than three replicas the old offset let local chunks reuse an order a replica had taken.
  • Slow compaction catch-up behind a lagging node: The compactor now accumulates the rerun signal across every node in a cycle. Previously it kept only the last node's value, so a caught-up node could end the cycle after a single snapshot and leave a lagging node advancing one snapshot per check interval until restart.
  • Catalog checkpoint persistence failures for large payloads: Catalog checkpoint and month-rollover writes now fall back to a multipart upload for oversized payloads. Previously, both used a single PUT, so a checkpoint merging a month of snapshots could exceed object storage's 5 GiB single-PUT limit and fail, silently losing the boot-time fast path.
  • Warning flood during startup snapshot restore: removed_files entries whose target database or table is no longer present are now reported in one aggregated warning per restore. Previously, each miss logged its own warning, which buried real startup errors and slowed restore.
  • Other bug fixes and performance improvements

Breaking changes

  • --l1-hot-tail-target-size is functional again: The option (default 250mb) caps live L1 tail rewrites during snapshot compaction, and a larger tail is handed to L1 consolidation to seal. It was previously accepted and ignored.
  • --l1-consolidation-min-age and --row-delete-max-jobs-per-tick are now ignored: L1 consolidation has no age gate, and row-delete work shares the weighted delete slot. Both options are still accepted.
  • --l1-consolidation-target-size is now the established-L1 size boundary: Consolidation consumes run sets at or below it, and promotion requires at least two L1 run sets larger than it. --l1-consolidation-min-run-sets and --compactor-max-source-run-sets-per-promotion now apply only to the legacy layout.
  • --replica-snapshot-manifest-load-concurrency applies to both storage engines: It now bounds the boot-time snapshot manifest load on the Parquet engine as well as the upgraded engine. When unset, each engine derives its own default.
  • Compactor status log fields changed: The service_memory_* fields are gone, and pending_input_mb is renamed to charged_input_mb.
2026-06-17 21:21:17
influxdb

v3.10.0 | 06-17-26

The following are some highlighted updates with the newest release for InfluxDB 3 Core and Enterprise. Learn more via our full Release Notes.

InfluxDB 3 Core Updates

Catalog v3: The on-disk catalog automatically migrates to a compact binary format (~5–6x smaller than v2) on first startup. Migration is automatic, idempotent, and crash-safe. Back up {prefix}/catalogs/ and {prefix}/_catalog_checkpoint before upgrading; the migration is one-way and 3.9.x binaries cannot read a v3 catalog.

Processing engine supports cross-database queries: Plugins can now read from any database using the database= keyword argument on influxdb3_local.query().

Processing engine now has trigger lockdown: New serve flags restrict plugin behavior; --restrict-plugin-triggers-to limits triggers to wal, schedule, or request, and --plugin-dir-only

GET /ready endpoint: Returns 200 OK when the server can reach object storage, 503 when it cannot; ideal for load balancer and orchestration readiness probes.

Always-on heap profiling: Enabled at startup with negligible overhead (~<1% CPU), accessible at the existing pprof endpoint. Disable with MALLOC_CONF=prof:false.

influxdb3 debug catalog: Inspect catalog state offline directly from object storage; no running server required.

InfluxDB 3 Enterprise Updates

All Core updates are included in Enterprise. The following are exclusive to Enterprise. Many of these require the new performance update preview (in beta); if using these features, they should not be included in production environments yet.

Row-level deletion: Delete rows by time range and tag predicates with influxdb3 delete rows. Deletion is asynchronous and applied by the compactor. Monitor with the system.row_deletes table. Requires --use-pacha-tree.

Backup and restore: Full backup and restore management via new influxdb3 create/status/show/delete/cancel backup and restore commands, plus matching /api/v3/enterprise/backup and /restore endpoints. Requires --use-pacha-tree and a compactor node with an admin token.

Bulk import: Import generic (non-IOx) Parquet files with influxdb3 import upload, mapping columns to InfluxDB types via --column flags. Track jobs with influxdb3 import list.

User auth and RBAC (preview): Multi-user authentication with username/password → JWTs, optional OAuth/OIDC, and three built-in roles (Admin, Auditor, Member). Off by default (--without-user-auth true).

Object-store license portability: Licenses are no longer bound to object-store config (type, bucket, endpoint, region) — validation enforces only signature, expiry, and licensed core count. You can move buckets or stores with the same license.

Observability: 36 new influxdb3_compactor_* Prometheus metrics, with influxdb3_compactor_snapshot_lag_seconds as the primary health signal.

Breaking Changes

  • Catalog v3 migration is one-way: Back up your catalog before upgrading (see above).
  • --pt-partition-count renamed to --pt-shard-count; there's no alias, so update startup scripts.
  • /api/v2/write returns 403 (was 401) for valid tokens lacking write permission; line-protocol parse errors now return 400 (was 500).

Bug Fixes

  • Compaction stability improvements (ingest-time, deadlock/write-amplification, gen1 orphaning, and upgrade-blocking fixes), plus several other bug fixes and performance improvements.

  • Many other bug fixes and performance improvements

Full Changelog: https://github.com/influxdata/influxdb/compare/v3.9.3...v3.10.0

2026-05-12 02:30:49
influxdb

v2.9.1

In addition to the list of changes below, please also see the official release notes for other important information about this release.

v2.9.1 [2026/05/11]


Bug Fixes

Maintenance

OSS BINARY FILES SHA256
influxdb2-2.9.1_darwin_amd64.tar.gz 5b283ab29c8626a30debeee573c4508a304d46ffef417bae92be868ed0cc4782
influxdb2-2.9.1_linux_arm64.tar.gz a99c3b89fc580f945a6d7a7b0b9c66961bb8b3bf9ddaaab1dae17cdf6af531c9
influxdb2-2.9.1_linux_amd64.tar.gz 762e4fc825c4386e0c5138e7c3f91fc778081db2bada1ec47066e786bf55d9ff
influxdb2-2.9.1-windows_amd64.zip d8b93916a5e21fe348dfdb8de7ea04fb7425b38939486e874cd8096463b91043
OSS UBUNTU & DEBIAN PACKAGE FILES SHA256
influxdb2_2.9.1-1_amd64.deb 1eeb9d9ef73e3c0f52b20697c2fe5f1304ecdae2d15cc3d272fc8b0f473fea24
influxdb2_2.9.1-1_arm64.deb 6cb7859ed7a332e3efaf93551060ab7cde80f903ab61abe8c445267e820fcb68
OSS REDHAT & CENTOS PACKAGE FILES SHA256
influxdb2-2.9.1.x86_64.rpm 897dc37a9e0d3366a46f379c523f6457e0562b5ab9c0c2f819b5ee1f04188e80
influxdb2-2.9.1.aarch64.rpm 767983a4f6c3eadf2466ad8b97594173b5cf828f0ae2a3fca8587de41b4889b0
2026-05-02 01:37:42
influxdb

V2.9.0

In addition to the list of changes below, please also see the official release notes for other important information about this release.

v2.9.0 [2026/05/01]


Bug Fixes

  1. fde85a2: Update GPG and build influx_tools in build
  2. fd1751f: Update security group to use default one for vpc
  3. 95c7f17: Existing iterators in a would leak reference counts
  4. cff46ca: Return InfluxQL JSON marshaling errors correctly
  5. a4f0220: Call findGenerations once per compaction plan
  6. dc9e5c8: Add rustlib path
  7. 124ca8f: Reduce lock contention and races in purger
  8. e071a23: Handle nested low-level files in compaction
  9. 103264e: Sort files for adjacency testing
  10. e3a77d4: Fix condition check for optimization of array cursor (tsm1)
  11. a50b420: Reduce unnecessary purger operations and logging
  12. 21c78b4: Full compactions not scheduled under some circumstances
  13. 3e19eed: Reduce excessive CPU usage during compaction planning
  14. 58fa2ab: Limit number of concurrent optimized compactions
  15. c0b35b7: PlanOptimize is running too frequently
  16. c4a18c8: Use correct path in open WAL error message
  17. ced2944: Correct locking bug when deleting a series
  18. e1a7cd3: Fix closing channel created twice in points writer (coordinator)
  19. e4c88be: Ignore empty index error deleting last measurement
  20. 4e7dcc4: Do not escape CSV output
  21. 54bf95c: Support absolute file paths in check-schema
  22. 38156bc: Series file index compaction

Features

  1. abb825b: Update UI release to OSS-v2.9.0
  2. a659d5f: Enable token hashing by default
  3. a74e111: Improved config and env override handling
  4. 533e9f7: Port improved env overrides from master-1.x
  5. 03d0dbb: Add check for MaxAgeSeconds for EDR
  6. d1deda2: Add gzip compression level configuration to backups
  7. b835658: Cleanup tasks bbolt entries during org deletion
  8. ba5455f: Adds nil check to SetNewReadersBlocked
  9. 0341909: Add CheckedClose test helper
  10. b6bc458: Upgrade flux to v0.200.0 and go to 1.25.8
  11. fa0ae4a: Adds logging when there are no shards during backup and restore
  12. ef1dd6b: Update rpm to use owned_dirs and update ci-packager-next
  13. 9a0b63b: Bubble error up to writer if fields are dropped
  14. 5bebb3e: Logging and fsync delay for retention deletion
  15. a38cc1f: Update to go 1.24.13
  16. 059d3de: Modify optimized compaction holdoff to use debug logging
  17. 2c4934f: Cache generation and sequence to reduce TSM filename parsing
  18. 6453347: Adds property based testing framework for compaction
  19. 25c2f56: Defer cleanup for log/index compactions, add debug log
  20. 70cef2c: Add new logging for compaction level 5 and remove bug with opt holdoff time
  21. afdbd16: Adds LastModifiedOrErr to expose error for LastModified
  22. 181d133: Add CompactPointsPerBlock config option
  23. 9a3dc55: Adds functionality to clear out bad shard list
  24. 1e4693a: Modify optimized compaction to cover edge cases
  25. 2ff5d01: Add retention policy scoped deletes to v1 queries
  26. 9f5e29f: Update go to 1.24.11
  27. 216beca: Extract meta.db from 2.x Bolt file
  28. ca05a4e: Update perf_test.sh to use different security group
  29. bf563c6: Update hardcoded subnet for perf-test.sh

Other

  1. cd043ba: Chore: bump github.com/jackc/pgx/v5 from 5.8.0 to 5.9.2
  2. 288e524: Chore: update to go 1.25.9
  3. 79f5bf9: Docs: update v2 README for clarity and version context
  4. 19f0cd6: Chore: reduce string allocations in TSI series cache
  5. f67d857: Chore: improve logging on compaction failures
  6. eb8c4e6: Chore: remove TokenMigrator and related code
  7. d89cf61: Chore: CI improvements
  8. 1729869: Chore: add authorization store constructor options
  9. 6b045f4: Chore: add shard to compaction logging as in 1.X
OSS BINARY FILES SHA256
influxdb2-2.9.0_darwin_amd64.tar.gz 228c09f5addb2b7bb0fea083f9f0e3cad2368627fa4f75f8f8dda83115063443
influxdb2-2.9.0_linux_arm64.tar.gz 8926b0f379ea9985de2962154b50c4a84a8554af3e33759cf79f873bd8ab9673
influxdb2-2.9.0_linux_amd64.tar.gz 47c1dd33e712357425ad56bfaf0d11082d379862e301a88b32ada1d705853aac
influxdb2-2.9.0-windows_amd64.zip 91647df8a6f6e39bb1a8ab067b93848804bbf1c55ecd375c09bb75d99945d2f8
OSS UBUNTU & DEBIAN PACKAGE FILES SHA256
influxdb2_2.9.0-1_amd64.deb fc5b133d1407c03c7af5f730369c189ad8b6f27a202e5882906ee5753b2ef751
influxdb2_2.9.0-1_arm64.deb a883ceb8da64d77169413c7a43cc6f12516d6b42a0296c2b4dcaa1f201ed758a
OSS REDHAT & CENTOS PACKAGE FILES SHA256
influxdb2-2.9.0.x86_64.rpm 34536f53170a915d2cef8471a196fcf076fd30482ef26a5dd7da461b4e6ff888
influxdb2-2.9.0.aarch64.rpm e757020c71bd86bd56c14a78ae741b20ad1757fd266987d572471ce81866afae
2026-04-10 04:09:16
influxdb

v1.12.4

Bug Fixes

  • Fixed fatal error: concurrent map iteration and map write panic in the TSI index that could crash InfluxDB during concurrent read and write operations. This was a regression introduced in v1.12.3. The fix restores the original locking behavior.

OSS BINARY FILES SHA256
influxdb-1.12.4_linux_amd64.tar.gz 6c55e15f72321eaff39b9ae1bc8a113082be07045fb4086e481f828af07ddb99
influxdb-1.12.4_linux_arm64.tar.gz 706437afe29c07e0c86ed4a454fa0cbf621be2cf472a1e7eb146628745a5ced3
influxdb-1.12.4_darwin_amd64.tar.gz 3369f7ae0fbb8ff1d4fec136d3ea581573403fb17ccad9f8df606e364796adc3
influxdb-1.12.4-windows_amd64.zip 886332f494e80406b542d0a2a4a7cc5be98f08f8a9f8e651beed695eca9597e6
OSS UBUNTU AND DEBIAN PACKAGE FILES SHA256
influxdb_1.12.4-1_amd64.deb 39362452cfd9584603e96c185d88b561fa45bc7078e5dbef3a3311b81c45cb5b
influxdb_1.12.4-1_arm64.deb f64f50fdfb9c36e63f8628186ec273b55e2f8e065c46433ac59e35982d4ec99e
OSS REDHAT & CENTOS PACKAGE FILES SHA256
influxdb-1.12.4.aarch64.rpm 47346f4085538d8c36adf023664017ed78b469bf28b44326e9606187d3d06ad6
influxdb-1.12.4.x86_64.rpm 87261d54f7f5eb2af2a2fb4de26bb53110f7f40f459b15f1b1900d5cd6a78e75