Friday, 16 September 2016

Fix8 version 1.4.0 released!

It's been a while but here is the latest maintenance update for Fix8 Open Source. It addresses a number of important bugs. Thanks to all who have contributed to making the framework increasingly mature and stable

Download here.

For new features and enhancements, see Fix8Pro.

Summary of changes

  • Fixed Jira tickets FX-530,FX-533,FX-539,FX-562,FX-563,FX-564,FX-560,FX-588,FX-569,FX-596,FX-642,FX-633,FX-615,FX-609,FX-655
  • Added verison tag to Nuget packages
  • Fixed Seqedit reports corrupted persister index
  • Added Provide programmatic way to set reset sequence number flag on logon
  • Fixed XML parser should report line numbers of mismatched element start/end
  • Added Compiler should optionally report unused tags
  • Added Session should provide callback for rejected inbound message
  • Fixed XmlData fields unsupported
  • Fixed Rejected inbound messages do not appear in protocol log
  • Fixed FIX time to epoch converter
  • Fixed Acceptor mode: Crash while receiving logout message
  • Fixed Sequence number reset does not function correctly
  • Fixed Expected Sequence number reaches extreme and unrealistic value
  • Upgraded FastFlow to v2.1.0
  • Added ConsoleMenu permit messages to be created from inbound messages
  • Added ConsoleMenu SelectMsgFrom now displays message sending time and seqnum if available
  • Fixed crash on "Send one message, optionally save before send"
  • Fixed f8c unhandled exception while stoul'ing fields
  • Fixed login_retries="0" not working
  • Fixed Expected Sequence number reaches extreme and unrealistic value
  • Fixed Crashes on heartbeat

Wednesday, 30 December 2015

Fix8 version 1.4.0 coming soon....

We're busy on a number of fronts with both the community (open source) and commercial version. We will be releasing 1.4.0 very soon.

Sunday, 23 August 2015

Fix8 version 1.3.4 released!

It's been a while but here is the latest maintenance update for Fix8 Open Source. It addresses a number of important bugs. Thanks to all who have contributed to making the framework increasingly mature and stable

Download here.

For new features and enhancements, see Fix8Pro.

Summary of changes

  • Fixed Jira tickets - FX-511, FX-490, FX-491, FX-480, FX-470, FX-336, FX-525, FX-524, FX-523, FX-520, FX-516, FX-527
  • Client logout crashes FIX server
  • SessionWrapper needs to be cleaned up in the destructor
  • Fixed Seqedit reports corrupted persister index
  • Fixed compile errors on OSX
  • Fixed Provide hook in Session to modify header before sending
  • ReliableClientSession crash when connection failed
  • Fixed Crash on sending cloned message
  • Added Provide optional improved checksum calculation
  • Added Provide Consolemenu method to remove msg from list and return to application
  • Fixed Replace get_value<> with stoi, stoul, stof, etc
  • Added Provide non-const header and trailer accessors
  • Fixed With f8config installed in system includes, #defines causes namespace pollution
  • Fixed Test harness improvements, testing

Wednesday, 22 April 2015

Fix8 version 1.3.3 released!

This maintenance update for Fix8 Open Source addresses a number of important bugs. Download here.

For new features and enhancements, see Fix8Pro.

Summary of changes

  • Fixed Jira tickets - FX-321, FX-319, FX-336, FX-480
  • Fixed Provide capability to build stock FIX libraries
  • Fixed seqedit Poco linkage prolem
  • Added CMake find_package support
  • Fixed ssout_xxxx() macros can be used outside FIX8 namespace
  • Fixed Schedule::test bug fix for calculating "today" in local time zone
  • Fixed support application framework to manage all purmutations of process_model and mode
  • Fixed issue in MessageBase::clear
  • Fixed XML parser does not support CDATA values
  • Fixed ReliableClientSession crash when connection failed
  • Fixed Client logout crashes FIX server

Friday, 2 January 2015

Fix8 version 1.3.2 released!

