- [Cluster] Ignore messages from unknown schemas (e.g. from Sequencer) in
EgressPoller. - [Archive] Ensure that errors from
ReplaySessionare both captured in the error log and sent to the control session. - [C] fix double free in
aeron_archive_context_t. (#1897) - [C] Make
aeron_subscription_image_releaseandaeron_subscription_image_retainno op if image is not found in the
current image list, i.e. handle a case ofon_unavailable_imagebeing called and attempting to retain an image that
was already removed (i.e. C++ Wrapper)). - [C] invoke the client when in
aeron_archive_replay_merge_close. (#1873) - [C] Handle
aeron_archive_encoded_credentials_tbeingNULLas well asdatafield beingNULL, i.e. treat both as empty credentials. - [C] Fix race condition in
aeron_archive_clientreentrancy check, i.e. first acquire lock and then do the check. Use
mutex to protectaeron_archive_closefrom concurrent execution. - [C] Create
aeron_mutex_tas recursive/reentrant on POSIX systems, i.e. match behavior on Windows and the Java implementation. - [C] Fix missing mutex unlock in case of an error.