Skip to content

6.0.0

Compare
Choose a tag to compare
@bednar bednar released this 19 Apr 05:44
· 376 commits to master since this release

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.

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 InvocableScriptsApi 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]