Friday, 17 January 2014

Fix8 announces the 1.0.0 (GA) release of the Fastest Open Source C++ FIX Protocol Framework

Sydney, 16 January, 2014 – Fix8 Market Technologies Pty Ltd, today announced the 1.0.0 (GA) release of Fix8, the Fastest Open Source C++ FIX (Financial Information Exchange) Framework. Fix8 encodes a typical FIX protocol message 3.2 times faster and decodes it 3.0 times faster in comparison to other open source C++ FIX frameworks. This translates into reduction of encode latency by 69% and decode latency by 67%.

Commenting on the Fix8 GA release, CEO of Fix8 Market Technologies Pty Ltd, David Dight said “I am very excited to announce the first GA release of Fix8 to the general public. Fix8 is an attractive platform for latency sensitive FIX protocol users who need a well-supported open source C++ FIX library. We are a strong team of developers committed to delivering a solid and powerful FIX library. Our goal is to develop, maintain and enhance this platform for many years to come. To this end we aim to build a strong and active global Fix8 user community. We believe that a bigger user base, a more solid product, and commercial support options will translate into a superior user experience.”

Version 1.0.0 of Fix8 supports all widely used FIX versions - 4.X to 5.X - as well as FIXT1.X. Custom FIX variants are also easily supported and multiple FIX variants can be used in the same application. Fix8 runs on Linux, OSX and Windows and supports IA32, x86-64, Itanium, PowerPC and ARMv7 architectures.
Fix8 project is backed by extensive product documentation, FAQ, issue reporting and tracking system (JIRA) and Wiki guides. The project’s discussion forums provide a platform for community support and are actively monitored by the product developers and power users.

Fix8 is a member of FIX Trading Community, formerly FIX Protocol Limited (FPL). FTC is the non-profit industry association responsible for defining, managing and promoting increased usage of FIX as an enabler for electronic trading.

Thursday, 16 January 2014

Fix8 version 1.0.0 (GA) released

This is our first General Availability (GA) release of Fix8! This release brings together two years of combined effort by the Fix8 team and our users and contributors. Thank-you to all who have helped us achieve this important milestone. 

1. Resiliency

In a typical client production environment your provider probably has a pool of remote servers that you can connect to. These are often designated as 'primary' or 'secondary' and so forth. Sometimes all servers in a service group are intended to complement each other. In other cases, the 'secondary' and subsequent servers are designed to be used only when the 'primary' has failed. With version 1.0.0 Fix8 will support resiliency.

2. Native SSL

Fix8 version 1.0.0 now supports SSL sessions natively. Thanks to Sergey Sedreev for his work here.

3. Stable, production-ready

Fix8 has been in beta testing mode for almost two years. During this time numerous issues have been addressed to improve its robustness and reliability. We have a number of existing production sites now reporting solid reliable performance.

4. Full system documentation including developer API

A lot of work has been done bringing the documentation up to scratch. Fix8 provides an extensive wiki, FAQ, developer API documentation as well as user supported forums and groups

5. Improvements

Batch sending, permissive message mode, OSX support and more.

6. Issues fixed

Fixed Jira tickets FX-107FX-129FX-130FX-131FX-134FX-139FX-140FX-141
FX-142, FX-143FX-144FX-146FX-147FX-149FX-150FX-151FX-157FX-158
FX-159FX-161,FX-162, FX-163, FX-164, FX-165, FX-166, FX-167, FX-168, FX-169,
FX-170, FX-173, FX-174

Summary of changes

  • Provide support for basic client failover capability
  • Make connection timeout configurable
  • Add support for non-standard XML attribute comments
  • Add support for OSX
  • Add repeating group test cases for permissive mode
  • Support a permissive message field mode in decoder
  • Provide override to -fno-var-tracking-assignments
  • Fixed Session::send_process() dumps core in reliable mode if client drops connection before login
  • Added When working in coro mode there has to be a flag that session is ready to operate
  • Added When working in coro mode reader.execute() calls to base class operator()
  • Merged fix8:dev with fix8:master
  • Added MonthYear and LocalMktDate Date Formats
  • Fixed f8test doesn't work as expected
  • Fixed clang 3.2-3.4 compilation warnings
  • Fixed Sending of FIX message takes too long
  • Added Batch message sending
  • Fixed MessageBase::extract_element(..., f8String& tag, f8String& val) is ineffective
  • Fixed FIXReader calls sockRead too many times
  • Added Make includes relative to project root
  • Added SSL support
  • Fixed XmlElement::find with attribute and value not finding correctly
  • Fixed Segfault with non-set SessionConfig on heartbeat
  • Added Support custom field addition on f8c command line
  • Fixed Fields of type 'data' are not parsed according to FIX specification
  • Fixed time_to_epoch tm_mon ternary operator does not allow January dates to be converted to an epoch timestamp
  • Fixed does not reference f8dll.h
  • Fixed Build error on OS X -rdynamic
  • Fixed error: 'uint32_t' does not name a type
  • Fixed Make include guards standard-compliant
  • Code freeze for GA 1.0.0 final