Release Notes


Latest Release Notes

Release Notes - FIX Engine C++ - Version 3.25.0
Jun 27

Bug

  • [CPP-2922] - Deadlock when a Logout is received in reply to the Logon request during a reconnection process
  • [CPP-2881] - Assertion failed: closingConnection_ == NULL
  • [CPP-2877] - Sequence gap state is not reset for acceptor sessions in case of a connection failure
  • [CPP-2820] - Wrong Heartbeat /TestRequest timeouts in ThreadPool connection mode
  • [CPP-2769] - BREAKING CHANGE: Error in a message structure of standard FIX 5.0 dictionary
  • [CPP-2765] - Issue with a concurrent initialization of FAST Decoder/Encoder
  • [CPP-2752] - Sequence gap state is not reset in case of disconnecting during processing of incoming message

New Feature

  • [CPP-2917] - Dictionary exploration interface
  • [CPP-2891] - MessageStringingFlag::IncludeValueDescription
  • [CPP-2890] - Dictionary::validFieldValues(int tagNumber)
  • [CPP-2787] - Add cryptographic functions for CME Secure Logon

Improvement

  • [CPP-2905] - BREAKING CHANGE: Move all copies of CpuIndexes typedefs to the one place
  • [CPP-2903] - Sequence numbers should be present in the logging of session settings
  • [CPP-2879] - Add Secure Logon description to the Programming Guide
  • [CPP-2871] - Add all existing global validation settings to the session level
  • [CPP-2857] - Describe a difference between FieldSet::set(..) and FieldSet::setV(..) methods
  • [CPP-2815] - Table of Contents should be added to the FAQ page
  • [CPP-2791] - Send Logon to respond to Logon message with 141=Y when the initial Logon message was sent without this flag
  • [CPP-2755] - Improve the "Manipulating real numbers" page
  • [CPP-2754] - Improve the Latency benchmark sample
  • [CPP-1671] - ThreadAffinity help class
Jun 27

Release Notes - C++ FIX Engine - Version 3.24.0
Oct 27

New Feature

  • [CPP-2719] - Support for Visual Studio 2017
  • [CPP-2717] - BREAKING CHANGE: Changing of the library name
  • [CPP-2705] - Support ICE FIX Order Routing v4.0
  • [CPP-2678] - Session::sendingTimeFormat(TimestampFormat::Enum format)
  • [CPP-2635] - License file expiration alerting and warnings
  • [CPP-2624] - Session::socketOptions(..)
  • [CPP-2612] - Support the pico second timestamps that are required by MiFID II
  • [CPP-2596] - Support ICE FIX Order Routing v3.6

Improvement

  • [CPP-2687] - Avoid unnecessary calls of the time service on the sending path
  • [CPP-2665] - Add information about string constant and typed constant values
  • [CPP-2656] - Add default values for setting members of classes
  • [CPP-2641] - Store small text values more efficiently
  • [CPP-2639] - Add information about the delay between Wireshark and FIX Engine logs timestamps
  • [CPP-2630] - BREAKING CHANGE: Redesign Timestamp/TimeSpan headers
  • [CPP-2623] - Session::sendResendRequest(..) should throw an Exception if EndSeqNum is less than BeginSeqNum
  • [CPP-2621] - Add a question about "Cannot logon: after sending the initial Logon message the telecommunication link error is detected" error to FAQ
  • [CPP-2598] - Optimization of messages extraction from the session storage
  • [CPP-2595] - Improve the Solarflare Onload Features page
  • [CPP-2586] - Add information about how TLS/SSL version is chosen when TLS/SSL encryption is used
Oct 27

Release Notes - C++ FIX Engine - Version 3.23.0.0
Apr 04

Improvement

  • [CPP-2577] - Improve the log warning when a garbled message is received
  • [CPP-2564] - Add a warning about the restriction of the thread pool support
  • [CPP-2551] - Ignore duplicated messages with PossDupFlag=Y
  • [CPP-2540] - Per-session ssl settings should support the certificate chain
  • [CPP-2534] - Repair external SSL related links

Bug

  • [CPP-2571] - Priority and policy cannot be set at the same time

