Releases: momentics/libgsml3parser
Release list
0.9.0
0.8.0
-
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 (
loadNhelper), adding byte-aligned fast path and misaligned multi-byte extraction;readBytes()now uses bulkmemcpyfor 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_thead/tail withstd::atomic<size_t>using acquire/release memory ordering, ensuring correctness on ARM and PowerPC while maintaining zero overhead on x86-64 (TSO) -
Visitor pattern extended —
tryGet()helpers added for all new domain variants (GMM, SM, SMS, BCCM, GCCM); top-leveltryGet()dispatches through all 9 protocol domains -
Parser routing extended —
ParsedMessagevariant expanded from 4 to 9 protocol groups (RR, MM, CC, SS, GMM, SM, SMS, BCC, GCC); parser dispatches newL3PDpacket 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; extendedtest_byte_source.cppwith atomic RingBuffer tests -
CC (Call Control) message extensions — added new CC message parsing entries and header includes
0.7.0
0.6.0
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
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
0.3.0
0.2.0
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
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