Skip to content

Releases: influxdata/influxdb-client-java

7.3.0

22 May 08:21
Compare
Choose a tag to compare

Features

  • #821: Prevent duplicate interceptors in OkHttpClient builder

Dependencies

⚠️ Important Notice: Starting from this release, we won’t be listing every dependency change in our changelog. This helps us maintain the project faster and focus on important features for our InfluxDB client.

7.2.0

12 Aug 07:42
Compare
Choose a tag to compare

Features

  • #745: New example WriteHttpExceptionHandled.java showing how to make use of InfluxException.headers() when HTTP Errors are returned from server. Also, now writes selected headers to client log.
  • #719: InfluxQLQueryService header changes.
    • Accept header can now be defined when making InfluxQLQuery calls. Supoorted MIME types:
      • application/csv
      • application/json
    • The value application/csv remains the default.
    • ⚠️ Side effects of these changes:
      • When using application/json, timestamp fields are returned in the RFC3339 format unless InfluxQLQuery.setPrecision() has been previously called, in which case they are returned in the POSIX epoch format.
      • When using application/csv, timestamp fields are returned in the POSIX epoch format.
    • Convenience methods have been added to InfluxQLQueryAPI to simplify expressly specifying JSON or CSV calls.
    • Epoch timestamps can also be ensured by calling InfluxQLQuery.setPrecision() before executing a query call.
    • An AcceptHeader field has also been added to the InfluxQLQuery class and can be set with InfluxQLQuery.setAcceptHeader().
    • More information from the server side:
    • See the updated InfluxQLExample

Bug Fixes

  1. #744 following an InfluxQLQueryAPI.query() call, empty results from the server no longer result in a null result value.

Dependencies

Update dependencies:

Build:

  • #753: spring-boot to 3.3.2
  • #726: kotlin to 2.0.0
  • #752: micrometer-registry-influx to 1.13.2
  • #749: kotlin-coroutines to 1.8.1
  • #735: scala-collection-compat_2.12 to 2.12.0
  • #740: pekko to 1.0.3
  • #741: commons-csv to 1.11.0
  • #743: gson to 2.11.0

Maven:

  • #721: build-helper-maven-plugin to 3.6.0
  • #728: maven-source-plugin to 3.3.1
  • #729: maven-enforcer-plugin to 3.5.0
  • #730: scala-maven-plugin to 4.9.1
  • #734: maven-compiler-plugin to 3.13.0
  • #736: jacoco-maven-plugin to 0.8.12
  • #748: maven-surefire-plugin, maven-failsafe-plugin to 3.3.1
  • #746: maven-jar-plugin to 3.4.2
  • #747: maven-project-info-reports-plugin to 3.6.2
  • #751: license-maven-plugin to 4.5

Test:

  • #724: assertj to 3.26.0
  • #725: assertk-jvm to 0.28.1
  • #750: assertj-core to 3.26.3
  • #737: junit-jupiter to 5.10.3
  • #754: hamcrest to 3.0

Examples:

  • #723: commons-cli to 1.8.0
  • #742: commons-io to 2.16.1

7.1.0

17 May 09:25
Compare
Choose a tag to compare

Bug Fixes

  1. #684: Fix checking for CSV end of table marker when parsing CSV stream to InfluxQLQueryResult, needed for example when parsing the results of a query like "SHOW SERIES".
  2. #662: Adds to FluxDsl support for the |> elapsed(unit) function.
  3. #623: Enables the use of IPv6 addresses.
  4. #604: Custom FluxDSL restrictions for regular expressions

Dependencies

Update dependencies:

Build:

  • #716: karaf to 4.4.6
  • #710: spring-boot to 3.2.5
  • #686: scala-library to 2.12.19
  • #690: kotlinx-coroutines to 1.8.0
  • #707: micrometer-registry-influx to 1.12.5
  • #696: okio to 3.9.0
  • #694: retrofit to 2.11.0
  • #699: kotlin to 1.9.23
  • #701: lombok to 1.18.32
  • #702: commons-io to 2.16.0

Maven:

  • #676: maven-compiler-plugin to 3.12.1
  • #677: maven-surefire-plugin, maven-failsafe-plugin to 3.2.5
  • #679: build-helper-maven-plugin to 3.5.0
  • #682: maven-checkstyle-plugin to 3.3.1
  • #712: maven-gpg-plugin to 3.2.4
  • #703: dokka-maven-plugin to 1.9.20
  • #713: maven-jar-plugin to 3.4.1
  • #709: scala-maven-plugin to 4.9.0
  • #708: maven-deploy-plugin to 3.1.2

Test:

  • #683: assertj to 3.25.3
  • #687: junit-jupiter to 5.10.2
  • #714: logback-classic to 1.5.6