New Feature

  • [CPP-2567] - Session.sendReject
  • [CPP-2550] - Add a constructor for seconds/nanoseconds for the Timestamp class
  • [CPP-2548] - Session level ssl settings to verify peer certificates
  • [CPP-2547] - Stream output operator for Group, GroupInstance, SerializedMessage classes
  • [CPP-2544] - Add an ability to set trusted certification authority ssl certificates
Apr 04

Release Notes - C++ FIX Engine - Version 3.22.0.0
Jan 25

Improvement

  • [CPP-2520] - Describe two options of the resend functionality when the sequence gap is detected
  • [CPP-2519] - Remove the library initialization issue
  • [CPP-2511] - All log errors/warnings should trigger corresponding error/warning callbacks
  • [CPP-2510] - Restart the system call if it is returned with the EINTR error due to the interruption by a Linux signal
  • [CPP-2506] - Introduce ExceptionInEventHandler session error reason
  • [CPP-2490] - "PrettyPrint" sample should use iterators
  • [CPP-2486] - Add "Why is the outgoing buffer in the onMessageSending callback equals to NULL for SerializedMessage objects?" question to FAQ
  • [CPP-2465] - Ignore field duplicates in QuickFIX dictionaries
  • [CPP-2461] - Add "Using QuickFIX dictionaries" page
  • [CPP-2453] - Improve the Latency Benchmark sample
  • [CPP-2449] - ThisThread::affinity(const CpuIndex cpuIndex)
  • [CPP-2448] - EngineSettings::asyncFileBasedStorageThreadAffinity(const CpuIndex cpuIndex)
  • [CPP-2445] - Add “Understanding Send Latency” page
  • [CPP-2436] - FieldSet::set methods should not validate unknown fields
  • [CPP-2433] - Add information about MSGW to the "CME Specific Settings" page

New Feature

  • [CPP-2504] - ResendingMessages sample
  • [CPP-2479] - Session::sendAsIs(SerializedMessage*)
  • [CPP-2456] - Update the ICE Trading Client sample in accordance with ICE FIX OS Reference Manual - 3.5
  • [CPP-2454] - ThisThread::spinWait(int microseconds)
  • [CPP-2447] - SerializedMessage::toString() method
  • [CPP-2422] - Add setters for TimeSpan values to the SerializedMessage class
  • [CPP-2146] - Add getter/setter for TimeSpan values to the FieldSet class
  • [CPP-599] - Message::copyFields(const Message&)

Bug

  • [CPP-2493] - Infinite recursive call when a Logout message is received in replay to the Resend Request message
Jan 25

Release Notes - C++ FIX Engine - Version 3.21.0.0
Jul 29

Improvement

  • [CPP-2415] - Add an information about Session::send method behavior in the disconnected state
  • [CPP-2395] - Improve the handling of Session::logout() from inbound callbacks
  • [CPP-2392] - Add information about Tick-to-Trade latency measurement to FAQ
  • [CPP-2379] - "Failover" section should be added to Programming Guide
  • [CPP-2378] - Market Segment Gateway failover logic should be added to CME Trading Client reference implementation
  • [CPP-2358] - Describe the Component Block in the Editing Dictionaries Descriptions page
  • [CPP-2355] - Add information about the internal warning to FAQ
  • [CPP-2340] - Use '-' separator in Reject Reason field instead of ','
  • [CPP-2338] - Update ICAP EBS Ai FIX Trading Client sample to 1.9 specification
  • [CPP-2326] - Add a note that the custom Logon from logonAsInitiator is used during reconnection
  • [CPP-2324] - Add information about trailing zeros of decimal values
  • [CPP-2316] - Add question about "Cannot transform Double value into decimal" exception to FAQ
  • [CPP-2304] - Support sequence gap before logout response
  • [CPP-2302] - Improve EbsSpotAiTradingClient sample
  • [CPP-2288] - Support ICE FIX Order Routing v3.4.10
  • [CPP-2238] - Add more details about the "ThreadPool" connection mode
  • [CPP-2221] - Thread options support for SSL sessions

