- Response code is now a parameter of WebRequestTracer's stop method. Existing methods for stopping and setting the response code have been deprecated.
- Fix wrong value for Content-Length HTTP header that was added when sending beacon data.
- Fixed some javadoc/comments in the JSON parser
- Adapt some JSON lexer unit tests to make them consistent with the test's name.
- Reformatted text files to unix style line endings.
- Java 11 Support
- Application ID and Device ID are correctly encoded for special characters The encoding is a percent-encoding based on RFC 3986 with additional encoding of underscore characters.
- Set file encoding to UTF-8 in gradle build
- Device ID can be specified as String in addition to long
This allows to send UUIDs or other specifiers - Standalone web request tagging
A WebRequestTracer can also be obtained from a Session
- Server overload prevention
Additional HTTP 429 response code handling
- Fix wrong Session start time
- Fix wrong SimpleDatePattern, which does not work with Java 6
- Fix wrong device ID in web requests
This has only an impact, ifDataCollectionLevel.PERFORMANCE
was used
- OpenKit internal version handling
- Extend OpenKit objects from java.io.Closeable to add try-with-resources statement compatibility
The following objects are affected- OpenKit
- Session
- RootAction/Action
- WebRequestTracer
- Build support on Jenkins CI server
- coveralls.io Coverage integration
- Server overload prevention
- GDPR compliance
- BeaconSender's thread name is now correct
- Enhanced
null
checks in public interface implementation
No exception are thrown, if nulls are passed via public interfaces - OpenKit internal threads are daemon threads
- Further actions on already left/closed OpenKit objects are no longer possible
Calling the methods is still allowed, but nothing is reported to the backend - HTTPClient checks response type from server when parsing
- Thread IDs are no longer reported as 64-bit integer, but as 32-bit integer
Only positive integers are used, since the sign bit is always 0. - Enhanced state transition in internal state engine
- WebRequestTracer's start time is initialized in constructor
- Advanced URL validation when tracing web requests
The URL must have the form
<scheme>://<any character>[<any character>]*
Where scheme must be as defined in RFC 3986 - InetAddress validation for IPv6 mixed mode addresses
- Major logging improvements (more and better messages)
- Unit tests in protocol package
- Enhanced BeaconCache documentation
- Various typos fixed
- Testing improvements (method names, wrong assertions)