Skip to content

Commit

Permalink
Merge branch 'master' into influxdb-java-182
Browse files Browse the repository at this point in the history
  • Loading branch information
lxhoan committed May 3, 2018
2 parents f91bd4d + e573475 commit 550708a
Show file tree
Hide file tree
Showing 47 changed files with 4,286 additions and 613 deletions.
20 changes: 11 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
language: java
sudo: required

jdk:
- oraclejdk8

addons:
apt:
packages:
- oracle-java8-installer # Updates JDK 8 to the latest available.

services:
- docker

# We test against all influxdb versions with the most actual JDK.
# Test only the most recent influxdb version with JDK8 which will be legacy soon.
env:
- MAVEN_JAVA_VERSION=3-jdk-10-slim INFLUXDB_VERSION=1.5
- MAVEN_JAVA_VERSION=3-jdk-10-slim INFLUXDB_VERSION=1.4
- MAVEN_JAVA_VERSION=3-jdk-10-slim INFLUXDB_VERSION=1.3
- MAVEN_JAVA_VERSION=3-jdk-10-slim INFLUXDB_VERSION=1.2
- MAVEN_JAVA_VERSION=3-jdk-10-slim INFLUXDB_VERSION=1.1
- MAVEN_JAVA_VERSION=3-jdk-8-slim INFLUXDB_VERSION=1.5

script: ./compile-and-test.sh

after_success:
Expand Down
172 changes: 112 additions & 60 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,150 @@
## v2.7 [unreleased]
# Changelog

#### Features
## 2.11 [unreleased]

