Wednesday, 9 April 2014

Fix8 development stream now C++11

We have made the move to C++11. From version 1.2.0 we will only build with C++11 support.

For those who want to try this out now, grab a copy or fork and clone from the fix8:dev branch on github!

Sunday, 6 April 2014

Fix8 version 1.1.0 released

This the first minor release since our GA release of Fix8! This release adds to and improves stability, reliability as well as adding new features. Thanks to all who have helped get us across the line today.


1. Redis and Memcached persisters

In preparation for our full managed resiliency we have implemented two popular memory caches as Fix8 persisters. Redis, in particular, offers built-in resiliency, replication and reliability. Fix8 servers can be configured to take advantage of these features straight away.


2. Win64 Support

Fix8 now builds and runs on Windows 64 bit.


3. Hub support

Additional capability has been added to Fix8 to support operation in hub mode. This includes session and login scheduling. In our future release we will provide full FIX hub support which will leverage these features.


4. Issues fixed

Fixed Jira tickets  FX-223, FX-222, FX-221, FX-219, FX-216, FX-214, FX-213, FX-212, FX-211, FX-209, FX-206, FX-205, FX-204, FX-200, FX-198, FX-193, FX-192, FX-191FX-189FX-187FX-185, FX-183, FX-180, FX-178, FX-177, FX-175, FX-184, FX-224FX-225, FX-226FX-227, FX-203FX-230

Summary of changes

  • Fixed Win64 build failed with seqnum mismatch
  • Fixed f8c compiler crashes if schema file not found
  • Fixed Logfile creation should handle new paths
  • Fixed Won't reconnect if exchange log session out.
  • Fixed Deadlock in retransmission behaviour
  • Fixed Session silently ignores no logger, no plogger and no persister errors
  • Fixed Speedup Win build
  • Fixed Make auto linking fix8 lib optional
  • Fixed Remove public static vars from generated code
  • Fixed hftest works incompletely under win32/64
  • Fixed Test fix8 with onload/SFC 10G cards
  • Fixed Reliable session fails to re-connect on connection errors
  • Fixed UTs build fails when running via make
  • Fixed Hang in FIXReader::sockRead
  • Fixed gcc 4.2 and greater supports -fno-var-tracking -fno-var-tracking-assignments
  • Fixed Complete build options for Pthread API
  • Fixed Non-standard XML attribute comment problem
  • Fixed update Windows Wiki (confluence) page
  • Fixed f8print will not decode f8test runs properly
  • Added global logger needs optional file and line attributes when logging
  • Added provide redis persister
  • Added malloc configuration defines to f8config.h
  • Added support for Session based BusinessMessageReject ('j')
  • Added support for Session login and logout time
  • Added make socket read buffering optional
  • Added expose FIX8::Session scheduler to user session class
  • Added support for Session Start time and End Time
  • Added message handling: allow non-const operations
  • Added mechanism to support ad-hoc message recycling
  • Added permit alternate source/header extensions when generating code
  • Added session state change event callback
  • Added generic access to key/value pair put() and get() in Persister
  • Added precompiled header to f8c generated files

Monday, 24 February 2014

Managed resiliency with Redis

We are working on providing a robust managed resiliency solution for Fix8. We have implemented a Redis persister. This will provide a resilient high availability cache for a FIX server. Redis offers us a pretty well ready made solution to this problem. We are currently testing this now and hope to release this in version 1.1.0

You can try a beta of this from our development stream.

Thursday, 13 February 2014

FIXNOX and MultiWave join forces with Fix8MT as official partners to promote the Fix8 Open Source Framework

Sydney, Tokyo, 13 February, 2014 – Fix8 Market Technologies Pty Ltd (Fix8MT), FIXNOX and MultiWave Co., Ltd. today jointly announced the founding of a partnership around Fix8, the fastest open source C++ FIX (Financial Information Exchange) Protocol Framework.  This partnership aims to create a global community for this new generation open source FIX Framework and the three firms will jointly work to promote and support Fix8 globally.


David Dight, CEO of Fix8 Market Technologies, stated “I am encouraged to have new partners to support Fix8 initiatives.  FIXNOX and MultiWave have a very similar culture to Fix8, one in which we all value transparency, fairness and a spirit of partnership.  Together I believe we can build a new FIX community where everybody benefits through mutual contribution.”   


Commenting on the announcement of this tri-party partnership, Irfan Syed, Principal at FIXNOX said: “As FIX Protocol’s use in becoming widespread, especially with its support for new asset classes and post-trade functions, there was large gap in marketplace for an open source, low latency and well-supported FIX Framework. Fix8 hit the sweet spot with its recent release of 1.0 GA version, which is backed by solid technology foundation and aggressive product roadmap.  Seeing the passion of David and rest of the Fix8 development team, FIXNOX couldn’t resist but to be part of the future.”


Kotaro Kondo, CEO of MultiWave, commented “We are seeing growing interests for open source FIX Framework in Japan and other Asia Pacific regions and we had been looking for solid and well-supported open source software in the market.  When we encountered Fix8, we knew this is it.  We are excited to be the official partner for Fix8 in Japan.”     




About Fix8 Open source FIX Framework
Fix8 is a community supported open source FIX framework. It is popular among low-latency FIX users.  According to the official benchmark result, Fix8’s average encoding/decoding speed is 2.1/3.2 μs/msg (microseconds/msg).  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.
The 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.


About Fix8 Market Technologies
Fix8 Market Technologies (Fix8MT) develops and maintains the Fix8 open source Framework, and has developers in Australia, China and the Russian Federation. Fix8MT is responsible for providing and managing additional support and consultancy services, and works closely with the Fix8 open source community to grow commercial support services through 3rd party ISVs.



About FIXNOX
FIXNOX designs and implements world-class FIX Protocol messaging systems, infrastructure, and operations for its clients around the globe. Founded in 2012 with a mission to support standards-compliant and low latency FIX implementations, FIXNOX is also involved in various projects to bring next-generation FIX products to marketplace.



About MultiWave
MultiWave develops and maintains sophisticated trading / market data solutions for Japanese retail & institutional customers and gets frequently involved in FIX Protocol implementations and consulting work. MultiWave also has operations in Papua New Guinea since 2011 via its subsidiary, MultiWave PNG, which provides IT solutions to government, educational and business customers in the local market.

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.


http://www.fix8.org

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 Makefile.am 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

Friday, 20 December 2013

Fix8 version 1.0.0 Release Candidate RC3

*Updated*

This is the third release candidate for our first GA release of Fix8. We are seeking feedback from our users so please post your comments to the support group or raise a Jira ticket if you find anything we should know about. 

Download zip and tar.

 We will be releasing Fix8 version 1.0.0 in mid January 2014.


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. SSL

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

3. Improvements

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

4. Bug fixes

Fixed Jira tickets FX-107, FX-129, FX-130, FX-131, FX-134, FX-139, FX-140, FX-141
FX-142, FX-143, FX-144, FX-146FX-147, FX-149, FX-150, FX-151, FX-157, FX-158
FX-159, FX-161

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