Thursday, 15 April 2021

Release Notes - FIX Engine C++ - Version 4.4.0

Improvement

  • [CPP-3676] - BREAKING CHANGE: Split ValuesEnums.h into version-specific files and remove it from FIXEngine.h
  • [CPP-3675] - BREAKING CHANGE: Split Tags.h into version-specific files and remove it from FIXEngine.h
  • [CPP-3665] - ISessionListener::onStateChange(..) should not be called under Session's lock
  • [CPP-3663] - Do not call listener callbacks under session lock when possible
  • [CPP-3661] - BREAKING CHANGE: Session::state() should not be called under Session's lock
  • [CPP-3658] - Add state change diagram to the documentation
  • [CPP-3634] - Improve the handling of the "EXCEPTION: Cannot bind socket to 0.0.0.0:4500. An attempt was made to access a socket in a way forbidden by its access permissions. System error code = 10013" error message
  • [CPP-3626] - Improve "Using session send batch" article
  • [CPP-3624] - Improve the "Typed Messages Generator" article
  • [CPP-3619] - Add enum values from FIX 5.0 SP2 Extension Pack
  • [CPP-3618] - Add tags from FIX 5.0 SP2 Extension Pack
  • [CPP-3615] - The scheduler should catch exceptions when resetting the local sequence numbers of a session
  • [CPP-3611] - Replace FIX50SP2EP258 dictionary with more recent FIX50SP2EP264
  • [CPP-3600] - Speed up the check sum verification and calculation
  • [CPP-3594] - BREAKING CHANGE: Remove the `optionLevel` member from the `SocketOption` struct
  • [CPP-3588] - Improve spinning timeout articles
  • [CPP-3578] - Replace FIX50SP2EP257 dictionary with more recent FIX50SP2EP258
  • [CPP-3549] - Describe the detection of ill-formed repeating groups
  • [CPP-3541] - BREAKING CHANGE: Improve batch send methods
  • [CPP-3540] - Add the maxPacketSize parameter to batch send methods
  • [CPP-3535] - Add a note that the message grouping cannot be used with the batch sending feature.
  • [CPP-2946] - BREAKING CHANGE: Typed enum value constants should be compile time constants

Task

  • [CPP-3623] - Include TypedMessagesGenerator to the distribution package

New Feature

  • [CPP-3584] - Support "isRequired" attribute in the "Component" xml node
  • [CPP-3569] - Add an option to validate checksums of incoming messages
  • [CPP-3520] - Support HTTP Proxy
  • [CPP-3494] - Add Message::toJson() and Message::toXml() methods
  • [CPP-3410] - Thread Pool Sample
  • [CPP-3362] - Make API C++11/14/17/20 friendly
  • [CPP-3294] - Add FixDictionaryValidator sample

Bug

  • [CPP-3547] - Logon exception is not thrown when acknowledging Logon is blocked in Receiving thread