Documentation

influxdb3-java release notes

v1.9.0

Features

  1. #360: Support passing interceptors to the Flight client.
  2. #363: Support custom tag order via tagOrder write option. See Sort tags by priority for more.

v1.8.0

Features

  1. #352: Upgrade Arrow Flight client dependencies.

Bug Fixes

  1. #351: Enterprise/Core structured errors handling.

CI

  1. #313: Clarify JDK 25+ requirements.
  2. #340: Turn off deploy workflow for Nighly builds.

v1.7.0

Bug Fixes

  1. #317: Fix Arrow memory leak when stream close fails due to thread interrupts.
  2. #318: Explicit releasing of the VectorSchemaRoot.

v1.6.0

Features

  1. #306: Improve closing of Arrow FlightStream.

Bug Fixes

  1. #310: Ensure QueryOptions objects are left unchanged within the queryData implementation.

v1.5.0

Features

  1. #289 Add the possibility to disable gRPC compression via the disableGRPCCompression parameter in the ClientConfig.

CI

  1. #283 Fix pipeline not downloading the correct java images.

v1.4.0

Features

  1. #265 Add more precise timeout properties to ClientConfig.
    1. Current property timeout is deprecated, as it applies only to the Write API and can be confusing to some users.
    2. Two new properties are added, along with getters and similar setters in the ClientConfig.Builder.
      1. writeTimeout - a java.time.Duration that applies only to the Write API.
      2. queryTimeout - a java.time.Duration used to calculate deadlines when using the Query API.
    3. These properties can also be defined when creating a client using environment variables. Respectively:
      1. INFLUX_WRITE_TIMEOUT - a positive integer. The time unit is in seconds.
      2. INFLUX_QUERY_TIMEOUT - a positive integer. The time unit is in seconds.
    4. These properties can also be defined when creating a client using system properties. Respectively:
      1. influx.writeTimeout - a positive integer. The time unit is in seconds.
      2. influx.queryTimeout - a positive integer. The time unit is in seconds.

CI

  1. #266 Add tests for arm64 CircleCI.

v1.3.0

Features

  1. #250 Upgrade Netty version to 4.2.3.Final.
  2. #251 Add comment warning null when calling getMeasurement function.
  3. #252 Run integration tests against a locally started InfluxDB 3 Core server.

Documentation

  1. #253 New Durable example showing client reuse for better resource management.

v1.2.0

Features

  1. #209 Add query function returning row as map.
  2. #238: Support fast writes without waiting for WAL persistence:
    • New write option (WriteOptions.noSync) added: true value means faster write but without the confirmation that the data was persisted. Default value: false.
    • Supported by self-managed InfluxDB 3 Core and Enterprise servers only!
    • Also configurable via connection string query parameter (writeNoSync).
    • Also configurable via environment variable (INFLUX_WRITE_NO_SYNC).
    • Long precision string values added from v3 HTTP API: "nanosecond", "microsecond", "millisecond", "second" ( in addition to the existing "ns", "us", "ms", "s").
  3. #241: Some default options will be used from a getter.
  4. #243: Add function to get InfluxDB version.

Bug Fixes

  1. #239: Use write options from ClientConfig in InfluxDBClientImpl write methods:

    public void writeRecord(@Nullable final String record);
    public void writeRecords(@Nonnull final List<String> records);
    public void writePoint(@Nullable final Point point);
    public void writePoints(@Nonnull final List<Point> points);

v1.1.0

Features

  1. #229: Support proxy and custom ssl root certificates
  2. #232: Allow set rpc max message size through maxInboundMessageSize in ClientConfig
  3. #233: More detailed documentation about timestamp handling for query and write functions
  4. #236: Supports Java 21.

v1.0.0

Features

  1. #200: Respect iox::column_type::field metadata when mapping query results into values.
    • iox::column_type::field::integer: => Long
    • iox::column_type::field::uinteger: => Long
    • iox::column_type::field::float: => Double
    • iox::column_type::field::string: => String
    • iox::column_type::field::boolean: => Boolean

Dependencies

  1. #202: Migrate from flight-grpc to flight-core package.

v0.9.0

Features

  1. #158: Add InfluxDB Edge (OSS) authentication support.
  2. #163: Introduces InfluxDBApiHttpException to facilitate write retries and error recovery.

Bug Fixes

  1. #148: InfluxDB Edge (OSS) error handling
  2. #153: Parsing timestamp columns

v0.8.0

Features

  1. #144: user-agent header is updated for both REST and gRPC calls.

v0.7.0

