The messaging API was reorganized so the market data domain API and the message decoding API are separated more clearly.
The important mechanical rules are:
For migrated code, local namespace aliases usually keep call sites readable:
Recommended migration flow:
Use these tables as the searchable migration reference. The old names are available only through deprecated compatibility declarations.
For broad includes, use either:
| Old name | New name |
|---|---|
| Char | Messaging::Char |
| CHAR | Messaging::CHAR |
| Int8 | Messaging::Int8 |
| UInt8 | Messaging::UInt8 |
| Int16 | Messaging::Int16 |
| UInt16 | Messaging::UInt16 |
| Int32 | Messaging::Int32 |
| UInt32 | Messaging::UInt32 |
| Int64 | Messaging::Int64 |
| UInt64 | Messaging::UInt64 |
| IntegralConstant<Type, Constant> | Messaging::IntegralConstant<Type, Constant> |
| UnwrapType<Type> | Messaging::UnwrapType<Type> |
| LocalMktDate | Messaging::LocalMktDate |
| Asset | Messaging::Char[6] |
| CFICode | Messaging::Char[6] |
| CountryCode | Messaging::Char[2] |
| Currency | Messaging::Char[3] |
| FeedType | Messaging::Char[3] |
| LongName | Messaging::Char[35] |
| QuoteReqId | Messaging::Char[23] |
| SecurityExchange | Messaging::Char[4] |
| SecurityGroup | Messaging::Char[6] |
| SecuritySubType | Messaging::Char[5] |
| SecurityType | Messaging::Char[6] |
| String3 | Messaging::Char[3] |
| String5 | Messaging::Char[5] |
| String6 | Messaging::Char[6] |
| String7 | Messaging::Char[7] |
| String8 | Messaging::Char[8] |
| String12 | Messaging::Char[12] |
| String20 | Messaging::Char[20] |
| String25 | Messaging::Char[25] |
| Symbol | Messaging::Char[20] |
| Text | Messaging::Char[180] |
| UnderlyingSymbol | Messaging::Char[20] |
| UnitOfMeasure | Messaging::Char[30] |
| UserDefinedInstrument | Messaging::UserDefinedInstrument |
| StrRef | Messaging::StrRef |
| toStrRef(...) | Messaging::toStrRef(...) |
| toStr(...) for messaging values | Messaging::toStr(...) |
| Decimal | Messaging::Decimal |
| FloatingPointDecimal<MantissaType, ExponentType> | Messaging::FloatingPointDecimal<MantissaType, ExponentType> |
| FixedPointDecimal<MantissaType, ExponentType> | Messaging::FixedPointDecimal<MantissaType, ExponentType> |
| DecimalMantissa | Messaging::DecimalMantissa |
| DecimalExponent | Messaging::DecimalExponent |
| TimeTraits | Messaging::TimeTraits |
| TimeSpanFormat | Messaging::TimeSpanFormat |
| TimeSpan | Messaging::TimeSpan |
| Month | Messaging::Month |
| TimestampFormat | Messaging::TimestampFormat |
| Timestamp | Messaging::Timestamp |
| Byte | Messaging::Byte |
| Word | Messaging::Word |
| DWord | Messaging::DWord |
| QWord | Messaging::QWord |
| MessageSize | Messaging::MessageSize |
| CompositeExtractor<Size> | Messaging::CompositeExtractor<Size> |
| MessageTemplateId | Messaging::MessageTemplateId |
| BinaryBlockBase | Messaging::BinaryBlockBase |
| BinaryMessage | Messaging::SbeMessage |
| BinaryBlock<Container, BlockLength> | Messaging::BinaryBlock<Container, BlockLength> |
| SbeFields<Container, BlockLength> | Messaging::SbeFields<Container, BlockLength> |
| BinaryGroupEntry<Length> | Messaging::SbeGroupEntry<Length> |
| BinaryGroupEntries<EntryType, Length, NumInGroup, EncodedLength> | Messaging::SbeGroupEntries<EntryType, Length, NumInGroup, EncodedLength> |
| BinaryGroup<EntryType, DimensionType, LengthType> | Messaging::SbeGroup<EntryType, DimensionType, LengthType> |
| BinaryGroups<Length> | Messaging::SbeGroupList<Length> |
| SchemaVersion | Messaging::SchemaVersion |
| SchemaTraits | Messaging::SchemaTraits |
| Decimal9 | Messaging::Decimal9 |
| NullDecimal9 | Messaging::NullDecimal9 |
| DecimalQty | Messaging::DecimalQty |
| NullDecimalQty | Messaging::NullDecimalQty |
| MaturityMonthYear | Messaging::MaturityMonthYear |
| NullMaturityMonthYear | Messaging::NullMaturityMonthYear |
| PRICE9 | Messaging::PRICE9 |
| NullPRICE9 | Messaging::NullPRICE9 |
| GroupSize | Messaging::GroupSize |
| GroupSize8Byte | Messaging::GroupSize8Byte |
| GroupSizeEncoding | Messaging::GroupSizeEncoding |
| MessageHeader | Messaging::MessageHeader |
| MessageHeaderBuilder | Messaging::MessageHeaderBuilder |
| InstAttribType | Messaging::InstAttribType |
| EntryTypeChannelReset | Messaging::EntryTypeChannelReset |
| EntryTypeLimits | Messaging::EntryTypeLimits |
| EntryTypeTrade | Messaging::EntryTypeTrade |
| EntryTypeVol | Messaging::EntryTypeVol |
| UpdateActionNew | Messaging::UpdateActionNew |
| UpdateTypeNew | Messaging::UpdateTypeNew |
| SecurityAltIDSourceISIN | Messaging::SecurityAltIDSourceISIN |
| SecurityIDSource | Messaging::SecurityIDSource |
| AggressorFlag | Messaging::AggressorFlag |
| AggressorSide | Messaging::AggressorSide |
| EventType | Messaging::EventType |
| HaltReason | Messaging::HaltReason |
| LegSide | Messaging::LegSide |
| EntryType | Messaging::EntryType |
| EntryTypeBook | Messaging::EntryTypeBook |
| EntryTypeDailyStatistics | Messaging::EntryTypeDailyStatistics |
| EntryTypeStatistics | Messaging::EntryTypeStatistics |
| UpdateAction | Messaging::UpdateAction |
| MoneyOrPar | Messaging::MoneyOrPar |
| OpenCloseSettlFlag | Messaging::OpenCloseSettlFlag |
| OrderUpdateAction | Messaging::OrderUpdateAction |
| PriceSource | Messaging::PriceSource |
| PutOrCall | Messaging::PutOrCall |
| RepoSubType | Messaging::RepoSubType |
| SecurityAltIDSource | Messaging::SecurityAltIDSource |
| SecurityTradingEvent | Messaging::SecurityTradingEvent |
| SecurityTradingStatus | Messaging::SecurityTradingStatus |
| SecurityUpdateAction | Messaging::SecurityUpdateAction |
| Side | Messaging::Side |
| WorkupTradingStatus | Messaging::WorkupTradingStatus |
| InstAttribValue | Messaging::InstAttribValue |
| MatchEventIndicator | Messaging::MatchEventIndicator |
| SettlPriceType | Messaging::SettlPriceType |
| NullInt32 | Messaging::NullInt32 |
| NullInt8 | Messaging::NullInt8 |
| NullLocalMktDate | Messaging::NullLocalMktDate |
| NullUInt16 | Messaging::NullUInt16 |
| NullUInt32 | Messaging::NullUInt32 |
| NullUInt64 | Messaging::NullUInt64 |
| NullUInt8 | Messaging::NullUInt8 |
| InstrumentDefinitionFixedIncome57 | Messaging::InstrumentDefinitionFixedIncome57 |
| InstrumentDefinitionFX63 | Messaging::InstrumentDefinitionFX63 |
| IncrementalRefreshBookLongQty64 | Messaging::IncrementalRefreshBookLongQty64 |
| IncrementalRefreshTradeSummaryLongQty65 | Messaging::IncrementalRefreshTradeSummaryLongQty65 |
| IncrementalRefreshVolumeLongQty66 | Messaging::IncrementalRefreshVolumeLongQty66 |
| IncrementalRefreshSessionStatisticsLongQty67 | Messaging::IncrementalRefreshSessionStatisticsLongQty67 |
| SnapshotFullRefreshLongQty69 | Messaging::SnapshotFullRefreshLongQty69 |
| AdminLogin408 | Messaging::AdminLogin408 |
| AdminLogout409 | Messaging::AdminLogout409 |
| AdminHeartbeat410 | Messaging::AdminHeartbeat410 |
| ChannelReset4 | Messaging::ChannelReset4 |
| AdminHeartbeat12 | Messaging::AdminHeartbeat12 |
| AdminLogin15 | Messaging::AdminLogin15 |
| AdminLogout16 | Messaging::AdminLogout16 |
| InstrumentDefinitionFuture54 | Messaging::InstrumentDefinitionFuture54 |
| InstrumentDefinitionSpread56 | Messaging::InstrumentDefinitionSpread56 |
| SecurityStatus30 | Messaging::SecurityStatus30 |
| IncrementalRefreshBook46 | Messaging::IncrementalRefreshBook46 |
| IncrementalRefreshDailyStatistics49 | Messaging::IncrementalRefreshDailyStatistics49 |
| IncrementalRefreshLimitsBanding50 | Messaging::IncrementalRefreshLimitsBanding50 |
| IncrementalRefreshSessionStatistics51 | Messaging::IncrementalRefreshSessionStatistics51 |
| IncrementalRefreshVolume37 | Messaging::IncrementalRefreshVolume37 |
| SnapshotFullRefresh52 | Messaging::SnapshotFullRefresh52 |
| QuoteRequest39 | Messaging::QuoteRequest39 |
| InstrumentDefinitionOption55 | Messaging::InstrumentDefinitionOption55 |
| IncrementalRefreshTradeSummary48 | Messaging::IncrementalRefreshTradeSummary48 |
| IncrementalRefreshOrderBook47 | Messaging::IncrementalRefreshOrderBook47 |
| SnapshotFullRefreshOrderBook53 | Messaging::SnapshotFullRefreshOrderBook53 |
| FIX::Tag | Messaging::FIX::Tag |
| FIX::MessageArgs | Messaging::FIX::MessageArgs |
| FIX::MessageListener | Messaging::FIX::MessageListener |
| FIX::TagValue | Messaging::FIX::TagValue |
| FIX::TagValues | Messaging::FIX::TagValues |
| FIX::TagValueIterator | Messaging::FIX::TagValueIterator |
| FIX::TagValueConstIterator | Messaging::FIX::TagValueConstIterator |
| FIX::TagValueSelector | Messaging::FIX::TagValueSelector |
| FIX::TagValueSelectionIterator | Messaging::FIX::TagValueSelectionIterator |
| FIX::MultiContainer | Messaging::FIX::MultiContainer |
| FIX::ValueConverter | Messaging::FIX::ValueConverter |
| FIX::NullConverter | Messaging::FIX::NullConverter |
| FIX::StrRefConverter | Messaging::FIX::StrRefConverter |
| FIX::CharConverter | Messaging::FIX::CharConverter |
| FIX::IntegerConverter<Integer, Descendant> | Messaging::FIX::IntegerConverter<Integer, Descendant> |
| FIX::Int8Converter | Messaging::FIX::Int8Converter |
| FIX::UInt8Converter | Messaging::FIX::UInt8Converter |
| FIX::Int16Converter | Messaging::FIX::Int16Converter |
| FIX::UInt16Converter | Messaging::FIX::UInt16Converter |
| FIX::Int32Converter | Messaging::FIX::Int32Converter |
| FIX::UInt32Converter | Messaging::FIX::UInt32Converter |
| FIX::Int64Converter | Messaging::FIX::Int64Converter |
| FIX::UInt64Converter | Messaging::FIX::UInt64Converter |
| FIX::DecimalConverter | Messaging::FIX::DecimalConverter |
| FIX::TimestampConverter | Messaging::FIX::TimestampConverter |
| FIX::MaturityMonthYearConverter | Messaging::FIX::MaturityMonthYearConverter |
| FIX::ValueKinds | Messaging::FIX::ValueKinds |
| FIX::ValueKind<Value> | Messaging::FIX::ValueKind<Value> |
| FIX::ValueConversionTraits<Value, Kind> | Messaging::FIX::ValueConversionTraits<Value, Kind> |
| FIX::ValueConversion<Value> | Messaging::FIX::ValueConversion<Value> |
| FIX::ValueContainer | Messaging::FIX::ValueContainer |
| FIX::Field | Messaging::FIX::Field |
| FIX::FieldAccessor | Messaging::FIX::FieldAccessor |
| FIX::FieldSet | Messaging::FIX::FieldSet |
| FIX::GroupEntrySource | Messaging::FIX::GroupEntrySource |
| FIX::GroupEntryAccessor | Messaging::FIX::GroupEntryAccessor |
| FIX::GroupEntry | Messaging::FIX::GroupEntry |
| FIX::GroupEntriesSource | Messaging::FIX::GroupEntriesSource |
| FIX::Group | Messaging::FIX::Group |
| FIX::MessageAccessor | Messaging::FIX::MessageAccessor |
| FIX::Message | Messaging::FIX::Message |
| FIX::ChannelReset4 | Messaging::FIX::ChannelReset4 |
| FIX::AdminHeartbeat12 | Messaging::FIX::AdminHeartbeat12 |
| FIX::AdminLogin15 | Messaging::FIX::AdminLogin15 |
| FIX::AdminLogout16 | Messaging::FIX::AdminLogout16 |
| FIX::SecurityStatus30 | Messaging::FIX::SecurityStatus30 |
| FIX::IncrementalRefreshVolume37 | Messaging::FIX::IncrementalRefreshVolume37 |
| FIX::QuoteRequest39 | Messaging::FIX::QuoteRequest39 |
| FIX::IncrementalRefreshBook46 | Messaging::FIX::IncrementalRefreshBook46 |
| FIX::IncrementalRefreshOrderBook47 | Messaging::FIX::IncrementalRefreshOrderBook47 |
| FIX::IncrementalRefreshTradeSummary48 | Messaging::FIX::IncrementalRefreshTradeSummary48 |
| FIX::IncrementalRefreshDailyStatistics49 | Messaging::FIX::IncrementalRefreshDailyStatistics49 |
| FIX::IncrementalRefreshLimitsBanding50 | Messaging::FIX::IncrementalRefreshLimitsBanding50 |
| FIX::IncrementalRefreshSessionStatistics51 | Messaging::FIX::IncrementalRefreshSessionStatistics51 |
| FIX::SnapshotFullRefresh52 | Messaging::FIX::SnapshotFullRefresh52 |
| FIX::SnapshotFullRefreshOrderBook53 | Messaging::FIX::SnapshotFullRefreshOrderBook53 |
| FIX::InstrumentDefinitionFuture54 | Messaging::FIX::InstrumentDefinitionFuture54 |
| FIX::InstrumentDefinitionOption55 | Messaging::FIX::InstrumentDefinitionOption55 |
| FIX::InstrumentDefinitionSpread56 | Messaging::FIX::InstrumentDefinitionSpread56 |
| FIX::InstrumentDefinitionFixedIncome57 | Messaging::FIX::InstrumentDefinitionFixedIncome57 |
| FIX::InstrumentDefinitionFX63 | Messaging::FIX::InstrumentDefinitionFX63 |
| FIX::IncrementalRefreshBookLongQty64 | Messaging::FIX::IncrementalRefreshBookLongQty64 |
| FIX::IncrementalRefreshTradeSummaryLongQty65 | Messaging::FIX::IncrementalRefreshTradeSummaryLongQty65 |
| FIX::IncrementalRefreshVolumeLongQty66 | Messaging::FIX::IncrementalRefreshVolumeLongQty66 |
| FIX::IncrementalRefreshSessionStatisticsLongQty67 | Messaging::FIX::IncrementalRefreshSessionStatisticsLongQty67 |
| FIX::SnapshotFullRefreshLongQty69 | Messaging::FIX::SnapshotFullRefreshLongQty69 |
| FIX::AdminLogin408 | Messaging::FIX::AdminLogin408 |
| FIX::AdminLogout409 | Messaging::FIX::AdminLogout409 |
| FIX::AdminHeartbeat410 | Messaging::FIX::AdminHeartbeat410 |
| FIX::securityId(...) | securityId(...) |
| FIX::securityGroup(...) | securityGroup(...) |
| FIX::symbol(...) | symbol(...) |
| FIX::asset(...) | asset(...) |
| FIX::securityUpdateAction(...) | securityUpdateAction(...) |
| FIX::bookDepths(...) | bookDepths(...) |
| FIX::matchEventIndicator(...) | matchEventIndicator(...) |
| FIX::timestamp(...) | timestamp(...) |
ChannelId and SecurityId are domain identifiers, not moved messaging API names. They remain in OnixS::CME::MDH, but their underlying typedefs now use messaging primitives:
| Domain typedef | Underlying type |
|---|---|
| ChannelId | Messaging::UInt32 |
| SecurityId | Messaging::Int32 |
Most code should keep using ChannelId and SecurityId. Code that stores the underlying type directly, performs overload selection on it, or mirrors callback signatures may need Messaging::UInt32 or Messaging::Int32.
This is the complete deprecated old-to-new tag mapping from the include/OnixS/CME/MDH/FIX/Tags.h compatibility shim. Use it as the authoritative reference when replacing old FIX::Tags::* constants.
| Old tag | New tag | Value |
|---|---|---|
| FIX::Tags::AggressorSide | Messaging::FIX::Tags::AggressorSide | 5797 |
| FIX::Tags::AltMinPriceIncrement | Messaging::FIX::Tags::AltMinPriceIncrement | 37739 |
| FIX::Tags::AltMinQuoteLife | Messaging::FIX::Tags::AltMinQuoteLife | 37738 |
| FIX::Tags::AltPriceIncrementConstraint | Messaging::FIX::Tags::AltPriceIncrementConstraint | 37742 |
| FIX::Tags::ApplID | Messaging::FIX::Tags::ApplId | 1180 |
| FIX::Tags::Asset | Messaging::FIX::Tags::Asset | 6937 |
| FIX::Tags::CFICode | Messaging::FIX::Tags::CfiCode | 461 |
| FIX::Tags::ClearedVolume | Messaging::FIX::Tags::ClearedVolume | 5791 |
| FIX::Tags::ContractMultiplier | Messaging::FIX::Tags::ContractMultiplier | 231 |
| FIX::Tags::ContractMultiplierUnit | Messaging::FIX::Tags::ContractMultiplierUnit | 1435 |
| FIX::Tags::CountryOfIssue | Messaging::FIX::Tags::CountryOfIssue | 470 |
| FIX::Tags::CouponDayCount | Messaging::FIX::Tags::CouponDayCount | 1950 |
| FIX::Tags::CouponFrequencyPeriod | Messaging::FIX::Tags::CouponFrequencyPeriod | 1948 |
| FIX::Tags::CouponFrequencyUnit | Messaging::FIX::Tags::CouponFrequencyUnit | 1949 |
| FIX::Tags::CouponRate | Messaging::FIX::Tags::CouponRate | 223 |
| FIX::Tags::Currency | Messaging::FIX::Tags::Currency | 15 |
| FIX::Tags::CurrentChunk | Messaging::FIX::Tags::CurrentChunk | 37710 |
| FIX::Tags::DatedDate | Messaging::FIX::Tags::DatedDate | 873 |
| FIX::Tags::DecayQuantity | Messaging::FIX::Tags::DecayQuantity | 5818 |
| FIX::Tags::DecayStartDate | Messaging::FIX::Tags::DecayStartDate | 5819 |
| FIX::Tags::DisplayFactor | Messaging::FIX::Tags::DisplayFactor | 9787 |
| FIX::Tags::EventTime | Messaging::FIX::Tags::EventTime | 1145 |
| FIX::Tags::EventType | Messaging::FIX::Tags::EventType | 865 |
| FIX::Tags::FXBenchmarkRateFix | Messaging::FIX::Tags::FxBenchmarkRateFix | 2796 |
| FIX::Tags::FXCurrencySymbol | Messaging::FIX::Tags::FxCurrencySymbol | 37725 |
| FIX::Tags::FinancialInstrumentFullName | Messaging::FIX::Tags::FinancialInstrumentFullName | 2714 |
| FIX::Tags::FixRateLocalTime | Messaging::FIX::Tags::FixRateLocalTime | 37726 |
| FIX::Tags::FixRateLocalTimeZone | Messaging::FIX::Tags::FixRateLocalTimeZone | 37727 |
| FIX::Tags::FlowScheduleType | Messaging::FIX::Tags::FlowScheduleType | 1439 |
| FIX::Tags::HaltReason | Messaging::FIX::Tags::HaltReason | 327 |
| FIX::Tags::HeartBtInt | Messaging::FIX::Tags::HeartBtInt | 108 |
| FIX::Tags::HighLimitPrice | Messaging::FIX::Tags::HighLimitPrice | 1149 |
| FIX::Tags::InstAttribType | Messaging::FIX::Tags::InstAttribType | 871 |
| FIX::Tags::InstAttribValue | Messaging::FIX::Tags::InstAttribValue | 872 |
| FIX::Tags::InstrumentGUID | Messaging::FIX::Tags::InstrumentGUId | 37513 |
| FIX::Tags::InterveningDays | Messaging::FIX::Tags::InterveningDays | 37730 |
| FIX::Tags::IssueDate | Messaging::FIX::Tags::IssueDate | 225 |
| FIX::Tags::Issuer | Messaging::FIX::Tags::Issuer | 106 |
| FIX::Tags::LastMsgSeqNumProcessed | Messaging::FIX::Tags::LastMsgSeqNumProcessed | 369 |
| FIX::Tags::LastQty | Messaging::FIX::Tags::LastQty | 32 |
| FIX::Tags::LastUpdateTime | Messaging::FIX::Tags::LastUpdateTime | 779 |
| FIX::Tags::LegOptionDelta | Messaging::FIX::Tags::LegOptionDelta | 1017 |
| FIX::Tags::LegPrice | Messaging::FIX::Tags::LegPrice | 566 |
| FIX::Tags::LegRatioQty | Messaging::FIX::Tags::LegRatioQty | 623 |
| FIX::Tags::LegSecurityID | Messaging::FIX::Tags::LegSecurityId | 602 |
| FIX::Tags::LegSecurityIDSource | Messaging::FIX::Tags::LegSecurityIdSource | 603 |
| FIX::Tags::LegSide | Messaging::FIX::Tags::LegSide | 624 |
| FIX::Tags::LotType | Messaging::FIX::Tags::LotType | 1093 |
| FIX::Tags::LowLimitPrice | Messaging::FIX::Tags::LowLimitPrice | 1148 |
| FIX::Tags::MDDisplayQty | Messaging::FIX::Tags::DisplayQty | 37706 |
| FIX::Tags::MDEntryPx | Messaging::FIX::Tags::EntryPx | 270 |
| FIX::Tags::MDEntrySize | Messaging::FIX::Tags::EntrySize | 271 |
| FIX::Tags::MDEntryType | Messaging::FIX::Tags::EntryType | 269 |
| FIX::Tags::MDFeedType | Messaging::FIX::Tags::FeedType | 1022 |
| FIX::Tags::MDOrderPriority | Messaging::FIX::Tags::OrderPriority | 37707 |
| FIX::Tags::MDPriceLevel | Messaging::FIX::Tags::PriceLevel | 1023 |
| FIX::Tags::MDSecurityTradingStatus | Messaging::FIX::Tags::MdSecurityTradingStatus | 1682 |
| FIX::Tags::MDTradeEntryID | Messaging::FIX::Tags::TradeEntryId | 37711 |
| FIX::Tags::MDUpdateAction | Messaging::FIX::Tags::UpdateAction | 279 |
| FIX::Tags::MainFraction | Messaging::FIX::Tags::MainFraction | 37702 |
| FIX::Tags::MarketDepth | Messaging::FIX::Tags::MarketDepth | 264 |
| FIX::Tags::MarketSegmentID | Messaging::FIX::Tags::MarketSegmentId | 1300 |
| FIX::Tags::MarketSet | Messaging::FIX::Tags::MarketSet | 37722 |
| FIX::Tags::MatchAlgorithm | Messaging::FIX::Tags::MatchAlgorithm | 1142 |
| FIX::Tags::MatchEventIndicator | Messaging::FIX::Tags::MatchEventIndicator | 5799 |
| FIX::Tags::MaturityDate | Messaging::FIX::Tags::MaturityDate | 541 |
| FIX::Tags::MaturityMonthYear | Messaging::FIX::Tags::MaturityMonthYear | 200 |
| FIX::Tags::MaxBidAskConstraint | Messaging::FIX::Tags::MaxBidAskConstraint | 37743 |
| FIX::Tags::MaxPriceDiscretionOffset | Messaging::FIX::Tags::MaxPriceDiscretionOffset | 37728 |
| FIX::Tags::MaxPriceVariation | Messaging::FIX::Tags::MaxPriceVariation | 1143 |
| FIX::Tags::MaxTradeVol | Messaging::FIX::Tags::MaxTradeVol | 1140 |
| FIX::Tags::MinCabPrice | Messaging::FIX::Tags::MinCabPrice | 9850 |
| FIX::Tags::MinLotSize | Messaging::FIX::Tags::MinLotSize | 1231 |
| FIX::Tags::MinPriceIncrement | Messaging::FIX::Tags::MinPriceIncrement | 969 |
| FIX::Tags::MinPriceIncrementAmount | Messaging::FIX::Tags::MinPriceIncrementAmount | 1146 |
| FIX::Tags::MinQuoteLife | Messaging::FIX::Tags::MinQuoteLife | 37731 |
| FIX::Tags::MinTradeVol | Messaging::FIX::Tags::MinTradeVol | 562 |
| FIX::Tags::NoChunks | Messaging::FIX::Tags::Chunks | 37709 |
| FIX::Tags::NoEvents | Messaging::FIX::Tags::Events | 864 |
| FIX::Tags::NoInstAttrib | Messaging::FIX::Tags::InstAttrib | 870 |
| FIX::Tags::NoLegs | Messaging::FIX::Tags::Legs | 555 |
| FIX::Tags::NoLotTypeRules | Messaging::FIX::Tags::LotTypeRules | 1234 |
| FIX::Tags::NoMDEntries | Messaging::FIX::Tags::Entries | 268 |
| FIX::Tags::NoMDFeedTypes | Messaging::FIX::Tags::FeedTypes | 1141 |
| FIX::Tags::NoOrderIDEntries | Messaging::FIX::Tags::OrderIdEntries | 37705 |
| FIX::Tags::NoRelatedInstruments | Messaging::FIX::Tags::RelatedInstruments | 1647 |
| FIX::Tags::NoRelatedSym | Messaging::FIX::Tags::RelatedSym | 146 |
| FIX::Tags::NoTradingSessions | Messaging::FIX::Tags::TradingSessions | 386 |
| FIX::Tags::NoUnderlyings | Messaging::FIX::Tags::Underlyings | 711 |
| FIX::Tags::NumberOfOrders | Messaging::FIX::Tags::NumberOfOrders | 346 |
| FIX::Tags::OpenCloseSettlFlag | Messaging::FIX::Tags::OpenCloseSettlFlag | 286 |
| FIX::Tags::OpenInterestQty | Messaging::FIX::Tags::OpenInterestQty | 5792 |
| FIX::Tags::OrderID | Messaging::FIX::Tags::OrderId | 37 |
| FIX::Tags::OrderQty | Messaging::FIX::Tags::OrderQty | 38 |
| FIX::Tags::OrderUpdateAction | Messaging::FIX::Tags::OrderUpdateAction | 37708 |
| FIX::Tags::OriginalContractSize | Messaging::FIX::Tags::OriginalContractSize | 5849 |
| FIX::Tags::ParValue | Messaging::FIX::Tags::ParValue | 37723 |
| FIX::Tags::PartyRoleClearingOrg | Messaging::FIX::Tags::PartyRoleClearingOrg | 9736 |
| FIX::Tags::PriceDisplayFormat | Messaging::FIX::Tags::PriceDisplayFormat | 9800 |
| FIX::Tags::PricePrecision | Messaging::FIX::Tags::PricePrecision | 2349 |
| FIX::Tags::PriceQuoteCurrency | Messaging::FIX::Tags::PriceQuoteCurrency | 1524 |
| FIX::Tags::PriceQuoteMethod | Messaging::FIX::Tags::PriceQuoteMethod | 1196 |
| FIX::Tags::PriceRatio | Messaging::FIX::Tags::PriceRatio | 5770 |
| FIX::Tags::PutOrCall | Messaging::FIX::Tags::PutOrCall | 201 |
| FIX::Tags::QuoteReqID | Messaging::FIX::Tags::QuoteReqId | 131 |
| FIX::Tags::QuoteType | Messaging::FIX::Tags::QuoteType | 537 |
| FIX::Tags::RateSource | Messaging::FIX::Tags::RateSource | 1446 |
| FIX::Tags::ReferenceID | Messaging::FIX::Tags::ReferenceId | 9633 |
| FIX::Tags::RelatedSecurityID | Messaging::FIX::Tags::RelatedSecurityId | 1650 |
| FIX::Tags::RelatedSecurityIDSource | Messaging::FIX::Tags::RelatedSecurityIdSource | 1651 |
| FIX::Tags::RelatedSymbol | Messaging::FIX::Tags::RelatedSymbol | 1649 |
| FIX::Tags::RiskSet | Messaging::FIX::Tags::RiskSet | 37721 |
| FIX::Tags::RptSeq | Messaging::FIX::Tags::RptSeq | 83 |
| FIX::Tags::SecurityAltID | Messaging::FIX::Tags::SecurityAltId | 455 |
| FIX::Tags::SecurityAltIDSource | Messaging::FIX::Tags::SecurityAltIdSource | 456 |
| FIX::Tags::SecurityExchange | Messaging::FIX::Tags::SecurityExchange | 207 |
| FIX::Tags::SecurityGroup | Messaging::FIX::Tags::SecurityGroup | 1151 |
| FIX::Tags::SecurityID | Messaging::FIX::Tags::SecurityId | 48 |
| FIX::Tags::SecurityIDSource | Messaging::FIX::Tags::SecurityIdSource | 22 |
| FIX::Tags::SecuritySubType | Messaging::FIX::Tags::SecuritySubType | 762 |
| FIX::Tags::SecurityTradingEvent | Messaging::FIX::Tags::SecurityTradingEvent | 1174 |
| FIX::Tags::SecurityTradingStatus | Messaging::FIX::Tags::SecurityTradingStatus | 326 |
| FIX::Tags::SecurityType | Messaging::FIX::Tags::SecurityType | 167 |
| FIX::Tags::SecurityUpdateAction | Messaging::FIX::Tags::SecurityUpdateAction | 980 |
| FIX::Tags::SettlCurrency | Messaging::FIX::Tags::SettlCurrency | 120 |
| FIX::Tags::SettlDate | Messaging::FIX::Tags::SettlDate | 64 |
| FIX::Tags::SettlPriceType | Messaging::FIX::Tags::SettlPriceType | 731 |
| FIX::Tags::SettlType | Messaging::FIX::Tags::SettlType | 63 |
| FIX::Tags::SettlementLocale | Messaging::FIX::Tags::SettlementLocale | 37734 |
| FIX::Tags::Side | Messaging::FIX::Tags::Side | 54 |
| FIX::Tags::StrikeCurrency | Messaging::FIX::Tags::StrikeCurrency | 947 |
| FIX::Tags::StrikePrice | Messaging::FIX::Tags::StrikePrice | 202 |
| FIX::Tags::SubFraction | Messaging::FIX::Tags::SubFraction | 37703 |
| FIX::Tags::Symbol | Messaging::FIX::Tags::Symbol | 55 |
| FIX::Tags::Text | Messaging::FIX::Tags::Text | 58 |
| FIX::Tags::TickRule | Messaging::FIX::Tags::TickRule | 6350 |
| FIX::Tags::TotNumReports | Messaging::FIX::Tags::TotNumReports | 911 |
| FIX::Tags::TradeDate | Messaging::FIX::Tags::TradeDate | 75 |
| FIX::Tags::TradeableSize | Messaging::FIX::Tags::TradeableSize | 37719 |
| FIX::Tags::TradingReferenceDate | Messaging::FIX::Tags::TradingReferenceDate | 5796 |
| FIX::Tags::TradingReferencePrice | Messaging::FIX::Tags::TradingReferencePrice | 1150 |
| FIX::Tags::TransactTime | Messaging::FIX::Tags::TransactTime | 60 |
| FIX::Tags::UnderlyingProduct | Messaging::FIX::Tags::UnderlyingProduct | 462 |
| FIX::Tags::UnderlyingSecurityID | Messaging::FIX::Tags::UnderlyingSecurityId | 309 |
| FIX::Tags::UnderlyingSecurityIDSource | Messaging::FIX::Tags::UnderlyingSecurityIdSource | 305 |
| FIX::Tags::UnderlyingSymbol | Messaging::FIX::Tags::UnderlyingSymbol | 311 |
| FIX::Tags::UnitOfMeasure | Messaging::FIX::Tags::UnitOfMeasure | 996 |
| FIX::Tags::UnitOfMeasureQty | Messaging::FIX::Tags::UnitOfMeasureQty | 1147 |
| FIX::Tags::UserDefinedInstrument | Messaging::FIX::Tags::UserDefinedInstrument | 9779 |
These changes are not just a namespace prefix and deserve source review.
Field::cast<T>() still exists for throwing conversions. The old generic non-throwing tryCast(...) style was replaced by named non-throwing methods.
| Old use | New method |
|---|---|
| convert to StrRef | toStringRef(value) |
| convert to Char | toChar(value) |
| convert to integer or decimal | toNumber(value) |
| convert to timestamp | toTimestamp(value) |
| convert to maturity month-year | toMaturityMonthYear(value) |
| convert to enum | toEnumeration<EnumType>(value) |
| convert to bitset | toBitSet(value) |
Before:
After:
Enum conversion also names the enum type explicitly:
StrRef moved to Messaging::StrRef. In C++17 builds, Messaging::StrRef is an alias for std::basic_string_view<Messaging::Char>. In older language modes, it remains a lightweight string-reference class with a string-view-like API.
The old StrRef::items() member is compatibility-only. Use data() or begin().
Before:
After:
Most public listener callback argument aliases remain in OnixS::CME::MDH, but their wrapped message types moved into Messaging.
| Old pattern | New pattern |
|---|---|
| BinaryMessage message = args.message(); | Messaging::SbeMessage message = args.message(); |
| FIX::MultiContainerArgs | MultiContainerArgs |
| FIX::MultiContainer | Messaging::FIX::MultiContainer |
| SnapshotFullRefresh69Args | SnapshotFullRefreshLongQty69Args |
| primitive aliases in callback signatures, such as UInt32 or Char | Messaging::UInt32, Messaging::Char |
Before:
After:
SecurityListener remains in OnixS::CME::MDH. Its callback argument aliases also remain in OnixS::CME::MDH, but those aliases now wrap Messaging::* message types. This matters most for exact override signatures and for code that names the message or entry type returned from an argument object.
Common SecurityListener aliases to check include:
Before:
After:
If an implementation inspects the wrapped message, qualify that message with Messaging:::
FIX accessor helpers moved out of the old FIX namespace and now accept Messaging::FIX::MultiContainer.
Before:
After:
BinaryMessage was replaced by Messaging::SbeMessage. BinaryMessageIterator and BinaryMessages still exist in OnixS::CME::MDH, but dereferencing the iterator now returns Messaging::SbeMessage.
The old SBE group helper names from BinaryMessage.h are deprecated compatibility aliases. Use the Sbe* names under Messaging when manually inspecting SBE repeating groups:
| Old group helper | New group helper |
|---|---|
| BinaryGroupEntry<Length> | Messaging::SbeGroupEntry<Length> |
| BinaryGroupEntries<EntryType, Length, NumInGroup, EncodedLength> | Messaging::SbeGroupEntries<EntryType, Length, NumInGroup, EncodedLength> |
| BinaryGroup<EntryType, DimensionType, LengthType> | Messaging::SbeGroup<EntryType, DimensionType, LengthType> |
| BinaryGroups<Length> | Messaging::SbeGroupList<Length> |
Before:
After:
Most projects should see warnings before errors. Hard errors for the messaging API usually appear only when ONIXS_CMEMDH_MESSAGING_NO_DEPRECATED is defined, when old headers are removed from include paths, or when code touches an API that was actually renamed or removed. Deprecated non-messaging API members are excluded separately by ONIXS_CMEMDH_NO_DEPRECATED, for example in handler, settings, replay, and logging headers.
| Error | Fix |
|---|---|
| old header deprecation warning | Replace the include using the header table. |
| ‘'Timestamp’ was not declared in this scope \ilinebr </td> <td class="markdownTableBodyNone"> Use Messaging::Timestamp or a namespace alias such as Msg::Timestamp. \ilinebr </td> </tr> <tr class="markdownTableRowOdd"> <td class="markdownTableBodyNone"> 'FIX' is not a namespace-name \ilinebr </td> <td class="markdownTableBodyNone"> Use namespace FIX = OnixS::CME::MDH::Messaging::FIX;. \ilinebr </td> </tr> <tr class="markdownTableRowEven"> <td class="markdownTableBodyNone"> class StrRef has no member named items \ilinebr </td> <td class="markdownTableBodyNone"> Use ref.data() or ref.begin(). \ilinebr </td> </tr> <tr class="markdownTableRowOdd"> <td class="markdownTableBodyNone"> marked override, but does not override \ilinebr </td> <td class="markdownTableBodyNone"> Check listener aliases and primitive types in the signature. \ilinebr </td> </tr> <tr class="markdownTableRowEven"> <td class="markdownTableBodyNone"> tryCast is not a member of Messaging::FIX::Field \ilinebr </td> <td class="markdownTableBodyNone"> Use the named non-throwing conversion methods. \ilinebr </td> </tr> <tr class="markdownTableRowOdd"> <td class="markdownTableBodyNone"> Tags::MDEntryPx or Tags::NoMDEntries` is not found | Use the normalized tag names from the tag table. |
Most business logic should remain unchanged after these API updates are complete.