All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
0.16.1 - 2018-04-12
DATE_AND_TIME_AS_LONG_MICRO
handling regression (introduced in 0.15.0).
0.16.0 - 2018-04-12
EventDeserializer::setCompatibilityMode(INVALID_DATE_AND_TIME_AS_MIN_VALUE)
(#210).
0.15.0 - 2018-04-07
EventDeserializer::setCompatibilityMode(INVALID_DATE_AND_TIME_AS_NEGATIVE_ONE)
(#210).
0.14.0 - 2018-04-04
EventDeserializer::setCompatibilityMode(INVALID_DATE_AND_TIME_AS_ZERO)
(#210).
0.13.0 - 2017-06-04
- GtidSet to be more flexible when it comes down to UUIDSet|s manipulations (171).
0.12.2 - 2017-05-18
- Deserialization of JSON objects that contain empty keys (170).
0.12.1 - 2017-05-10
- List of event types (TRANSACTION_CONTEXT was missing) (167).
0.12.0 - 2017-03-31
- PREVIOUS_GTIDS deserializer (159).
0.11.0 - 2017-03-02
BinaryLogClient::gtidSetFallbackToPurged
(156).
0.10.1 - 2017-02-28
- HEARTBEAT tracking (118).
0.10.0 - 2017-02-28
BinaryLogClient::heartbeatInterval
(118). NOTE: While it's 0 (disabled) by default it's RECOMMENDED that you turn it on (regardless whether you use built-in keepAlive mechanism or not).
BinaryLogClient::connectTimeout
scope (connection will now be forcefully terminated ifLifecycleListener::onConnect
isn't reached withinBinaryLogClient::connectTimeout
fromBinaryLogClient::connect
).
0.9.2 - 2017-02-25
BinaryLogClient
hangs while trying to connect (154).
0.9.1 - 2017-02-21
- NPE in case of EOF (BinaryLogClient) (153).
0.9.0 - 2017-02-07
BinaryLogClient::connectTimeout
(3 seconds by default).
NOTE:BinaryLogClient::keepAliveConnectTimeout
has been deprecated and is going to be removed in 1.0.0.
0.8.1 - 2016-01-10
ArrayIndexOutOfBoundsException
while parsing JSON (145).
0.8.0 - 2016-01-04
- VIEW_CHANGE and XA_PREPARE
EventType
s.
0.7.4 - 2016-01-02
SSLMode.PREFERRED
handling (verification against the CA is no longer enforced) (#142).
NOTE: This change does NOT affectSSLMode.VERIFY_CA
/SSLMode.VERIFY_IDENTITY
.
0.7.3 - 2016-12-26
- Handling of DATE/DATETIME/TIMESTAMP "zero" value (e.g. '0000-00-00') when
CompatibilityMode.DATE_AND_TIME_AS_LONG_MICRO
is set (false by default).
0.7.2 - 2016-12-26
- Inconsistent microseconds deserialization (#138).
0.7.1 - 2016-12-25
- TIMESTAMP fsp deserialization regression introduced in 0.7.0.
0.7.0 - 2016-12-24
- TIME/DATETIME/TIMESTAMP microseconds precision support (#136).
0.6.0 - 2016-11-27
EventDeserializer
compatibility modes to mimic upcoming 1.0.0 event deserialization behavior (#131).
0.5.2 - 2016-11-19
- (JSON) deserialization of null/true/false/(u)int(16|32)/variable-length data types (#129).
0.5.1 - 2016-10-18
- ROWS_QUERY event deserialization (#124).
- JSON length determination.
- GTID sync (
GtidSet
is now updated beforeBinaryLogClient.EventListener
|s are notified).
0.5.0 - 2016-10-06
0.4.2 - 2016-09-20
- A race condition that could result in duplicate events to be emitted on reconnect (#113).
0.4.1 - 2016-08-31
- GTID "rollover".
- binlog position tracking (
binaryLogClient.binlogPosition
is no longer updated on TABLE_MAP so that in case of reconnect (using a different instance of client) table mapping (used by *RowsEventDataDeserializer|s) could be reconstructed before hitting *RowsEvent.
0.4.0 - 2016-08-15
- TLS support (#70).
0.3.3 - 2016-08-08
- INTVAR deserializer.
- Rudimentary support for GEOMETRY.
- Handling of DATE/DATETIME/TIMESTAMP's "zero" value (e.g. '0000-00-00').
0.3.2 - 2016-07-19
- Fractional seconds deserialization on MySQL 5.6.4+ (#103).
0.3.1 - 2016-01-15
- Broken "non blocking" mode backport from master.
0.3.0 - 2016-01-15
- Support for "non blocking" mode (equivalent to running
mysqlbinlog
without --stop-never)
- NPE if user attempts to read binary log 'within the logical event group' (#60).
0.2.4 - 2015-09-09
- Possible infinite loop in case of EOF in the middle of
ByteArrayInputStream::fill
.
0.2.3 - 2015-08-31
- Handling of packets exceeding 16mb in size.
0.2.2 - 2015-07-10
- TIMESTAMP_V2 deserialization (#46).
- Freeze during
BinaryLogClient.connect
in case of missingREPLICATION CLIENT
permission (#55).
0.2.1 - 2015-05-19
SocketFactory.createSocket
method signature by addingthrows SocketException
.
- Initial handshake error reporting (so that actual message received from the server wouldn't be lost).
- Risk of
BinaryLogClient
getting stuck while in "pre-close" state.
0.2.0 - 2015-05-01
- Support for COM_BINLOG_DUMP_GTID (
BinaryLogClient
::gtidSet) (#41). - Support for authentication via empty password (#39).
- Server error reporting (#37).
WARNING: If you are using exception message to identify specific server errors - you'll need to switch toServerException
::errorCode (as message no longer includes error code).
EventHeaderV4Deserializer
eventLength handling (#35).
0.1.3 - 2015-03-30
- Deserialization of
BitSet
s in little-endian (#34).
0.1.2 - 2015-02-17
- TABLE_MAP/ROTATE
EventDataDeserializer
s handling (#29).
0.1.1 - 2014-12-08
- EXT_WRITE_ROWS event data deserialization when binlog_row_image is set to 'minimal' (default is 'full') (#26).