Improvement
[CPP-3387 ] - Wait for the completion of the underlying connection closing properly
[CPP-3386 ] - In the 'append' mode of session level dictionaries, valid tag values should be taken from standard FIX dictionaries
[CPP-3375 ] - Add a question to FAQ about GCC 'Dual ABI' mismatch
[CPP-3344 ] - Support Visual Studio 2019
[CPP-3342 ] - Optimization of messages extraction during restoring the session state from log files
[CPP-3298 ] - Add an ability to the SerializedMessage class to disable/enable zero-copy buffer usage
[CPP-3296 ] - Add a description and example of the asynchronous Logon/Logout usage
[CPP-3291 ] - BREAKING CHANGE: Asynchronous Logon/Logout methods should return SharedFuture objects
[CPP-3265 ] - Session::logout(..) methods should throw an exception when failing to get the response
Bug
[CPP-3363 ] - Duplicated resend requests for the last message in the gap interval if it is an application message
[CPP-3310 ] - ExpectedIncomingMessageSize setting is discarded after the session Logout
[CPP-3302 ] - Zero-copy send uses a regular socket send instead of an onload zero-copy one
New Feature
[CPP-3360 ] - BREAKING CHANGE: Changing of the library name on Windows