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.
- 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-idand 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
All Core updates are included in Enterprise. Additional Enterprise-specific updates:
- 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.
- 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
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.
--shutdown-timeoutgraceful shutdown bound: This new option (default30s) caps how long the server waits for active connections to drain during shutdown before forcibly closing them. Set it to0sto skip the drain.
- 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-idand 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
All Core updates are included in Enterprise. Additional Enterprise-specific updates:
- 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.
- 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, orUser:Createwith 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
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.
- 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
All Core updates are included in Enterprise. Additional Enterprise-specific updates:
- 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.
- 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, orUser:Createwith 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
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.
No adjustments in this release. Core remains on v3.11.2.
All Core updates are included in Enterprise. Additional Enterprise-specific updates:
- 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.
- Missing rows from an
ORpredicate against a file index: File pruning now applies to anORonly 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-limitoption 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
v1.13.1
- mTLS support: Add mutual TLS (mTLS) authentication for the HTTP, OpenTSDB, and subscriber services, including certificate reload on
SIGHUPand separate client and server certificate configuration. (#27534, #27543) - Adaptive TSI cache sizing: The
series-id-set-cache-sizecache 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 newseries-id-set-cache-max-size,series-id-set-cache-target-hit-rate, andseries-id-set-cache-shrink-conservatismsettings. Monitor it through the newtsi1_cacheSHOW STATSmeasurement. (#27480, #27552) hardening-enabled: Add ahardening-enabledconfiguration 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
-gzipCompressionLevelflag toinfluxd backupfor 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, andEXPLAIN ANALYZE. (#27536, #27547, #27188, #27528, #26981, #27523, #26874, #26615, #26624)
- 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
SHOWqueries. (#27196)
- 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 |
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.
- 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-idand shut down, though the file was durable and correct. - Panic querying
system.parquet_filesfor an unknown table: Filtering on atable_namethat 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.
All Core updates are included in Enterprise. Additional Enterprise-specific updates:
- Retry storage engine upgrade: The new
influxdb3 manage retry-upgrade-to-pacha-treecommand 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.
- 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_parquetreports it asskipped_source_missingorskipped_table_dropped. Only confirmed-missing sources are skipped, so a transientNotFoundstays retryable and a grouped job still converts its readable companions. - Compaction and migration fail on stale gen1 references:
leftover_gen1_filesreferences 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 errorquerying 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 withlast cache crate is invaliduntil 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_filesentries 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
--l1-hot-tail-target-sizeis functional again: The option (default250mb) 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-ageand--row-delete-max-jobs-per-tickare 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-sizeis 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-setsand--compactor-max-source-run-sets-per-promotionnow apply only to the legacy layout.--replica-snapshot-manifest-load-concurrencyapplies 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, andpending_input_mbis renamed tocharged_input_mb.
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.
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.
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.
- Catalog v3 migration is one-way: Back up your catalog before upgrading (see above).
--pt-partition-countrenamed to--pt-shard-count; there's no alias, so update startup scripts./api/v2/writereturns403(was401) for valid tokens lacking write permission; line-protocol parse errors now return400(was500).
-
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
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.
- fix: level 3 compactions stop occurring by @gwossum in https://github.com/influxdata/influxdb/pull/27414
- fix: split compaction queue depth from active running count (#27416) by @devanbenz in https://github.com/influxdata/influxdb/pull/27428
- feat: Update go to 1.25.10 by @devanbenz in https://github.com/influxdata/influxdb/pull/27430
| 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 |
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.
- fde85a2: Update GPG and build influx_tools in build
- fd1751f: Update security group to use default one for vpc
- 95c7f17: Existing iterators in
awould leak reference counts - cff46ca: Return InfluxQL JSON marshaling errors correctly
- a4f0220: Call findGenerations once per compaction plan
- dc9e5c8: Add rustlib path
- 124ca8f: Reduce lock contention and races in purger
- e071a23: Handle nested low-level files in compaction
- 103264e: Sort files for adjacency testing
- e3a77d4: Fix condition check for optimization of array cursor (tsm1)
- a50b420: Reduce unnecessary purger operations and logging
- 21c78b4: Full compactions not scheduled under some circumstances
- 3e19eed: Reduce excessive CPU usage during compaction planning
- 58fa2ab: Limit number of concurrent optimized compactions
- c0b35b7: PlanOptimize is running too frequently
- c4a18c8: Use correct path in open WAL error message
- ced2944: Correct locking bug when deleting a series
- e1a7cd3: Fix closing channel created twice in points writer (coordinator)
- e4c88be: Ignore empty index error deleting last measurement
- 4e7dcc4: Do not escape CSV output
- 54bf95c: Support absolute file paths in check-schema
- 38156bc: Series file index compaction
- abb825b: Update UI release to OSS-v2.9.0
- a659d5f: Enable token hashing by default
- a74e111: Improved config and env override handling
- 533e9f7: Port improved env overrides from master-1.x
- 03d0dbb: Add check for
MaxAgeSecondsfor EDR - d1deda2: Add gzip compression level configuration to backups
- b835658: Cleanup tasks bbolt entries during org deletion
- ba5455f: Adds nil check to SetNewReadersBlocked
- 0341909: Add CheckedClose test helper
- b6bc458: Upgrade flux to v0.200.0 and go to 1.25.8
- fa0ae4a: Adds logging when there are no shards during backup and restore
- ef1dd6b: Update rpm to use owned_dirs and update ci-packager-next
- 9a0b63b: Bubble error up to writer if fields are dropped
- 5bebb3e: Logging and fsync delay for retention deletion
- a38cc1f: Update to go 1.24.13
- 059d3de: Modify optimized compaction holdoff to use debug logging
- 2c4934f: Cache generation and sequence to reduce TSM filename parsing
- 6453347: Adds property based testing framework for compaction
- 25c2f56: Defer cleanup for log/index compactions, add debug log
- 70cef2c: Add new logging for compaction level 5 and remove bug with opt holdoff time
- afdbd16: Adds LastModifiedOrErr to expose error for LastModified
- 181d133: Add CompactPointsPerBlock config option
- 9a3dc55: Adds functionality to clear out bad shard list
- 1e4693a: Modify optimized compaction to cover edge cases
- 2ff5d01: Add retention policy scoped deletes to v1 queries
- 9f5e29f: Update go to 1.24.11
- 216beca: Extract meta.db from 2.x Bolt file
- ca05a4e: Update perf_test.sh to use different security group
- bf563c6: Update hardcoded subnet for perf-test.sh
- cd043ba: Chore: bump github.com/jackc/pgx/v5 from 5.8.0 to 5.9.2
- 288e524: Chore: update to go 1.25.9
- 79f5bf9: Docs: update v2 README for clarity and version context
- 19f0cd6: Chore: reduce string allocations in TSI series cache
- f67d857: Chore: improve logging on compaction failures
- eb8c4e6: Chore: remove TokenMigrator and related code
- d89cf61: Chore: CI improvements
- 1729869: Chore: add authorization store constructor options
- 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 |
v1.12.4
- Fixed
fatal error: concurrent map iteration and map writepanic 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 |