All Versions
14
Latest Version
Avg Release Cycle
118 days
Latest Release
164 days ago

Changelog History
Page 1

  • v1.2.0

    March 03, 2020

    🚀 Release Notes

    ⬆️ See the upgrade instructions.

    👌 Improve MsgType(35) handling (Jonathan Heusser, Jussi Virtanen)

    When checking for SequenceReset(4), check the first byte of the MsgType(35) value before checking its length. This avoids one conditional check for most messages.

    ✂ Remove a dead branch from the MsgType(35) switch statement following the MsgSeqNum(34) handling.

    🛠 Fix send command in Philadelphia Terminal Client (Jussi Virtanen)

    👉 Make it possible to send a message containing a field with whitespace characters.

    👌 Improve FIXValue#asFloat and FIXValue#setFloat (Jussi Virtanen)

    👌 Improve FIXValueTest (Jussi Virtanen)

    👌 Improve FIXConfigTest (Jan Nielsen)

    ➕ Add example script for Philadelphia Terminal Client (Jussi Virtanen)

    🗄 Mark FIXValue#asCheckSum() as deprecated (Jussi Virtanen)

    👌 Improve Philadelphia Terminal Client documentation (Jussi Virtanen)

    👌 Improve FIXMessageParserBenchmark (Jussi Virtanen)

    ➕ Add a benchmark for when the incoming CheckSum(10) check is disabled.

    👌 Improve FIXMessageParser (Jussi Virtanen)

    🐎 Having the incoming CheckSum(10) check in a separate method makes message parsing 9.6% faster in the performance test when the incoming CheckSum(10) check is disabled and 3.7% faster when it is enabled.

    🐎 Inlining parsing of BeginString(8), BodyLength(9), and CheckSum(10) tags makes message parsing further 5.9% faster in the performance test when the incoming CheckSum(10) check is disabled and 6.1% faster when it is enabled.

    🛠 Fix wait command in Philadelphia Terminal Client (Jussi Virtanen)

    The wait command looked at received messages at an interval, stopping if the last received message had a matching MsgType(35) value. If two or more messages were received within one interval, the wait command might have missed a matching MsgType(35) value and erroneously continued waiting.

    ✂ Remove transitive Joda-Time dependency (Jussi Virtanen)

    Replace the transitive Joda-Time 2.10.5 dependency with a Joda-Time 2.x dependency. This makes it possible for applications to manage their Joda-Time 2.x and Philadelphia Core dependencies independently.

    👌 Improve FIXValue#asTimeOnly (Jussi Virtanen)

    Set the fields all at once rather than one by one. This makes the method 33% faster.

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 1.2.0
    Philadelphia FIX 4.2 philadelphia-fix42 1.2.0
    Philadelphia FIX 4.3 philadelphia-fix43 1.2.0
    Philadelphia FIX 4.4 philadelphia-fix44 1.2.0
    Philadelphia FIX 5.0 philadelphia-fix50 1.2.0
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 1.2.0
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 1.2.0
    Philadelphia FIXT 1.1 philadelphia-fixt11 1.2.0

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v1.1.1

    June 25, 2019

    🚀 Release Notes

    🛠 Fix message header buffer handling (Jussi Virtanen)

    Before manipulating the message header, invoke ByteBuffer#clear() to reset the buffer's limit back to its capacity.

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 1.1.1
    Philadelphia FIX 4.2 philadelphia-fix42 1.1.1
    Philadelphia FIX 4.3 philadelphia-fix43 1.1.1
    Philadelphia FIX 4.4 philadelphia-fix44 1.1.1
    Philadelphia FIX 5.0 philadelphia-fix50 1.1.1
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 1.1.1
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 1.1.1
    Philadelphia FIXT 1.1 philadelphia-fixt11 1.1.1

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v1.1.0

    June 21, 2019

    🚀 Release Notes

    👌 Improve FIXValue class (Jonathan Heusser, Jussi Virtanen)

    👉 Make FIXValue#set() work correctly if the specified value container contains a value at a non-zero offset.

    ⚡️ Optimize the bytecode sizes of various methods so that they are under HotSpot's default maximum inline size of 35 bytes. Move the logic to construct and throw exceptions off the fast path. Replace a modulo operation with a bitwise AND operation.

    👌 Improve FIXConnection class (Jussi Virtanen)

    🚚 Simplify message header and trailer handling. Move the logic to handle unexpected MsgSeqNum(34) values as well as construct and throw exceptions off the fast path. Simplify TestRequest(1) and SequenceReset(4) handling.

    ✅ After sending a TestRequest(1) message, consider the keep-alive procedure successful on receiving any data from the other party, not just a Heartbeat(0) message.

    ⚡️ Optimize the bytecode sizes of FIXConnection#update() and FIXConnection#updateCompID() so that they are under HotSpot's default maximum inline size of 35 bytes. Note that after this change, these methods will throw a NullPointerException instead of an IllegalStateException if any of the required fields are not found.

    ⚡️ Optimize FIXMessage class (Jussi Virtanen)

    🚚 Move the logic to construct and throw exceptions off the fast path.

    ⚡️ Optimize FIXTimestamps class (Jussi Virtanen)

    ➕ Add a buffer to make formatting operations faster.

    👌 Improve FIXMessageParser class (Jonathan Heusser, Sergey Khomich, Jussi Virtanen)

    🐎 Make the class public. Replace a modulo operation with a bitwise AND operation. Add a performance test.

    ➕ Add FIXValue#asBoolean() and FIXValue#setBoolean() methods (Jussi Virtanen)

    ⚡️ Optimize FIXTags class (Jussi Virtanen)

    🚚 Move the logic to construct and throw exceptions off the fast path.

    👌 Improve code quality (Jan Nielsen, Jussi Virtanen)

    🚚 Clean up project dependencies. Clean up imports. Remove superfluous public modifiers. Use final modifier.

    👌 Improve Philadelphia Code Generator (Jussi Virtanen)

    👉 Make Philadelphia Code Generator's version track Philadelphia's version. Add a comment to output files indicating that they have been automatically generated.

    👌 Improve Philadelphia Terminal Client (Jussi Virtanen)

    🖐 Handle Ctrl+C and Ctrl+D. Fix command completion.

    👌 Improve Philadelphia Example Initiator (Arturo Salinas)

    🛠 Fix coordinated omission: instead of sending the next message right after receiving the previous message, send messages at regular intervals.

    ⬆️ Upgrade to Joda-Time 2.10.2 (Jussi Virtanen)

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 1.1.0
    Philadelphia FIX 4.2 philadelphia-fix42 1.1.0
    Philadelphia FIX 4.3 philadelphia-fix43 1.1.0
    Philadelphia FIX 4.4 philadelphia-fix44 1.1.0
    Philadelphia FIX 5.0 philadelphia-fix50 1.1.0
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 1.1.0
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 1.1.0
    Philadelphia FIXT 1.1 philadelphia-fixt11 1.1.0

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v1.0.0

    August 17, 2018

    🚀 Release Notes

    • ✂ Remove FIXField class
    • ➕ Add FIXMessage#tagAt() method
    • ➕ Add FIXMessage#valueAt() method
    • 📇 Rename FIXMessage#findIndex() method to indexOf()
    • 📇 Rename FIXMessage#findField() method to valueOf()
    • ⚡️ Optimize TCP socket handling
    • ➕ Add FIXMessage.fromString() method
    • 📇 Rename FIXSession class to FIXConnection
    • 📇 Rename FIXStatusListener class to FIXConnectionStatusListener
    • ⬆️ Upgrade to Joda-Time 2.10

    ⬆️ See the upgrade instructions for more details.

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 1.0.0
    Philadelphia FIX 4.2 philadelphia-fix42 1.0.0
    Philadelphia FIX 4.3 philadelphia-fix43 1.0.0
    Philadelphia FIX 4.4 philadelphia-fix44 1.0.0
    Philadelphia FIX 5.0 philadelphia-fix50 1.0.0
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 1.0.0
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 1.0.0
    Philadelphia FIXT 1.1 philadelphia-fixt11 1.0.0

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v0.7.0

    June 25, 2018

    🚀 Release Notes

    • ➕ Add comment support to Philadelphia Terminal Client
    • ➕ Add input file support to Philadelphia Terminal Client
    • 👌 Improve messages command in Philadelphia Terminal Client
    • ➕ Add sleep command to Philadelphia Terminal Client
    • ➕ Add wait command to Philadelphia Terminal Client
    • 👉 Make Clock interface public
    • ➕ Add FIXMessage#findIndex method
    • Clean up MatchType(574) handling in Philadelphia FIX 5.0
    • ➕ Add Philadelphia Code Generator

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 0.7.0
    Philadelphia FIX 4.2 philadelphia-fix42 0.7.0
    Philadelphia FIX 4.3 philadelphia-fix43 0.7.0
    Philadelphia FIX 4.4 philadelphia-fix44 0.7.0
    Philadelphia FIX 5.0 philadelphia-fix50 0.7.0
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 0.7.0
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 0.7.0
    Philadelphia FIXT 1.1 philadelphia-fixt11 0.7.0

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v0.6.1

    March 06, 2018

    🚀 Release Notes

    • ➕ Add FIXMessage#toString() method
    • ➕ Add FIXConfig#toString() method
    • 👉 Use System.arraycopy() in FIXValue#set() method

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 0.6.1
    Philadelphia FIX 4.2 philadelphia-fix42 0.6.1
    Philadelphia FIX 4.3 philadelphia-fix43 0.6.1
    Philadelphia FIX 4.4 philadelphia-fix44 0.6.1
    Philadelphia FIX 5.0 philadelphia-fix50 0.6.1
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 0.6.1
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 0.6.1
    Philadelphia FIXT 1.1 philadelphia-fixt11 0.6.1

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v0.6.0

    August 13, 2017

    🚀 Release Notes

    • Extract Philadelphia FIX 4.2 module
    • Extract Philadelphia FIX 4.3 module
    • Extract Philadelphia FIX 4.4 module
    • Extract Philadelphia FIX 5.0 module
    • Extract Philadelphia FIX 5.0 SP1 module
    • Extract Philadelphia FIX 5.0 SP2 module
    • Extract Philadelphia FIXT 1.1 module
    • ➕ Add alias for CxlRejResponseTo(434) value
    • ➕ Add FIXValue#copyTo method
    • Clean up QuoteCondition(276) values
    • 👉 Make incoming CheckSum(10) check optional
    • 👉 Use direct byte buffer
    • 👌 Improve FIXSession performance
    • 👌 Improve project structure
    • ⬆️ Upgrade to Joda-Time 2.9.9

    Maven

    The following artifacts are available in the Central Repository:

    Name Artifact ID Version
    Philadelphia Core philadelphia-core 0.6.0
    Philadelphia FIX 4.2 philadelphia-fix42 0.6.0
    Philadelphia FIX 4.3 philadelphia-fix43 0.6.0
    Philadelphia FIX 4.4 philadelphia-fix44 0.6.0
    Philadelphia FIX 5.0 philadelphia-fix50 0.6.0
    Philadelphia FIX 5.0 SP1 philadelphia-fix50sp1 0.6.0
    Philadelphia FIX 5.0 SP2 philadelphia-fix50s2p 0.6.0
    Philadelphia FIXT 1.1 philadelphia-fixt11 0.6.0

    The Group ID for all artifacts is com.paritytrading.philadelphia.

  • v0.5.0

    August 23, 2016
    • 🛠 Fix links in documentation
    • ➕ Add access to byte by index
  • v0.4.0

    May 24, 2016
    • 🔦 Expose next incoming and outgoing MsgSeqNum(34)
    • 🔦 Expose SenderCompID(49) and TargetCompID(56)
    • 🛠 Fix handling of incoming message too long to fit into receive buffer
  • v0.3.0

    March 30, 2016
    • 🚚 Move to com.paritytrading namespace