- Simplify write() methods for use cases writing all points to same database and retention policy [PR #327](https://github.com/influxdata/influxdb-java/pull/327)
- Support dynamic measurement name in InfluxDBResultMapper [PR #423](https://github.com/influxdata/influxdb-java/pull/423)

#### Fixes
## 2.10 [2018-04-26]

- Replace RuntimeException with InfluxDBException [Issue #323](https://github.com/influxdata/influxdb-java/issues/323)
### Fixes
- Fix IllegalAccessException on setting value to POJOs, InfluxDBResultMapper is now more thread-safe [PR #432](https://github.com/influxdata/influxdb-java/pull/432)

#### Improvements
### Features

- Significant (~35%) performance improvements for write speed with less memory footprint. [PR #330](https://github.com/influxdata/influxdb-java/pull/330)
- Drop guava runtime dependency which reduces jar size from 1MB -> 49KB [PR #322](https://github.com/influxdata/influxdb-java/pull/322)
- Support for parameter binding in queries ("prepared statements") [PR #429](https://github.com/influxdata/influxdb-java/pull/429)
- Allow to figure out whether the Point.Builder has any field or not [PR #434](https://github.com/influxdata/influxdb-java/pull/434)

## v2.6 [2017.06-08]
### Improvements

#### Features
- Performance: use chained StringBuilder calls instead of single calls [PR #426](https://github.com/influxdata/influxdb-java/pull/426)
- Performance: Escape fields and keys more efficiently [PR #424](https://github.com/influxdata/influxdb-java/pull/424)
- Build: Speed up travis build [PR #435](https://github.com/influxdata/influxdb-java/pull/435)
- Test: Update junit from 5.1.0 to 5.1.1 [PR #441](https://github.com/influxdata/influxdb-java/pull/441)

- Switch to Java 1.8
- Support chunking
- Add a databaseExists method to InfluxDB interface
- [Issue #289](https://github.com/influxdata/influxdb-java/issues/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](https://github.com/influxdata/influxdb-java/pull/318).
## 2.9 [2018-02-27]

#### Fixes
### Features

- [Issue #263](https://github.com/influxdata/influxdb-java/issues/263) Add databaseExists method to InfluxDB interface.
- 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]

#### Improvements
## 2.8 [2017-12-06]

- 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](https://github.com/influxdata/influxdb-java/pull/282)
### Fixes

- InfluxDBResultMapper now is able to process QueryResult created when a GROUP BY clause was used [PR #345](https://github.com/influxdata/influxdb-java/pull/345)
- InfluxDB will now handle the timestamp on its own if none is provided [PR#350](https://github.com/influxdata/influxdb-java/pull/350)

### Features

- API: add InfluxDB#createRetentionPolicy and InfluxDB#dropRetentionPolicy to be able to create and drop Retention Policies [PR #351](https://github.com/influxdata/influxdb-java/pull/351)
- API: add InfluxDB#query that uses callbacks

### Improvements

- Build: all unit and integration test are now running with jdk8 and jdk9.
- Test: migration to junit5

## v2.7 [2017-06-26]

### Features

- Simplify write() methods for use cases writing all points to same database and retention policy [PR #327](https://github.com/influxdata/influxdb-java/pull/327)
- QueryResult to Object mapper added [PR #341](https://github.com/influxdata/influxdb-java/pull/341)

### Fixes

- Replace RuntimeException with InfluxDBException [Issue #323](https://github.com/influxdata/influxdb-java/issues/323)

### Improvements

- Significant (~35%) performance improvements for write speed with less memory footprint. [PR #330](https://github.com/influxdata/influxdb-java/pull/330)
- Drop guava runtime dependency which reduces jar size from 1MB -> 49KB [PR #322](https://github.com/influxdata/influxdb-java/pull/322)

## v2.6 [2017-06-08]

### Features

- Switch to Java 1.8
- Support chunking
- Add a databaseExists method to InfluxDB interface
- [Issue #289](https://github.com/influxdata/influxdb-java/issues/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](https://github.com/influxdata/influxdb-java/pull/318).

### Fixes

- [Issue #263](https://github.com/influxdata/influxdb-java/issues/263) Add databaseExists method to InfluxDB interface.

### Improvements

- 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](https://github.com/influxdata/influxdb-java/pull/282)

## v2.5 [2016-12-05]

#### Features
### Features

- Support writing by UDP protocal.
- Support gzip compress for http request body.
- Support setting thread factory for batch processor.
- Support chunking
- Support writing by UDP protocal.
- Support gzip compress for http request body.
- Support setting thread factory for batch processor.
- Support chunking

#### Fixes
### Fixes

- [Issue #162](https://github.com/influxdb/influxdb-java/issues/162) Write point using async batch mode with different rp will use same rp.
- [Issue #214](https://github.com/influxdb/influxdb-java/issues/214) Send multiple queries in one query statement will get only one result.
- Write can't be always async if batch is enabled.
- [Issue #162](https://github.com/influxdb/influxdb-java/issues/162) Write point using async batch mode with different rp will use same rp.
- [Issue #214](https://github.com/influxdb/influxdb-java/issues/214) Send multiple queries in one query statement will get only one result.
- Write can't be always async if batch is enabled.

#### Improvements
### Improvements

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

## v2.4 [2016-10-24]
#### Features

- 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).
### Features

- 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).

## v2.2 [2016-04-11]

#### Features
### Features

- Allow writing of pre-constructed line protocol strings

- Allow writing of pre-constructed line protocol strings
### Fixes

#### Fixes
- Correct escaping of database names for create and delete database actions
- Many bug fixes / improvements in general

- Correct escaping of database names for create and delete database actions
- Many bug fixes / improvements in general
### Other

#### Other
- Deprecated `field()` method in preference for `addField()` methods.
- Deprecated `field()` method in preference for `addField()` methods.

## v2.1 [2015-12-05]

#### Features
### Features

- Extensions to fluent builder classes
- Convenience methods for building Points
- Allow integer types as field values
- Extensions to fluent builder classes
- Convenience methods for building Points
- Allow integer types as field values

#### Fixes
### Fixes

- Fixed escaping of tag and field values
- Always uses nanosecond precision for time
- Uses NumberFormat class for safer formatting of large numbers.
- Fixed escaping of tag and field values
- Always uses nanosecond precision for time
- Uses NumberFormat class for safer formatting of large numbers.

## v2.0 [2015-07-17]

#### Features
### Features

- Compatible with InfluxDB version 0.9+
- Support for lineprotocol
Expand All @@ -104,7 +156,7 @@ No major functional changes or improvements. Mainly library updates and code str

## v1.3 [2014-10-22]

#### Features
### Features

- 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.
Expand All @@ -117,12 +169,12 @@ No major functional changes or improvements. Mainly library updates and code str

## v1.2 [2014-06-28]

#### Features
### Features

- [Issue #2](https://github.com/influxdb/influxdb-java/issues/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.

#### Tasks
### Tasks

- [Issue #8](https://github.com/influxdb/influxdb-java/issues/8) Use com.github.docker-java which replaces com.kpelykh for Integration tests.
- [Issue #6](https://github.com/influxdb/influxdb-java/issues/6) Update Retrofit to 1.6.0
Expand All @@ -131,12 +183,12 @@ No major functional changes or improvements. Mainly library updates and code str

## v1.1 [2014-05-31]

#### Features
### Features

- Add InfluxDB#version() to get the InfluxDB Server version information.
- Changed InfluxDB#createDatabase() to match [Issue #489](https://github.com/influxdb/influxdb/issues/489) without replicationFactor.
- Updated Retrofit from 1.5.0 -> 1.5.1

## v1.0 [2014-05-6]

* Initial Release
- Initial Release
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) {{{year}}} {{{fullname}}}
Copyright (c) 2014-2017 Stefan Majer

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading

0 comments on commit 550708a

Please sign in to comment.