This maintenance update for Fix8 Open Source is our first for the new year and addresses a number of important bugs. Download here.

For new features and enhancements, see Fix8Pro.


Summary of changes


  • Fixed Jira tickets - FX-394,FX-385,FX-379,FX-372,FX-371,FX-355,FX-353,FX-350, 
  • FX-321,FX-328, FX-326, FX-307, FX-332, FX-333, FX-369, FX-354, FX-323
  • Fixed schedule is_valid() returns true even schedule is invalid under win
  • Fixed Fix8 has empty timestamps under windows
  • Fixed client session reconnect failure after previous abnormal session disconnect
  • Fixed unhandled message and reject problems
  • Fixed invalid tag in test log of Win build
  • Fixed Tickval::todouble returning 0
  • Fixed provide capability to build stock FIX libraries
  • Fixed improve VS2013 build wth stock FIX schemas
  • Fixed replace time/date handling (Tickval) with C++11 std::chrono
  • Fixed ReliableClientSession crash when socket connection refused
  • Fixed Fix8 test harness (client) improvements
  • Fixed provide support for longname field lookup
  • Fixed add git revision & fix8 version reporting to log during fix8 start
  • Fixed crashing in hftest of Win build
  • Fixed on exit when using std::thread, logger reports "resource deadlock avoided"
  • Fixed copy_legal causes segfault on windows
  • Fixed f8test client and server core dumps on exit when compiled with stdthread

Sunday, 24 August 2014

Fix8 version 1.3.1 released!

This patch release fixes the windows build issues in 1.3.0.

Download here.

1. Windows build issue

Minor changes to fix build issues with Windows and 1.3.0


2. Issues fixed

Fixed Jira tickets FX-325


3. Summary of changes

  • 1.3 build bug under Win

Monday, 18 August 2014

Fix8 version 1.3.0 released

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. 


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

Summary of changes

  • Provide XML logger
  • Overhaul logging system
    • allow user to specify field ordering as well as which fields to log
    • overhaul logging singleton
    • integrate stream based level specific logging targets
    • new targets - global, session and connection:
    • support logging levels
    • allow user to specify field delimiter inter field, e.g. a|b|c and field enclosing e.g. [a][b][c]
    • support no-op style expressions for not set logging levels
    • add additional fields: location, sstart (time since start in secs), mstart (time since start in msecs)
  • Facilitate "pass-through" fields which are not mentioned in the Dictionary
  • Fixed MAGIC_NUM expression can cause problems
  • Migrate Fix8 to C++11
  • Fixed XML parser does not support CDATA values
  • Support package and configuration string queries
  • Fixed Loggers should support log level
  • Allow shallow message construction
  • Provide Message::move_legal
  • Fixed gcc 4.7.2 linux build broken
  • Remove main Nuget package link dependency to gtest
  • Provide flag settings to control XML parser
  • Replace FIX8::dthread with std::thread
  • Fixed Compilation error on clean checkout 14/07/10
  • Fixed Protocol Logger Thread is not destroyed after deleting session
  • Fixed Wrong Timer implementation
  • RAII std::ostream Singleton log target
  • Fixed GlobalLogger::create_instance needs refactoring
  • Fixed Precision was altered unintentionally
  • Support flattened field query in messages
  • Allow SingleLogger to accept user defined LogFlags
  • Add mini-timestamp flag to logger
  • Fixed Update on 14-06-24 introduced build warnings on win
  • Fix variadic templates compile error under VS2013
  • Provide programmatic/generic method of loading and using Fix8 metadata
  • Permit lookup of fields and messages by their long name.
  • Xml improvements: find_child, GetLocString
  • Fixed Field equivalence operators missing
  • Option to compiler to generate router stubs without defaults
  • Fixed Session state does not changed when connection goes down.
  • Allow the option to the getters from a fix message those values that are fixed point values to be stored in float
  • Make dist, rpmbuild and pro build broken
  • Make nuget package generation files (*.autopkg) to be version independent