Skip to content

Latest commit

 

History

History
1162 lines (872 loc) · 60.1 KB

CHANGELOG.md

File metadata and controls

1162 lines (872 loc) · 60.1 KB

7.3.0 [unreleased]

Dependencies

Update dependencies:

Build:

  • #773: micrometer-registry-influx to 1.13.4
  • #770: spring-boot to 3.3.4
  • #769: scala-library to 2.12.20
  • #771: pekko to 1.1.1
  • #772: kotlin to 2.0.20

Maven:

  • #758: maven-checkstyle-plugin to 3.5.0
  • #763: maven-project-info-reports-plugin to 3.7.0
  • #776: maven-javadoc-plugin to 3.10.1
  • #765: maven-site-plugin to 3.20.0
  • #766: versions-maven-plugin to 2.17.1
  • #775: scala-maven-plugin to 4.9.2
  • #777: maven-surefire-plugin, maven-failsafe-plugin to 3.5.0
  • #778: maven-deploy-plugin to 3.1.3

Test:

  • #774: junit-jupiter to 5.11.1

Examples:

  • #760: commons-lang3 to 3.17.0
  • #767: commons-cli to 1.9.0

7.2.0 [2024-08-12]

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 [2024-05-17]

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 [2024-01-30]

⚠️ 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 [2023-12-15]

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 [2023-12-05]

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 [2023-07-28]

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
  • #613: kotlinx-coroutines to 1.7.3

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 [2023-05-31]

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 [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 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 [2022-11-03]

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

6.6.0 [2022-09-29]

Features

  1. #419: Add possibility to get time from Point data structure

Bug Fixes

  1. #414: Mapping Number types to POJO query output

Documentation

  1. #406: Fix compatibility of the doclint between JDK 8 and JDK 18

Dependencies

Update dependencies:

Build:

  • #412, #416: akka to 2.6.20
  • #420: micrometer-registry-influx to 1.9.4
  • #423: scala-library to 2.12.17
  • #430: spring-boot to 2.7.4

Maven Plugin:

  • #413: versions-maven-plugin to 2.12.0
  • #426: maven-jar-plugin to 3.3.0
  • #432: scala-maven-plugin to 4.7.2

Provided:

  • #431: slf4j-api to 2.0.3

Test:

  • #422: logback-classic to 1.3.1
  • #417: mockito to 4.8.0
  • #425: spring-test to 5.3.23
  • #427: junit-jupiter-engine to 5.9.1

Remove dependencies:

Test:

  • #418: junit-platform-runner

6.5.0 [2022-08-29]

Breaking Changes

FluxDSL

The percentile() function renamed to quantile().

Features

  1. #366: Added an endpoint to query with InfluxQL (v1) for more info see README.md.

Bug Fixes

  1. #390: Rename percentile() function renamed to quantile() [FluxDSL]
  2. #398: Append task option at the end of script

Dependencies

Update dependencies:

Build:

  • #389: scala-collection-compat_2.12 to 2.8.1
  • #392: gson to 2.9.1
  • #396: micrometer-registry-influx to 1.9.3
  • #402: spring-boot to 2.7.3

Maven Plugin:

  • #391: maven-bundle-plugin to 5.1.8
  • #395: maven-site-plugin to 3.12.1
  • #399: maven-project-info-reports-plugin to 3.4.1
  • #401: maven-javadoc-plugin to 3.4.1
  • #404: maven-checkstyle-plugin to 3.2.0

Provided:

  • #403: slf4j-api to 2.0.0

Test:

  • #400: mockito to 4.7.0

6.4.0 [2022-07-29]

Release Notice

Spring

⚠️ The client upgrades the OkHttp library to version 4.10.0.

The spring-boot supports the OkHttp:4.10.0 from the version 3.0.0-M4 - spring-boot/OkHttp 4.10,0. For the older version of spring-boot you have to configure Spring Boot's okhttp3.version property:

<properties>
    <okhttp3.version>4.10.0</okhttp3.version>
</properties>

Features

  1. #373: Improve FluxDSL:
    • Add ability to define imports for each flux function [FluxDSL]
    • Add ability use multiple flux expressions [FluxDSL]
    • Add ability to define custom functions [FluxDSL]
    • Improve join flux, so it can be nested [FluxDSL]
    • Add missing parameter variants for RangeFlux amd AggregateWindow [FluxDSL]
    • Add TruncateTimeColumnFlux [FluxDSL]
    • Add ArrayFromFlux [FluxDSL]
    • Add UnionFlux [FluxDSL]
  2. #376 Add FillFlux [FluxDSL]

Bug Fixes

  1. #358: Missing backpressure for asynchronous non-blocking API
  2. #372: Redact the Authorization HTTP header from log

Dependencies

  1. #377: Update dependencies:

Build:

- kotlin-stdlib to 1.7.10
- kotlinx-coroutines-core to 1.6.4
- lombok to 1.18.24
- micrometer-registry-influx to 1.9.2
- okhttp3 to 4.10.0
- okio to 3.2.0
- rxjava to 3.1.5
- scala-library_2 to 2.12.16
- scala-collection-compat_2.12 to 2.8.0
- spring to 5.3.22
- spring-boot to 2.7.2

Maven Plugin:

- maven-bundle-plugin to 5.1.7
- maven-checkstyle-plugin to 3.1.2
- maven-compiler-plugin to 3.10.1
- maven-enforcer-plugin to 3.1.0
- maven-failsafe-plugin to 3.0.0-M7
- maven-jar-plugin to 3.2.2
- maven-javadoc-plugin to 3.4.0
- maven-project-info-reports-plugin to 3.4.0
- maven-site-plugin to 3.12.0
- maven-surefire-plugin to 3.0.0-M7
- build-helper-maven-plugin to 3.3.0
- dokka-maven-plugin to 1.7.10
- jacoco-maven-plugin to 0.8.8
- karaf-maven-plugin to 4.4.1
- kotlin-maven-plugin to 1.7.10
- license-maven-plugin to 4.1
- nexus-staging-maven-plugin to 1.6.13
- scala-maven-plugin to 4.7.1
- scalatest-maven-plugin to 2.1.0
- scala-maven-plugin to 3.4.4
- scoverage-maven-plugin to 1.4.11
- versions-maven-plugin to 2.11.0

Test:

- assertj-core to 3.23.1
- junit-jupiter-engine to 5.9.0
- junit-platform-runner to 1.9.0
- mockito to 4.6.1
- scalatest_2.12 to 3.2.12
- scalatest_2.13 to 3.2.12

6.3.0 [2022-06-30]

Features

  1. #367: Add HTTP status code to detail message of InfluxException
  2. #367: Add GatewayTimeoutException for HTTP status code 504
  3. #371: Add possibility to customize the User-Agent HTTP header

CI

  1. #369: Add JDK 18 to CI pipeline

6.2.0 [2022-06-24]

Features

  1. #354: Supports contains filter [FluxDSL]

Bug Fixes

  1. #359: Enable OkHttp retries for connection failure
  2. #360: Fix double quote escape in flux-dsl

6.1.0 [2022-05-20]

Breaking Changes

  1. #344: Rename InvocableScripts to InvokableScripts

Features

  1. #337: Supports columns function [FluxDSL]
  2. #347: Add Scala WriteApi

Bug Fixes

  1. #339: Evaluation of connection string
  2. #352: Creating Tasks with import statements

6.0.0 [2022-04-19]

Migration Notice

⚠️ The InfluxDB Client Library uses internally RxJava to support write with batching, retry and backpressure. The underlying outdated RxJava2 library was upgraded to the latest RxJava3.

Spring

⚠️ The client upgrades the OkHttp library to version 4.9.3. The version 3.12.x is no longer supported - okhttp#requirements.

The spring-boot supports the OkHttp:4.9.3 from the version 2.7.0.M2 - spring-boot/OkHttp 4.9.3. For the older version of spring-boot you have to configure Spring Boot's okhttp3.version property:

<properties>
    <okhttp3.version>4.9.3</okhttp3.version>
</properties>

Changes in public API

  • WriteService imports:
    • io.reactivex.Single is refactored to io.reactivex.rxjava3.core.Single
  • WriteOptions imports:
    • io.reactivex.BackpressureOverflowStrategy -> io.reactivex.rxjava3.core.BackpressureOverflowStrategy
    • io.reactivex.Scheduler -> io.reactivex.rxjava3.core.Scheduler
    • io.reactivex.schedulers.Schedulers -> io.reactivex.rxjava3.schedulers.Schedulers
  • InfluxDBClientReactive:
    • Single<HealthCheck> health() -> Publisher<HealthCheck> health()
  • WriteOptionsReactive
    • io.reactivex.Scheduler -> io.reactivex.rxjava3.core.Scheduler
    • io.reactivex.schedulers.Schedulers -> io.reactivex.rxjava3.schedulers.Schedulers
  • TelegrafsService and TelegrafsApi
    • TelegrafRequest renamed to TelegrafPluginRequest to create/update Telegraf configuration
    • TelegrafPlugin.TypeEnum.INPUTS renamed to TelegrafPlugin.TypeEnum.INPUT
    • TelegrafPlugin.TypeEnum.OUTPUTS renamed to TelegrafPlugin.TypeEnum.OUTPUT

Services

This release also uses new version of InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi, QueryApi, BucketsApi, OrganizationsApi...

  • Add ConfigService to retrieve InfluxDB's runtime configuration
  • Add DebugService to retrieve debug and performance data from runtime
  • Add RemoteConnectionsService to deal with registered remote InfluxDB connections
  • Add MetricsService to deal with exposed prometheus metrics
  • Add ReplicationService to manage InfluxDB replications
  • Update TemplatesService to deal with Stack and Template API
  • Update RestoreService to deal with new restore functions of InfluxDB

List of updated dependencies:

  • Core:
    • com.squareup.okhttp3:okhttp:jar:4.9.3
    • com.squareup.okio:okio:jar:2.10.0
    • com.google.code.gson:gson:jar:2.9.0
    • io.reactivex.rxjava3:rxjava:jar:3.1.4
    • org.apache.commons:commons-csv:jar 1.9.0
    • io.gsonfire:gson-fire:1.8.5
  • Kotlin
    • org.jetbrains.kotlin:kotlin-stdlib:1.6.20
    • org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.4.3
    • org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
  • Karaf
    • karaf 4.3.6
    • gson-fire 1.8.5
  • Micrometer
    • micrometer 1.8.4
  • OSGi
    • org.osgi:osgi.core:8.0.0
  • Spring integration
    • org.springframework.boot:spring-boot:jar:2.6.6
    • org.springframework:spring-core:jar:5.3.17

Features

  1. #324 Removed dependency on io.swagger:swagger-annotations and updated swagger to the latest version

  2. #289: Upgrade RxJava2 -> RxJava3, update outdated dependencies

  3. #316: Add InvokableScriptsApi to create, update, list, delete and invoke scripts by seamless way

  4. #315: Add support for timezones [FluxDSL]

  5. #317: Gets HTTP headers from the unsuccessful HTTP request

  6. #334: Supports not operator [FluxDSL]

  7. #335: URL to connect to the InfluxDB is always evaluate as a connection string

  8. #329: Add support for write consistency parameter [InfluxDB Enterprise]

    Configure consistency via Write API:

    - writeApi.writeRecord(WritePrecision.NS, "cpu_load_short,host=server02 value=0.67");
    + WriteParameters parameters = new WriteParameters(WritePrecision.NS, WriteConsistency.ALL);
    +
    + writeApi.writeRecord("cpu_load_short,host=server02 value=0.67", parameters);

    Configure consistency via client options:

    - InfluxDBClient client = InfluxDBClientFactory.createV1("http://influxdb_enterpriser:8086",
    -    "my-username",
    -    "my-password".toCharArray(),
    -    "my-db",
    -    "autogen");
    + InfluxDBClient client = InfluxDBClientFactory.createV1("http://influxdb_enterpriser:8086",
    +    "my-username",
    +    "my-password".toCharArray(),
    +    "my-db",
    +    "autogen",
    +    WriteConsistency.ALL);

Bug Fixes

  1. #313: Do not deliver exception when the consumer is already disposed [influxdb-client-reactive]

5.0.0 [2022-03-18]

Breaking Changes

  • Change type of PermissionResource.type to String. You are able to easily migrate by:
    - resource.setType(PermissionResource.TypeEnum.BUCKETS);
    + resource.setType(PermissionResource.TYPE_BUCKETS);

Bug Fixes

  1. #303: Change PermissionResource.type to String

CI

  1. #304: Use new Codecov uploader for reporting code coverage

4.3.0 [2022-02-18]

Bug Fixes

  1. #300: Uses native support for Rx requests to better performance

4.2.0 [2022-02-04]

Bug Fixes

  1. #300: Add missing PermissionResources from Cloud API definition

4.1.0 [2022-01-20]

Features

  1. #286: Add support for Parameterized Queries

Bug Fixes

  1. #283: Serialization null tag's value into LineProtocol
  2. #285: Default dialect for Query APIs
  3. #294: Mapping measurement with primitive float
  4. #297: Transient dependency of okhttp, retrofit and rxjava
  5. #292: Publishing runtime error as a WriteErrorEvent

4.0.0 [2021-11-26]

Breaking Changes

The Arguments helper moved from package com.influxdb to package com.influxdb.utils.

Management API

This release uses the latest InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi, QueryApi, BucketsApi, OrganizationsApi...

  • Add LegacyAuthorizationsService to deal with legacy authorizations
  • Add ResourceService to retrieve all knows resources
  • Move postSignin operation from DefaultService to SigninService
  • Move postSignout operation from DefaultService to SignoutService
  • Remove TemplateApi in favour of InfluxDB Community Templates. For more info see - influxdb#19300, openapi#192

Deprecates

  • InfluxDBClient.health(): instead use InfluxDBClient.ping()
  • InfluxDBClientKotlin.health(): instead use InfluxDBClientKotlin.ping()
  • InfluxDBClientScala.health(): instead use InfluxDBClientScala.ping()
  • SecretsService.postOrgsIDSecrets(): instead use SecretsService.deleteOrgsIDSecretsID()

Features

  1. #272: Add PingService to check status of OSS and Cloud instance
  2. #278: Add query method with all params for BucketsApi, OrganizationApi and TasksApi
  3. #280: Use async HTTP calls in the Batching writer
  4. #251: Client uses Reactive Streams in public API, WriteReactiveApi is cold Publisher [influxdb-client-reactive]

Bug Fixes

  1. #279: Session authentication for InfluxDB 2.1
  2. #276: influxdb-client-utils uses different package then influxdb-client-core[java module system]

API

  1. #281: Update to the latest InfluxDB OSS API

CI

  1. #275: Deploy influxdb-client-test package into Maven repository

3.4.0 [2021-10-22]

Features

  1. #269: Add possibility to use dynamic measurement in mapping from/to POJO

CI

  1. #267: Add JDK 17 (LTS) to CI pipeline instead of JDK 16

3.3.0 [2021-09-17]

Bug Fixes

  1. #258: Avoid requirements to jdk.unsupported module
  2. #263: Fix dependency structure for flux-dsl module

Dependencies

  1. #258: Update dependencies:
    • Gson to 2.8.8

CI

  1. #266: Switch to next-gen CircleCI's convenience images

3.2.0 [2021-08-20]

Bug Fixes

  1. #252: Spring auto-configuration works even without influxdb-client-reactive [spring]
  2. #254: Avoid reading entire query response into bytes array

Deprecates

  1. #255: InfluxDBClient#getWriteApi() instead use InfluxDBClient#makeWriteApi()

Documentation

  1. #257: How to configure proxy

3.1.0 [2021-07-27]

Breaking Changes

influxdb-spring:

Change configuration prefix from spring.influx2 to influx according to Spring Docs - for more info see README.md.

Features

  1. #244: Add support for auto-configure the reactive client - InfluxDBClientReactive [spring]

Bug Fixes

  1. #246: Parsing infinite numbers
  2. #241: Set default HTTP protocol to HTTP 1.1

3.0.1 [2021-07-16]

Features

  1. #242: Add Spring Boot configuration metadata that helps the IDE understand the application.properties [spring]

Bug Fixes

  1. #248: Remove not supported autoconfiguration [spring]

3.0.0 [2021-07-09]

Breaking Changes

influxdb-spring:

The micrometer v1.7.0 brings support for InfluxDB 2. That is a reason why the influxdb-spring no longer needs provide a custom Micrometer metrics exporter. Now you are able to use micrometer-registry-influx, for more info see our docs.

Management API

This release introduces a support for new InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi, QueryApi, BucketsApi, OrganizationsApi...

  • UsersService uses PostUser to create User
  • AuthorizationsService uses AuthorizationPostRequest to create Authorization
  • BucketsService uses PatchBucketRequest to update Bucket
  • OrganizationsService uses PostOrganizationRequest to create Organization
  • OrganizationsService uses PatchOrganizationRequest to update Organization
  • DashboardsService uses PatchDashboardRequest to update Dashboard
  • DeleteService is used to delete time series data instead of DefaultService
  • Run contains list of LogEvent in Log property
  • DBRPs contains list of DBRP in Content property
  • DbrPsService uses DBRPCreate to create DBRP
  • Inheritance structure:
    • Check <- CheckDiscriminator <- CheckBase
    • NotificationEndpoint <- NotificationEndpointDiscriminator <- NotificationEndpointBase
    • NotificationRule <- NotificationRuleDiscriminator <- NNotificationRuleBase
  • Flux AST literals extends the AST Expression object

FluxDSL

The shift() function renamed to timeShift().

Features

  1. #231: Add support for Spring Boot 2.4 [spring]
  2. #229: Support translating column name from some_col to someCol [query]

Bug Fixes

  1. #227: Connection URL with custom base path
  2. #236: Rename shift() to timeShift() [FluxDSL]

Dependencies

  1. #227: Update dependencies:
    • Kotlin to 1.5.10

API

  1. #233: Use InfluxDB OSS API definitions to generated APIs

2.3.0 [2021-06-04]

Features

  1. #223: Exponential random backoff retry strategy

2.2.0 [2021-04-30]

Breaking Changes

This release introduces a support to cross-built Scala Client against Scala 2.12 and 2.13. You have to replace your dependency from: influxdb-client-scala to:

  • influxdb-client-scala_2.12 or
  • influxdb-client-scala_2.13

Features

  1. #211: Add supports for Scala cross versioning [2.12, 2.13]
  2. #213: Supports empty logic operator [FluxDSL]
  3. #216: Allow to specify a name of column in last function [FluxDSL]
  4. #218: Supports enum types in mapping into POJO
  5. #220: Create client supporting OSGi environments
  6. #221: Add feature definition and documentation for Apache Karaf support
  7. #222: Add Kotlin WriteApi

Dependencies

  1. #222: Update dependencies:
    • Kotlin to 1.4.32
  2. #222: Update plugins:
    • dokka-maven-plugin to 1.4.30

2.1.0 [2021-04-01]

Bug Fixes

  1. #205: Fix GZIP issue for query executed from all clients see issue comments

API

  1. #206: Updated swagger to the latest version

2.0.0 [2021-03-05]

API

  1. #197: InfluxException bodyError type changed from JSONObject to Map<String, Object>

Bug Fixes

  1. #196: Removed badly licenced JSON-Java library
  2. #199: Correct implementation of Backpressure for Scala Querying

CI

  1. #203: Updated stable image to influxdb:latest and nightly to quay.io/influxdb/influxdb:nightly

1.15.0 [2021-01-29]

Features

  1. #191: Added tail operator to FluxDSL

CI

  1. #192: Updated default docker image to v2.0.3

1.14.0 [2020-12-04]

Features

  1. #172: flux-dsl: added to function without org parameter
  2. #183: CSV parser is able to parse export from UI

Bug Fixes

  1. #173: Query error could be after success table
  2. #176: Blocking API batches Point by precision
  3. #180: Fixed concatenation of url

CI

  1. #184: Updated default docker image to v2.0.2

1.13.0 [2020-10-30]

Features

  1. #163: Improved logging message for retries

Bug Fixes

  1. #161: Offset param could be 0 - FluxDSL
  2. #164: Query response parser uses UTF-8 encoding
  3. #169: Downgrade gson to 2.8.5 to support Java 8

1.12.0 [2020-10-02]

Features

  1. #150: flux-dsl: added support for an offset parameter to limit operator, aggregates accept only a 'column' parameter
  2. #156: Added exponential backoff strategy for batching writes. Default value for retryInterval is 5_000 milliseconds.

API

  1. #139: Changed default port from 9999 to 8086
  2. #153: Removed labels in Organization API, removed Pkg* domains, added "after" to FindOption

Bug Fixes

  1. #151: Fixed closing OkHttp3 response body

1.11.0 [2020-08-14]

Features

  1. #139: Marked Apis as @ThreadSafe
  2. #140: Validate OffsetDateTime to satisfy RFC 3339
  3. #141: Move swagger api generator to separate module influxdb-clients-apigen

Bug Fixes

  1. #136: Data Point: measurement name is requiring in constructor
  2. #132: Fixed thread safe issue in MeasurementMapper

1.10.0 [2020-07-17]

Bug Fixes

  1. #129: Fixed serialization of \n, \r and \t to Line Protocol, = is valid sign for measurement name

Dependencies

  1. #124: Update dependencies: akka: 2.6.6, commons-io: 2.7, spring: 5.2.7.RELEASE, retrofit: 2.9.0, okhttp3: 4.7.2
  2. #124: Update plugins: maven-project-info-reports-plugin: 3.1.0, dokka-maven-plugin: 0.10.1, scoverage-maven-plugin: 1.4.1

1.9.0 [2020-06-19]

Features

  1. #119: Scala and Kotlin clients has their own user agent string

API

  1. #117: Update swagger to latest version
  2. #122: Removed log system from Bucket, Dashboard, Organization, Task and Users API - influxdb#18459

CI

  1. #123: Upgraded InfluxDB 1.7 to 1.8

Bug Fixes

  1. #116: The closing message of the WriteApi has Fine log level

Dependencies

  1. #112: Update dependencies: akka: 2.6.5, assertj-core: 3.16.1, assertk-jvm: 0.22, commons-csv:1.8, commons-lang3: 3.10, gson: 2.8.6, json: 20190722, junit-jupiter: 5.6.2, junit-platform-runner:1.6.2, okhttp3: 4.6.0, okio: 2.60, retrofit: 2.8.1, rxjava: 2.2.19, scala: 2.13.2, scalatest: 3.1.2, spring: 5.2.6.RELEASE, spring-boot: 2.2.7.RELEASE
  2. #112: Update plugins: build-helper-maven-plugin: 3.1.0, jacoco-maven-plugin: 0.8.5, maven-checkstyle: 3.1.1, maven-javadoc: 3.2.0, maven-site: 3.9.0, maven-surefire: 2.22.2

1.8.0 [2020-05-15]

Features

  1. #110: Added support "inf" in Duration
  2. #111: Add aggregateWindow operator to FluxDSL

Bug Fixes

  1. #108: Fixed naming for Window function arguments - FluxDSL

1.7.0 [2020-04-17]

Features

  1. #93: Add addTags and addFields helper functions to Point
  2. #97: Add the ability to specify the org and the bucket when creating the client

Documentation

  1. #103: Clarify how to use a client with InfluxDB 1.8

Bug Fixes

  1. #98: @Column supports super class inheritance for write measurements

1.6.0 [2020-03-13]

Features

  1. #85: Time field in Point supports BigInteger and BigDecimal
  2. #83: Add reduce operator to FluxDSL
  3. #91: Set User-Agent to influxdb-client-java/VERSION for all requests

Bug Fixes

  1. #90: Correctly parse CSV where multiple results include multiple tables
  2. #89: @Column supports super class inheritance

1.5.0 [2020-02-14]

Features

  1. #33: InfluxDBClient.close also dispose a created writeApi
  2. #80: FluxRecord, FluxColumn, FluxTable are serializable

Bug Fixes

  1. #82: Apply backpressure strategy when a buffer overflow

1.4.0 [2020-01-17]

Features

  1. #76: Added exists operator to Flux restrictions

API

  1. #77: Updated swagger to latest version

1.3.0 [2019-12-06]

API

  1. #68: Updated swagger to latest version

Bug Fixes

  1. #69: Fixed android compatibility

1.2.0 [2019-11-08]

Features

  1. #66: Added DeleteApi

API

  1. #65: Updated swagger to latest version

1.1.0 [2019-10-11]

Features

  1. #59: Added support for Monitoring & Alerting

Improvements

  1. #60: Writes performance optimized
  2. #61: Use Try-With-Resources without catching clause

API

  1. #58: Updated swagger to latest version

Bug Fixes

  1. #57: LabelsApi: orgID parameter has to be pass as second argument

1.0.0 [2019-08-30]

Features

  1. #50: Added support for gzip compression of query response

Bug Fixes

  1. #48: The org parameter takes either the ID or Name interchangeably
  2. #53: Drop NaN and infinity values from fields when writing to InfluxDB

API

  1. #46: Updated swagger to latest version

1.0.0.M2 [2019-08-01]

Breaking Changes

  1. #40: The client is hosted in Maven Central repository
    • Repackaged from org.influxdata to com.influxdb
    • Changed groupId from org.influxdata to com.influxdb
    • Snapshots are located in the OSS Snapshot repository: https://oss.sonatype.org/content/repositories/snapshots/

Features

  1. #34: Auto-configure client from configuration file
  2. #35: Possibility to specify default tags
  3. #41: Synchronous blocking API to Write time-series data into InfluxDB 2.0

Bug Fixes

  1. #43: The data point without field should be ignored

CI

  1. #37: Switch CI from oraclejdk to openjdk

1.0.0.M1

Features

  1. client-java: The reference Java client that allows query, write and InfluxDB 2.0 management
  2. client-reactive: The reference RxJava client for the InfluxDB 2.0 that allows query and write in a reactive way
  3. client-kotlin: The reference Kotlin client that allows query and write for the InfluxDB 2.0 by Kotlin Channel coroutines
  4. client-scala: The reference Scala client that allows query and write for the InfluxDB 2.0 by Akka Streams
  5. client-legacy: The reference Java client that allows you to perform Flux queries against InfluxDB 1.7+
  6. flux-dsl: A Java query builder for the Flux language