Bug

  • [CPP-2411] - Scheduler does not work properly when the Scheduler.utcTimeUsage property is true
  • [CPP-2410] - Scheduler does not work properly when the LocalTimeUsage FIX Engine setting is true
  • [CPP-2397] - Message Grouping property is not being set for acceptor session
  • [CPP-2247] - Sequence gap state is not reset in case of an exception during processing of incoming message

New Feature

  • [CPP-2402] - Add the "async" parameter to Session::logout(..) methods
  • [CPP-2372] - CME TradingClient update - new Nanosecond Timestamp field (tag 5979-RequestTime)
  • [CPP-2371] - Add MessageFieldsIteration sample
  • [CPP-2357] - Iterator for Message/Group classes
  • [CPP-2353] - Session::resetLocalSequenceNumbersOnLogon
  • [CPP-2323] - SessionScheduler::utcTimeUsage
  • [CPP-2306] - BREAKING CHANGE: SessionScheduler::reconnectAttempts and SessionScheduler::reconnectInterval settings
  • [CPP-2294] - "Venue Specific Settings" pages
  • [CPP-2277] - ThisThread::id
  • [CPP-2276] - ThisThread::policy
  • [CPP-2275] - ThisThread::priority
  • [CPP-2274] - EngineSettings::serviceThreadPolicy
  • [CPP-2273] - EngineSettings::serviceThreadPriority
  • [CPP-2234] - Session::considerRejectOnResendRequestAsGapFill(bool value) method
  • [CPP-2223] - Zero-Copy Feature
  • [CPP-2217] - OnixS::FIX::Session::sendSpinningTimeoutUsec(..)
Jul 29

Release Notes - C++ FIX Engine - Version 3.20.0.0
Jan 25

New Feature

  • [CPP-2193] - EngineSettings::asyncFileBasedStorageThreadAffinity
  • [CPP-2139] - EngineSettings::logOutboundMessages
  • [CPP-2138] - EngineSettings::logInboundMessages
  • [CPP-2083] - Support Visual Studio 2015
  • [CPP-2079] - Session::incomingMessageGapQueueMaximumSize
  • [CPP-2070] - Session::ignoreLessThanExpectedSequenceNumber option
  • [CPP-2018] - EngineSettings::receiveSpinningTimeout

Improvement

  • [CPP-2184] - Describe a timeout, which is used to wait Logon/Logout response.
  • [CPP-2174] - “Reconnection Facility” article should be added to Programing Guide
  • [CPP-2156] - Improve the id generation when the QuickFIX dialect is used
  • [CPP-2125] - Add "Customizing Logging" topic to Programming Guide
  • [CPP-2124] - All configuration settings should be present in the “Complete Reference of Configuration Settings” page
  • [CPP-2116] - Information about the logging order of incoming messages should be added to Programming Guide
  • [CPP-2109] - EngineSettings::specifyApplVerIdField
  • [CPP-2108] - SBE Decoding and Encoding should be described in Programming Guide
  • [CPP-2092] - Describe settings which allow user create a maximum number of sessions
  • [CPP-2085] - Message::validate(MessageValidationFlags) method should validate required fields for the application level only
  • [CPP-2056] - Improve warm-up effect when Solarflare's Onload is used

Bug

  • [CPP-2181] - Session::logout is stuck when Session::breakConnection is called in LogoutInProgress state
  • [CPP-2163] - Session does not store FIX messages of the gap continuation on certain condition
  • [CPP-2161] - Unexpected “MsgSeqNum too low” exception
  • [CPP-2113] - BREAKING CHANGE: Errors in standard FIX dictionaries
  • [CPP-2066] - FIX Engine requests the received message when requestOnlyMissedMessages is true, on certain conditions
Jan 25

Release Notes - C++ FIX Engine - Version 3.19.0.0
Jul 08

Improvement

  • [CPP-2053] - BREAKING CHANGE: Remove extra constructor of the FAST Decoder class
  • [CPP-2027] - Information about message type changing should be added to Programming Guide
  • [CPP-1989] - Thread Safety section should be added to Programming Guide
  • [CPP-1988] - Thread safety information should be added to the API documentation
  • [CPP-1954] - Sequence number of the sequence gap message should not be stored in the session storage
  • [CPP-1946] - BREAKING CHANGE: OnixS::FIX::ConnectionMode::InternalThreadsBlocking should be removed from the API and from the documentation

