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
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
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 exceptionCompare 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