Provided:

  • #711: slf4j-api to 2.0.13

Examples:

  • #715: commons-cli to 1.7.0

7.0.0

30 Jan 08:25
Compare
Choose a tag to compare

⚠️ This client version discontinues support for JDK 8 and 11. The minimum supported JDK version is now JDK 17.

⚠️ This client version discontinues support for Akka Streams and introduces support for Pekko Streams instead. Apache Pekko is a fork of Akka 2.6.x, created after the Akka project adopted the Business Source License, which is not compatible with open-source usage.

Features

  1. #661: Replaced Akka Streams with Pekko Streams in the Scala client.
  2. #673: Upgrade SpringBoot to v3 and Spring to v6
  3. #673: Disable support for old JDKs (< 17)

Dependencies

Update dependencies:

Build:

  • #664: kotlin to 1.9.22
  • #666: okio to 3.7.0
  • #667: rxjava to 3.1.8
  • #669: commons-lang3 to 3.14.0
  • #670: micrometer-registry-influx to 1.12.1
  • #673: spring-boot to 3.2.2
  • #673: spring to 6.1.3
  • #673: scala-library to 2.13.11
  • #673: okhttp to 4.12.0

Maven:

  • #671: maven-javadoc-plugin to 3.6.3

Test:

  • #668: junit-jupiter to 5.10.1

6.12.0

15 Dec 08:33
Compare
Choose a tag to compare

Features

  1. #643: ConnectionClosingInterceptor interceptor closes connections that exceed
    a specified maximum lifetime age (TTL). It's beneficial for scenarios where your application requires establishing new connections to the same host after
    a predetermined interval.

The connection to the InfluxDB Enterprise with the ConnectionClosingInterceptor can be configured as follows:

package example;

import java.time.Duration;
import java.util.Collections;

import okhttp3.OkHttpClient;
import okhttp3.Protocol;

import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.InfluxDBClientOptions;
import com.influxdb.client.domain.WriteConsistency;
import com.influxdb.rest.ConnectionClosingInterceptor;

public class InfluxQLExample {

    public static void main(final String[] args) throws InterruptedException {

        //
        // Credentials to connect to InfluxDB Enterprise
        //
        String url = "https://localhost:8086";
        String username = "admin";
        String password = "password";
        String database = "database";
        WriteConsistency consistency = WriteConsistency.ALL;

        //
        // Configure underlying HTTP client
        //
        OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder()
                .protocols(Collections.singletonList(Protocol.HTTP_1_1));

        //
        // Use new Connection TTL feature
        //
        Duration connectionMaxAge = Duration.ofMinutes(1);
        ConnectionClosingInterceptor interceptor = new ConnectionClosingInterceptor(connectionMaxAge);
        okHttpClientBuilder
                .addNetworkInterceptor(interceptor)
                .eventListenerFactory(call -> interceptor);

        //
        // Configure InfluxDB client
        //
        InfluxDBClientOptions.Builder optionsBuilder = InfluxDBClientOptions.builder()
                .url(url)
                .org("-")
                .authenticateToken(String.format("%s:%s", username, password).toCharArray())
                .bucket(String.format("%s/%s", database, ""))
                .consistency(consistency)
                .okHttpClient(okHttpClientBuilder);

        //
        // Create client and write data
        //
        try (InfluxDBClient client = InfluxDBClientFactory.create(optionsBuilder.build())) {

            // ...
        }
    }
}

6.11.0

05 Dec 08:37
Compare
Choose a tag to compare

Features

  1. #647: findTasksStream function with pagination

Bug Fixes

  1. #648: With csv parsing, return empty string when stringValue and defaultValue are both an empty string

Dependencies

Update dependencies:

Build:

  • #614: commons-lang3 to 3.13.0
  • #653: commons-io to 2.15.1
  • #622: micrometer-registry-influx to 1.11.3
  • #635: spring-boot to 2.7.17
  • #625: lombok to 1.18.30
  • #629: karaf to 4.4.4
  • #634: kotlin to 1.9.20
  • #542: okhttp to 4.11.0
  • #630: okio to 3.6.0

Maven:

  • #656: maven-enforcer-plugin to 3.4.1
  • #636: dokka-maven-plugin to 1.9.10
  • #658: versions-maven-plugin to 2.16.2
  • #627: assertk-jvm to 0.27.0
  • #637: maven-javadoc-plugin to 3.6.0
  • #639: license-maven-plugin to 4.3
  • #651: maven-surefire-plugin, maven-failsafe-plugin to 3.2.2
  • #654: jacoco-maven-plugin to 0.8.11
  • #633: maven-surefire-plugin, maven-failsafe-plugin to 3.2.1
  • #655: maven-project-info-reports-plugin to 3.5.0