Bug

  • [CPP-2014] - SSL reconnection functionality

New Feature

  • [CPP-2000] - GroupInstance::toString()
  • [CPP-1983] - Socket options in TcpClient
  • [CPP-1979] - Ability to selectively stop listening on certain ports
  • [CPP-1977] - Adding listening ports at runtime
  • [CPP-792] - Session::sendResendRequestOnEachMessageGap(..)
Jul 08

Release Notes - C++ FIX Engine - Version 3.18.0.0
Feb 02

New Feature

  • [CPP-1927] - EngineSettings (const std::string& configuration)
  • [CPP-1896] - BREAKING CHANGE: Access to the raw message buffer before sending
  • [CPP-1884] - The base dialect XML descriptions should be included to the distribution package
  • [CPP-1881] - Session::preFill (SerializedMessageBatch &)
  • [CPP-1877] - Dialect description should support Component Blocks
  • [CPP-1497] - Session::sendAsIs(const SerializedMessageBatch &)
  • [CPP-1163] - Ability to specify the SSL Certificate chain

Bug

  • [CPP-1923] - FIX Engine resends FIX messages even if an application is not subscribed to the onResendRequest(..) event

Improvement

  • [CPP-1910] - Batch message sending should be described in the "Low Latency Best Practices" section of the Programming Guide
  • [CPP-1906] - After sending the initial Logout message, the Iogout initiator should not send any messages (unless requested to do so by the logout acceptor)
  • [CPP-1100] - "Linux Signals" section should be added to Programming Guide
Feb 02

Release Notes - C++ FIX Engine - Version 3.17.0.0
Nov 19

New Feature

  • [CPP-1818] - Group::toString()
  • [CPP-610] - Separate log folder for initiator and acceptor session

Improvement

  • [CPP-1784] - Repeating Group Sample should be added to the distribution package
  • [CPP-1783] - Sample code should be added to the "Accessing Repeating Group Entries" section
  • [CPP-785] - Q. "How could I activate the automatic failover (backup session) functionality" should be answered in FAQ question.
  • [CPP-744] - RepeatingGroup sample should be added to the setup package
  • [CPP-739] - Documentation should include description of strategies used to send FIX messages to counterpart
  • [CPP-708] - Adjustments for scheduler description
Nov 19

Release Notes - C++ FIX Engine - Version 3.16.0.0
Sep 25

New Feature

  • [CPP-1772] - CentOS 7.0 package
  • [CPP-1739] - Add removeFragmentedPacket parameter for Session::clearOutboundQueue(..) function
  • [CPP-1737] - Session::throttle
  • [CPP-1715] - Stream output operator should be defined for Session
  • [CPP-1714] - Session::toString() method
  • [CPP-1684] - Session::socketHandle
  • [CPP-1676] - Session threads scheduling policy
  • [CPP-1675] - Session threads priority
  • [CPP-1640] - FieldSet::getDecimal (Tag tag, Int32 exponent)

Improvement

  • [CPP-1770] - Message::updateBodyLengthAndCheckSum
  • [CPP-1729] - BREAKING CHANGE: Remove Session::outboundQueueCount() method
  • [CPP-1716] - Session::warmUp() should be described in the "Low Latency Best Practices" section
  • [CPP-1697] - Description of "Warning:Garbled message received. Invalid number of repeating group instances" issue should be added to FAQ section of Programming Guide
  • [CPP-1689] - Add methods to control number of repeating group items
  • [CPP-1654] - EngineSettings::logFileName
  • [CPP-1649] - BREAKING CHANGE: Remove counterpartyHost parameter from EngineListener::onUnknownIncomingConnection

Bug

  • [CPP-1602] - Custom field cannot be assigned to the Logout inside ISessionListener::onOutboundSessionMsg(..) unless it is described in the Dialect file
Sep 25

Browse by Categories

Browse by Month