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.
1. Pre-encoding supportFix8 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 modeMany 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 groupsChanges 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 supportFix8 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 supportFor C++11 compatibility, Fix8 now supports std::thread. This will also improve portability.
6. Stream based log targets, XML loggerWe'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 improvementsWe've made lots of improvements to the XML engine, C++11 optimisations and numerous bug fixes - many that were reported by our users.
8. Issues fixed
Fixed Jira tickets FX-309,FX-308,FX-307,FX-306,FX-305,FX-304,FX-303,FX-302,FX-301,FX-300,FX-299,FX-298,FX-296,FX-295,FX-294,FX-293,FX-292,FX-291,FX-290,FX-289,FX-288,FX-287,FX-286,FX-236,FX-310,FX-311,FX-312,FX-314,FX-315,FX-316,FX-297,FX-254,FX-317,FX-318,FX-319,FX-41