Skip to content

Releases: momentics/libgsml3parser

0.9.0

0.9.0 Pre-release
Pre-release

Choose a tag to compare

@momentics momentics released this 11 Aug 14:29

Development Build

0.8.0

Choose a tag to compare

@momentics momentics released this 11 Aug 04:19
  • GMM (GPRS Mobility Management) protocol support — added 21 new message types: Attach Request/Accept/Complete/Reject, Detach Request/Accept, Routing Area Update Request/Accept/Complete/Reject, Service Request/Accept/Reject, P-TMSI Reallocation Command/Complete, Authentication and Ciphering Request/Response/Reject/Failure, GMM Identity Request/Response, GMM Status, GMM Information; plus 12 information element classes (PDP Context Status, T3302 Timer, MS Network Capability, Routing Area Identification, DRX Parameter, GMM CKSN, GMM Cause IE, Auth RAND/RES, Auth Failure Param, P-TMSI Signature, GMM Status Cause)

  • SM (Session Management) protocol support — added 9 message types: Activate PDP Context Request/Accept/Reject, Deactivate PDP Context Request/Accept, Modify PDP Context Request/Accept/Reject, SM Status; plus 7 information element classes (PDP Address, QoS, Access Point Name, Protocol Config Options, SM Cause IE, Back-Off Timer, PDP Handle)

  • SMS (Short Message Service) protocol support — added 9 message types: CP Data, CP Ack, CP Err, CP Status, CP SMS, RP Data, RP Ack, RP Error, RP SMMA; plus 5 information element classes (TP Address, TP Deliver, TP Submit, TP Status Report, TP Command)

  • BCC (Broadcast Call Control) protocol support — added 6 message types: BCC Setup, BCC Proceeding, BCC Connect, BCC Disconnect, BCC Release, BCC Release Complete

  • GCC (Group Call Control) protocol support — added 7 message types: GCC Setup, GCC Acknowledge, GCC Proceeding, GCC Connect, GCC Disconnect, GCC Release, GCC Release Complete

  • BitReader performance optimization — replaced bit-by-bit field extraction with bulk byte loading (loadN helper), adding byte-aligned fast path and misaligned multi-byte extraction; readBytes() now uses bulk memcpy for aligned reads and batched extraction for misaligned reads, falling back to per-bit only when necessary

  • RingBuffer ARM/weakly-ordered architecture support — replaced raw size_t head/tail with std::atomic<size_t> using acquire/release memory ordering, ensuring correctness on ARM and PowerPC while maintaining zero overhead on x86-64 (TSO)

  • Visitor pattern extendedtryGet() helpers added for all new domain variants (GMM, SM, SMS, BCCM, GCCM); top-level tryGet() dispatches through all 9 protocol domains

  • Parser routing extendedParsedMessage variant expanded from 4 to 9 protocol groups (RR, MM, CC, SS, GMM, SM, SMS, BCC, GCC); parser dispatches new L3PD packet type codes (GPRS Mobility Management, GPRS Session Management, SMS, Broadcast Call Control, Group Call Control) to the corresponding parsers

  • New test suites — added test_gmm_messages.cpp, test_sm_messages.cpp, test_sms_messages.cpp, test_bcc_gcc_messages.cpp, test_visitor.cpp, test_stream_processor.cpp, test_threading.cpp; extended test_byte_source.cpp with atomic RingBuffer tests

  • CC (Call Control) message extensions — added new CC message parsing entries and header includes

0.7.0

Choose a tag to compare

@momentics momentics released this 10 Aug 04:25

Development Build

RR, SS, MM messages extensions

0.6.0

Choose a tag to compare

@momentics momentics released this 09 Aug 02:51

Key Metrics

  • Total tests: 614 across 23 suites
  • Golden tests: 313 (RR: ~40, MM: ~30, CC: ~45, IE: ~200)
  • Throughput: 4-8 million messages/sec (single core, Release build)
  • Memory safety: ASan-clean, zero data races by design (immutable config, no mutex on parse path)
  • Zero dynamic_cast, zero heap allocation on hot path

0.5.0

Choose a tag to compare

@momentics momentics released this 09 Aug 02:49

Key Metrics

  • Total tests: 614 across 23 suites
  • Golden tests: 313 (RR: ~40, MM: ~30, CC: ~45, IE: ~200)
  • Throughput: 4-8 million messages/sec (single core, Release build)
  • Memory safety: ASan-clean, zero data races by design (immutable config, no mutex on parse path)
  • Zero dynamic_cast, zero heap allocation on hot path

0.4.0

Choose a tag to compare

@momentics momentics released this 05 Aug 12:22

Development Build

Partially migrated to C++ 20 style

This build is currently an interim release for development purposes.
It currently has no speed or resource optimizations.

0.3.0

Choose a tag to compare

@momentics momentics released this 05 Aug 02:37

Development Build

This build is currently an interim release for development purposes.
It currently has no speed or resource optimizations.

0.2.0

Choose a tag to compare

@momentics momentics released this 04 Aug 23:19

794 (794) Golden Tests Pass.

But still have no Code Optimisation and Fusion Tests.

Full Changelog: 0.1.0...0.2.0

0.1.0

Choose a tag to compare

@momentics momentics released this 01 Aug 09:43

Development Build

This build is currently an interim release for development purposes.
It currently has no speed or resource optimizations. Furthermore, it lacks Golden Tests or Performance Validation Tests.

Full Changelog: https://github.com/momentics/libgsml3parser/commits/0.1.0