Features

  1. #107: Custom headers are also supported for the query (gRPC request)

    ClientConfig config = new ClientConfig.Builder()
        .host("https://us-east-1-1.aws.cloud2.influxdata.com")
        .token("my-token".toCharArray())
        .database("my-database")
        .headers(Map.of("X-Tracing-Id", "123"))
        .build();
    
    try (InfluxDBClient client = InfluxDBClient.getInstance(config)) {
        //
        // your code here
        //
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
  2. #108: Custom headers can be specified per request (query/write):

    ClientConfig config = new ClientConfig.Builder()
        .host("https://us-east-1-1.aws.cloud2.influxdata.com")
        .token("my-token".toCharArray())
        .database("my-database")
        .build();
    
    try (InfluxDBClient client = InfluxDBClient.getInstance(config)) {
        //
        // Write with custom headers
        //
        WriteOptions writeOptions = new WriteOptions(
            Map.of("X-Tracing-Id", "852")
        );
        client.writeRecord("mem,tag=one value=1.0", writeOptions);
    
        //
        // Query with custom headers
        //
        QueryOptions queryOptions = new QueryOptions(
            Map.of("X-Tracing-Id", "852")
        );
        Stream<Object[]> rows = client.query("select * from cpu", queryOptions);
    
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

v0.6.0

Features

  1. #94: Add support for named query parameters

v0.5.1

Resync artifacts with Maven Central.

v0.5.0

Features

  1. #78: Default Tags can be used when writing points.

Bug Fixes

  1. #77: Serialize InfluxDB response to PointValues

v0.4.0

Features

  1. #41: Add structured query support

v0.3.1

Bug Fixes

  1. #55: Iteration over more Arrow streams

v0.3.0

Features

  1. #40: Add client creation from connection string, environment variables or system properties.

v0.2.0

Features

  1. #27: Add GZIP support
  2. #30: Add HTTP proxy and custom headers support

Breaking Changes

  1. #31: Renamed config types and some options

v0.1.0

  • initial release of new client version

Was this page helpful?

Thank you for your feedback!


InfluxDB OSS 2.9.0: API tokens are hashed by default

Stronger token security in InfluxDB OSS 2.9.0 — tokens are hashed on disk by default. Existing tokens are hashed on first startup and can’t be recovered afterward. Capture any plaintext tokens you still need before you upgrade.

View InfluxDB OSS 2.9.0 release notes

Hashed tokens authenticate exactly like unhashed tokens — clients and integrations keep working.

Also new in 2.9.0:

  • Configurable backup compression
  • Restore support for backups containing hashed tokens
  • Tighter Edge Data Replication queue validation
  • Flux upgrade
  • Compaction reliability improvements

Key enhancements in Explorer 1.8

Explorer 1.8 is now available with streaming data subscriptions (beta), line protocol preview, and query history & saved queries.

View Explorer 1.8 release notes

Explorer 1.8 includes new features and improvements that make it easier to ingest, explore, and manage data.

Highlights:

  • Streaming data subscriptions (beta): Stream data into Explorer from MQTT, Kafka, and AMQP sources.
  • Line protocol preview: Preview line protocol, schema, and parse errors before data is written.
  • Custom sample data: Generate custom sample datasets with line protocol and schema preview.
  • Query history and saved queries: Browse query history and save/re-run named queries.
  • Retention period management: Set, update, or clear retention periods on databases and tables.

For more details, see Explorer 1.8 release notes

InfluxDB 3.9: Performance upgrade preview

InfluxDB 3 Enterprise 3.9 includes a beta of major performance upgrades with faster single-series queries, wide-and-sparse table support, and more.

InfluxDB 3 Enterprise 3.9 includes a beta of major performance and feature updates.

Key improvements:

  • Faster single-series queries
  • Consistent resource usage
  • Wide-and-sparse table support
  • Automatic distinct value caches for reduced latency with metadata queries

Preview features are subject to breaking changes.

For more information, see:

Telegraf Enterprise now in public beta

Get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

See the Blog Post

The upcoming Telegraf Enterprise offering is for organizations running Telegraf at scale and is comprised of two key components:

  • Telegraf Controller: A control plane (UI + API) that centralizes Telegraf configuration management and agent health visibility.
  • Telegraf Enterprise Support: Official support for Telegraf Controller and Telegraf plugins.

Join the Telegraf Enterprise beta to get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

For more information:

Telegraf Controller v0.0.7-beta now available

Telegraf Controller v0.0.7-beta is now available with new features, improvements, bug fixes, and an important breaking change.

View the release notes
Download Telegraf Controller v0.0.7-beta

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On May 27, 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