- Add implementation information to
Jar
manifest PR #847
- Only the request to /write endpoint should be compressed by GZIP PR #851
POST
query variants serializes'q'
parameter into HTTP body PR #765
- Add an option in
BatchOption
to preventInfluxDB#write
from blocking when actions queue is exhausted. Issue #668 - Added new signature to InfluxDBMapper.query() with params final Query query, final Class clazz, final String measurementName to leverage InfluxDBResultMapper.toPojo method with identical signature.
- Test: Added test for new InfluxDBMapper.query() signature, as well as test for existing InfluxDBMapper.query(Class clazz) signature (previously only InfluxDBMapper.query(Query query, Class clazz) was tested).
- Update to okhttp 4.x PR #644
- Fixed runtime exception propagation in chunked query Issue #639
- Add new annotation called TimeColumn for timestamp field in POJO bean, this can set Point time and precision field correctly, also avoid UnableToParseException when flush Point to influx.
- Skip fields with NaN and infinity values when writing to InfluxDB Issue #614
- Close underlying OkHttpClient when closing Issue #359
- Update OkHttp to 3.13.1 which disables TLSv1 and TLSv1.1 by default, if still required you can enable them:
OkHttpClient client = new OkHttpClient.Builder()
.connectionSpecs(Arrays.asList(ConnectionSpec.COMPATIBLE_TLS))
.build();
- Query and BatchPoints do not mandate a database name, in which case the InfluxDB database would be used Issue #548
- Add BatchPoints.Builder.points(Collection) Issue #451
- @Column supports class inheritance Issue #367
- BatchOptions to have .precision() Issue #532
- Point.Builder.addFieldsFromPOJO to add Column fields from super class Issue #613
- Fixed chunked query exception handling Issue #523
- Memory leak in StringBuilder cache for Point.lineprotocol() Issue #526
- MessagePack queries: Exception during parsing InfluxDB version [macOS] PR #487
- The InfluxDBResultMapper is able to handle results with a different time precision PR #501
- UDP target host address is cached PR #502
- Error messages from server not parsed correctly when using msgpack PR #506
- Response body must be closed properly in case of JSON response PR #514
- Time is serialized not consistently in MsgPack and Json, missing millis and nanos in MsgPackPR #517
- Support for Basic Authentication PR #492
- Added possibility to reuse client as a core part of influxdb-java-reactive client PR #493
- Retry capability for writing of BatchPoints PR #503
- Added
BiConsumer
with capability to discontinue a streaming query Issue #515 - Added
onComplete
action that is invoked after successfully end of streaming query Issue #515
- Remove code which checks for unsupported influxdb versions PR #474
- Unpredictable errors when OkHttpClient.Builder instance is reused PR #478
- Support for MessagePack PR #471
- Cache version per influxdb instance and reduce ping() calls for every query call PR #472
- FAQ list for influxdb-java PR #475
- Test: Unit test to ensure tags should be sorted by key in line protocol (to reduce db server overheads) PR #476
- Allow write precision of TimeUnit other than Nanoseconds PR #321
- Support dynamic measurement name in InfluxDBResultMapper PR #423
- Debug mode which allows HTTP requests being sent to the database to be logged PR #450
- Fix problem of connecting to the influx api with URL which does not points to the url root (e.g. localhots:80/influx-api/) [PR #400] (influxdata#400)
- Fix IllegalAccessException on setting value to POJOs, InfluxDBResultMapper is now more thread-safe PR #432
- Support for parameter binding in queries ("prepared statements") PR #429
- Allow to figure out whether the Point.Builder has any field or not PR #434
- Performance: use chained StringBuilder calls instead of single calls PR #426
- Performance: Escape fields and keys more efficiently PR #424
- Build: Speed up travis build PR #435
- Test: Update junit from 5.1.0 to 5.1.1 PR #441
- New extensible API to configure batching properties. [PR #409]
- New configuration property 'jitter interval' to avoid multiple clients hit the server periodically at the same time. [PR #409]
- New strategy on handling errors, client performs retries writes when server gets overloaded [PR #410]
- New exceptions give the client user easier way to classify errors reported by the server. [PR #410]
- InfluxDBResultMapper now is able to process QueryResult created when a GROUP BY clause was used PR #345
- InfluxDB will now handle the timestamp on its own if none is provided PR#350
- API: add InfluxDB#createRetentionPolicy and InfluxDB#dropRetentionPolicy to be able to create and drop Retention Policies PR #351
- API: add InfluxDB#query that uses callbacks
- Build: all unit and integration test are now running with jdk8 and jdk9.
- Test: migration to junit5
- Simplify write() methods for use cases writing all points to same database and retention policy PR #327
- QueryResult to Object mapper added PR #341
- Replace RuntimeException with InfluxDBException Issue #323
- Significant (~35%) performance improvements for write speed with less memory footprint. PR #330
- Drop guava runtime dependency which reduces jar size from 1MB -> 49KB PR #322
- Switch to Java 1.8
- Support chunking
- Add a databaseExists method to InfluxDB interface
- Issue #289 Batching enhancements: Pending asynchronous writes can be explicitly flushed via
InfluxDB.flush()
. - Add a listener to notify asynchronous errors during batch flushes PR #318.
- Issue #263 Add databaseExists method to InfluxDB interface.
- Update retrofit from 2.1 to 2.2
- Update slf4j from 1.7.22 to 1.7.24
- Update okhttp3 from 3.5 to 3.6
- automatically adjust batch processor capacity PR #282
- Support writing by UDP protocal.
- Support gzip compress for http request body.
- Support setting thread factory for batch processor.
- Support chunking
- Issue #162 Write point using async batch mode with different rp will use same rp.
- Issue #214 Send multiple queries in one query statement will get only one result.
- Write can't be always async if batch is enabled.
- Remove the limit for database name: not contain '-'.
- Support creating influxdb instance without username and password.
- Add time related util methods for converting influxdb timestamp or unix epoch time.
- correct exception type when disable batch twice.
- now uses okhttp3 and retrofit2. As a result, you can now pass an OkHttpClient.Builder to the InfluxDBFactory.connect if you wish to add more interceptors, etc, to OkHttp.
- in InfluxDB 1.0.0, some queries now require a POST instead of GET. There is a flag on Query that allow this to be specified (default is still GET).
- Allow writing of pre-constructed line protocol strings
- Correct escaping of database names for create and delete database actions
- Many bug fixes / improvements in general
- Deprecated
field()
method in preference foraddField()
methods.
- Extensions to fluent builder classes
- Convenience methods for building Points
- Allow integer types as field values
- Fixed escaping of tag and field values
- Always uses nanosecond precision for time
- Uses NumberFormat class for safer formatting of large numbers.
- Compatible with InfluxDB version 0.9+
- Support for lineprotocol
- Batched write support
No major functional changes or improvements. Mainly library updates and code structure
- Compatible with InfluxDB Version up to 0.8
- API: add a InfluxDB#createDatabase(DatabaseConfiguration) to be able to create a new Database with ShardSpaces defined.
- API: introduction of InfluxDB#createShardSpare, InfluxDB#getShardSpace and InfluxDB#dropShardSpace
- API: deprecated InfluxDB#createShard, InfluxDB#getShards and InfluxDB#dropShard, this is replaced with shardSpaces in InfluxDB >= 0.8.0
- API: renamed InfluxDB#deletePoints to InfluxDB#deleteSeries because this is what it actually does.
- [Issue #14] update docker-java for tests to 0.10.0
- Update retrofit from 1.6.0 -> 1.6.1
- Use ms instead of m for millisecond timeprecision.
- Issue #2 Implement the last missing api calls ( interfaces, sync, forceCompaction, servers, shards)
- use (http://square.github.io/okhttp/, okhttp) instead of java builtin httpconnection to get failover for the http endpoint.
- Issue #8 Use com.github.docker-java which replaces com.kpelykh for Integration tests.
- Issue #6 Update Retrofit to 1.6.0
- Issue #7 Update Guava to 17.0
- fix dependency to guava.
- Add InfluxDB#version() to get the InfluxDB Server version information.
- Changed InfluxDB#createDatabase() to match Issue #489 without replicationFactor.
- Updated Retrofit from 1.5.0 -> 1.5.1
- Initial Release