Skip to content

Latest commit

 

History

History
1138 lines (852 loc) · 58.6 KB

CHANGELOG.md

File metadata and controls

1138 lines (852 loc) · 58.6 KB

7.3.0 [unreleased]

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 [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