This minor release further extends and improves on our stable 1.2 version. Additional features and enhancements have been added in response to feedback from many users. Many thanks to those who have provided feedback and assistance. There have been some changes to the Fix8 API. Some users will need to make changes to their implementations to work with this release. The example applications supplied with Fix8 have been updated to reflect these changes. Download here.
1. Pre-encoding support
Fix8 now supports pre-encoding messages on the application thread. This further reduces actual encode and transmission latency for applications that want to improve execution performance. For a typical NewOrderSingle message this will reduce encode latency by about %50.
2. Permit unknown field pass-through with permissive mode
Many applications like message hubs and order routers need to pass unknown fields through unmolested. Fix8 now supports this as an extension of permissive mode.
3. Major improvements to repeating groups
Changes to the way nested repeating group objects are constructed will significantly reduce encode and decode latencies. The Fix8 decoder will now only create repeating group objects for groups that are present.
4. Long message and field name support
Fix8 now supports the ability to lookup compiler generated message and field data structures from their verbose/long name. These names are defined in the xml schema.
5. std::thread support
For C++11 compatibility, Fix8 now supports std::thread. This will also improve portability.
6. Stream based log targets, XML logger
We've added support for a std::ostream style logger. This logger is available for the global log target, session and connection targets, as well as your own custom log target. This logger also now supports log levels which can be configured for your session. Log messages which are filtered from a level are taken off the execution path. Fix8 now also supports an XML log output format for applications that need XML downstream.
7. Bug fixes, XML improvements, C++11 improvements
We've made lots of improvements to the XML engine, C++11 optimisations and numerous bug fixes - many that were reported by our users.