- Added testing for CPython 3.12 (Released: 2023/10/02)
- Dropped testing for CPython 3.7 (EOL: 2023/06/27)
- Fix checksum calculation bug introduced in v1.0.16. This will break any usage that relies on simplefix calculating the checksum value: most users will need to upgrade.
- Add missing EXECTYPE constants
- Better conversion to string (#40)
- Better installation instructions (#45)
- Add testing for large (64 bit) integer values (#52)
- Fixed handling of IntEnum tag values (#56)
- Added testing for CPython 3.11 (Released: 2022-10-24)
- Dropped testing for Python 3.6 (EOL: 2021-12-31)
- Add framework for parser options
- Add parsing error exceptions
- Support parsing of empty values (#34)
- Updated programmer's guide
- Added testing for CPython 3.10 (Released: 2021-10-04)
- Removed testing for:
- CPython 2.6 (EOL: 2013-10-29)
- CPython 2.7 (EOL: 2020-01-01)
- CPython 3.3 (EOL: 2017-09-29)
- CPython 3.4 (EOL: 2019-03-18)
- CPython 3.5 (EOL: 2020-09-30)
- Fix typo in constant
- Add additional tags
- Allow configuration of alternative end-of-message indicators. This is useful for parsing log files or mangled FIX with a non-standard terminating tag.
- Added various tags and their values (thanks Christian Oudard).
- Added testing for CPython 3.8 (Released: 2019-10-14)
- Dropped testing for CPython 3.3 (EOL: 2017-09-29)
- Fix parser issue when parsing a message where the data field length is parsed from one call to append, but the content field is appended and parsed later (ie. append, parse -> None, append, parse -> msg).
- Never released
- Fix a few issues pointed out by LGTM.
- Added testing for CPython 3.7 (Released: 2018-06-27)
- Added new remove() function to delete a field from a message
- Added new __str__() special function, useful for showing a message in logging or debugging.
- Linked to https://simplefix.readthedocs.io from the README, hopefully making the detailed docs more visible.
- Added more constant values from the FIX specifications.
- Added support for Python2.6 to support RHEL6/CentOS6 which doesn't EOL until November 2020.
- Added support for in and not in tests for tag numbers in messages.
- Adding a field with a value of None will silently fail.
- Unless it's preceded by a length field, a data type value will be treated as a standard (string) value.
- Some major changes to the use of strings (vs. bytes) for Python 3.x, with all received values now exported as bytes, and input values being transformed to bytes using UTF-8 encoding (from strings) and ASCII encoding for everything else. If you want to use a different encoding, transform to bytes yourself first, but you probably should be using the FIX DATA type for encoded values anyway?
- Also a major expansion/rewrite of date and time value handling. Added a bunch of method covering all the FIX date/time types properly. The existing append_time method is deprecated, in favour of more specifically named methods for UTC and local timezones, and datetime, date-only and time-only values.
- Add support for adding "header" fields: they are inserted, starting at the beginning of the message, prior to any existing fields. This allows FIX header fields, for instance SendingTime(52), to be added after the body fields.
- Fix error in timestamp formatting
- Improved documentation
- Flag release as Production/Stable.
- Added handling of FIX 'data' type fields to the parser. Data fields can contain arbitrary data, including the SOH character, and were not previously supported.
- Adding testing for CPython 3.6 (Released: 2016-12-23)
- Added ability to iterate over the fields in a message.
- More test coverage.
- Changes to raw mode, now supported only for
encode()
. - Improved test coverage.
- Added software license.
- Initial release