FIX 5.0 SP2

The FIX 5.0 SP2 dictionary as shipped in @boarteam/fix-dict-fix50sp2. On the wire it rides the FIXT.1.1 transport: BeginString (tag 8) says FIXT.1.1, and the application version travels in ApplVerID (1128) or the session's DefaultApplVerID (1137).

What it contains

Fields
1452
Messages
115
Components
176
Datatypes
28

Transport and application are separate layers

From FIX 5.0 on, the session layer is its own protocol: FIXT.1.1 owns the envelope and the admin messages (Logon, Heartbeat, Reject…), while FIX 5.0 SP2 defines the business messages. The shipped dictionary is self-contained — envelope, session and application messages in one file — so parse and validate work exactly like they do for FIX 4.4. For layer-attributed validation (was this finding the session's fault or the application's?), @boarteam/fix also accepts the split pair: the transport-only @boarteam/fix-dict-fixt11 plus this dictionary.

Decode FIX 5.0 SP2 in TypeScript

decode.tsts
import { createFixEngine } from "@boarteam/fix";import { dictionary } from "@boarteam/fix-dict-fix50sp2";const fix = createFixEngine(dictionary);const { message, issues } = fix.parse(raw);message.beginString;          // "FIXT.1.1" — the transport speaks in tag 8message.fields[1128]?.value;  // ApplVerID "9" = FIX 5.0 SP2, when presentissues;                       // FixIssue[] — never an exception

Compare versions

Every entity page shows per-version presence and requiredness side by side, FIX 5.0 SP2 included. For the 4.x delta, see FIX 4.4 vs FIX 4.2.

Decode this in your own code

The same engine that produced the decoded example above is an Apache-2.0 npm package with zero runtime dependencies. It runs in Node and in the browser, and parse() returns problems as data instead of throwing.

npm i @boarteam/fix @boarteam/fix-dict-fix50sp2