Releases: influxdata/influxdb-client-java
Releases · influxdata/influxdb-client-java
6.10.1
Bug Fixes
- #862: Improved tags parsing.
- Supports InfluxQL queries involving tag keys and values that incorporate escaped special characters such as commas. e.g. (
"my_data,model\,\ uin=Droid\,\ C3PO ...") - This support is stable for InfluxDB Enterprise v1.x databases and InfluxDB v2.x databases using legacy v1 query contexts - e.g (
/query?db=test_data). - Influxdb OSS v1.x uses slightly different escape semantics. Use of escaped commas or spaces in tag keys and values with this database can lead to unexpected behavior. Support for special tags with OSS 1.x is not included with this hotfix release.
- Supports InfluxQL queries involving tag keys and values that incorporate escaped special characters such as commas. e.g. (
7.5.0
7.4.0
7.3.0
7.2.0
Features
- #745: New example
WriteHttpExceptionHandled.javashowing how to make use ofInfluxException.headers()when HTTP Errors are returned from server. Also, now writes selected headers to client log. - #719:
InfluxQLQueryServiceheader changes.Acceptheader can now be defined when makingInfluxQLQuerycalls. Supoorted MIME types:application/csvapplication/json
- The value
application/csvremains the default. ⚠️ Side effects of these changes:- When using
application/json, timestamp fields are returned in the RFC3339 format unlessInfluxQLQuery.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.
- When using
- Convenience methods have been added to
InfluxQLQueryAPIto simplify expressly specifying JSON or CSV calls. - Epoch timestamps can also be ensured by calling
InfluxQLQuery.setPrecision()before executing a query call. - An
AcceptHeaderfield has also been added to theInfluxQLQueryclass and can be set withInfluxQLQuery.setAcceptHeader(). - More information from the server side:
- See the updated InfluxQLExample
Bug Fixes
- #744 following an
InfluxQLQueryAPI.query()call, empty results from the server no longer result in anullresult value.
Dependencies
Update dependencies:
Build:
- #753:
spring-bootto3.3.2 - #726:
kotlinto2.0.0 - #752:
micrometer-registry-influxto1.13.2 - #749:
kotlin-coroutinesto1.8.1 - #735:
scala-collection-compat_2.12to2.12.0 - #740:
pekkoto1.0.3 - #741:
commons-csvto1.11.0 - #743:
gsonto2.11.0
Maven:
- #721:
build-helper-maven-pluginto3.6.0 - #728:
maven-source-pluginto3.3.1 - #729:
maven-enforcer-pluginto3.5.0 - #730:
scala-maven-pluginto4.9.1 - #734:
maven-compiler-pluginto3.13.0 - #736:
jacoco-maven-pluginto0.8.12 - #748:
maven-surefire-plugin,maven-failsafe-pluginto3.3.1 - #746:
maven-jar-pluginto3.4.2 - #747:
maven-project-info-reports-pluginto3.6.2 - #751:
license-maven-pluginto4.5
Test:
- #724:
assertjto3.26.0 - #725:
assertk-jvmto0.28.1 - #750:
assertj-coreto3.26.3 - #737:
junit-jupiterto5.10.3 - #754:
hamcrestto3.0
Examples:
7.1.0
Bug Fixes
- #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".
- #662: Adds to FluxDsl support for the
|> elapsed(unit)function. - #623: Enables the use of IPv6 addresses.
- #604: Custom FluxDSL restrictions for regular expressions
Dependencies
Update dependencies:
Build:
- #716:
karafto4.4.6 - #710:
spring-bootto3.2.5 - #686:
scala-libraryto2.12.19 - #690:
kotlinx-coroutinesto1.8.0 - #707:
micrometer-registry-influxto1.12.5 - #696:
okioto3.9.0 - #694:
retrofitto2.11.0 - #699:
kotlinto1.9.23 - #701:
lombokto1.18.32 - #702:
commons-ioto2.16.0
Maven:
- #676:
maven-compiler-pluginto3.12.1 - #677:
maven-surefire-plugin,maven-failsafe-pluginto3.2.5 - #679:
build-helper-maven-pluginto3.5.0 - #682:
maven-checkstyle-pluginto3.3.1 - #712:
maven-gpg-pluginto3.2.4 - #703:
dokka-maven-pluginto1.9.20 - #713:
maven-jar-pluginto3.4.1 - #709:
scala-maven-pluginto4.9.0 - #708:
maven-deploy-pluginto3.1.2
Test:
Provided:
- #711:
slf4j-apito2.0.13
Examples:
- #715:
commons-clito1.7.0
7.0.0
Features
- #661: Replaced Akka Streams with Pekko Streams in the Scala client.
- #673: Upgrade SpringBoot to v3 and Spring to v6
- #673: Disable support for old JDKs (< 17)
Dependencies
Update dependencies:
Build:
- #664:
kotlinto1.9.22 - #666:
okioto3.7.0 - #667:
rxjavato3.1.8 - #669:
commons-lang3to3.14.0 - #670:
micrometer-registry-influxto1.12.1 - #673:
spring-bootto3.2.2 - #673:
springto6.1.3 - #673:
scala-libraryto2.13.11 - #673:
okhttpto4.12.0
Maven:
- #671:
maven-javadoc-pluginto3.6.3
Test:
- #668:
junit-jupiterto5.10.1
6.12.0
Features
- #643:
ConnectionClosingInterceptorinterceptor 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
Features
- #647:
findTasksStreamfunction with pagination
Bug Fixes
- #648: With csv parsing, return empty string when
stringValueanddefaultValueare both an empty string
Dependencies
Update dependencies:
Build:
- #614:
commons-lang3to3.13.0 - #653:
commons-ioto2.15.1 - #622:
micrometer-registry-influxto1.11.3 - #635:
spring-bootto2.7.17 - #625:
lombokto1.18.30 - #629:
karafto4.4.4 - #634:
kotlinto1.9.20 - #542:
okhttpto4.11.0 - #630:
okioto3.6.0
Maven:
- #656:
maven-enforcer-pluginto3.4.1 - #636:
dokka-maven-pluginto1.9.10 - #658:
versions-maven-pluginto2.16.2 - #627:
assertk-jvmto0.27.0 - #637:
maven-javadoc-pluginto3.6.0 - #639:
license-maven-pluginto4.3 - #651:
maven-surefire-plugin,maven-failsafe-pluginto3.2.2 - #654:
jacoco-maven-pluginto0.8.11 - #633:
maven-surefire-plugin,maven-failsafe-pluginto3.2.1 - #655:
maven-project-info-reports-pluginto3.5.0
Examples:
- #638:
commons-clito1.6.0
Test:
- #650:
logback-classicto1.3.14
Provided:
- #657:
slf4j-apito2.0.9
6.10.0
Bug Fixes
- #584: InfluxQL tags support
CI
- #593: Add JDK 20 to CI pipeline
Dependencies
Update dependencies:
Build:
- #567:
lombokto1.18.28 - #582:
scala-collection-compat_2.12to2.11.0 - #601:
micrometer-registry-influxto1.11.2 - #608:
spring-bootto2.7.14 - #588:
scala-libraryto2.12.18 - #589:
kotlinto1.8.22 - #592:
akkato2.6.21 - #602:
okioto3.4.0
Maven:
- #569:
maven-enforcer-pluginto3.3.0 - #570:
build-helper-maven-pluginto3.4.0 - #573:
dokka-maven-pluginto1.8.20 - #583:
maven-project-info-reports-pluginto3.4.5 - #586:
maven-surefire-plugin,maven-failsafe-pluginto3.1.2 - #590:
maven-bundle-pluginto5.1.9 - #591:
maven-source-pluginto3.3.0
Examples:
- #571:
commons-ioto2.12.0
Test:
- #596:
logback-classicto1.3.8