Examples:

  • #638: commons-cli to 1.6.0

Test:

  • #650: logback-classic to 1.3.14

Provided:

  • #657: slf4j-api to 2.0.9

6.10.0

28 Jul 05:01
Compare
Choose a tag to compare

Bug Fixes

  1. #584: InfluxQL tags support

CI

  1. #593: Add JDK 20 to CI pipeline

Dependencies

Update dependencies:

Build:

  • #567: lombok to 1.18.28
  • #582: scala-collection-compat_2.12 to 2.11.0
  • #601: micrometer-registry-influx to 1.11.2
  • #608: spring-boot to 2.7.14
  • #588: scala-library to 2.12.18
  • #589: kotlin to 1.8.22
  • #592: akka to 2.6.21
  • #602: okio to 3.4.0

Maven:

  • #569: maven-enforcer-plugin to 3.3.0
  • #570: build-helper-maven-plugin to 3.4.0
  • #573: dokka-maven-plugin to 1.8.20
  • #583: maven-project-info-reports-plugin to 3.4.5
  • #586: maven-surefire-plugin, maven-failsafe-plugin to 3.1.2
  • #590: maven-bundle-plugin to 5.1.9
  • #591: maven-source-plugin to 3.3.0

Examples:

  • #571: commons-io to 2.12.0

Test:

  • #596: logback-classic to 1.3.8

6.9.0

31 May 06:41
Compare
Choose a tag to compare

Dependencies

Update dependencies:

Build:

  • #507: rxjava to 3.1.5
  • #511: lombok to 1.18.26
  • #512: commons-csv to 1.10.0
  • #536: spring-boot to 2.7.11
  • #540: kotlin to 1.8.21
  • #545: scala-collection-compat_2.12 to 2.10.0
  • #548: maven-gpg-plugin to 3.1.0
  • #552: micrometer-registry-influx to 1.11.0

Maven:

  • #527: scala-maven-plugin to 4.8.1
  • #528: license-maven-plugin to 4.2
  • #529: maven-deploy-plugin to 3.1.1
  • #543: jacoco-maven-plugin to 0.8.10
  • #544: maven-surefire-plugin, maven-failsafe-plugin to 3.1.0
  • #549: maven-checkstyle-plugin to 3.2.2
  • #550: maven-compiler-plugin to 3.11.0
  • #559: maven-project-info-reports-plugin to 3.4.3

Provided:

  • #561: slf4j-api to 2.0.7

Test:

  • #556: logback-classic to 1.3.7
  • #564: assertk-jvm to 0.26.1

6.8.0

29 Mar 20:53
Compare
Choose a tag to compare

6.8.0 [2023-03-29]

Bug Fixes

  1. #470: Move auto-configuration registration to AutoConfiguration.imports [spring]
  2. #483: Fix of potential NPE for WriteParameters#hashCode
  3. #521: Ensure write data is actually gzip'ed when enabled

CI

  1. #484: Add JDK 19 to CI pipeline

Dependencies

Update various dependencies

Build:

  • #473: micrometer-registry-influx to 1.10.2
  • #477: kotlin to 1.7.22
  • #476: scala-collection-compat_2.12 to 2.9.0
  • #492: versions-maven-plugin to 2.14.2

Maven Plugin:

  • #479: scala-maven-plugin to 4.8.0

Provided:

  • #487: slf4j-api to 2.0.6
  • #490: org.osgi.service.component.annotations to 1.5.1

Test:

  • #485: mockito to 4.10.0
  • #471: logback-classic to 1.3.5

6.7.0

03 Nov 07:11
Compare
Choose a tag to compare

Features

  1. #439: Add FluxRecord.getRow() which stores response data in a list
  2. #457: Add possibility to use AuthorizationPostRequest and AuthorizationUpdateRequest in AuthorizationApi

Bug Fixes

  1. #459: Fix support for InfluxDB 1.8.x in InfluxQLQueryAPI

CI

  1. #460: Check dependency licenses

Dependencies

  1. #446: Remove gson-fire

Update dependencies:

Build:

  • #434: kotlin to 1.7.20
  • #436: scala-library to 2.13.9
  • #443: micrometer-registry-influx to 1.9.5
  • #451: karaf to 4.4.2
  • #449: spring-boot to 2.7.5
  • #462: gson to 2.10

Maven Plugin:

  • #445: dokka-maven-plugin to 1.7.20
  • #450: versions-maven-plugin to 2.13.0

Test:

  • #440: logback-classic to 1.3.4
  • #444: scalatest-maven-plugin to 2.2.0
  • #452: mockito to 4.8.1