From af6cec4c101d3f7285515d244bcf4207be4ae690 Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 12:13:42 -0600 Subject: [PATCH 1/7] Saving state --- .github/workflows/release.yml | 2 +- CHANGELOG.md | 13181 +------------------------ tests/c/test_negative.c | 162 +- tests/cpp/test_negative.cpp | 121 +- tests/csharp/StructFrameTests.csproj | 1 + tests/csharp/TestNegative.cs | 128 +- tests/csharp/TestSdkSubscribe.cs | 4 +- tests/js/test_negative.js | 127 +- tests/py/test_negative.py | 134 +- tests/run_tests.py | 113 +- tests/rust/src/test_negative.rs | 138 +- tests/ts/test_negative.ts | 127 +- 12 files changed, 1042 insertions(+), 13196 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 352de37b..883e733c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -106,7 +106,7 @@ jobs: echo "Updated pyproject.toml to version $NEW_VERSION" # Generate changelog using git-changelog - git-changelog --in-place --output CHANGELOG.md --provider github --bump "$NEW_VERSION" + git-changelog --output CHANGELOG.md --provider github --bump "$NEW_VERSION" echo "Updated CHANGELOG.md with version $NEW_VERSION using git-changelog" # Commit and push to bump branch diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f9e3256..c6e04465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,13 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [0.10.0](https://github.com/mylonics/struct-frame/releases/tag/0.10.0) - 2026-06-20 +## [v0.10.0](https://github.com/mylonics/struct-frame/releases/tag/v0.10.0) - 2026-06-20 -[Compare with v0.9.9](https://github.com/mylonics/struct-frame/compare/v0.9.9...0.10.0) +[Compare with v0.9.9](https://github.com/mylonics/struct-frame/compare/v0.9.9...v0.10.0) ## [v0.9.9](https://github.com/mylonics/struct-frame/releases/tag/v0.9.9) - 2026-06-16 @@ -445,13176 +445,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). - Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). -## [0.9.9](https://github.com/mylonics/struct-frame/releases/tag/0.9.9) - 2026-06-16 - -[Compare with v0.9.8](https://github.com/mylonics/struct-frame/compare/v0.9.8...0.9.9) - -## [v0.9.8](https://github.com/mylonics/struct-frame/releases/tag/v0.9.8) - 2026-06-15 - -[Compare with v0.9.7](https://github.com/mylonics/struct-frame/compare/v0.9.7...v0.9.8) - -## [v0.9.7](https://github.com/mylonics/struct-frame/releases/tag/v0.9.7) - 2026-06-12 - -[Compare with v0.9.6](https://github.com/mylonics/struct-frame/compare/v0.9.6...v0.9.7) - -## [v0.9.6](https://github.com/mylonics/struct-frame/releases/tag/v0.9.6) - 2026-06-11 - -[Compare with v0.9.5](https://github.com/mylonics/struct-frame/compare/v0.9.5...v0.9.6) - -## [v0.9.5](https://github.com/mylonics/struct-frame/releases/tag/v0.9.5) - 2026-06-10 - -[Compare with v0.9.4](https://github.com/mylonics/struct-frame/compare/v0.9.4...v0.9.5) - -## [v0.9.4](https://github.com/mylonics/struct-frame/releases/tag/v0.9.4) - 2026-06-10 - -[Compare with v0.9.3](https://github.com/mylonics/struct-frame/compare/v0.9.3...v0.9.4) - -### Added - -- Added send results to cpp sdk (#336) ([6127787](https://github.com/mylonics/struct-frame/commit/6127787898d537a9d63cec49a2d0fae54209b82c) by Rijesh Augustine). - -## [v0.9.3](https://github.com/mylonics/struct-frame/releases/tag/v0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...v0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.8](https://github.com/mylonics/struct-frame/releases/tag/0.9.8) - 2026-06-15 - -[Compare with v0.9.7](https://github.com/mylonics/struct-frame/compare/v0.9.7...0.9.8) - -## [v0.9.7](https://github.com/mylonics/struct-frame/releases/tag/v0.9.7) - 2026-06-12 - -[Compare with v0.9.6](https://github.com/mylonics/struct-frame/compare/v0.9.6...v0.9.7) - -## [v0.9.6](https://github.com/mylonics/struct-frame/releases/tag/v0.9.6) - 2026-06-11 - -[Compare with v0.9.5](https://github.com/mylonics/struct-frame/compare/v0.9.5...v0.9.6) - -## [v0.9.5](https://github.com/mylonics/struct-frame/releases/tag/v0.9.5) - 2026-06-10 - -[Compare with v0.9.4](https://github.com/mylonics/struct-frame/compare/v0.9.4...v0.9.5) - -## [v0.9.4](https://github.com/mylonics/struct-frame/releases/tag/v0.9.4) - 2026-06-10 - -[Compare with v0.9.3](https://github.com/mylonics/struct-frame/compare/v0.9.3...v0.9.4) - -### Added - -- Added send results to cpp sdk (#336) ([6127787](https://github.com/mylonics/struct-frame/commit/6127787898d537a9d63cec49a2d0fae54209b82c) by Rijesh Augustine). - -## [v0.9.3](https://github.com/mylonics/struct-frame/releases/tag/v0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...v0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.7](https://github.com/mylonics/struct-frame/releases/tag/0.9.7) - 2026-06-12 - -[Compare with v0.9.6](https://github.com/mylonics/struct-frame/compare/v0.9.6...0.9.7) - -## [v0.9.6](https://github.com/mylonics/struct-frame/releases/tag/v0.9.6) - 2026-06-11 - -[Compare with v0.9.5](https://github.com/mylonics/struct-frame/compare/v0.9.5...v0.9.6) - -## [v0.9.5](https://github.com/mylonics/struct-frame/releases/tag/v0.9.5) - 2026-06-10 - -[Compare with v0.9.4](https://github.com/mylonics/struct-frame/compare/v0.9.4...v0.9.5) - -## [v0.9.4](https://github.com/mylonics/struct-frame/releases/tag/v0.9.4) - 2026-06-10 - -[Compare with v0.9.3](https://github.com/mylonics/struct-frame/compare/v0.9.3...v0.9.4) - -### Added - -- Added send results to cpp sdk (#336) ([6127787](https://github.com/mylonics/struct-frame/commit/6127787898d537a9d63cec49a2d0fae54209b82c) by Rijesh Augustine). - -## [v0.9.3](https://github.com/mylonics/struct-frame/releases/tag/v0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...v0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.6](https://github.com/mylonics/struct-frame/releases/tag/0.9.6) - 2026-06-11 - -[Compare with v0.9.5](https://github.com/mylonics/struct-frame/compare/v0.9.5...0.9.6) - -## [v0.9.5](https://github.com/mylonics/struct-frame/releases/tag/v0.9.5) - 2026-06-10 - -[Compare with v0.9.4](https://github.com/mylonics/struct-frame/compare/v0.9.4...v0.9.5) - -## [v0.9.4](https://github.com/mylonics/struct-frame/releases/tag/v0.9.4) - 2026-06-10 - -[Compare with v0.9.3](https://github.com/mylonics/struct-frame/compare/v0.9.3...v0.9.4) - -### Added - -- Added send results to cpp sdk (#336) ([6127787](https://github.com/mylonics/struct-frame/commit/6127787898d537a9d63cec49a2d0fae54209b82c) by Rijesh Augustine). - -## [v0.9.3](https://github.com/mylonics/struct-frame/releases/tag/v0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...v0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.5](https://github.com/mylonics/struct-frame/releases/tag/0.9.5) - 2026-06-11 - -[Compare with v0.9.4](https://github.com/mylonics/struct-frame/compare/v0.9.4...0.9.5) - -## [v0.9.4](https://github.com/mylonics/struct-frame/releases/tag/v0.9.4) - 2026-06-10 - -[Compare with v0.9.3](https://github.com/mylonics/struct-frame/compare/v0.9.3...v0.9.4) - -### Added - -- Added send results to cpp sdk (#336) ([6127787](https://github.com/mylonics/struct-frame/commit/6127787898d537a9d63cec49a2d0fae54209b82c) by Rijesh Augustine). - -## [v0.9.3](https://github.com/mylonics/struct-frame/releases/tag/v0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...v0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.4](https://github.com/mylonics/struct-frame/releases/tag/0.9.4) - 2026-06-11 - -[Compare with v0.9.3](https://github.com/mylonics/struct-frame/compare/v0.9.3...0.9.4) - -### Added - -- Added send results to cpp sdk (#336) ([6127787](https://github.com/mylonics/struct-frame/commit/6127787898d537a9d63cec49a2d0fae54209b82c) by Rijesh Augustine). - -## [v0.9.3](https://github.com/mylonics/struct-frame/releases/tag/v0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...v0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.3](https://github.com/mylonics/struct-frame/releases/tag/0.9.3) - 2026-06-09 - -[Compare with v0.9.2](https://github.com/mylonics/struct-frame/compare/v0.9.2...0.9.3) - -### Fixed - -- fixing ts tests (#332) ([866cebc](https://github.com/mylonics/struct-frame/commit/866cebce377f8b45545e00089738e9869afcb150) by Rijesh Augustine). - -## [v0.9.2](https://github.com/mylonics/struct-frame/releases/tag/v0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...v0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.2](https://github.com/mylonics/struct-frame/releases/tag/0.9.2) - 2026-06-08 - -[Compare with v0.9.1](https://github.com/mylonics/struct-frame/compare/v0.9.1...0.9.2) - -### Fixed - -- Fix review regressions in max_size validation and C++ SDK msg_id handling (#330) ([e37b9f1](https://github.com/mylonics/struct-frame/commit/e37b9f12e3ee93745eb39188edeef21217e1fd67) by Rijesh Augustine). - -## [v0.9.1](https://github.com/mylonics/struct-frame/releases/tag/v0.9.1) - 2026-06-08 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...v0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.1](https://github.com/mylonics/struct-frame/releases/tag/0.9.1) - 2026-05-30 - -[Compare with v0.9.0](https://github.com/mylonics/struct-frame/compare/v0.9.0...0.9.1) - -### Added - -- Add granular parser error diagnostics and frame status to AccumulatingReader (#328) ([0fd27b7](https://github.com/mylonics/struct-frame/commit/0fd27b709f3b563c021f954e65262663eabecf62) by Copilot). - -### Fixed - -- Fix issues 1-6: comment loops, round-trip guards, dead branch, discriminator enum helpers, shared _check, cross-reference comments (#327) ([8d08149](https://github.com/mylonics/struct-frame/commit/8d08149bdc8eb300b936f787d0f6b5ec50b244d4) by Copilot). - -## [v0.9.0](https://github.com/mylonics/struct-frame/releases/tag/v0.9.0) - 2026-05-29 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...v0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.9.0](https://github.com/mylonics/struct-frame/releases/tag/0.9.0) - 2026-05-30 - -[Compare with v0.8.5](https://github.com/mylonics/struct-frame/compare/v0.8.5...0.9.0) - -### Added - -- Add wire-evolution interop scenarios 8–10 to all language runners (#325) ([7e65385](https://github.com/mylonics/struct-frame/commit/7e65385e8a4771430a7ade47a81ce0dec2cf140b) by Copilot). - -### Fixed - -- Fix remaining triaged test coverage gaps: equality (all 7 languages), validate, caching (#324) ([14e5637](https://github.com/mylonics/struct-frame/commit/14e5637761f56ce1e0460797e7c2d2469ce3ea14) by Copilot). -- Fix Python decode validation + add golden decode direction + flip §7/§8 coverage to ✅ (#323) ([14f3141](https://github.com/mylonics/struct-frame/commit/14f314127c978cd7fc8bcbbf6dcd8a13078dcc05) by Copilot). - -## [v0.8.5](https://github.com/mylonics/struct-frame/releases/tag/v0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...v0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.8.5](https://github.com/mylonics/struct-frame/releases/tag/0.8.5) - 2026-05-13 - -[Compare with v0.8.4](https://github.com/mylonics/struct-frame/compare/v0.8.4...0.8.5) - -### Added - -- Added struct-frame copy ([4396518](https://github.com/mylonics/struct-frame/commit/439651888ab425c9e240f7f15d951fbef9582f89) by Rijesh Augustine). - -## [v0.8.4](https://github.com/mylonics/struct-frame/releases/tag/v0.8.4) - 2026-05-07 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...v0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.8.4](https://github.com/mylonics/struct-frame/releases/tag/0.8.4) - 2026-05-08 - -[Compare with v0.8.3](https://github.com/mylonics/struct-frame/compare/v0.8.3...0.8.4) - -### Added - -- added forcing of magic bytes (#314) ([1634e58](https://github.com/mylonics/struct-frame/commit/1634e586a772b885360ff3d386ee0cd9c1e705c2) by Rijesh Augustine). - -## [v0.8.3](https://github.com/mylonics/struct-frame/releases/tag/v0.8.3) - 2026-05-07 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...v0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.8.3](https://github.com/mylonics/struct-frame/releases/tag/0.8.3) - 2026-05-08 - -[Compare with v0.8.2](https://github.com/mylonics/struct-frame/compare/v0.8.2...0.8.3) - -### Added - -- Added extension fields (#312) ([a575980](https://github.com/mylonics/struct-frame/commit/a5759808e814323488fa8d24d762751a0e79a398) by Rijesh Augustine). -- Add missing test coverage for SDK encoder/parser units (6.1, 6.2) and StructFrameSdk subscribe/dispatch (6.3) (#309) ([a3f1189](https://github.com/mylonics/struct-frame/commit/a3f1189ba9034d02d6a9da1475b23e880d1dfc09) by Copilot). -- Add --no_packed CLI flag for generating code without packed structs (#307) ([958532f](https://github.com/mylonics/struct-frame/commit/958532fbc0ca62904b0630d86070d58d7bc69af6) by Copilot). -- Add per-message round-trip test coverage across all five frame profiles for all seven languages (#306) ([5a3fad2](https://github.com/mylonics/struct-frame/commit/5a3fad2ac1194555f0cdc84c19bd2a68642d11c4) by Copilot). - -### Fixed - -- Fix sf_compile.json using original enum name instead of collision-avoided C# name (#311) ([7c1d938](https://github.com/mylonics/struct-frame/commit/7c1d938a341968fcbb610061420ebda6e33d4a03) by Copilot). - -## [v0.8.2](https://github.com/mylonics/struct-frame/releases/tag/v0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...v0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.8.2](https://github.com/mylonics/struct-frame/releases/tag/0.8.2) - 2026-05-06 - -[Compare with v0.8.1](https://github.com/mylonics/struct-frame/compare/v0.8.1...0.8.2) - -### Fixed - -- Fixing c# sdk generation (#304) ([dfee11d](https://github.com/mylonics/struct-frame/commit/dfee11d0780ac389f38332d5a3f35fa14a9f68be) by Rijesh Augustine). - -## [v0.8.1](https://github.com/mylonics/struct-frame/releases/tag/v0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...v0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.8.1](https://github.com/mylonics/struct-frame/releases/tag/0.8.1) - 2026-05-06 - -[Compare with v0.8.0](https://github.com/mylonics/struct-frame/compare/v0.8.0...0.8.1) - -### Fixed - -- fixed csharp collision fix (#302) ([3827abc](https://github.com/mylonics/struct-frame/commit/3827abc3a21151c2d3b91d2eb49c2e6ce4b6c213) by Rijesh Augustine). - -## [v0.8.0](https://github.com/mylonics/struct-frame/releases/tag/v0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...v0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.8.0](https://github.com/mylonics/struct-frame/releases/tag/0.8.0) - 2026-05-06 - -[Compare with v0.7.14](https://github.com/mylonics/struct-frame/compare/v0.7.14...0.8.0) - -### Fixed - -- fixing sf generation (#300) ([18f6afb](https://github.com/mylonics/struct-frame/commit/18f6afba35a574203a45928506b90587cfb5b700) by Rijesh Augustine). - -## [v0.7.14](https://github.com/mylonics/struct-frame/releases/tag/v0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...v0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.14](https://github.com/mylonics/struct-frame/releases/tag/0.7.14) - 2026-05-06 - -[Compare with v0.7.13](https://github.com/mylonics/struct-frame/compare/v0.7.13...0.7.14) - -### Added - -- Added nested enums to cpp (#298) ([b13ce93](https://github.com/mylonics/struct-frame/commit/b13ce93c923a0d167ba9f984d1d267d97def9f6d) by Rijesh Augustine). - -## [v0.7.13](https://github.com/mylonics/struct-frame/releases/tag/v0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...v0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.13](https://github.com/mylonics/struct-frame/releases/tag/0.7.13) - 2026-05-04 - -[Compare with v0.7.12](https://github.com/mylonics/struct-frame/compare/v0.7.12...0.7.13) - -### Added - -- Add tests for nested variable messages, multiple bounded arrays truncation, and mixed fixed + variable fields (section 3.3 coverage) (#295) ([81fd83c](https://github.com/mylonics/struct-frame/commit/81fd83cf2101bf02f9f1b9fabb9d251d1ac254ea) by Copilot). - -### Fixed - -- Fixing namespacing (#296) ([b56645e](https://github.com/mylonics/struct-frame/commit/b56645ed9f00cf16e44c32a89d616899b211310c) by Rijesh Augustine). - -## [v0.7.12](https://github.com/mylonics/struct-frame/releases/tag/v0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...v0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.12](https://github.com/mylonics/struct-frame/releases/tag/0.7.12) - 2026-05-01 - -[Compare with v0.7.11](https://github.com/mylonics/struct-frame/compare/v0.7.11...0.7.12) - -### Added - -- Added more info to sf_compile.json (#293) ([b5a3cff](https://github.com/mylonics/struct-frame/commit/b5a3cff7f48068188e3a9cb19429c92cfcc7e2d9) by Rijesh Augustine). -- Add documentation-coverage and test-coverage reference documents (#290) ([c3a42dd](https://github.com/mylonics/struct-frame/commit/c3a42dd51565cabfde0ccb7b45e41325b9ff5066) by Copilot). - -## [v0.7.11](https://github.com/mylonics/struct-frame/releases/tag/v0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...v0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.11](https://github.com/mylonics/struct-frame/releases/tag/0.7.11) - 2026-05-01 - -[Compare with v0.7.10](https://github.com/mylonics/struct-frame/compare/v0.7.10...0.7.11) - -### Added - -- Add cross-package includes so language servers can navigate to imported types (#287) ([0ad2fe1](https://github.com/mylonics/struct-frame/commit/0ad2fe1fe76d4663a9c2337db3982934e11197a9) by Copilot). - -## [v0.7.10](https://github.com/mylonics/struct-frame/releases/tag/v0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...v0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.10](https://github.com/mylonics/struct-frame/releases/tag/0.7.10) - 2026-05-01 - -[Compare with v0.7.9](https://github.com/mylonics/struct-frame/compare/v0.7.9...0.7.10) - -### Added - -- Add Rust implementation: boilerplate SDK, code generator, and test harness (#285) ([b191838](https://github.com/mylonics/struct-frame/commit/b1918387679e640567f8bdeb7ad79117969948da) by Copilot). - -### Fixed - -- Fix C# discriminator enum naming to include package prefix (#279) ([2ec1be5](https://github.com/mylonics/struct-frame/commit/2ec1be5435adb84df98f91638067d0bfcfc01cb4) by Copilot). -- Fix docs build: override Starlight `social` array with required object format (#282) ([320a817](https://github.com/mylonics/struct-frame/commit/320a817bdbd28246425b917d4596c1e17967fc99) by Copilot). - -## [v0.7.9](https://github.com/mylonics/struct-frame/releases/tag/v0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...v0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.9](https://github.com/mylonics/struct-frame/releases/tag/0.7.9) - 2026-03-11 - -[Compare with v0.7.8](https://github.com/mylonics/struct-frame/compare/v0.7.8...0.7.9) - -### Added - -- added transports as an option (#277) ([ae749b2](https://github.com/mylonics/struct-frame/commit/ae749b223e735e98f8d1c212e5eed949273d3c4e) by Rijesh Augustine). - -### Fixed - -- Fix duplicate workflow runs when multi-commit push lands on main (#276) ([a045807](https://github.com/mylonics/struct-frame/commit/a04580709f68f2ee25acb9c0342e59d13bef9d5e) by Copilot). - -## [v0.7.8](https://github.com/mylonics/struct-frame/releases/tag/v0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...v0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-11 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.8](https://github.com/mylonics/struct-frame/releases/tag/0.7.8) - 2026-03-11 - -[Compare with v0.7.7](https://github.com/mylonics/struct-frame/compare/v0.7.7...0.7.8) - -## [v0.7.7](https://github.com/mylonics/struct-frame/releases/tag/v0.7.7) - 2026-03-11 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...v0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.7](https://github.com/mylonics/struct-frame/releases/tag/0.7.7) - 2026-03-11 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.7) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.6](https://github.com/mylonics/struct-frame/releases/tag/0.7.6) - 2026-03-09 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.6) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixing issues with using writeAsync and ReadAsync (#266) ([d3b18b6](https://github.com/mylonics/struct-frame/commit/d3b18b6b2289e6c6505777d8615785970a5a763f) by Rijesh Augustine). -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.5](https://github.com/mylonics/struct-frame/releases/tag/0.7.5) - 2026-02-05 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.5) - -### Added - -- Add buffer validation and string escaping for security ([0c4a407](https://github.com/mylonics/struct-frame/commit/0c4a407103da8d21e5261f508dc28f11f69d7a77) by copilot-swe-agent[bot]). -- Add ExtractPayload helper and remove GetMsgId for messages without msgid ([703e3e9](https://github.com/mylonics/struct-frame/commit/703e3e9d874d1ae7374467a942cb16731c6d2781) by copilot-swe-agent[bot]). -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix XML comment formatting in C# generator ([3c2ba91](https://github.com/mylonics/struct-frame/commit/3c2ba918e7311ac9db4e70548a19d11ecaad2d71) by copilot-swe-agent[bot]). -- Fix XML documentation formatting for GetMsgId ([6d8bb82](https://github.com/mylonics/struct-frame/commit/6d8bb827111c3e8f26bef5ca60aededdea95f083) by copilot-swe-agent[bot]). -- Fix GetMsgId to throw NotSupportedException for messages without msgid ([af83db2](https://github.com/mylonics/struct-frame/commit/af83db2eed1fdef32c7c04bd4591cd1c06a99db9) by copilot-swe-agent[bot]). -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.4](https://github.com/mylonics/struct-frame/releases/tag/0.7.4) - 2026-02-05 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.4) - -### Added - -- Add module docstring to GraphQL generator ([461a9d1](https://github.com/mylonics/struct-frame/commit/461a9d19e5e3f1fa669ec7724a9c3222d7c24336) by copilot-swe-agent[bot]). -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix naming conventions, optimize dict lookups, simplify field comparison logic ([37ba08e](https://github.com/mylonics/struct-frame/commit/37ba08e5526b153fda2988656bda418d950d19ad) by copilot-swe-agent[bot]). -- Fix comment loss bug in enum generators and add documentation ([c953b22](https://github.com/mylonics/struct-frame/commit/c953b228f7d5e294ed69401f0c89ec5fae584837) by copilot-swe-agent[bot]). -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.3](https://github.com/mylonics/struct-frame/releases/tag/0.7.3) - 2026-02-05 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.3) - -### Added - -- Add missing negative tests to all languages for complete cross-language coverage ([23aa116](https://github.com/mylonics/struct-frame/commit/23aa116b7e9be3fa059bd5eb2319049ef53cd0a7) by copilot-swe-agent[bot]). -- Add embedded-friendly pseudo code examples to profiling_generic.hpp ([39c41eb](https://github.com/mylonics/struct-frame/commit/39c41eba2f399391ef2111f331a33825098e734f) by copilot-swe-agent[bot]). -- Add negative tests for all languages (C, TypeScript, JavaScript, C#) ([7473631](https://github.com/mylonics/struct-frame/commit/7473631ad8051f3152272960037ba56ebb485083) by copilot-swe-agent[bot]). -- Add documentation for negative tests ([e4ef9aa](https://github.com/mylonics/struct-frame/commit/e4ef9aa4ef6189bce686c9b34a12dc6d81a0c600) by copilot-swe-agent[bot]). -- Add negative tests for C, C++, and Python with test runner integration ([373abad](https://github.com/mylonics/struct-frame/commit/373abad81293d288ea2e8ce368309179d7b341c0) by copilot-swe-agent[bot]). -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix C# negative tests to use correct C# API ([0585105](https://github.com/mylonics/struct-frame/commit/05851059129695a57de5b0e805e879095040f7bf) by copilot-swe-agent[bot]). -- Fix C negative tests to use correct API signatures ([3e58809](https://github.com/mylonics/struct-frame/commit/3e58809a1cea59efe2b01cfafde802d2a6b70483) by copilot-swe-agent[bot]). -- Fix negative tests for C++ and Python, verify all tests pass ([4e233bf](https://github.com/mylonics/struct-frame/commit/4e233bf837fa61662ef589cc3ae411bf44dd009a) by copilot-swe-agent[bot]). -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove accidentally committed debug and build files ([abcf412](https://github.com/mylonics/struct-frame/commit/abcf412edaf0abad018f086f831e790ed8d7d45e) by copilot-swe-agent[bot]). -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.2](https://github.com/mylonics/struct-frame/releases/tag/0.7.2) - 2026-02-04 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.2) - -### Added - -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.1](https://github.com/mylonics/struct-frame/releases/tag/0.7.1) - 2026-02-03 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.1) - -### Added - -- Add three levels of profiling tests: Barebones, Struct-Frame-Generic, and Struct-Frame-Generated ([d95176e](https://github.com/mylonics/struct-frame/commit/d95176e5ad021d0fa6ff772333d4b09ccf0c641c) by copilot-swe-agent[bot]). -- Add C++ profiling test to test suite that compares packed vs unpacked struct performance ([85e72e2](https://github.com/mylonics/struct-frame/commit/85e72e21da084030eeb9f03f4a7e270c6af6dd3c) by copilot-swe-agent[bot]). -- Address code review feedback for C# tests ([8fca634](https://github.com/mylonics/struct-frame/commit/8fca6344b985446b88d5c53f7ead3eedbbf34024) by copilot-swe-agent[bot]). -- Add test generation for Python with --generate_tests flag ([5014762](https://github.com/mylonics/struct-frame/commit/5014762538c567bc3317a4b4f540e86bf7cba0b2) by copilot-swe-agent[bot]). -- Add auto-test generation for C++ with --generate_tests flag ([98ce290](https://github.com/mylonics/struct-frame/commit/98ce2900e2e79d0ac37a3f2983bbec740a513ef4) by copilot-swe-agent[bot]). -- Add profiling_tests.hpp with time profiling and round-trip verification tests ([2adf3b5](https://github.com/mylonics/struct-frame/commit/2adf3b5169b4b07f717a57c3b70b1676de3ead0f) by copilot-swe-agent[bot]). -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix strncpy size arguments to use sizeof for clarity and correctness ([930bc42](https://github.com/mylonics/struct-frame/commit/930bc4235f697893fe2977b7af5c5a505b6fa01b) by copilot-swe-agent[bot]). -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove unused Optional import from Python standard_test_data.py ([15c40cb](https://github.com/mylonics/struct-frame/commit/15c40cb6603fabe26fcfe9d364e272e3054d80d6) by copilot-swe-agent[bot]). -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.7.0](https://github.com/mylonics/struct-frame/releases/tag/0.7.0) - 2026-02-03 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.7.0) - -### Added - -- Added envelope messages ([2feab85](https://github.com/mylonics/struct-frame/commit/2feab857deeeaf7c2434fe7799a2e2990a43598c) by Rijesh Augustine). -- Added hashing to prevent unnecessary regeneration ([41b0536](https://github.com/mylonics/struct-frame/commit/41b0536ca7ef35ed784b0ba5d391ce3a3d91ee83) by Rijesh Augustine). -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove redundant enum-to-string functions from all generators ([473be90](https://github.com/mylonics/struct-frame/commit/473be9009afad5f951679945562daeb7c30a0947) by copilot-swe-agent[bot]). -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [Unreleased] - -### Changed - -- Removed redundant enum-to-string helper functions from TypeScript, JavaScript, Python, and C# generators. These languages have built-in enum/string conversion capabilities: - - **Python**: Use `.name` property on Enum instances - - **TypeScript**: Use reverse mapping (e.g., `EnumName[value]`) - - **JavaScript**: Use `Object.keys()` to find key by value - - **C#**: Use built-in `.ToString()` method - - **C and C++**: Still generate `_to_string()` helper functions as these languages lack built-in enum reflection - -## [0.6.3](https://github.com/mylonics/struct-frame/releases/tag/0.6.3) - 2026-01-20 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.6.3) - -### Added - -- Add documentation for enum-to-string conversion feature ([789532c](https://github.com/mylonics/struct-frame/commit/789532c0882ebe8dc3b6d22f28847aea9658fed6) by copilot-swe-agent[bot]). -- Add enum-to-string conversion functions for all languages ([ee3eb26](https://github.com/mylonics/struct-frame/commit/ee3eb266f19fb4c56a9b46f8eb6f4d5dec6c5a1e) by copilot-swe-agent[bot]). -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix Python enum-to-string to properly strip enum name prefix ([95e2c18](https://github.com/mylonics/struct-frame/commit/95e2c18c804951ece7182883f0f3784552cf19ed) by copilot-swe-agent[bot]). -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.6.2](https://github.com/mylonics/struct-frame/releases/tag/0.6.2) - 2026-01-15 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.6.2) - -### Added - -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixed another null issue ([7f313e2](https://github.com/mylonics/struct-frame/commit/7f313e2fd2a18fdc8f1c132b47e10bdedb01571a) by Rijesh Augustine). -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.6.1](https://github.com/mylonics/struct-frame/releases/tag/0.6.1) - 2026-01-15 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.6.1) - -### Added - -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fixing some c# warnings ([f4d3892](https://github.com/mylonics/struct-frame/commit/f4d3892b62dd1dedf45a9efe5a77a9191d83e626) by Rijesh Augustine). -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.6.0](https://github.com/mylonics/struct-frame/releases/tag/0.6.0) - 2026-01-15 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.6.0) - -### Added - -- Add C# message registry, deserialization dispatch, and .csproj generation ([f98b130](https://github.com/mylonics/struct-frame/commit/f98b1302fbde4f09a5eda6aaffb25e86cb9bbe29) by copilot-swe-agent[bot]). -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.5.0](https://github.com/mylonics/struct-frame/releases/tag/0.5.0) - 2026-01-15 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.5.0) - -### Added - -- Add FrameMsgInfo overload for deserialize across all languages ([5507970](https://github.com/mylonics/struct-frame/commit/5507970530c92ec71d6c9bcaf44958fd3cabe98b) by copilot-swe-agent[bot]). -- Address review feedback: fix output filenames, add magic numbers, update message-definitions, consolidate custom-features ([147ce90](https://github.com/mylonics/struct-frame/commit/147ce908260bad335d16a7f233d964516fa1d178) by copilot-swe-agent[bot]). -- Added more test data ([b5b7d54](https://github.com/mylonics/struct-frame/commit/b5b7d54e20ab26e3670972e21424d78310aa0e0a) by Rijesh Augustine). -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add review request for @rijesha ([c7c1cc7](https://github.com/mylonics/struct-frame/commit/c7c1cc717e4ec15b29d22c53e18bf0afd2878980) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix duplicate section heading in language-examples.md ([ed536f2](https://github.com/mylonics/struct-frame/commit/ed536f2512b66353f9acb206f3bf6f22735569ba) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript frame-profiles to use serialize() instead of packVariable() ([1c0a409](https://github.com/mylonics/struct-frame/commit/1c0a4093866e44ea4dd031db0c78ce81f6da0721) by copilot-swe-agent[bot]). -- Fix C# interface and generator issues for serialize/deserialize ([f0acae3](https://github.com/mylonics/struct-frame/commit/f0acae3b1298d3fb293e63493b057a85f714452f) by copilot-swe-agent[bot]). -- Fix C++ FrameMsgInfo namespace issue in deserialize overload ([e42086e](https://github.com/mylonics/struct-frame/commit/e42086ecc5cc2187cb1a74de46dfecc0db8e9e74) by copilot-swe-agent[bot]). -- Fix C++ boilerplate to use serialize/serialized_size ([0c4af59](https://github.com/mylonics/struct-frame/commit/0c4af5925a8ffd83017d39c4b8ac739c4a27b4f3) by copilot-swe-agent[bot]). -- Fix remaining Python generator issues ([f18adbb](https://github.com/mylonics/struct-frame/commit/f18adbb24cf6b448e1e8d0772bfe65c2fecbcfdf) by copilot-swe-agent[bot]). -- Fix nested message serialization calls in Python generator ([1912f3a](https://github.com/mylonics/struct-frame/commit/1912f3adfce60405db4ddb6819986483004360ee) by copilot-swe-agent[bot]). -- Fix ASIO copy behavior - only copy when C++ and --sdk are both set ([733c003](https://github.com/mylonics/struct-frame/commit/733c0033fd527b6b68014d75bc31410f8b594699) by copilot-swe-agent[bot]). -- Fix code examples to match actual generated code: filenames, class names, imports, methods ([cebb112](https://github.com/mylonics/struct-frame/commit/cebb112a1a70fbe10fdedce8897232c56f8d4de5) by copilot-swe-agent[bot]). -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Change default: ASIO not copied by default, only with --sdk for C++ ([cef98e8](https://github.com/mylonics/struct-frame/commit/cef98e838aa01246a11d535fbf11b6cd4f38bb20) by copilot-swe-agent[bot]). -- Changes before error encountered ([5a899c0](https://github.com/mylonics/struct-frame/commit/5a899c0eab6dfcf09b852e7133d320b5697dbb35) by copilot-swe-agent[bot]). -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove offset parameter from C# Deserialize methods ([18189f6](https://github.com/mylonics/struct-frame/commit/18189f6df606c25c0e4a48414f6ad53c85e71978) by copilot-swe-agent[bot]). -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.4.0](https://github.com/mylonics/struct-frame/releases/tag/0.4.0) - 2026-01-14 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.4.0) - -### Added - -- added variable tests ([2bf56aa](https://github.com/mylonics/struct-frame/commit/2bf56aa261c16dded9f1359c8d0f4e8c706c3c1c) by Rijesh Augustine). -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fixed variable messages ([5101df4](https://github.com/mylonics/struct-frame/commit/5101df4729ed86810be830d3d1aa335366923236) by Rijesh Augustine). -- Fixed struct bracket not closing properly ([cb96dd7](https://github.com/mylonics/struct-frame/commit/cb96dd7009af0ea83cdc4e3866d3ec1042f31338) by Rijesh Augustine). -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- Changes before error encountered ([1c82aaa](https://github.com/mylonics/struct-frame/commit/1c82aaadbb41e6ac913707452717e278833e7603) by copilot-swe-agent[bot]). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.3.1](https://github.com/mylonics/struct-frame/releases/tag/0.3.1) - 2026-01-14 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.3.1) - -### Added - -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix PyPI publish workflow to initialize submodules ([e52a57d](https://github.com/mylonics/struct-frame/commit/e52a57d038c4c93e642f0b8b2efcebe7d787e283) by copilot-swe-agent[bot]). -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- Changes before error encountered ([1c82aaa](https://github.com/mylonics/struct-frame/commit/1c82aaadbb41e6ac913707452717e278833e7603) by copilot-swe-agent[bot]). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.3.0](https://github.com/mylonics/struct-frame/releases/tag/0.3.0) - 2026-01-14 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.3.0) - -### Added - -- Add 5 variable messages with different fill levels to extended tests ([969d2a5](https://github.com/mylonics/struct-frame/commit/969d2a58fbb30be3f917fb85c894e2cae38676fa) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests across all languages ([e60bfc1](https://github.com/mylonics/struct-frame/commit/e60bfc15ec84d925f638799f09cf5483cc621be5) by copilot-swe-agent[bot]). -- Add 5 variable messages with different fill levels to standard tests ([4e712e3](https://github.com/mylonics/struct-frame/commit/4e712e38ef74f0120c4e382faa536a9f2ccb8069) by copilot-swe-agent[bot]). -- Add variable message to JavaScript, C, and C# standard tests ([41d698f](https://github.com/mylonics/struct-frame/commit/41d698f61d42aabff40a054e1a200821b65bfb8c) by copilot-swe-agent[bot]). -- Add variable message to C++ and TypeScript standard tests ([7e90d4d](https://github.com/mylonics/struct-frame/commit/7e90d4d6bb1f7a029000608f70aeaf1e050c0968) by copilot-swe-agent[bot]). -- Add variable message to Python standard test data ([dd0dead](https://github.com/mylonics/struct-frame/commit/dd0deade484a68e1f3a504720304687863c1c031) by copilot-swe-agent[bot]). -- Add variable field message support for all languages ([36db5c9](https://github.com/mylonics/struct-frame/commit/36db5c9be8dc43f1480675ceecbdd29fe5d25b78) by copilot-swe-agent[bot]). -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add asio as git submodule and configure for pip packaging ([a5b0571](https://github.com/mylonics/struct-frame/commit/a5b057188f8c19fdcf3e45ea2e8936aab92000d1) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix proto file comment to clarify fixed array usage ([6abb639](https://github.com/mylonics/struct-frame/commit/6abb63916aed181c568f591902f96b484f75e9a8) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript class-based generator to use uint16 for counts > 255 ([39bf0be](https://github.com/mylonics/struct-frame/commit/39bf0bec15aabdbe7f0423c14854e249637f6e3f) by copilot-swe-agent[bot]). -- Fix TypeScript and C# generators for variable messages with strings ([bd2103a](https://github.com/mylonics/struct-frame/commit/bd2103a2469401903312ef43f50aed109c369915) by copilot-swe-agent[bot]). -- Fix code review comments: use MAX_SIZE constant and improve comments ([3593f9e](https://github.com/mylonics/struct-frame/commit/3593f9ede887a8b73ccb967d30e646e4522cda9e) by copilot-swe-agent[bot]). -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- Fix duplicate entry in .gitmodules ([d816d0b](https://github.com/mylonics/struct-frame/commit/d816d0b7cec68337447432a714c1d379170bb19e) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changed construtor use in js and ts ([cd73701](https://github.com/mylonics/struct-frame/commit/cd7370172ba5f87de238c32940c74691c8ec51ba) by Rijesh Augustine). -- Changes before error encountered ([1c82aaa](https://github.com/mylonics/struct-frame/commit/1c82aaadbb41e6ac913707452717e278833e7603) by copilot-swe-agent[bot]). -- changed magic location in cpp ([89c53eb](https://github.com/mylonics/struct-frame/commit/89c53ebddd6ecb0b8642ac5d318c80deff8a602c) by Rijesh Augustine). -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove separate test file and add variable messages to standard/extended tests ([3935a5d](https://github.com/mylonics/struct-frame/commit/3935a5ddf26a201711d87730319cb81c55cd6125) by copilot-swe-agent[bot]). -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.2.0](https://github.com/mylonics/struct-frame/releases/tag/0.2.0) - 2026-01-13 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.2.0) - -### Added - -- Add C#, C, and complete JavaScript magic number support ([287fe6b](https://github.com/mylonics/struct-frame/commit/287fe6bbf1d4ee3b1c42e7e85bb192d3d0bbbc8d) by copilot-swe-agent[bot]). -- Add TypeScript and JavaScript magic number support ([151fb98](https://github.com/mylonics/struct-frame/commit/151fb98fd56eb1d4c7ede050df105afff69ad32f) by copilot-swe-agent[bot]). -- Add magic number generation and C++/Python support ([2979ed5](https://github.com/mylonics/struct-frame/commit/2979ed55820c4a0cb202613da979dce812413618) by copilot-swe-agent[bot]). -- Add comprehensive naming conventions documentation to DEVGUIDE.md ([388ab58](https://github.com/mylonics/struct-frame/commit/388ab58b681c0fc82fa48f08b4c28277219b7c63) by copilot-swe-agent[bot]). -- Add comprehensive index for naming convention review ([8449fbc](https://github.com/mylonics/struct-frame/commit/8449fbc9c744c3d7e15d2e4e48a217ea6b4d078b) by copilot-swe-agent[bot]). -- Add visual comparison table for naming conventions ([4db023a](https://github.com/mylonics/struct-frame/commit/4db023a45930af3d8e6138fd15f6ad9ca3b26a81) by copilot-swe-agent[bot]). -- Add executive summary for naming convention review ([534ce0e](https://github.com/mylonics/struct-frame/commit/534ce0e70c7b104e30422bad4cdf67108f8da3ad) by copilot-swe-agent[bot]). -- Add comprehensive naming convention review document ([9734256](https://github.com/mylonics/struct-frame/commit/9734256f75328421377989205b10b7d2e6ee6fbd) by copilot-swe-agent[bot]). -- Added equality function generation ([8501990](https://github.com/mylonics/struct-frame/commit/8501990ecb011b84559fb37f12c64f0bd26f1a5b) by Rijesh Augustine). -- Add C# test include directory structure ([193336a](https://github.com/mylonics/struct-frame/commit/193336a4756c6df51c930769408f3c630241cc7c) by copilot-swe-agent[bot]). -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix C boilerplate forward declaration and parameter passing ([549474b](https://github.com/mylonics/struct-frame/commit/549474b68a5740b805bfd428bfed9173fed0fda6) by copilot-swe-agent[bot]). -- Fix TypeScript compilation issue with cross-package imports ([3047acf](https://github.com/mylonics/struct-frame/commit/3047acf44d1e9777290b05a9ed481f785cc2f951) by copilot-swe-agent[bot]). -- Fix TypeScript/JavaScript imports and remove naming review docs ([9151b2e](https://github.com/mylonics/struct-frame/commit/9151b2e244c134fac5b33368ce5c6d4d423c82ae) by copilot-swe-agent[bot]). -- Fix P3: C# boilerplate files now use PascalCase naming ([10c8799](https://github.com/mylonics/struct-frame/commit/10c879987f0fd346a89aace1c2263b089b622160) by copilot-swe-agent[bot]). -- Fix P2: Rename FrameProfiles.hpp to frame_profiles.hpp for consistency ([fb01445](https://github.com/mylonics/struct-frame/commit/fb01445153d7338a4e73138eaa14c2150c6d61e6) by copilot-swe-agent[bot]). -- Fix P1: TypeScript/JavaScript use PascalCase for classes and enums ([88da34e](https://github.com/mylonics/struct-frame/commit/88da34ec867d16123ed7ab457f8739b8afef8cf8) by copilot-swe-agent[bot]). -- fixed python unpacking problem ([b7369d3](https://github.com/mylonics/struct-frame/commit/b7369d3b47cf11a660c965a65cc391dd43b274c5) by Rijesh Augustine). -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changes before error encountered ([63ba68c](https://github.com/mylonics/struct-frame/commit/63ba68cd02d3a86cc5d45970ceae874ebc1cf4ab) by copilot-swe-agent[bot]). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- removed std functional and optional ([71ef0fd](https://github.com/mylonics/struct-frame/commit/71ef0fd8256967aacb279c2ff32afdc8223f77db) by Rijesh Augustine). -- Remove JSON files and update plugins.py ([ed4a948](https://github.com/mylonics/struct-frame/commit/ed4a948af59805b83cb8e77bc8a9c42bcb50cd59) by copilot-swe-agent[bot]). -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.1.4](https://github.com/mylonics/struct-frame/releases/tag/0.1.4) - 2026-01-12 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.1.4) - -### Added - -- Add Python streaming interface for test messages ([908a45a](https://github.com/mylonics/struct-frame/commit/908a45ad32c633bf2f7d82b6528cf1f11048240f) by copilot-swe-agent[bot]). -- Add test message data files and update C test codec to use them ([f055de9](https://github.com/mylonics/struct-frame/commit/f055de907455e1a3684e11079507459d8c2615b8) by copilot-swe-agent[bot]). -- Add C extended message ID test support ([056adde](https://github.com/mylonics/struct-frame/commit/056addec348a2090cc64aeb06810ba5c1df42d0a) by copilot-swe-agent[bot]). -- Add extended message ID tests for TypeScript, JavaScript, and C# ([aa81449](https://github.com/mylonics/struct-frame/commit/aa814499cc5db08f991ea482bd88b3483e2e5796) by copilot-swe-agent[bot]). -- Add extended message ID tests with C++ and Python support ([0027eff](https://github.com/mylonics/struct-frame/commit/0027eff03af54c1671a036f55ad15cc876acce87) by copilot-swe-agent[bot]). -- Add struct_base to index ([45dc7f1](https://github.com/mylonics/struct-frame/commit/45dc7f1ff2ef74b8237090542b99e9f673d0cc14) by Rijesh Augustine). -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixed c# issues ([81b0a09](https://github.com/mylonics/struct-frame/commit/81b0a091fc3bc105dc1c000f9e72d4168c266682) by Rijesh Augustine). -- Fix C++ tests - use std::array instead of switch statement ([8630e77](https://github.com/mylonics/struct-frame/commit/8630e771bcf698e7a922dd422bb25a60d9e7a4ed) by copilot-swe-agent[bot]). -- Fix C test messages data - now working without JSON ([e570cf0](https://github.com/mylonics/struct-frame/commit/e570cf0b11b8fe4273334b50956950a52989aa42) by copilot-swe-agent[bot]). -- Fix incorrect "Automatically generated" headers in boilerplate files ([aff3e8e](https://github.com/mylonics/struct-frame/commit/aff3e8ef95f17fbd2b63024fdfc63022cf9e9bab) by copilot-swe-agent[bot]). -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changes before error encountered ([63ba68c](https://github.com/mylonics/struct-frame/commit/63ba68cd02d3a86cc5d45970ceae874ebc1cf4ab) by copilot-swe-agent[bot]). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Removed the frame format generator ([104fedb](https://github.com/mylonics/struct-frame/commit/104fedb686e4bf1dfff0e1b63a149b9f434ae6c9) by Rijesh Augustine). -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.1.3](https://github.com/mylonics/struct-frame/releases/tag/0.1.3) - 2026-01-10 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.1.3) - -### Added - -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changed to message base for write functions ([7f2a3c3](https://github.com/mylonics/struct-frame/commit/7f2a3c3b26eedab36cc52747e3ffa79f32ba73fa) by Rijesh Augustine). -- Changes before error encountered ([63ba68c](https://github.com/mylonics/struct-frame/commit/63ba68cd02d3a86cc5d45970ceae874ebc1cf4ab) by copilot-swe-agent[bot]). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.1.2](https://github.com/mylonics/struct-frame/releases/tag/0.1.2) - 2026-01-09 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.1.2) - -### Added - -- Add class-based message generation to TypeScript and JavaScript generators ([a3a8ef1](https://github.com/mylonics/struct-frame/commit/a3a8ef1b889f9d53b66331a0f4d14dbe5a0e29ad) by copilot-swe-agent[bot]). -- Add MessageBase class to TypeScript and JavaScript struct_base files ([5d654ef](https://github.com/mylonics/struct-frame/commit/5d654ef5881f56e3cc99b8cd413699287e2b2bf8) by copilot-swe-agent[bot]). -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- fixed most issues ([89dfad6](https://github.com/mylonics/struct-frame/commit/89dfad6cac2a2a2f437e818cec936cf90c95f46c) by Rijesh Augustine). -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([63ba68c](https://github.com/mylonics/struct-frame/commit/63ba68cd02d3a86cc5d45970ceae874ebc1cf4ab) by copilot-swe-agent[bot]). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove legacy Struct class, use class-based generation, fix ESLint issues ([4d5c902](https://github.com/mylonics/struct-frame/commit/4d5c902ad15f8565ede9376340e82b633b862feb) by copilot-swe-agent[bot]). -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.1.1](https://github.com/mylonics/struct-frame/releases/tag/0.1.1) - 2026-01-09 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.1.1) - -### Added - -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fixed imports ([c321311](https://github.com/mylonics/struct-frame/commit/c32131170099169747271a202dd38eedca17e394) by Rijesh Augustine). -- Fixed other issues ([404fb66](https://github.com/mylonics/struct-frame/commit/404fb66d9f373293ef3a85fce71e66cfc47d2ee3) by Rijesh Augustine). -- Fix JS/TS codec tests to use relative imports instead of copying files ([609e6a9](https://github.com/mylonics/struct-frame/commit/609e6a99dc9198235cbdd478a3f90abd7e3fef29) by copilot-swe-agent[bot]). -- Fixing test issues ([e7b1304](https://github.com/mylonics/struct-frame/commit/e7b130430eb2cddbbb58ff0b379c8e9e053191e7) by Rijesh Augustine). -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([63ba68c](https://github.com/mylonics/struct-frame/commit/63ba68cd02d3a86cc5d45970ceae874ebc1cf4ab) by copilot-swe-agent[bot]). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.1.0](https://github.com/mylonics/struct-frame/releases/tag/0.1.0) - 2026-01-09 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.1.0) - -### Added - -- Add BufferReader, BufferWriter, and AccumulatingReader to all language boilerplates ([04ac436](https://github.com/mylonics/struct-frame/commit/04ac4363cb34e9a8ba4230120ee641ad2712da3c) by copilot-swe-agent[bot]). -- Add ByteArray method and union message handling for TS, JS, and C# ([dc5bb03](https://github.com/mylonics/struct-frame/commit/dc5bb03732f7e896d9cc852d5f0720bc93cd3257) by copilot-swe-agent[bot]). -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([63ba68c](https://github.com/mylonics/struct-frame/commit/63ba68cd02d3a86cc5d45970ceae874ebc1cf4ab) by copilot-swe-agent[bot]). -- Changed test results exit code ([b212081](https://github.com/mylonics/struct-frame/commit/b212081e74de196f14d8afeb39e0adaa8db62897) by Rijesh Augustine). - -### Removed - -- Remove unused backwards-compatibility code from test_codecs ([c6d92e0](https://github.com/mylonics/struct-frame/commit/c6d92e0d0ac51f1fe0b5632e38c3064a6edc3596) by copilot-swe-agent[bot]). -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.0.57](https://github.com/mylonics/struct-frame/releases/tag/0.0.57) - 2026-01-08 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.0.57) - -### Added - -- Added streaming mode to accumulating buffer ([5a9bbd1](https://github.com/mylonics/struct-frame/commit/5a9bbd128fbadfdb53fd53a9985a9d8f80994bad) by Rijesh Augustine). -- Added BufferReader and BufferWriter ([629add3](https://github.com/mylonics/struct-frame/commit/629add3aec078395d0f302ceaf11f9f569d91c27) by Rijesh Augustine). -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Removed - -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.0.56](https://github.com/mylonics/struct-frame/releases/tag/0.0.56) - 2026-01-08 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.0.56) - -### Added - -- Add oneof/union support for TypeScript, JavaScript, and C# generators ([47198a0](https://github.com/mylonics/struct-frame/commit/47198a0f9e2a6cb122e1788650370f27236f4534) by copilot-swe-agent[bot]). -- Add oneof/union support for Python generator ([d3ebf07](https://github.com/mylonics/struct-frame/commit/d3ebf07b263cd307f6404c6847a23f265a0508a5) by copilot-swe-agent[bot]). -- Add oneof/union support for C and C++ generators ([57b17c0](https://github.com/mylonics/struct-frame/commit/57b17c0ed73309c6028ec9b65dd16f24eaf110ee) by copilot-swe-agent[bot]). -- Added union tests ([7c534be](https://github.com/mylonics/struct-frame/commit/7c534be4b36072242ca2ba78478b9c2570a395eb) by Rijesh Augustine). -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix discriminator type to uint16_t when package has package_id ([93a37de](https://github.com/mylonics/struct-frame/commit/93a37deb1ede482d93c98cbac30247c0aae4992a) by copilot-swe-agent[bot]). -- Fix code review issues - use msg_id class attribute and fix typos ([e50a593](https://github.com/mylonics/struct-frame/commit/e50a5932150fdd29a55b2ecae36f866b66b9d985) by copilot-swe-agent[bot]). -- Fix Python test to use new union structure ([507f2e6](https://github.com/mylonics/struct-frame/commit/507f2e6dc4796b6758ae1785dd761d30afaa3cd6) by copilot-swe-agent[bot]). -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Removed - -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.0.55](https://github.com/mylonics/struct-frame/releases/tag/0.0.55) - 2026-01-07 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.0.55) - -### Added - -- Added msg id and msg size directly into cpp code ([00299b6](https://github.com/mylonics/struct-frame/commit/00299b6de59e6b5c95485173dd4758f62887cc43) by Rijesh Augustine). -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Removed - -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.0.54](https://github.com/mylonics/struct-frame/releases/tag/0.0.54) - 2026-01-07 - -[Compare with v0.0.52](https://github.com/mylonics/struct-frame/compare/v0.0.52...0.0.54) - -### Added - -- Add payload type filtering based on package configuration ([a24d62a](https://github.com/mylonics/struct-frame/commit/a24d62ac3e3802ecec70b82ca53b63a2633646b7) by copilot-swe-agent[bot]). -- Add message ID validation and update generators to use combined 16-bit message IDs ([f7bbcee](https://github.com/mylonics/struct-frame/commit/f7bbceecd36de8463e5d9a20dc3bdc59c1109239) by copilot-swe-agent[bot]). -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -### Fixed - -- Fix C# switch statement to use local message ID values instead of combined constants ([26283f2](https://github.com/mylonics/struct-frame/commit/26283f2fb3e3009ab5728812088f0e417f6c8a80) by copilot-swe-agent[bot]). -- Fix type consistency issues identified in code review ([c45326c](https://github.com/mylonics/struct-frame/commit/c45326cdb7ffe7a4eb3e19985a00279578c1c460) by copilot-swe-agent[bot]). -- fixed max_observers ([46ccadd](https://github.com/mylonics/struct-frame/commit/46ccadd3e4930f1fcb2ccf7bfdab1f275d7fc567) by Rijesh Augustine). - -### Removed - -- Remove pkg_id parameter from encode functions and add ExtendedMinimal payload type ([d1e2ac7](https://github.com/mylonics/struct-frame/commit/d1e2ac71dce11462c9517c2f6b609444594dd341) by copilot-swe-agent[bot]). - -## [v0.0.52](https://github.com/mylonics/struct-frame/releases/tag/v0.0.52) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...v0.0.52) - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). - -## [0.0.53](https://github.com/mylonics/struct-frame/releases/tag/0.0.53) - 2026-01-06 - -[Compare with v0.0.51](https://github.com/mylonics/struct-frame/compare/v0.0.51...0.0.53) - -### Added - -- Add generated profile-specific framers and parsers for all profiles (#136) ([064daa7](https://github.com/mylonics/struct-frame/commit/064daa7f95cd677c673e514736af762e439fe2d5) by Copilot). - -## [v0.0.51](https://github.com/mylonics/struct-frame/releases/tag/v0.0.51) - 2026-01-06 - -[Compare with first commit](https://github.com/mylonics/struct-frame/compare/9b9977bd29b2acb1bb1681df472b7400349172d2...v0.0.51) - -### Added - -- Add automated release pipeline with version bumping and PyPI publishing (#130) ([f289a0c](https://github.com/mylonics/struct-frame/commit/f289a0c10519907a6cb82262d8e01d24f11af4bf) by Copilot). -- Add minimal frame parsing documentation, examples, and auto-generated helper functions (#123) ([a441990](https://github.com/mylonics/struct-frame/commit/a441990f914e9efc04a1d0ac9306e35c083b09dd) by Copilot). -- Add C++ buffer parsing API and comprehensive parser feature matrix (#118) ([3da509b](https://github.com/mylonics/struct-frame/commit/3da509baaa63afdd85736c289599ed3238bd3a48) by Copilot). -- Add Wireshark dissector for struct-frame protocols (#119) ([b9479ae](https://github.com/mylonics/struct-frame/commit/b9479ae12e9befc6813ef8217f9de30650db2868) by Copilot). -- Add inline frame format helpers to C# tests (#114) ([681cd81](https://github.com/mylonics/struct-frame/commit/681cd8159c365a73d5ec490547f867809b8a6e5f) by Copilot). -- Add polyglot parser for multi-frame-type streams (#103) ([6420666](https://github.com/mylonics/struct-frame/commit/6420666082a58259b04f209534f850735edcc669) by Copilot). -- Add intent-based framing profiles and interactive calculator to simplify frame format selection (#99) ([eab5b66](https://github.com/mylonics/struct-frame/commit/eab5b66bee186e404c45c7baf68740c039d2e81f) by Copilot). -- Add high-level SDK with transport abstraction for TypeScript, Python, C++, and C# (opt-in via flags) (#95) ([ddf3b74](https://github.com/mylonics/struct-frame/commit/ddf3b7490e4c92027e09f79ee1563880ceeefb1b) by Copilot). -- Added logo ([b301a31](https://github.com/mylonics/struct-frame/commit/b301a317376d47a70f0cf3251721e1fcff6d9a42) by Rijesh Augustine). -- Added C# tests ([65c7330](https://github.com/mylonics/struct-frame/commit/65c7330fb37a0341adb9200e86c3aefffe534f19) by Rijesh Augustine). -- Add C# language with tests (#73) ([cb5292a](https://github.com/mylonics/struct-frame/commit/cb5292a28442c0d856c8b21be93e27a9c21266b9) by Copilot). -- Add boilerplate code generator script and move frame_formats.proto to src (#61) ([c269bf2](https://github.com/mylonics/struct-frame/commit/c269bf29a699d3d88e55f5406aae96149c9ff633) by Copilot). -- Add separate BasicFrame and BasicFrameWithLen implementations for C and C++ (#52) ([2b4938c](https://github.com/mylonics/struct-frame/commit/2b4938cb6301eea8a4b4745a0603ac7348024d9a) by Copilot). -- Add frame format definitions proto file (#48) ([021f7fc](https://github.com/mylonics/struct-frame/commit/021f7fc6efd594edbd179ce8f270957c6f41cbe2) by Copilot). -- Add GitHub Actions workflow to automatically publish wiki on pushes to main (#44) ([9d08404](https://github.com/mylonics/struct-frame/commit/9d084048972736cb76a5dd619cf6a086eca8c70d) by Copilot). -- Add documentation wiki pages (#42) ([cc97976](https://github.com/mylonics/struct-frame/commit/cc979765589690408e52156a6100e1877dfe8b5f) by Copilot). -- Add JavaScript as a language target (#38) ([0340272](https://github.com/mylonics/struct-frame/commit/0340272719483556cbdcb7702384996566994d59) by Copilot). -- Add guard check for module availability in TS array test ([cb405cc](https://github.com/mylonics/struct-frame/commit/cb405cc5e8e449f92d97c92f61bbfebba84445fc) by copilot-swe-agent[bot]). -- Add encoder/decoder compilation for TypeScript pipe tests ([649aea5](https://github.com/mylonics/struct-frame/commit/649aea5c5ac16e4409e639903a3a8bfd9599ff1f) by copilot-swe-agent[bot]). -- Address code review comments: use constants and improve formatting ([cc9475c](https://github.com/mylonics/struct-frame/commit/cc9475c590621dd63e80b0305cd14d7ef019deb7) by copilot-swe-agent[bot]). -- Address code review feedback - improve comments and remove duplicate checks ([a80c781](https://github.com/mylonics/struct-frame/commit/a80c781de265bac718ce262eae7017f3bedeec03) by copilot-swe-agent[bot]). -- Add explicit permissions to GitHub Actions workflow for security ([f8ccc27](https://github.com/mylonics/struct-frame/commit/f8ccc27e7c856726f60828c913a96560cc2b3c13) by copilot-swe-agent[bot]). -- Add CI pipeline documentation to README ([8f7edbd](https://github.com/mylonics/struct-frame/commit/8f7edbd24e61196f9c04524deae5961dda310781) by copilot-swe-agent[bot]). -- Add GitHub Actions workflow for testing pipeline ([381c1af](https://github.com/mylonics/struct-frame/commit/381c1afbf049606785065fea9a02ce8c9372d96a) by copilot-swe-agent[bot]). -- Address code review feedback ([281551e](https://github.com/mylonics/struct-frame/commit/281551eedb515f2c56c1a535b3e1dc8d10639d60) by copilot-swe-agent[bot]). -- Add proper C++ test files following same pattern as C/TS/Python tests ([352b9bf](https://github.com/mylonics/struct-frame/commit/352b9bfbbaca441de0c63923b4e098394957d4d6) by copilot-swe-agent[bot]). -- Add implementation summary and finalize cross-platform tests ([35c06c4](https://github.com/mylonics/struct-frame/commit/35c06c4964106bdad92d815e34fe1be3366b57cb) by copilot-swe-agent[bot]). -- Address code review feedback and improve cross-platform test ([3f5be2c](https://github.com/mylonics/struct-frame/commit/3f5be2c7d930cb4f4968a7fdab41ad66dc011ebe) by copilot-swe-agent[bot]). -- Add cross-platform pipe test with C encoder/decoder ([4c0f86c](https://github.com/mylonics/struct-frame/commit/4c0f86c0f2736676b24936a1d6525735a7822831) by copilot-swe-agent[bot]). -- Add C++ code generation with enum classes and modern C++ style ([fe671ee](https://github.com/mylonics/struct-frame/commit/fe671eecb2899a871b94595d05b66ee706bdb999) by copilot-swe-agent[bot]). -- Add comprehensive C++ documentation to README ([b847f18](https://github.com/mylonics/struct-frame/commit/b847f182dbdefe7d231d598735bd7c17611aeaef) by copilot-swe-agent[bot]). -- Add C++ code generator with enum classes and boilerplate files ([04dd66b](https://github.com/mylonics/struct-frame/commit/04dd66bc3960c32542069d93dd55aaadd695a821) by copilot-swe-agent[bot]). -- Added details on message framinig ([3637b8c](https://github.com/mylonics/struct-frame/commit/3637b8c29abb3795e370ec8287be9ef485d805ca) by Rijesh Augustine). -- Added flatten keyword ([9a8ea2c](https://github.com/mylonics/struct-frame/commit/9a8ea2c5102b253cf4896059d042189791f48058) by Rijesh Augustine). -- Added graphql schema generator ([2076d92](https://github.com/mylonics/struct-frame/commit/2076d928b3b4aa778dfe5fd1446d330876b8111e) by Rijesh Augustine). -- Added python to dict methods ([bae7220](https://github.com/mylonics/struct-frame/commit/bae7220972efb96318f67352624e26ffc97281dd) by Rijesh Augustine). -- Add comprehensive GitHub Copilot instructions ([d89e963](https://github.com/mylonics/struct-frame/commit/d89e9636892d4c438107af63955c9239731cc4d7) by copilot-swe-agent[bot]). -- Added custom printing of python messages ([5bcf582](https://github.com/mylonics/struct-frame/commit/5bcf58252dfe04f8ed6ba7ae5d89dd2a26feeb80) by Rijesh Augustine). -- Added prototype python parser ([db0a265](https://github.com/mylonics/struct-frame/commit/db0a26585f019314adfffab1e0d0d4db5c1311d8) by Rijesh Augustine). -- Added clang-format file ([4917cf1](https://github.com/mylonics/struct-frame/commit/4917cf18167ad0799d2794c12b2e7a32d8bae641) by Rijesh Augustine). -- Added start of new generator ([b3cdf77](https://github.com/mylonics/struct-frame/commit/b3cdf77df52a1243fe3a27aac3acec419eb56dfc) by Rijesh Augustine). - -### Fixed - -- Fix multi-message serialization/deserialization across C, C++, Python, JavaScript, TypeScript, and C# (#125) ([62e330c](https://github.com/mylonics/struct-frame/commit/62e330c676fb06f62e4add73f984d978eaba7f4e) by Copilot). -- Fix documentation to use correct module name and prioritize pip installation (#91) ([1c400ca](https://github.com/mylonics/struct-frame/commit/1c400ca7e9e65971605a3b82efe820a2f1e82da0) by Copilot). -- fixed docs deploy (#86) ([b49eb9a](https://github.com/mylonics/struct-frame/commit/b49eb9a4a0521f79dfd7c8297bed3211a8266fa1) by Rijesh Augustine). -- Fix docs build by quoting pip install version constraints (#83) ([427acd9](https://github.com/mylonics/struct-frame/commit/427acd952c5712c141cd01eb42170eeec9286bad) by Copilot). -- Fix documentation deployment workflow error (#79) ([70ec0f8](https://github.com/mylonics/struct-frame/commit/70ec0f872c54e9ec3f24829bbdfcc1bed3e40ab1) by Copilot). -- Fixed test reporting issues ([09b177f](https://github.com/mylonics/struct-frame/commit/09b177fe905f3e3dcfb068458e86219cbaafc0ab) by Rijesh Augustine). -- Fixed c# tests ([ce7fe42](https://github.com/mylonics/struct-frame/commit/ce7fe42b07f2c056e552546d83bb55bad88abe10) by Rijesh Augustine). -- Fix Publish Wiki workflow by using clone strategy with preprocess (#49) ([99bd87f](https://github.com/mylonics/struct-frame/commit/99bd87f6152df2cea0b657f265615f28728da117) by Copilot). -- Fix Publish Wiki workflow configuration (#46) ([9a85797](https://github.com/mylonics/struct-frame/commit/9a857979567e22d867e5759114da75658611a9f0) by Copilot). -- Fix TypeScript cross-platform deserialization test path (#35) ([85c79e9](https://github.com/mylonics/struct-frame/commit/85c79e97d7786a7381485773093a6c8d357ea9fd) by Copilot). -- fixed tests ([f89a0ad](https://github.com/mylonics/struct-frame/commit/f89a0ad43fc4b732ea4ce905bf31007d1b50ea3c) by Rijesh Augustine). -- Fix TypeScript test working directory inconsistency (#28) ([a49985d](https://github.com/mylonics/struct-frame/commit/a49985d4743c6a1a830a180094a71c7f60077056) by Copilot). -- Fixed upload issue ([f9dd3be](https://github.com/mylonics/struct-frame/commit/f9dd3be07dcdbbff831775dd096fec49aedf87fd) by Rijesh Augustine). -- Fix TypeScript test execution path in run_test_by_type ([5c5ff46](https://github.com/mylonics/struct-frame/commit/5c5ff464886c4ac629bef8a0af71f25f8cb69fc5) by copilot-swe-agent[bot]). -- Fix TypeScript enum handling and struct array naming ([3619892](https://github.com/mylonics/struct-frame/commit/3619892fc42c36490701840662195779d7a41794) by copilot-swe-agent[bot]). -- Fix TypeScript array generation and skip basic_types test due to typed-struct library bug ([b4ab68f](https://github.com/mylonics/struct-frame/commit/b4ab68f8fc898f2f8917cda3c4b373de07dbe9b1) by copilot-swe-agent[bot]). -- Fix TypeScript compilation errors - Buffer.from API and int64/uint64 type swap ([f9e126d](https://github.com/mylonics/struct-frame/commit/f9e126d1597a558d8e474ff2393fcb0d286f71d5) by copilot-swe-agent[bot]). -- Fix Python cross-language compatibility tests ([751f6af](https://github.com/mylonics/struct-frame/commit/751f6afb82501c40e45eede0a21a8dede74abcde) by copilot-swe-agent[bot]). -- Fix code review issues and re-enable Python cross-platform tests ([941a56b](https://github.com/mylonics/struct-frame/commit/941a56b272e9cad86ae847642dfb0f07666de740) by copilot-swe-agent[bot]). -- Fix handling of fixed arrays of nested messages ([e2c9719](https://github.com/mylonics/struct-frame/commit/e2c971944031328ed92bb207978650f5232a7e31) by copilot-swe-agent[bot]). -- fixing some test issues ([5f5e53b](https://github.com/mylonics/struct-frame/commit/5f5e53b3d11d4233d7dcae28a98f152b69312a0a) by Rijesh Augustine). -- Fix variable-size strings and add C++ to cross-platform tests ([dabcee3](https://github.com/mylonics/struct-frame/commit/dabcee306039b162798a745fb305825f56b9a90a) by copilot-swe-agent[bot]). -- Fix Python array generation with proper structured library syntax ([195f914](https://github.com/mylonics/struct-frame/commit/195f9145a0d37e8cf197bcf783518d6e82dafdcb) by copilot-swe-agent[bot]). -- fixing some cpp issues ([35623bd](https://github.com/mylonics/struct-frame/commit/35623bdd63db6d5ad9972812ad58ff7f449c1641) by Rijesh Augustine). -- Fix comment about empty structs in C++ generator ([2e62fbf](https://github.com/mylonics/struct-frame/commit/2e62fbf40504744b02c03e1964944114231bed52) by copilot-swe-agent[bot]). -- Fixed cpp array test ([b45e352](https://github.com/mylonics/struct-frame/commit/b45e352557862490ca86269e239119d0df230bdb) by Rijesh Augustine). -- fixed debug validate ([f10c2a4](https://github.com/mylonics/struct-frame/commit/f10c2a4c6122552ab2036a73ddf3969f533e57cf) by Rijesh Augustine). - -### Changed - -- Changes before error encountered ([8b7cf2c](https://github.com/mylonics/struct-frame/commit/8b7cf2c00cbe845a8558d35a185d9d790ae0a320) by copilot-swe-agent[bot]). -- Changes ready for testing ([7e90204](https://github.com/mylonics/struct-frame/commit/7e902043f8e70300bea4513134eb5294584ac84f) by Rijesh Augustine). - -### Removed - -- Remove legacy code and deprecated features (#131) ([894f1f5](https://github.com/mylonics/struct-frame/commit/894f1f58ddd19a96e1b00317a418c715286586f3) by Copilot). -- Remove hardcoded test values and implement mixed message type testing (all 6 languages complete) (#128) ([1d5ea0c](https://github.com/mylonics/struct-frame/commit/1d5ea0cf386519661f284806f2f5a2c09b523001) by Copilot). -- Remove legacy compatibility layers and deprecated code (#112) ([31145bc](https://github.com/mylonics/struct-frame/commit/31145bce1ccb580300dcfccce9f279b6997ed440) by Copilot). -- removed theme overrides ([1e66c26](https://github.com/mylonics/struct-frame/commit/1e66c2677c7edb17b696db78ff234050de26b34e) by Rijesh Augustine). -- Remove unused boilerplate code, consolidate to frame_parsers_gen files (#63) ([bbbe504](https://github.com/mylonics/struct-frame/commit/bbbe504ec38ce1c7a9c554f1d4a6c0a411c27a3c) by Copilot). -- Remove typed-struct dependency (#33) ([fc75162](https://github.com/mylonics/struct-frame/commit/fc75162ae47379fcf9b3b23f7bbedad949ac439e) by Copilot). -- Remove structured-classes from CI dependencies ([ec83663](https://github.com/mylonics/struct-frame/commit/ec83663a01f4186a052b9f944999985ea25bb12f) by copilot-swe-agent[bot]). -- Remove backup file and add .bak to gitignore ([041b7a4](https://github.com/mylonics/struct-frame/commit/041b7a4d29e4168e9c6ebfba57aaf73567ef7581) by copilot-swe-agent[bot]). diff --git a/tests/c/test_negative.c b/tests/c/test_negative.c index 5a7f12ee..a1535c65 100644 --- a/tests/c/test_negative.c +++ b/tests/c/test_negative.c @@ -489,14 +489,27 @@ bool test_partial_frame_boundary(void) { // Feed first half via add_data, then call next() to save partial data accumulating_reader_add_data(&reader, buffer, mid); - accumulating_reader_next(&reader); // Should return invalid but save partial data + frame_msg_info_t partial = accumulating_reader_next(&reader); + if (partial.valid) return false; // Feed second half - adds to internal_buffer completing the frame accumulating_reader_add_data(&reader, buffer + mid, frame_size - mid); // Call next() once all data is present - should successfully decode the frame frame_msg_info_t result = accumulating_reader_next(&reader); - return result.valid; // Expect success after accumulating both halves + if (!result.valid) return false; + if (result.msg_id != SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID) return false; + + SerializationTestBasicTypesMessage decoded; + SerializationTestBasicTypesMessage_deserialize(result.msg_data, result.msg_len, &decoded); + if (decoded.small_int != msg.small_int) return false; + if (decoded.flag != msg.flag) return false; + + // No extra complete frame should remain. + frame_msg_info_t trailing = accumulating_reader_next(&reader); + if (trailing.valid) return false; + + return true; } /** @@ -796,6 +809,149 @@ bool test_stream_recovers_after_garbage(void) { return false; } +/** + * Test: After a CRC failure the reader continues and decodes the next valid frame, + * and the buffer-exhausted signal is only raised after ALL frames are consumed. + */ +bool test_crc_error_then_valid_frame(void) { + uint8_t buffer[4096]; + SerializationTestBasicTypesMessage msg; + + buffer_writer_t writer; + buffer_writer_init(&writer, &PROFILE_STANDARD_CONFIG, buffer, sizeof(buffer)); + + create_test_message(&msg); + + /* Frame 1: valid */ + msg.small_int = 1; + uint8_t payload1[256]; + size_t ps1 = SerializationTestBasicTypesMessage_serialize(&msg, payload1); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + payload1, ps1, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + + /* Frame 2: CRC-corrupted */ + msg.small_int = 2; + uint8_t payload2[256]; + size_t ps2 = SerializationTestBasicTypesMessage_serialize(&msg, payload2); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + payload2, ps2, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + size_t frame2_end = buffer_writer_size(&writer); + + /* Frame 3: valid */ + msg.small_int = 3; + uint8_t payload3[256]; + size_t ps3 = SerializationTestBasicTypesMessage_serialize(&msg, payload3); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + payload3, ps3, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + size_t total = buffer_writer_size(&writer); + + buffer[frame2_end - 1] ^= 0xFF; + buffer[frame2_end - 2] ^= 0xFF; + + buffer_reader_t reader; + buffer_reader_init(&reader, &PROFILE_STANDARD_CONFIG, buffer, total, get_message_info); + + /* Frame 1 must decode successfully */ + frame_msg_info_t result1 = buffer_reader_next(&reader); + if (!result1.valid) return false; + + /* Frame 2 must report a CRC failure — status MUST be CRC_FAILURE, not NONE */ + frame_msg_info_t result2 = buffer_reader_next(&reader); + if (result2.valid) return false; + if (result2.status != FRAME_MSG_STATUS_CRC_FAILURE) return false; + + /* Reader must continue past the CRC error and decode frame 3 */ + frame_msg_info_t result3 = buffer_reader_next(&reader); + if (!result3.valid) return false; + + /* Buffer must now be fully consumed */ + if (buffer_reader_has_more(&reader)) return false; + + return true; +} + +/** + * Test: AccumulatingReader preserves CRC error status when the failed frame spans + * two add_data() calls (the internal-buffer reassembly path). + */ +bool test_split_buffer_crc_error_status(void) { + uint8_t buf[4096]; + SerializationTestBasicTypesMessage msg; + buffer_writer_t writer; + buffer_writer_init(&writer, &PROFILE_STANDARD_CONFIG, buf, sizeof(buf)); + + create_test_message(&msg); + + /* Frame 1: valid */ + msg.small_int = 1; + uint8_t p1[256]; size_t ps1 = SerializationTestBasicTypesMessage_serialize(&msg, p1); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + p1, ps1, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + + /* Frame 2: CRC-corrupted */ + msg.small_int = 2; + uint8_t p2[256]; size_t ps2 = SerializationTestBasicTypesMessage_serialize(&msg, p2); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + p2, ps2, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + size_t frame2_end = buffer_writer_size(&writer); + + /* Frame 3: valid */ + msg.small_int = 3; + uint8_t p3[256]; size_t ps3 = SerializationTestBasicTypesMessage_serialize(&msg, p3); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + p3, ps3, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + size_t total = buffer_writer_size(&writer); + + buf[frame2_end - 1] ^= 0xFF; + buf[frame2_end - 2] ^= 0xFF; + + /* Split: frame 2's two CRC bytes go in the second add_data() call */ + size_t split_point = frame2_end - 2; + const uint8_t* chunk1 = buf; + const uint8_t* chunk2 = buf + split_point; + size_t chunk2_len = total - split_point; + + uint8_t internal_buffer[1024]; + accumulating_reader_t reader; + accumulating_reader_init(&reader, &PROFILE_STANDARD_CONFIG, internal_buffer, sizeof(internal_buffer), get_message_info); + + accumulating_reader_add_data(&reader, chunk1, split_point); + + /* Frame 1 must decode from the first chunk */ + frame_msg_info_t result1 = accumulating_reader_next(&reader); + if (!result1.valid) return false; + + /* Frame 2 is incomplete — partial data saved to internal buffer */ + frame_msg_info_t partial = accumulating_reader_next(&reader); + if (partial.valid) return false; + + accumulating_reader_add_data(&reader, chunk2, chunk2_len); + + /* CRC bytes of frame 2 arrive — frame 2 is complete but CRC-corrupted. + * Status MUST be CRC_FAILURE, not NONE. */ + frame_msg_info_t result2 = accumulating_reader_next(&reader); + if (result2.valid) return false; + if (result2.status != FRAME_MSG_STATUS_CRC_FAILURE) return false; + + /* Frame 3 must still decode from the remainder of chunk2 */ + frame_msg_info_t result3 = accumulating_reader_next(&reader); + if (!result3.valid) return false; + + return true; +} + // Test function pointer type typedef bool (*TestFunc)(void); @@ -823,10 +979,12 @@ int main(void) { {"Invalid message ID rejection", test_invalid_msg_id}, {"Invalid start bytes detection", test_invalid_start_bytes}, {"Minimal profile: Truncated frame", test_minimal_profile_truncated_frame}, + {"Multiple frames: CRC error then valid frame", test_crc_error_then_valid_frame}, {"Multiple frames: Corrupted middle frame", test_multiple_corrupted_frames}, {"Network profile: Corrupted pkg_id", test_network_corrupted_pkg_id}, {"Network profile: SysId/CompId corruption", test_network_sysid_compid}, {"Partial frame across buffer boundary", test_partial_frame_boundary}, + {"Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status}, {"Stream mode: recovers after garbage prefix", test_stream_recovers_after_garbage}, {"Streaming: Corrupted CRC detection", test_streaming_corrupted_crc}, {"Streaming: Garbage data handling", test_streaming_garbage}, diff --git a/tests/cpp/test_negative.cpp b/tests/cpp/test_negative.cpp index 60070c3f..3f5f7482 100644 --- a/tests/cpp/test_negative.cpp +++ b/tests/cpp/test_negative.cpp @@ -361,14 +361,29 @@ bool test_partial_frame_boundary() { // Feed first half, then call next() to save partial data to internal buffer reader.add_data(buffer.data(), mid); - reader.next(); // Should return invalid but save partial data internally + auto partial = reader.next(); + if (partial.valid) return false; // Feed second half - adds to internal buffer completing the frame reader.add_data(buffer.data() + mid, frame_size - mid); // Call next() once all data is present - should successfully decode the frame auto result = reader.next(); - return result.valid; // Expect success after accumulating both halves + if (!result.valid) return false; + if (result.msg_id != BasicTypesMessage::MSG_ID) return false; + if (result.msg_data == nullptr) return false; + + BasicTypesMessage decoded; + decoded.deserialize(result.msg_data, result.msg_len); + auto expected = std::get(msg); + if (decoded.small_int != expected.small_int) return false; + if (decoded.flag != expected.flag) return false; + + // No extra complete frame should remain. + auto trailing = reader.next(); + if (trailing.valid) return false; + + return true; } /** @@ -576,6 +591,106 @@ bool test_stream_recovers_after_garbage() { return false; } +/** + * Test: After a CRC failure the reader continues and decodes the next valid frame, + * and the buffer-exhausted signal is only raised after ALL frames are consumed. + */ +bool test_crc_error_then_valid_frame() { + std::vector buffer(4096); + BufferWriter writer(buffer.data(), buffer.size()); + + auto msg0 = StandardMessages::get_message(0); + auto msg1 = StandardMessages::get_message(1); + auto msg2 = StandardMessages::get_message(2); + + // Frame 1: valid + std::visit([&writer](auto&& m) { writer.write(m); }, msg0); + + // Frame 2: CRC-corrupted + std::visit([&writer](auto&& m) { writer.write(m); }, msg1); + size_t frame2_end = writer.size(); + + // Frame 3: valid + std::visit([&writer](auto&& m) { writer.write(m); }, msg2); + size_t total = writer.size(); + + buffer[frame2_end - 1] ^= 0xFF; + buffer[frame2_end - 2] ^= 0xFF; + + BufferReader reader( + buffer.data(), total, get_message_info); + + // Frame 1 must decode successfully + auto result1 = reader.next(); + if (!result1.valid) return false; + + // Frame 2 must report a CRC failure — status MUST be CrcFailure, not None + auto result2 = reader.next(); + if (result2.valid) return false; + if (result2.status != FrameMsgStatus::CrcFailure) return false; + + // Reader must continue past the CRC error and decode frame 3 + auto result3 = reader.next(); + if (!result3.valid) return false; + + // Buffer must now be fully consumed + if (reader.has_more()) return false; + + return true; +} + +bool test_split_buffer_crc_error_status() { + std::vector buffer(4096); + BufferWriter writer(buffer.data(), buffer.size()); + + auto msg0 = StandardMessages::get_message(0); + auto msg1 = StandardMessages::get_message(1); + auto msg2 = StandardMessages::get_message(2); + + // Frame 1: valid + std::visit([&writer](auto&& m) { writer.write(m); }, msg0); + + // Frame 2: CRC-corrupted + std::visit([&writer](auto&& m) { writer.write(m); }, msg1); + size_t frame2_end = writer.size(); + + // Frame 3: valid + std::visit([&writer](auto&& m) { writer.write(m); }, msg2); + size_t total = writer.size(); + + buffer[frame2_end - 1] ^= 0xFF; + buffer[frame2_end - 2] ^= 0xFF; + + /* Split: frame 2's two CRC bytes go in the second add_data() call */ + size_t split_point = frame2_end - 2; + + AccumulatingReader reader(get_message_info); + + reader.add_data(buffer.data(), split_point); + + /* Frame 1 must decode from the first chunk */ + auto result1 = reader.next(); + if (!result1.valid) return false; + + /* Frame 2 is incomplete — partial data saved to internal buffer */ + auto partial = reader.next(); + if (partial.valid) return false; + + reader.add_data(buffer.data() + split_point, total - split_point); + + /* CRC bytes of frame 2 arrive — frame 2 is complete but CRC-corrupted. + * Status MUST be CrcFailure, not None. */ + auto result2 = reader.next(); + if (result2.valid) return false; + if (result2.status != FrameMsgStatus::CrcFailure) return false; + + /* Frame 3 must still decode from the remainder of the second chunk */ + auto result3 = reader.next(); + if (!result3.valid) return false; + + return true; +} + // Test function pointer type typedef bool (*TestFunc)(); @@ -603,10 +718,12 @@ int main() { {"Invalid message ID rejection", test_invalid_msg_id}, {"Invalid start bytes detection", test_invalid_start_bytes}, {"Minimal profile: Truncated frame", test_minimal_profile_truncated_frame}, + {"Multiple frames: CRC error then valid frame", test_crc_error_then_valid_frame}, {"Multiple frames: Corrupted middle frame", test_multiple_corrupted_frames}, {"Network profile: Corrupted pkg_id", test_network_corrupted_pkg_id}, {"Network profile: SysId/CompId corruption", test_network_sysid_compid}, {"Partial frame across buffer boundary", test_partial_frame_boundary}, + {"Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status}, {"Stream mode: recovers after garbage prefix", test_stream_recovers_after_garbage}, {"Streaming: Corrupted CRC detection", test_streaming_corrupted_crc}, {"Streaming: Garbage data handling", test_streaming_garbage_data}, diff --git a/tests/csharp/StructFrameTests.csproj b/tests/csharp/StructFrameTests.csproj index 987a2be0..d64795d2 100644 --- a/tests/csharp/StructFrameTests.csproj +++ b/tests/csharp/StructFrameTests.csproj @@ -8,6 +8,7 @@ TestRunner + diff --git a/tests/csharp/TestNegative.cs b/tests/csharp/TestNegative.cs index eae55bbd..426d971c 100644 --- a/tests/csharp/TestNegative.cs +++ b/tests/csharp/TestNegative.cs @@ -354,7 +354,8 @@ private static bool TestPartialFrameBoundary() byte[] firstHalf = new byte[mid]; Array.Copy(buffer, 0, firstHalf, 0, mid); reader.AddData(firstHalf); - reader.Next(); // Should return invalid but save partial data internally + var partial = reader.Next(); + if (partial.Valid) return false; // Feed second half - adds to internal buffer completing the frame byte[] secondHalf = new byte[frameSize - mid]; @@ -363,7 +364,17 @@ private static bool TestPartialFrameBoundary() // Call Next() once all data is present - should successfully decode the frame var result = reader.Next(); - return result.Valid; // Expect success after accumulating both halves + if (!result.Valid) return false; + + var decoded = BasicTypesMessage.Deserialize(result); + if (decoded.SmallInt != msg.SmallInt) return false; + if (decoded.Flag != msg.Flag) return false; + + // No extra complete frame should remain. + var trailing = reader.Next(); + if (trailing.Valid) return false; + + return true; } /** @@ -645,6 +656,117 @@ private static bool TestBulkCorruptedMsgIdLowByte() return !result.Valid; } + /** + * Test: After a CRC failure the reader continues and decodes the next valid frame, + * and the buffer-exhausted signal is only raised after ALL frames are consumed. + */ + private static bool TestCrcErrorThenValidFrame() + { + byte[] buffer = new byte[4096]; + var writer = new BufferWriter(); + writer.SetBuffer(buffer); + + // Frame 1: valid + var msg1 = CreateTestMessage(); + msg1.SmallInt = 1; + writer.Write(msg1); + + // Frame 2: CRC-corrupted + var msg2 = CreateTestMessage(); + msg2.SmallInt = 2; + writer.Write(msg2); + var frame2End = writer.Size; + + // Frame 3: valid + var msg3 = CreateTestMessage(); + msg3.SmallInt = 3; + writer.Write(msg3); + var totalBytes = writer.Size; + + buffer[frame2End - 1] ^= 0xFF; + buffer[frame2End - 2] ^= 0xFF; + + var reader = new BufferReader(SerializationTestMD.GetMessageInfo); + reader.SetBuffer(buffer, 0, totalBytes); + + // Frame 1 must decode successfully + var result1 = reader.Next(); + if (!result1.Valid) return false; + + // Frame 2 must report a CRC failure — status MUST be CrcFailure, not None + var result2 = reader.Next(); + if (result2.Valid) return false; + if (result2.Status != FrameMsgStatus.CrcFailure) return false; + + // Reader must continue past the CRC error and decode frame 3 + var result3 = reader.Next(); + if (!result3.Valid) return false; + + // Buffer must now be fully consumed + if (reader.HasMore) return false; + + return true; + } + + private static bool TestSplitBufferCrcErrorStatus() + { + byte[] buffer = new byte[4096]; + var writer = new BufferWriter(); + writer.SetBuffer(buffer); + + // Frame 1: valid + var msg1 = CreateTestMessage(); + msg1.SmallInt = 1; + writer.Write(msg1); + + // Frame 2: CRC-corrupted + var msg2 = CreateTestMessage(); + msg2.SmallInt = 2; + writer.Write(msg2); + var frame2End = writer.Size; + + // Frame 3: valid + var msg3 = CreateTestMessage(); + msg3.SmallInt = 3; + writer.Write(msg3); + var totalBytes = writer.Size; + + buffer[frame2End - 1] ^= 0xFF; + buffer[frame2End - 2] ^= 0xFF; + + // Split: frame 2's two CRC bytes go in the second AddData() call + int splitPoint = frame2End - 2; + byte[] chunk1 = new byte[splitPoint]; + Array.Copy(buffer, 0, chunk1, 0, splitPoint); + byte[] chunk2 = new byte[totalBytes - splitPoint]; + Array.Copy(buffer, splitPoint, chunk2, 0, totalBytes - splitPoint); + + var reader = new AccumulatingReader(1024, SerializationTestMD.GetMessageInfo); + reader.AddData(chunk1); + + // Frame 1 must decode from the first chunk + var result1 = reader.Next(); + if (!result1.Valid) return false; + + // Frame 2 is incomplete — partial data saved to internal buffer + var partial = reader.Next(); + if (partial.Valid) return false; + + reader.AddData(chunk2); + + // CRC bytes of frame 2 arrive — frame 2 is complete but CRC-corrupted. + // Status MUST be CrcFailure, not None. + var result2 = reader.Next(); + if (result2.Valid) return false; + if (result2.Status != FrameMsgStatus.CrcFailure) return false; + + // Frame 3 must still decode from the remainder of chunk2 + var result3 = reader.Next(); + if (!result3.Valid) return false; + + return true; + } + public static int Main(string[] args) { Console.WriteLine("\n========================================"); @@ -665,10 +787,12 @@ public static int Main(string[] args) ("Invalid message ID rejection", TestInvalidMsgId), ("Invalid start bytes detection", TestInvalidStartBytes), ("Minimal profile: Truncated frame", TestMinimalProfileTruncatedFrame), + ("Multiple frames: CRC error then valid frame", TestCrcErrorThenValidFrame), ("Multiple frames: Corrupted middle frame", TestMultipleCorruptedFrames), ("Network profile: Corrupted pkg_id byte", TestNetworkCorruptedPkgId), ("Network profile: SysId/CompId corruption", TestNetworkSysIdCompId), ("Partial frame across buffer boundary", TestPartialFrameBoundary), + ("Split-buffer: CRC error status preserved", TestSplitBufferCrcErrorStatus), ("Stream mode: recovers after garbage prefix", TestStreamRecoversAfterGarbage), ("Streaming: Corrupted CRC detection", TestStreamingCorruptedCrc), ("Streaming: Garbage data handling", TestStreamingGarbage), diff --git a/tests/csharp/TestSdkSubscribe.cs b/tests/csharp/TestSdkSubscribe.cs index e22f4dd2..c1efa983 100644 --- a/tests/csharp/TestSdkSubscribe.cs +++ b/tests/csharp/TestSdkSubscribe.cs @@ -248,7 +248,7 @@ static void TestSendDirectForwardsRawFrame() sdk.FrameReceived += frame => { frameCount++; - sdk.SendDirect(frame).GetAwaiter().GetResult(); + sdk.ForwardAsync(frame).GetAwaiter().GetResult(); }; var outgoing = new BasicTypesMessage { RegularInt = 123, Flag = true }; @@ -276,7 +276,7 @@ static async Task TestSendFrameInfoReencodes() var parsed = parser.Parse(rawFrame, 0, rawFrame.Length); parsed.FrameData = default; - await sdk.Send(parsed); + await sdk.ReencodeAsync(parsed); Assert("send-frameinfo: transport received one frame", transport.SentData.Count == 1); Assert("send-frameinfo: re-encoded frame parses valid", diff --git a/tests/js/test_negative.js b/tests/js/test_negative.js index 3e7127d2..0498438b 100644 --- a/tests/js/test_negative.js +++ b/tests/js/test_negative.js @@ -18,6 +18,8 @@ const { ProfileNetworkConfig, } = require('../generated/js/frame-profiles'); +const { FrameMsgStatus } = require('../generated/js/frame-base'); + const { BasicTypesMessage, getMessageInfo @@ -289,14 +291,24 @@ function testPartialFrameBoundary() { // Feed first half via addData, then call next() to save partial data to internal buffer reader.addData(buffer.subarray(0, mid)); - reader.next(); // Should return invalid but save partial data internally + const partial = reader.next(); + if (partial.valid) return false; // Feed second half - adds to internal buffer completing the frame reader.addData(buffer.subarray(mid, frameSize)); // Call next() once all data is present - should successfully decode the frame const result = reader.next(); - return result.valid; // Expect success after accumulating both halves + if (!result.valid) return false; + if (result.msgId !== BasicTypesMessage._msgid) return false; + + const decoded = BasicTypesMessage.deserialize(result); + if (decoded.smallInt !== msg.smallInt) return false; + if (decoded.flag !== msg.flag) return false; + + if (reader.hasMore()) return false; + + return true; } /** @@ -551,6 +563,115 @@ function testStreamRecoversAfterGarbage() { return false; } +/** + * Test: After a CRC failure the reader continues and decodes the next valid frame, + * and the buffer-exhausted signal (hasMore() === false) is only set after ALL frames + * are consumed — not immediately after the CRC error. + */ +function testCrcErrorThenValidFrame() { + const writer = new BufferWriter(ProfileStandardConfig, 4096); + const msg = createTestMessage(); + + // Frame 1: valid + msg.smallInt = 1; + writer.write(msg); + + // Frame 2: CRC-corrupted + msg.smallInt = 2; + writer.write(msg); + const frame2End = writer.size; + + // Frame 3: valid + msg.smallInt = 3; + writer.write(msg); + const total = writer.size; + + const buffer = Buffer.from(writer.data()); + buffer[frame2End - 1] ^= 0xFF; + buffer[frame2End - 2] ^= 0xFF; + + const reader = new BufferReader(ProfileStandardConfig, buffer.subarray(0, total), getMessageInfo); + + // Frame 1 must decode successfully + const result1 = reader.next(); + if (!result1.valid) return false; + + // Frame 2 must report a CRC failure — status MUST be CrcFailure, not None + const result2 = reader.next(); + if (result2.valid) return false; + if (result2.status !== FrameMsgStatus.CrcFailure) return false; + + // Reader must continue past the CRC error and decode frame 3 + const result3 = reader.next(); + if (!result3.valid) return false; + + // Buffer must now be fully consumed + if (reader.hasMore()) return false; + + return true; +} + +/** + * Test: AccumulatingReader preserves CRC error status when the failed frame spans + * two addData() calls (the internal-buffer reassembly path). + * Bug: the internal-buffer CRC path returned status=None instead of status=CrcFailure, + * hiding the error from callers. + */ +function testSplitBufferCrcErrorStatus() { + const writer = new BufferWriter(ProfileStandardConfig, 4096); + const msg = createTestMessage(); + + // Frame 1: valid + msg.smallInt = 1; + writer.write(msg); + + // Frame 2: CRC-corrupted + msg.smallInt = 2; + writer.write(msg); + const frame2End = writer.size; + + // Frame 3: valid + msg.smallInt = 3; + writer.write(msg); + const total = writer.size; + + const buffer = Buffer.from(writer.data()); + buffer[frame2End - 1] ^= 0xFF; + buffer[frame2End - 2] ^= 0xFF; + + // Split so that frame 2's two CRC bytes land in the second addData() call, + // forcing frame 2 to be assembled across the internal accumulation buffer. + const splitPoint = frame2End - 2; + const chunk1 = buffer.subarray(0, splitPoint); + const chunk2 = buffer.subarray(splitPoint, total); + + const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo, 1024); + + reader.addData(chunk1); + + // Frame 1 must decode from the first chunk + const result1 = reader.next(); + if (!result1.valid) return false; + + // Frame 2 is still incomplete (no CRC bytes yet) — partial data saved internally + const partial = reader.next(); + if (partial.valid) return false; + + reader.addData(chunk2); + + // CRC bytes of frame 2 arrive — frame 2 is now complete but CRC-corrupted. + // Status MUST be CrcFailure (not None) so the caller knows to keep draining. + const result2 = reader.next(); + if (result2.valid) return false; + if (result2.status !== FrameMsgStatus.CrcFailure) return false; + + // Frame 3 must still be decodable from the remainder of chunk2 + const result3 = reader.next(); + if (!result3.valid) return false; + + return true; +} + function main() { console.log('\n========================================'); console.log('NEGATIVE TESTS - JavaScript Parser'); @@ -569,7 +690,9 @@ function main() { ['Invalid message ID rejection', testInvalidMsgId], ['Invalid start bytes detection', testInvalidStartBytes], ['Minimal profile: Truncated frame', testMinimalProfileTruncatedFrame], + ['Multiple frames: CRC error then valid frame', testCrcErrorThenValidFrame], ['Multiple frames: Corrupted middle frame', testMultipleCorruptedFrames], + ['Split-buffer: CRC error status preserved', testSplitBufferCrcErrorStatus], ['Network profile: Corrupted pkg_id', testNetworkCorruptedPkgId], ['Network profile: SysId/CompId corruption', testNetworkSysIdCompId], ['Partial frame across buffer boundary', testPartialFrameBoundary], diff --git a/tests/py/test_negative.py b/tests/py/test_negative.py index f8252e5a..afd39be6 100644 --- a/tests/py/test_negative.py +++ b/tests/py/test_negative.py @@ -397,14 +397,31 @@ def test_partial_frame_boundary(): # Feed first half via add_data, then call next() to save partial data to internal buffer reader.add_data(buffer[:mid]) - reader.next() # Should return invalid but save partial data internally + partial = reader.next() + if partial.valid: + return False # Feed second half - adds to internal buffer completing the frame reader.add_data(buffer[mid:frame_size]) # Call next() once all data is present - should successfully decode the frame result = reader.next() - return result.valid # Expect success after accumulating both halves + if not result.valid: + return False + if result.msg_id != BasicTypesMessage.MSG_ID: + return False + + decoded = BasicTypesMessage.deserialize(result) + if decoded.small_int != msg.small_int: + return False + if decoded.flag != msg.flag: + return False + + # Reader should be drained after the single reassembled frame. + if reader.has_more(): + return False + + return True def test_buffer_mode_invalid_result_has_diagnostics(): @@ -852,6 +869,117 @@ def test_stream_recovers_after_garbage(): return False +def test_crc_error_then_valid_frame(): + """After a CRC failure the reader continues and decodes the next valid frame, + and the buffer-exhausted signal is only raised after ALL frames are consumed.""" + msg = _make_test_msg() + writer = BufferWriter(PROFILE_STANDARD_CONFIG, capacity=4096) + + # Frame 1: valid + msg.small_int = 1 + writer.write(msg) + + # Frame 2: CRC-corrupted + msg.small_int = 2 + writer.write(msg) + frame2_end = writer.size() + + # Frame 3: valid + msg.small_int = 3 + writer.write(msg) + total = writer.size() + + buffer = bytearray(writer.data()) + buffer[frame2_end - 1] ^= 0xFF + buffer[frame2_end - 2] ^= 0xFF + + reader = BufferReader(PROFILE_STANDARD_CONFIG, buffer=bytes(buffer[:total]), get_message_info=get_message_info) + + # Frame 1 must decode successfully + result1 = reader.next() + if not result1.valid: + return False + + # Frame 2 must report a CRC failure — status MUST be CRC_FAILURE, not NONE + result2 = reader.next() + if result2.valid: + return False + if result2.status != FrameMsgStatus.CRC_FAILURE: + return False + + # Reader must continue past the CRC error and decode frame 3 + result3 = reader.next() + if not result3.valid: + return False + + # Buffer must now be fully consumed + if reader.has_more(): + return False + + return True + + +def test_split_buffer_crc_error_status(): + """AccumulatingReader preserves CRC error status when the failed frame spans + two add_data() calls (the internal-buffer reassembly path).""" + msg = _make_test_msg() + writer = BufferWriter(PROFILE_STANDARD_CONFIG, capacity=4096) + + # Frame 1: valid + msg.small_int = 1 + writer.write(msg) + + # Frame 2: CRC-corrupted + msg.small_int = 2 + writer.write(msg) + frame2_end = writer.size() + + # Frame 3: valid + msg.small_int = 3 + writer.write(msg) + total = writer.size() + + buffer = bytearray(writer.data()) + buffer[frame2_end - 1] ^= 0xFF + buffer[frame2_end - 2] ^= 0xFF + + # Split: frame 2's two CRC bytes go in the second add_data() call + split_point = frame2_end - 2 + chunk1 = bytes(buffer[:split_point]) + chunk2 = bytes(buffer[split_point:total]) + + reader = AccumulatingReader(PROFILE_STANDARD_CONFIG, get_message_info=get_message_info, buffer_size=1024) + + reader.add_data(chunk1) + + # Frame 1 must decode from the first chunk + result1 = reader.next() + if not result1.valid: + return False + + # Frame 2 is incomplete — partial data saved to internal buffer + partial = reader.next() + if partial.valid: + return False + + reader.add_data(chunk2) + + # CRC bytes of frame 2 arrive — frame 2 is complete but CRC-corrupted. + # Status MUST be CRC_FAILURE, not NONE. + result2 = reader.next() + if result2.valid: + return False + if result2.status != FrameMsgStatus.CRC_FAILURE: + return False + + # Frame 3 must still decode from the remainder of chunk2 + result3 = reader.next() + if not result3.valid: + return False + + return True + + def main(): print("\n========================================") print("NEGATIVE TESTS - Python Parser") @@ -876,10 +1004,12 @@ def main(): ("Invalid message ID rejection", test_invalid_msg_id), ("Invalid start bytes detection", test_invalid_start_bytes), ("Minimal profile: Truncated frame", test_minimal_profile_truncated_frame), + ("Multiple frames: CRC error then valid frame", test_crc_error_then_valid_frame), ("Multiple frames: Corrupted middle frame", test_multiple_corrupted_frames), ("Network profile: Corrupted pkg_id byte", test_network_corrupted_pkg_id), ("Network profile: SysId/CompId corruption", test_network_sysid_compid), ("Partial frame across buffer boundary", test_partial_frame_boundary), + ("Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status), ("Status: COLLECTING during frame reception", test_status_collecting), ("Status: CRC_FAILURE on bad checksum", test_status_crc_failure), ("Status: SYNC_RECOVERY on forced resync", test_status_sync_recovery), diff --git a/tests/run_tests.py b/tests/run_tests.py index bccdb368..ea6bbd94 100644 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -348,6 +348,10 @@ def __init__(self, verbose: bool = False, quiet: bool = False, # Timing tracking for phases self.phase_times: Dict[str, float] = {} + + # Cached output DLLs for precompiled C# round-trip package runners. + self._csharp_roundtrip_bins: Dict[str, Path] = {} + self._csharp_roundtrip_compile_failures: set[str] = set() # Failure details for summary self.failures: List[Dict[str, Any]] = [] @@ -860,6 +864,94 @@ def _compile_language(self, lang: Language) -> bool: return False return True + + def precompile_csharp_roundtrip_tests(self) -> bool: + """Precompile generated C# round-trip package launchers. + + This surfaces package-specific C# compile failures during the main + compilation phase instead of waiting until round-trip execution. + """ + cache_key = "csharp_roundtrip" + self._csharp_roundtrip_bins = {} + self._csharp_roundtrip_compile_failures = set() + + cs = self.languages.get("csharp") + if not cs or "csharp" in self.skipped_languages: + self.results["compilation"][cache_key] = True + return True + + gen_dir = self.project_root / cs.gen_output_dir + csproj = gen_dir / "StructFrame.csproj" + sources = sorted(gen_dir.rglob("test_roundtrip_*.cs")) + + legacy_nested_build = gen_dir / "tests" / "build" + if legacy_nested_build.exists(): + shutil.rmtree(legacy_nested_build, ignore_errors=True) + + if not csproj.exists() or not sources: + self.results["compilation"][cache_key] = True + return True + + print(f" Precompiling C# round-trip ({len(sources)} packages)...") + all_ok = True + + for src in sources: + namespace = None + class_name = None + try: + for line in src.read_text().splitlines(): + ls = line.strip() + if ls.startswith("namespace ") and namespace is None: + namespace = ls[len("namespace "):].split("{")[0].strip() + elif ls.startswith("public static class ") and class_name is None: + class_name = ls[len("public static class "):].split()[0].split("{")[0].strip() + if namespace and class_name: + break + except (OSError, UnicodeDecodeError): + pass + + if not (namespace and class_name): + print(f" {Colors.fail_tag()} compile failed: {src.name} (could not parse namespace/class)") + self.add_failure("compilation", "C#", None, f"compile {src.name}") + self._csharp_roundtrip_compile_failures.add(src.stem) + all_ok = False + continue + + startup = f"{namespace}.{class_name}" + out_dir = (self.project_root / "tests" / "build" / "csharp_roundtrip" / src.stem).resolve() + if out_dir.exists(): + shutil.rmtree(out_dir, ignore_errors=True) + out_dir.mkdir(parents=True, exist_ok=True) + + default_obj = gen_dir / "obj" + if default_obj.exists(): + shutil.rmtree(default_obj, ignore_errors=True) + + build_cmd = ( + f'dotnet build "{csproj}" -c Release --framework {self.dotnet_framework} ' + f'-p:OutputType=Exe -p:StartupObject={startup} ' + f'-p:GenerateDocumentationFile=false ' + f'-o "{out_dir}" --verbosity quiet' + ) + ok, _, stderr = self.run_cmd(build_cmd, timeout=180) + if not ok: + print(f" {Colors.fail_tag()} compile failed: {src.name}") + if stderr: + for line in stderr.splitlines(): + print(f" {line}") + self.add_failure("compilation", "C#", None, f"compile {src.name}", stderr) + self._csharp_roundtrip_compile_failures.add(src.stem) + all_ok = False + continue + + dll = out_dir / "StructFrame.dll" + if not dll.exists(): + dlls = list(out_dir.glob("*.dll")) + dll = dlls[0] if dlls else dll + self._csharp_roundtrip_bins[src.stem] = dll + + self.results["compilation"][cache_key] = all_ok + return all_ok # ========================================================================= # Phase 5 & 6: Test Execution @@ -2171,11 +2263,27 @@ def _rt_run(lang_tag: str, lang_id: str, src_stem: str, run_fn: Callable) -> Non gen_dir = self.project_root / cs.gen_output_dir sources = sorted(gen_dir.rglob("test_roundtrip_*.cs")) csproj = gen_dir / "StructFrame.csproj" + legacy_nested_build = gen_dir / "tests" / "build" + if legacy_nested_build.exists(): + shutil.rmtree(legacy_nested_build, ignore_errors=True) if not sources or not csproj.exists(): print(" [C#] No test_roundtrip_*.cs files found - skipping") else: print(f" Running C# ({len(sources)} packages)...") for src in sources: + if src.stem in self._csharp_roundtrip_compile_failures: + _rt_set(src.stem, "csharp", False) + all_success = False + continue + + prebuilt_dll = self._csharp_roundtrip_bins.get(src.stem) + if prebuilt_dll and prebuilt_dll.exists(): + _rt_run("C#", "csharp", src.stem, + lambda d=prebuilt_dll: self.run_cmd(f'dotnet "{d}"', timeout=60)) + if not results.get(f"csharp:{src.stem}"): + self.add_failure("roundtrip", "C#", None, f"run {src.name}") + continue + namespace = None class_name = None try: @@ -2195,7 +2303,7 @@ def _rt_run(lang_tag: str, lang_id: str, src_stem: str, run_fn: Callable) -> Non all_success = False continue startup = f"{namespace}.{class_name}" - out_dir = self.project_root / "tests" / "build" / "csharp_roundtrip" / src.stem + out_dir = (self.project_root / "tests" / "build" / "csharp_roundtrip" / src.stem).resolve() if out_dir.exists(): shutil.rmtree(out_dir, ignore_errors=True) out_dir.mkdir(parents=True, exist_ok=True) @@ -2206,7 +2314,6 @@ def _rt_run(lang_tag: str, lang_id: str, src_stem: str, run_fn: Callable) -> Non f'dotnet build "{csproj}" -c Release --framework {self.dotnet_framework} ' f'-p:OutputType=Exe -p:StartupObject={startup} ' f'-p:GenerateDocumentationFile=false ' - f'-p:BaseIntermediateOutputPath="{out_dir}/obj/" ' f'-o "{out_dir}" --verbosity quiet' ) ok, _, stderr = self.run_cmd(build_cmd, timeout=180) @@ -2544,6 +2651,8 @@ def run(self, generate_only: bool = False, check_tools_only: bool = False, # Phase 4: Compile with self.timed_phase("Compilation"): self.compile_all(parallel=parallel_compile) + if not profiling_only: + self.precompile_csharp_roundtrip_tests() if compile_only: success = all(self.results["compilation"].values()) diff --git a/tests/rust/src/test_negative.rs b/tests/rust/src/test_negative.rs index dcbf88ea..f95273a4 100644 --- a/tests/rust/src/test_negative.rs +++ b/tests/rust/src/test_negative.rs @@ -246,14 +246,37 @@ fn test_partial_frame_boundary() -> bool { // Feed first half via add_data, then call next() to save partial data to internal buffer reader.add_data(&buf[..mid]); - let _ = reader.next(&get_message_info); // Should return None but save partial data + let partial = reader.next(&get_message_info); + if partial.is_some() { + return false; + } // Feed second half - adds to internal buffer completing the frame reader.add_data(&buf[mid..frame_size]); // Call next() once all data is present - should successfully decode the frame let result = reader.next(&get_message_info); - result.is_some() // Expect success after accumulating both halves + let frame = match result { + Some(f) => f, + None => return false, + }; + if !frame.valid || frame.msg_id != BasicTypesMessage::MSG_ID { + return false; + } + + let decoded = match BasicTypesMessage::unpack(&frame.msg_data) { + Some(m) => m, + None => return false, + }; + if decoded.small_int != msg.small_int { + return false; + } + if decoded.flag != msg.flag { + return false; + } + + // No extra complete frame should remain. + reader.next(&get_message_info).is_none() } /// Test: Parser rejects frame with unknown message ID (CRC fails with wrong magic values). @@ -403,6 +426,115 @@ fn test_stream_recovers_after_garbage() -> bool { reader.next(&get_message_info).is_some() } +/// Test: After a CRC failure the reader continues and decodes the next valid frame. +/// Verifies that a None result for a CRC-corrupted frame does not prevent subsequent +/// frames from being decoded — the reader must advance past the bad frame. +fn test_crc_error_then_valid_frame() -> bool { + let mut writer = BufferWriter::new(PROFILE_STANDARD_CONFIG, 4096); + + let mut msg = create_test_message(); + + // Frame 1: valid + msg.small_int = 1; + writer.write_crc(&msg, 0); + + // Frame 2: CRC-corrupted + msg.small_int = 2; + writer.write_crc(&msg, 0); + let frame2_end = writer.size(); + + // Frame 3: valid + msg.small_int = 3; + writer.write_crc(&msg, 0); + let total = writer.size(); + + let mut data = writer.data().to_vec(); + data[frame2_end - 1] ^= 0xFF; + data[frame2_end - 2] ^= 0xFF; + + let mut reader = BufferReader::new(PROFILE_STANDARD_CONFIG, data[..total].to_vec()); + + // Frame 1 must decode successfully + let result1 = reader.next(&get_message_info); + if result1.is_none() { + return false; + } + + // Frame 2 must fail (CRC error) — reader must advance to frame 3 + let result2 = reader.next(&get_message_info); + if result2.is_some() { + return false; + } + + // Reader must decode frame 3 after advancing past the CRC error + let result3 = reader.next(&get_message_info); + result3.is_some() +} + +/// Test: AccumulatingReader correctly recovers after a CRC-failed frame that was +/// assembled across two add_data() calls (the internal-buffer reassembly path). +/// Rust's AccumulatingReader loops internally on CRC failure, so the caller sees +/// frame3 returned directly; cnt_crc_failures in diagnostics confirms the failure +/// was detected. +fn test_split_buffer_crc_error_status() -> bool { + let mut writer = BufferWriter::new(PROFILE_STANDARD_CONFIG, 4096); + let mut msg = create_test_message(); + + // Frame 1: valid + msg.small_int = 1; + writer.write_crc(&msg, 0); + + // Frame 2: CRC-corrupted + msg.small_int = 2; + writer.write_crc(&msg, 0); + let frame2_end = writer.size(); + + // Frame 3: valid + msg.small_int = 3; + writer.write_crc(&msg, 0); + let total = writer.size(); + + let mut data = writer.data().to_vec(); + data[frame2_end - 1] ^= 0xFF; + data[frame2_end - 2] ^= 0xFF; + + // Split: frame 2's two CRC bytes go in the second add_data() call + let split_point = frame2_end - 2; + let chunk1 = &data[..split_point]; + let chunk2 = &data[split_point..total]; + + let mut reader = AccumulatingReader::new(PROFILE_STANDARD_CONFIG, 1024); + + reader.add_data(chunk1); + + // Frame 1 must decode from the first chunk + let result1 = reader.next(&get_message_info); + if result1.is_none() { + return false; + } + + // Frame 2 is incomplete — partial data buffered, waiting for more data + let partial = reader.next(&get_message_info); + if partial.is_some() { + return false; + } + + reader.add_data(chunk2); + + // The AccumulatingReader loops internally on CRC failure, so next() directly + // returns frame3 (valid). cnt_crc_failures confirms frame2's CRC was rejected. + let result2 = reader.next(&get_message_info); + if result2.is_none() { + return false; + } + + if reader.diagnostics().cnt_crc_failures != 1 { + return false; + } + + true +} + // ============================================================================ // Test runner // ============================================================================ @@ -431,9 +563,11 @@ fn main() { ("Invalid message ID rejection", test_invalid_msg_id), ("Invalid start bytes detection", test_invalid_start_bytes), ("Minimal profile: Truncated frame", test_minimal_profile_truncated_frame), + ("Multiple frames: CRC error then valid frame", test_crc_error_then_valid_frame), ("Multiple frames: Corrupted middle frame", test_multiple_corrupted_frames), ("Network profile: SysId/CompId corruption", test_network_sysid_compid), ("Partial frame across buffer boundary", test_partial_frame_boundary), + ("Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status), ("Stream mode: recovers after garbage prefix", test_stream_recovers_after_garbage), ("Streaming: Corrupted CRC detection", test_streaming_corrupted_crc), ("Streaming: Garbage data handling", test_streaming_garbage), diff --git a/tests/ts/test_negative.ts b/tests/ts/test_negative.ts index 137540d5..ba28a745 100644 --- a/tests/ts/test_negative.ts +++ b/tests/ts/test_negative.ts @@ -18,6 +18,8 @@ import { ProfileNetworkConfig, } from '../generated/ts/frame-profiles'; +import { FrameMsgStatus } from '../generated/ts/frame-base'; + import { BasicTypesMessage, getMessageInfo @@ -289,14 +291,24 @@ function testPartialFrameBoundary(): boolean { // Feed first half via addData, then call next() to save partial data to internal buffer reader.addData(buffer.subarray(0, mid)); - reader.next(); // Should return invalid but save partial data internally + const partial = reader.next(); + if (partial.valid) return false; // Feed second half - adds to internal buffer completing the frame reader.addData(buffer.subarray(mid, frameSize)); // Call next() once all data is present - should successfully decode the frame const result = reader.next(); - return result.valid; // Expect success after accumulating both halves + if (!result.valid) return false; + if (result.msgId !== BasicTypesMessage._msgid) return false; + + const decoded = BasicTypesMessage.deserialize(result); + if (decoded.smallInt !== msg.smallInt) return false; + if (decoded.flag !== msg.flag) return false; + + if (reader.hasMore()) return false; + + return true; } /** @@ -551,6 +563,115 @@ function testStreamRecoversAfterGarbage(): boolean { return false; } +/** + * Test: After a CRC failure the reader continues and decodes the next valid frame, + * and the buffer-exhausted signal (hasMore() === false) is only set after ALL frames + * are consumed — not immediately after the CRC error. + */ +function testCrcErrorThenValidFrame(): boolean { + const writer = new BufferWriter(ProfileStandardConfig, 4096); + const msg = createTestMessage(); + + // Frame 1: valid + msg.smallInt = 1; + writer.write(msg); + + // Frame 2: CRC-corrupted + msg.smallInt = 2; + writer.write(msg); + const frame2End = writer.size; + + // Frame 3: valid + msg.smallInt = 3; + writer.write(msg); + const total = writer.size; + + const buffer = Buffer.from(writer.data()); + buffer[frame2End - 1] ^= 0xFF; + buffer[frame2End - 2] ^= 0xFF; + + const reader = new BufferReader(ProfileStandardConfig, buffer.subarray(0, total), getMessageInfo); + + // Frame 1 must decode successfully + const result1 = reader.next(); + if (!result1.valid) return false; + + // Frame 2 must report a CRC failure — status MUST be CrcFailure, not None + const result2 = reader.next(); + if (result2.valid) return false; + if (result2.status !== FrameMsgStatus.CrcFailure) return false; + + // Reader must continue past the CRC error and decode frame 3 + const result3 = reader.next(); + if (!result3.valid) return false; + + // Buffer must now be fully consumed + if (reader.hasMore()) return false; + + return true; +} + +/** + * Test: AccumulatingReader preserves CRC error status when the failed frame spans + * two addData() calls (the internal-buffer reassembly path). + * Bug: the internal-buffer CRC path returned status=None instead of status=CrcFailure, + * hiding the error from callers. + */ +function testSplitBufferCrcErrorStatus(): boolean { + const writer = new BufferWriter(ProfileStandardConfig, 4096); + const msg = createTestMessage(); + + // Frame 1: valid + msg.smallInt = 1; + writer.write(msg); + + // Frame 2: CRC-corrupted + msg.smallInt = 2; + writer.write(msg); + const frame2End = writer.size; + + // Frame 3: valid + msg.smallInt = 3; + writer.write(msg); + const total = writer.size; + + const buffer = Buffer.from(writer.data()); + buffer[frame2End - 1] ^= 0xFF; + buffer[frame2End - 2] ^= 0xFF; + + // Split so that frame 2's two CRC bytes land in the second addData() call, + // forcing frame 2 to be assembled across the internal accumulation buffer. + const splitPoint = frame2End - 2; + const chunk1 = buffer.subarray(0, splitPoint); + const chunk2 = buffer.subarray(splitPoint, total); + + const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo, 1024); + + reader.addData(chunk1); + + // Frame 1 must decode from the first chunk + const result1 = reader.next(); + if (!result1.valid) return false; + + // Frame 2 is still incomplete (no CRC bytes yet) — partial data saved internally + const partial = reader.next(); + if (partial.valid) return false; + + reader.addData(chunk2); + + // CRC bytes of frame 2 arrive — frame 2 is now complete but CRC-corrupted. + // Status MUST be CrcFailure (not None) so the caller knows to keep draining. + const result2 = reader.next(); + if (result2.valid) return false; + if (result2.status !== FrameMsgStatus.CrcFailure) return false; + + // Frame 3 must still be decodable from the remainder of chunk2 + const result3 = reader.next(); + if (!result3.valid) return false; + + return true; +} + function main(): number { console.log('\n========================================'); console.log('NEGATIVE TESTS - TypeScript Parser'); @@ -569,7 +690,9 @@ function main(): number { ['Invalid message ID rejection', testInvalidMsgId], ['Invalid start bytes detection', testInvalidStartBytes], ['Minimal profile: Truncated frame', testMinimalProfileTruncatedFrame], + ['Multiple frames: CRC error then valid frame', testCrcErrorThenValidFrame], ['Multiple frames: Corrupted middle frame', testMultipleCorruptedFrames], + ['Split-buffer: CRC error status preserved', testSplitBufferCrcErrorStatus], ['Network profile: Corrupted pkg_id', testNetworkCorruptedPkgId], ['Network profile: SysId/CompId corruption', testNetworkSysIdCompId], ['Partial frame across buffer boundary', testPartialFrameBoundary], From 43f880d4823df4945ec112b969f39b813affb5f8 Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 12:28:46 -0600 Subject: [PATCH 2/7] updating api for use next --- .../Framework/Framing/AccumulatingReader.cs | 57 +++++++++------ .../csharp/Framework/Framing/BufferReader.cs | 17 +++++ .../csharp/Framework/Sdk/StructFrameSdk.cs | 11 +-- .../boilerplate/js/frame-profiles.js | 69 +++++++++++++----- .../js/struct-frame-sdk/struct-frame-sdk.js | 53 +++++++++++++- .../boilerplate/ts/frame-profiles.ts | 71 ++++++++++++++----- .../ts/struct-frame-sdk/struct-frame-sdk.ts | 10 ++- 7 files changed, 224 insertions(+), 64 deletions(-) diff --git a/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs b/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs index 356fe83a..6c2e3190 100644 --- a/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs +++ b/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs @@ -150,7 +150,7 @@ public void AddData(byte[] buffer) public bool TryNext(out FrameMsgInfo result) { result = Next(); - return result.Valid || result.FrameData.Length > 0; + return result.Valid || result.FrameSize > 0; } /// @@ -176,24 +176,22 @@ public FrameMsgInfo Next() if (result.Status == FrameMsgStatus.WaitingForStart) { - // Garbage at the start of the internal buffer. Scan forward for the - // next start-byte candidate and discard the skipped bytes. - int skip = FindStartByteOffset(_internalBuffer, 1, _internalDataLen - 1); + // Garbage at the start of the internal buffer. Byte 0 is not a valid + // start, so scan forward for the next start-byte candidate and discard + // everything before it — at least one byte, guaranteeing forward progress. + int searchLen = _internalDataLen - 1; + int found = (searchLen > 0 && _config.NumStartBytes > 0) + ? Array.IndexOf(_internalBuffer, _config.ComputedStartByte1, 1, searchLen) + : -1; + int discard = found > 0 ? found : _internalDataLen; _diagnostics.CntSyncRecoveries++; - _diagnostics.CntFailedBytes += skip; - if (skip >= _internalDataLen) - { - _internalDataLen = 0; - _bytesAppendedToInternal = 0; - } - else - { - int keep = _internalDataLen - skip; - Array.Copy(_internalBuffer, skip, _internalBuffer, 0, keep); - _internalDataLen = keep; - _bytesAppendedToInternal = Math.Max(0, _bytesAppendedToInternal - skip); - } - return StatusResult(FrameMsgStatus.SyncRecovery); + _diagnostics.CntFailedBytes += discard; + int keep = _internalDataLen - discard; + if (keep > 0) + Array.Copy(_internalBuffer, discard, _internalBuffer, 0, keep); + _internalDataLen = keep; + _bytesAppendedToInternal = Math.Max(0, _bytesAppendedToInternal - discard); + return StatusResult(FrameMsgStatus.SyncRecovery, discard); } if (result.FrameSize > 0) @@ -229,15 +227,18 @@ public FrameMsgInfo Next() if (parseResult.Status == FrameMsgStatus.WaitingForStart) { // Garbage at current offset. Scan forward for the next start-byte candidate. + int oldOffset = _currentOffset; int searchFrom = _currentOffset + 1; int searchLen = _currentSize - searchFrom; int skip = searchLen > 0 ? FindStartByteOffset(_currentBuffer, searchFrom, searchLen) : searchLen; + int delta = skip < searchLen ? skip : searchLen; + _currentOffset = searchFrom + delta; + int advanced = _currentOffset - oldOffset; // >= 1 _diagnostics.CntSyncRecoveries++; - _diagnostics.CntFailedBytes += 1 + (skip < searchLen ? skip : searchLen); - _currentOffset = searchFrom + (skip < searchLen ? skip : searchLen); - return StatusResult(FrameMsgStatus.SyncRecovery); + _diagnostics.CntFailedBytes += advanced; + return StatusResult(FrameMsgStatus.SyncRecovery, advanced); } if (parseResult.FrameSize > 0) @@ -281,6 +282,17 @@ public bool HasMore } } + /// + /// True if an incomplete (partial) frame is buffered awaiting more data via AddData(). + /// Distinguishes "drained" (HasPartial == false) from "waiting for more data". + /// + public bool HasPartial => _internalDataLen > 0; + + /// + /// Number of bytes held for a partial frame awaiting completion (0 if none). + /// + public int PartialSize => _internalDataLen; + // ========================================================================= // Stream Mode API // ========================================================================= @@ -611,10 +623,11 @@ private int FindStartByteOffset(byte[] buf, int start, int length) return found >= 0 ? found - start : length; } - private FrameMsgInfo StatusResult(FrameMsgStatus status) + private FrameMsgInfo StatusResult(FrameMsgStatus status, int frameSize = 0) { var r = FrameMsgInfo.Invalid; r.Status = status; + r.FrameSize = frameSize; return AttachDiagnostics(r); } diff --git a/src/struct_frame/boilerplate/csharp/Framework/Framing/BufferReader.cs b/src/struct_frame/boilerplate/csharp/Framework/Framing/BufferReader.cs index 50d0e469..c2d0a39c 100644 --- a/src/struct_frame/boilerplate/csharp/Framework/Framing/BufferReader.cs +++ b/src/struct_frame/boilerplate/csharp/Framework/Framing/BufferReader.cs @@ -63,6 +63,7 @@ public FrameMsgInfo Next() { // Start byte mismatch at current offset: scan forward for the next candidate. // Skip the bad byte and look for start byte 1 in the remaining data. + int oldOffset = _offset; int searchFrom = _offset + 1; int searchLen = _size - searchFrom; if (searchLen > 0 && _config.NumStartBytes > 0) @@ -74,12 +75,28 @@ public FrameMsgInfo Next() { _offset = _size; // nothing useful left } + // Report the resync as a SyncRecovery event carrying the bytes skipped, so a + // TryNext() drain loop keeps advancing instead of stopping on stray bytes. + result.Status = FrameMsgStatus.SyncRecovery; + result.FrameSize = _offset - oldOffset; // >= 1 } // Status == Collecting: genuinely incomplete data — do not advance; let caller stop. return result; } + /// + /// Try to parse the next frame. Returns true while there is forward progress + /// (a valid frame, a CRC-failed frame, or skipped resync bytes); false when the + /// buffer is drained or only a trailing partial frame remains. Pairs with a + /// while (reader.TryNext(out var r)) { ... } drain loop. + /// + public bool TryNext(out FrameMsgInfo result) + { + result = Next(); + return result.Valid || result.FrameSize > 0; + } + /// /// Reset the reader to the beginning of the buffer. /// diff --git a/src/struct_frame/boilerplate/csharp/Framework/Sdk/StructFrameSdk.cs b/src/struct_frame/boilerplate/csharp/Framework/Sdk/StructFrameSdk.cs index 181c3156..39792c6c 100644 --- a/src/struct_frame/boilerplate/csharp/Framework/Sdk/StructFrameSdk.cs +++ b/src/struct_frame/boilerplate/csharp/Framework/Sdk/StructFrameSdk.cs @@ -481,14 +481,15 @@ private void HandleIncomingData(ReadOnlyMemory data) { _reader.AddData(data.ToArray()); } - while (true) + // TryNext keeps draining past CRC-failed and resync events and stops only when no + // further progress is possible. Dispatch only actual frames (valid or CRC-failed) + // to ProcessFrame, mirroring the raw-tap semantics; pure resync events are skipped. + while (_reader.TryNext(out var frame)) { - var frame = _reader.Next(); - if (!frame.Valid && frame.FrameData.Length == 0) + if (frame.Valid || frame.Status == FrameMsgStatus.CrcFailure) { - break; + ProcessFrame(frame); } - ProcessFrame(frame); } } diff --git a/src/struct_frame/boilerplate/js/frame-profiles.js b/src/struct_frame/boilerplate/js/frame-profiles.js index d21fcbdb..cfb0697e 100644 --- a/src/struct_frame/boilerplate/js/frame-profiles.js +++ b/src/struct_frame/boilerplate/js/frame-profiles.js @@ -342,12 +342,13 @@ function parseFrameMinimal(config, buffer, getMessageInfo) { /** * BufferReader - Iterate through a buffer parsing multiple frames. * - * Usage: + * Usage (tryNext continues past CRC-failed frames and stops only when the buffer is drained): * const reader = new BufferReader(ProfileStandardConfig, buffer, getMessageInfo); - * let result = reader.next(); - * while (result.valid) { - * // Process result.msgId, result.msgData, result.msgLen - * result = reader.next(); + * let result: FrameMsgInfo | null; + * while ((result = reader.tryNext()) !== null) { + * if (result.valid) { + * // Process result.msgId, result.msgData, result.msgLen + * } // else result.status === FrameMsgStatus.CrcFailure — corrupt frame, already skipped * } */ class BufferReader { @@ -411,6 +412,19 @@ class BufferReader { hasMore() { return this._offset < this.size; } + /** + * Drain-loop primitive. Returns the next event (a valid frame, or a surfaced CRC failure + * with status===CrcFailure) while the reader can advance, or null once the buffer is drained: + * + * let r: FrameMsgInfo | null; + * while ((r = reader.tryNext()) !== null) { + * if (r.valid) handle(r); // else r.status === FrameMsgStatus.CrcFailure + * } + */ + tryNext() { + const result = this.next(); + return (result.valid || (result.frameSize ?? 0) > 0) ? result : null; + } } exports.BufferReader = BufferReader; // ============================================================================= @@ -492,14 +506,17 @@ var AccumulatingReaderState; * - Buffer mode: addData() for processing chunks of data * - Stream mode: pushByte() for byte-by-byte processing (e.g., UART) * - * Buffer mode usage: + * Buffer mode usage (tryNext drains past CRC errors and stops only when no more data can be + * produced; hasPartial() then distinguishes "drained" from "waiting for more data"): * const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo); * reader.addData(chunk1); - * let result = reader.next(); - * while (result.valid) { - * // Process complete messages - * result = reader.next(); + * let result: FrameMsgInfo | null; + * while ((result = reader.tryNext()) !== null) { + * if (result.valid) { + * // Process complete message + * } // else result.status === FrameMsgStatus.CrcFailure — corrupt frame, already skipped * } + * if (reader.hasPartial()) { /* incomplete frame buffered; feed more via addData() *\/ } * * Stream mode usage: * const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo); @@ -576,17 +593,18 @@ class AccumulatingReader { } else { if (result.status === frame_base_1.FrameMsgStatus.CrcFailure && (result.frameSize ?? 0) > 0) { - // Consume failed frame bytes from internal accumulation to avoid permanent retries. + // A complete-but-CRC-failed frame was assembled across chunks. Surface it + // (status=CrcFailure, frameSize set) and advance past it, mirroring the + // valid-frame path so subsequent frames are read from the current buffer. this._diagnostics.cntCrcFailures++; this._diagnostics.cntFailedBytes += result.frameSize; this._diagnostics.cntSyncRecoveries++; - const consumed = Math.min(result.frameSize, this.internalDataLen); - const remainingBytes = this.internalDataLen - consumed; - if (remainingBytes > 0) { - this.internalBuffer.copyWithin(0, consumed, this.internalDataLen); - } - this.internalDataLen = remainingBytes; + const partialLen = this.internalDataLen > this.currentSize ? this.internalDataLen - this.currentSize : 0; + const bytesFromCurrent = result.frameSize > partialLen ? result.frameSize - partialLen : 0; + this.currentOffset = bytesFromCurrent; + this.internalDataLen = 0; this.expectedFrameSize = 0; + return this.withDiagnostics(result); } return this.withDiagnostics((0, frame_base_1.createFrameMsgInfo)()); } @@ -619,6 +637,23 @@ class AccumulatingReader { } return this.withDiagnostics((0, frame_base_1.createFrameMsgInfo)()); } + /** + * Drain-loop primitive (buffer mode). Returns the next event while the reader can make + * forward progress, or null when it is drained or waiting for more data. Use hasPartial() + * to tell those apart. A non-null result is either a valid frame (valid===true) or a + * surfaced CRC failure (status===CrcFailure); either way the reader has advanced. + * + * let r: FrameMsgInfo | null; + * while ((r = reader.tryNext()) !== null) { + * if (r.valid) handle(r); + * // else r.status === FrameMsgStatus.CrcFailure — optional logging + * } + * if (reader.hasPartial()) { /* waiting for more data *\/ } + */ + tryNext() { + const result = this.next(); + return (result.valid || (result.frameSize ?? 0) > 0) ? result : null; + } // ========================================================================= // Stream Mode API // ========================================================================= diff --git a/src/struct_frame/boilerplate/js/struct-frame-sdk/struct-frame-sdk.js b/src/struct_frame/boilerplate/js/struct-frame-sdk/struct-frame-sdk.js index 5c6fc2b5..f29a3513 100644 --- a/src/struct_frame/boilerplate/js/struct-frame-sdk/struct-frame-sdk.js +++ b/src/struct_frame/boilerplate/js/struct-frame-sdk/struct-frame-sdk.js @@ -89,6 +89,51 @@ class StructFrameSdk { const id = msgId ?? message.constructor._msgid ?? 0; return await this.sendRaw(id, data); } + /** + * Send a request message and await a matching response. + * + * Subscribes a one-shot handler for `responseMsgId`, sends the request, then + * waits up to `options.timeout` seconds (default 5) for a response that + * satisfies the optional `match` predicate. The subscription is always + * cleaned up regardless of outcome. + * + * @param requestMsg Message to send (must have serialize() and a static _msgid). + * @param responseMsgId msg_id of the expected response type. + * @param options.match Optional predicate; if omitted the first response wins. + * @param options.timeout Seconds before the returned Promise rejects (default 5). + * @param options.requestMsgId Override the msg_id used when sending (defaults to + * requestMsg.constructor._msgid). + */ + request(requestMsg, responseMsgId, options) { + const timeoutMs = (options?.timeout ?? 5) * 1000; + return new Promise((resolve, reject) => { + let timer; + const unsubscribe = this.subscribe(responseMsgId, (message) => { + if (!options?.match || options.match(message)) { + clearTimeout(timer); + unsubscribe(); + resolve(message); + } + }); + timer = setTimeout(() => { + unsubscribe(); + reject(new Error(`No response (msgId=${responseMsgId}) within ${options?.timeout ?? 5}s`)); + }, timeoutMs); + const msgId = options?.requestMsgId ?? + requestMsg.constructor._msgid; + if (msgId == null) { + clearTimeout(timer); + unsubscribe(); + reject(new Error('request() requires options.requestMsgId or a static _msgid on the message class')); + return; + } + this.sendRaw(msgId, requestMsg.serialize()).catch((err) => { + clearTimeout(timer); + unsubscribe(); + reject(err); + }); + }); + } /** * Check if connected */ @@ -98,7 +143,13 @@ class StructFrameSdk { handleIncomingData(data) { this.reader.addData(data); let result; - while ((result = this.reader.next()).valid) { + while ((result = this.reader.tryNext()) !== null) { + if (!result.valid) { + // Surfaced CRC failure / resync — the reader has already skipped it; keep draining + // so frames that arrive after a corrupt one are still delivered. + this.log(`Skipping invalid frame (status ${result.status})`); + continue; + } this.log(`Received message ID ${result.msgId}, ${result.msgLen} bytes`); const handlers = this.messageHandlers.get(result.msgId); if (handlers && handlers.length > 0) { diff --git a/src/struct_frame/boilerplate/ts/frame-profiles.ts b/src/struct_frame/boilerplate/ts/frame-profiles.ts index e6afa9cd..bd40e92f 100644 --- a/src/struct_frame/boilerplate/ts/frame-profiles.ts +++ b/src/struct_frame/boilerplate/ts/frame-profiles.ts @@ -496,12 +496,13 @@ export function parseFrameMinimal( /** * BufferReader - Iterate through a buffer parsing multiple frames. * - * Usage: + * Usage (tryNext continues past CRC-failed frames and stops only when the buffer is drained): * const reader = new BufferReader(ProfileStandardConfig, buffer, getMessageInfo); - * let result = reader.next(); - * while (result.valid) { - * // Process result.msgId, result.msgData, result.msgLen - * result = reader.next(); + * let result: FrameMsgInfo | null; + * while ((result = reader.tryNext()) !== null) { + * if (result.valid) { + * // Process result.msgId, result.msgData, result.msgLen + * } // else result.status === FrameMsgStatus.CrcFailure — corrupt frame, already skipped * } */ export class BufferReader { @@ -581,6 +582,20 @@ export class BufferReader { hasMore(): boolean { return this._offset < this.size; } + + /** + * Drain-loop primitive. Returns the next event (a valid frame, or a surfaced CRC failure + * with status===CrcFailure) while the reader can advance, or null once the buffer is drained: + * + * let r: FrameMsgInfo | null; + * while ((r = reader.tryNext()) !== null) { + * if (r.valid) handle(r); // else r.status === FrameMsgStatus.CrcFailure + * } + */ + tryNext(): FrameMsgInfo | null { + const result = this.next(); + return (result.valid || (result.frameSize ?? 0) > 0) ? result : null; + } } // ============================================================================= @@ -698,14 +713,17 @@ export type ParserDiagnostics = FrameParserDiagnostics; * - Buffer mode: addData() for processing chunks of data * - Stream mode: pushByte() for byte-by-byte processing (e.g., UART) * - * Buffer mode usage: + * Buffer mode usage (tryNext drains past CRC errors and stops only when no more data can be + * produced; hasPartial() then distinguishes "drained" from "waiting for more data"): * const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo); * reader.addData(chunk1); - * let result = reader.next(); - * while (result.valid) { - * // Process complete messages - * result = reader.next(); + * let result: FrameMsgInfo | null; + * while ((result = reader.tryNext()) !== null) { + * if (result.valid) { + * // Process complete message + * } // else result.status === FrameMsgStatus.CrcFailure — corrupt frame, already skipped * } + * if (reader.hasPartial()) { /* incomplete frame buffered; feed more via addData() *\/ } * * Stream mode usage: * const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo); @@ -814,17 +832,18 @@ export class AccumulatingReader { return this.withDiagnostics(result); } else { if (result.status === FrameMsgStatus.CrcFailure && (result.frameSize ?? 0) > 0) { - // Consume failed frame bytes from internal accumulation to avoid permanent retries. + // A complete-but-CRC-failed frame was assembled across chunks. Surface it + // (status=CrcFailure, frameSize set) and advance past it, mirroring the + // valid-frame path so subsequent frames are read from the current buffer. this._diagnostics.cntCrcFailures++; this._diagnostics.cntFailedBytes += result.frameSize!; this._diagnostics.cntSyncRecoveries++; - const consumed = Math.min(result.frameSize!, this.internalDataLen); - const remainingBytes = this.internalDataLen - consumed; - if (remainingBytes > 0) { - this.internalBuffer.copyWithin(0, consumed, this.internalDataLen); - } - this.internalDataLen = remainingBytes; + const partialLen = this.internalDataLen > this.currentSize ? this.internalDataLen - this.currentSize : 0; + const bytesFromCurrent = result.frameSize! > partialLen ? result.frameSize! - partialLen : 0; + this.currentOffset = bytesFromCurrent; + this.internalDataLen = 0; this.expectedFrameSize = 0; + return this.withDiagnostics(result); } return this.withDiagnostics(createFrameMsgInfo()); } @@ -864,6 +883,24 @@ export class AccumulatingReader { return this.withDiagnostics(createFrameMsgInfo()); } + /** + * Drain-loop primitive (buffer mode). Returns the next event while the reader can make + * forward progress, or null when it is drained or waiting for more data. Use hasPartial() + * to tell those apart. A non-null result is either a valid frame (valid===true) or a + * surfaced CRC failure (status===CrcFailure); either way the reader has advanced. + * + * let r: FrameMsgInfo | null; + * while ((r = reader.tryNext()) !== null) { + * if (r.valid) handle(r); + * // else r.status === FrameMsgStatus.CrcFailure — optional logging + * } + * if (reader.hasPartial()) { /* waiting for more data *\/ } + */ + tryNext(): FrameMsgInfo | null { + const result = this.next(); + return (result.valid || (result.frameSize ?? 0) > 0) ? result : null; + } + // ========================================================================= // Stream Mode API // ========================================================================= diff --git a/src/struct_frame/boilerplate/ts/struct-frame-sdk/struct-frame-sdk.ts b/src/struct_frame/boilerplate/ts/struct-frame-sdk/struct-frame-sdk.ts index 35e403f1..9bb89644 100644 --- a/src/struct_frame/boilerplate/ts/struct-frame-sdk/struct-frame-sdk.ts +++ b/src/struct_frame/boilerplate/ts/struct-frame-sdk/struct-frame-sdk.ts @@ -209,8 +209,14 @@ export class StructFrameSdk { private handleIncomingData(data: Uint8Array): void { this.reader.addData(data); - let result: FrameMsgInfo; - while ((result = this.reader.next()).valid) { + let result: FrameMsgInfo | null; + while ((result = this.reader.tryNext()) !== null) { + if (!result.valid) { + // Surfaced CRC failure / resync — the reader has already skipped it; keep draining + // so frames that arrive after a corrupt one are still delivered. + this.log(`Skipping invalid frame (status ${result.status})`); + continue; + } this.log(`Received message ID ${result.msgId}, ${result.msgLen} bytes`); const handlers = this.messageHandlers.get(result.msgId); if (handlers && handlers.length > 0) { From fedbc892d85e6f8a12728039c1f6205ce8c465b0 Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 12:39:21 -0600 Subject: [PATCH 3/7] updating error in accumulating reader repeated define --- .../boilerplate/c/frame_profiles.h | 53 +++++++++++++-- .../boilerplate/cpp/frame_profiles.hpp | 65 +++++++++++++++---- .../Framework/Framing/AccumulatingReader.cs | 10 --- .../boilerplate/py/frame_profiles.py | 53 +++++++++++---- 4 files changed, 142 insertions(+), 39 deletions(-) diff --git a/src/struct_frame/boilerplate/c/frame_profiles.h b/src/struct_frame/boilerplate/c/frame_profiles.h index 5a34e3c4..e05fc5ce 100644 --- a/src/struct_frame/boilerplate/c/frame_profiles.h +++ b/src/struct_frame/boilerplate/c/frame_profiles.h @@ -515,7 +515,9 @@ static inline frame_msg_info_t buffer_reader_next(buffer_reader_t* reader) /* Advance past complete frames — valid or CRC-failed */ reader->offset += result.frame_size; } else if (result.status == FRAME_MSG_STATUS_WAITING_FOR_START) { - /* Head byte is not a valid start — scan forward to next start byte */ + /* Head byte is not a valid start — scan forward to next start byte, + * reporting a SyncRecovery event so try_next() keeps advancing. */ + size_t old_offset = reader->offset; if (reader->config->header.num_start_bytes >= 1) { /* Compute the expected start byte for this profile */ uint8_t sb1 = reader->config->header.start_byte1; @@ -535,6 +537,8 @@ static inline frame_msg_info_t buffer_reader_next(buffer_reader_t* reader) } else { reader->offset = reader->size; } + result.status = FRAME_MSG_STATUS_SYNC_RECOVERY; + result.frame_size = reader->offset - old_offset; } /* COLLECTING: leave offset unchanged — frame is incomplete (normal end-of-buffer) */ @@ -550,6 +554,19 @@ static inline bool buffer_reader_has_more(const buffer_reader_t* reader) { return reader->offset < reader->size; } +/* Try to parse the next frame, returning true while forward progress is made + * (valid frame, CRC-failed frame, or resync bytes skipped). Returns false only + * when the buffer is drained or only a trailing partial frame remains. + * Canonical drain loop: + * frame_msg_info_t f; + * while (buffer_reader_try_next(&reader, &f)) { + * if (f.valid) handle(f); // else CrcFailure or SyncRecovery + * } */ +static inline bool buffer_reader_try_next(buffer_reader_t* reader, frame_msg_info_t* out) { + *out = buffer_reader_next(reader); + return out->valid || out->frame_size > 0; +} + /*=========================================================================== * BufferWriter - Encode multiple frames with automatic offset tracking *===========================================================================*/ @@ -793,20 +810,28 @@ static inline frame_msg_info_t accumulating_reader_next(accumulating_reader_t* r } if (result.status == FRAME_MSG_STATUS_WAITING_FOR_START) { - /* Head byte is not a start byte — scan forward */ + /* Head byte is not a start byte — scan forward, reporting a SyncRecovery event + * so accumulating_reader_try_next() keeps draining past garbage bytes. */ + size_t old_current_offset = reader->current_offset; if (reader->config->header.num_start_bytes >= 1) { size_t scan_start = reader->current_offset + 1; if (scan_start < reader->current_size) { const void* p = memchr(reader->current_buffer + scan_start, (int)sb1, reader->current_size - scan_start); - if (p) { - reader->current_offset = (size_t)((const uint8_t*)p - reader->current_buffer); - return result; /* caller calls next() again from new position */ - } + reader->current_offset = p + ? (size_t)((const uint8_t*)p - reader->current_buffer) + : reader->current_size; + } else { + reader->current_offset = reader->current_size; } + } else { + reader->current_offset = reader->current_size; } - reader->current_offset = reader->current_size; + result.status = FRAME_MSG_STATUS_SYNC_RECOVERY; + result.frame_size = reader->current_offset - old_current_offset; + reader->diagnostics.cnt_sync_recoveries++; + reader->diagnostics.cnt_failed_bytes += (uint32_t)result.frame_size; return result; } @@ -1149,6 +1174,20 @@ static inline size_t accumulating_reader_partial_size(const accumulating_reader_ return reader->internal_data_len; } +/* Try to parse the next frame, returning true while forward progress is made + * (valid frame, CRC-failed frame, or resync bytes skipped). Returns false only + * when the current buffer is exhausted or only a trailing partial is pending. + * Canonical drain loop: + * frame_msg_info_t f; + * while (accumulating_reader_try_next(&reader, &f)) { + * if (f.valid) handle(f); // else CrcFailure or SyncRecovery + * } + * if (accumulating_reader_has_partial(&reader)) { // feed more data } */ +static inline bool accumulating_reader_try_next(accumulating_reader_t* reader, frame_msg_info_t* out) { + *out = accumulating_reader_next(reader); + return out->valid || out->frame_size > 0; +} + static inline accumulating_reader_state_t accumulating_reader_state(const accumulating_reader_t* reader) { return reader->state; } diff --git a/src/struct_frame/boilerplate/cpp/frame_profiles.hpp b/src/struct_frame/boilerplate/cpp/frame_profiles.hpp index 3e1b6c9c..7211a14e 100644 --- a/src/struct_frame/boilerplate/cpp/frame_profiles.hpp +++ b/src/struct_frame/boilerplate/cpp/frame_profiles.hpp @@ -505,7 +505,9 @@ class BufferReader { // Advance past complete frames (valid or CRC-failed) offset_ += result.frame_size; } else if (result.status == FrameMsgStatus::WaitingForStart) { - // Head byte is not a frame start — scan forward to next start byte + // Head byte is not a frame start — scan forward to next start byte, + // reporting SyncRecovery so try_next() keeps advancing. + size_t old_offset = offset_; if constexpr (Config::num_start_bytes >= 1) { size_t scan_start = offset_ + 1; if (scan_start < size_) { @@ -519,6 +521,8 @@ class BufferReader { } else { offset_ = size_; } + result.status = FrameMsgStatus::SyncRecovery; + result.frame_size = offset_ - old_offset; } // Collecting: leave offset unchanged — frame is incomplete (normal end-of-buffer) @@ -545,6 +549,22 @@ class BufferReader { */ bool has_more() const { return offset_ < size_; } + /** + * Try to parse the next frame. Returns true while forward progress is made + * (valid frame, CRC-failed frame, or skipped resync bytes). Returns false + * when the buffer is drained or only a trailing partial frame remains. + * + * Canonical drain loop: + * FrameMsgInfo f; + * while (reader.try_next(f)) { + * if (f.valid) handle(f); // else CrcFailure or SyncRecovery + * } + */ + bool try_next(FrameMsgInfo& out) { + out = next(); + return out.valid || out.frame_size > 0; + } + private: FrameMsgInfo parse_frame(const uint8_t* buffer, size_t size) const { if constexpr (Config::has_length || Config::has_crc) { @@ -844,24 +864,30 @@ class AccumulatingReader { } if (result.status == FrameMsgStatus::WaitingForStart) { - // Head byte is not a start byte — scan forward for the next one + // Head byte is not a start byte — scan forward for the next one, + // reporting SyncRecovery so try_next() keeps draining. + size_t old_offset = current_offset_; if constexpr (Config::num_start_bytes >= 1) { size_t scan_start = current_offset_ + 1; if (scan_start < current_size_) { const void* p = std::memchr(current_buffer_ + scan_start, static_cast(Config::computed_start_byte1()), current_size_ - scan_start); - if (p) { - current_offset_ = static_cast( - static_cast(p) - current_buffer_); - // Return empty — caller should call next() again to parse from new position - return with_diagnostics(FrameMsgInfo()); - } + current_offset_ = p + ? static_cast(static_cast(p) - current_buffer_) + : current_size_; + } else { + current_offset_ = current_size_; } + } else { + current_offset_ = current_size_; } - // No start byte found in remainder — consume everything - current_offset_ = current_size_; - return with_diagnostics(FrameMsgInfo()); + FrameMsgInfo r; + r.status = FrameMsgStatus::SyncRecovery; + r.frame_size = current_offset_ - old_offset; + diagnostics_.cnt_sync_recoveries++; + diagnostics_.cnt_failed_bytes += static_cast(r.frame_size); + return with_diagnostics(r); } // Collecting — save remaining bytes to internal buffer for next add_data() call @@ -938,6 +964,23 @@ class AccumulatingReader { */ size_t partial_size() const { return internal_data_len_; } + /** + * Try to parse the next frame. Returns true while forward progress is made + * (valid frame, CRC-failed frame, or skipped resync bytes). Returns false + * when the current buffer is exhausted or only a trailing partial is pending. + * + * Canonical drain loop: + * FrameMsgInfo f; + * while (reader.try_next(f)) { + * if (f.valid) handle(f); // else CrcFailure or SyncRecovery + * } + * if (reader.has_partial()) { // incomplete frame; feed more data } + */ + bool try_next(FrameMsgInfo& out) { + out = next(); + return out.valid || out.frame_size > 0; + } + /** * Get current parser state (for debugging). */ diff --git a/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs b/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs index 6c2e3190..82d9ba64 100644 --- a/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs +++ b/src/struct_frame/boilerplate/csharp/Framework/Framing/AccumulatingReader.cs @@ -95,16 +95,6 @@ public void ResetDiagnostics() /// public State CurrentState => _state; - /// - /// Check if there's a partial message waiting for more data. - /// - public bool HasPartial => _internalDataLen > 0; - - /// - /// Get the size of the partial message data. - /// - public int PartialSize => _internalDataLen; - // ========================================================================= // Buffer Mode API // ========================================================================= diff --git a/src/struct_frame/boilerplate/py/frame_profiles.py b/src/struct_frame/boilerplate/py/frame_profiles.py index a9c2983d..01071d57 100644 --- a/src/struct_frame/boilerplate/py/frame_profiles.py +++ b/src/struct_frame/boilerplate/py/frame_profiles.py @@ -758,10 +758,14 @@ def next(self) -> FrameMsgInfo: # Advance past complete frames (valid, or CRC-failed but structurally known) self._offset += result.frame_size elif result.status == FrameMsgStatus.WAITING_FOR_START and self._config.num_start_bytes >= 1: - # Head byte is not a frame start — scan forward to the next start byte + # Head byte is not a frame start — scan forward to the next start byte, + # reporting SyncRecovery so try_next() keeps advancing. + old_offset = self._offset start1 = bytes([self._config.computed_start_byte1()]) nxt = self._buffer.find(start1, self._offset + 1, self._size) self._offset = nxt if nxt != -1 else self._size + result.status = FrameMsgStatus.SYNC_RECOVERY + result.frame_size = self._offset - old_offset else: # Incomplete/garbage with no recoverable start — consume the rest self._offset = self._size @@ -786,6 +790,19 @@ def has_more(self) -> bool: """Check if there are more bytes to parse.""" return self._offset < self._size + def try_next(self) -> Optional['FrameMsgInfo']: + """Try to parse the next frame. Returns the result if forward progress was made + (valid frame, CRC-failed frame, or resync bytes skipped), or None when the buffer + is drained or only a trailing partial frame remains. + + Canonical drain loop:: + + while (result := reader.try_next()) is not None: + if result.valid: handle(result) # else CrcFailure or SyncRecovery + """ + result = self.next() + return result if (result.valid or result.frame_size > 0) else None + # ============================================================================= # BufferWriter - Encode multiple frames with automatic offset tracking @@ -1038,18 +1055,18 @@ def next(self) -> FrameMsgInfo: return self._with_diag(result) if result.status == FrameMsgStatus.WAITING_FOR_START and self._config.num_start_bytes >= 1: - # Head byte is not a frame start — scan forward to the next start byte + # Head byte is not a frame start — scan forward to the next start byte, + # reporting SyncRecovery with frame_size=bytes_skipped so try_next() keeps draining. + old_offset = self._current_offset start1 = bytes([self._config.computed_start_byte1()]) nxt = self._current_buffer.find(start1, self._current_offset + 1, self._current_size) - if nxt != -1: - self._diag.cnt_failed_bytes += nxt - self._current_offset - self._diag.cnt_sync_recoveries += 1 - self._current_offset = nxt - # Caller should call next() again to parse from the new position - return self._with_diag(FrameMsgInfo(status=FrameMsgStatus.SYNC_RECOVERY)) - # No further start byte — discard the rest as a partial tail below - remaining = b'' - self._current_offset = self._current_size + self._current_offset = nxt if nxt != -1 else self._current_size + skipped = self._current_offset - old_offset + self._diag.cnt_failed_bytes += skipped + self._diag.cnt_sync_recoveries += 1 + r = FrameMsgInfo(status=FrameMsgStatus.SYNC_RECOVERY) + r.frame_size = skipped + return self._with_diag(r) # Parse failed - might be a partial message at the end of the buffer remaining_len = self._current_size - self._current_offset @@ -1371,6 +1388,20 @@ def has_partial(self) -> bool: def partial_size(self) -> int: """Get the size of the partial message data (0 if none).""" return self._internal_data_len + + def try_next(self) -> Optional['FrameMsgInfo']: + """Try to parse the next frame. Returns the result if forward progress was made + (valid frame, CRC-failed frame, or resync bytes skipped), or None when the + current buffer is exhausted or only a trailing partial is pending. + + Canonical drain loop:: + + while (result := reader.try_next()) is not None: + if result.valid: handle(result) # else CrcFailure or SyncRecovery + if reader.has_partial(): pass # incomplete frame; feed more data + """ + result = self.next() + return result if (result.valid or result.frame_size > 0) else None @property def state(self) -> AccumulatingReaderState: From eb5085d483fef3aa9d78326c23f9a3150cc08e8b Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 12:46:09 -0600 Subject: [PATCH 4/7] Added rust api --- .../boilerplate/rust/frame_profiles.rs | 191 ++++++++++++------ tests/rust/src/test_negative.rs | 39 +++- 2 files changed, 157 insertions(+), 73 deletions(-) diff --git a/src/struct_frame/boilerplate/rust/frame_profiles.rs b/src/struct_frame/boilerplate/rust/frame_profiles.rs index 7fd0a1bd..96341eb8 100644 --- a/src/struct_frame/boilerplate/rust/frame_profiles.rs +++ b/src/struct_frame/boilerplate/rust/frame_profiles.rs @@ -439,7 +439,18 @@ pub fn parse_with_crc( fletcher_checksum(&buffer[crc_start..crc_start + crc_len], magic1, magic2) }; if ck.byte1 != buffer[total_size - 2] || ck.byte2 != buffer[total_size - 1] { - return FrameMsgInfo { status: FrameMsgStatus::CrcFailure, ..FrameMsgInfo::invalid() }; + return FrameMsgInfo { + valid: false, + msg_id, + msg_len, + frame_size: total_size, + package_id: pkg_id, + sequence: seq, + system_id: sys_id, + component_id: comp_id, + status: FrameMsgStatus::CrcFailure, + ..FrameMsgInfo::invalid() + }; } } @@ -837,6 +848,8 @@ pub struct AccumulatingReader { diagnostics: ParserDiagnostics, /// Last seen sequence number for gap detection last_seq: Option, + /// True when the buffered bytes represent an incomplete frame awaiting more data. + partial_pending: bool, } impl AccumulatingReader { @@ -848,6 +861,7 @@ impl AccumulatingReader { capacity, diagnostics: ParserDiagnostics::default(), last_seq: None, + partial_pending: false, } } @@ -885,6 +899,30 @@ impl AccumulatingReader { &self.buffer[self.head..] } + /// Number of unread bytes currently buffered. + pub fn remaining(&self) -> usize { + self.buf().len() + } + + /// True when there are unread bytes buffered. + pub fn has_more(&self) -> bool { + self.remaining() > 0 + } + + /// True when parsing reached a trailing incomplete frame and is waiting for more data. + pub fn has_partial(&self) -> bool { + self.partial_pending && self.has_more() + } + + /// Number of bytes currently buffered for a trailing incomplete frame. + pub fn partial_size(&self) -> usize { + if self.has_partial() { + self.remaining() + } else { + 0 + } + } + /// Compact the buffer if head is past half capacity, to avoid growing indefinitely. fn maybe_compact(&mut self) { if self.head >= self.capacity / 2 { @@ -1112,83 +1150,106 @@ impl AccumulatingReader { /// Get the next complete frame, or None if not enough data yet. /// Automatically re-synchronizes past noise or partial frames. pub fn next(&mut self, get_message_info: &dyn Fn(u16) -> Option) -> Option { - loop { - if self.buf().is_empty() { - return None; - } - - let result = if self.config.payload.has_crc { - parse_with_crc(&self.config, self.buf(), get_message_info) - } else { - parse_minimal(&self.config, self.buf(), get_message_info) - }; + if self.buf().is_empty() { + self.partial_pending = false; + return None; + } - if result.valid { - let frame_size = result.frame_size; + let result = if self.config.payload.has_crc { + parse_with_crc(&self.config, self.buf(), get_message_info) + } else { + parse_minimal(&self.config, self.buf(), get_message_info) + }; - // Check for sequence gap on profiles that carry a sequence number - if self.config.payload.has_seq { - let seq = self.buf()[self.config.header.num_start_bytes as usize]; - if let Some(last) = self.last_seq { - if seq != last.wrapping_add(1) { - self.diagnostics.cnt_seq_gaps += 1; - } + if result.valid { + let frame_size = result.frame_size; + + // Check for sequence gap on profiles that carry a sequence number + if self.config.payload.has_seq { + let seq = self.buf()[self.config.header.num_start_bytes as usize]; + if let Some(last) = self.last_seq { + if seq != last.wrapping_add(1) { + self.diagnostics.cnt_seq_gaps += 1; } - self.last_seq = Some(seq); } - - self.drain_head(frame_size); - return Some(result); + self.last_seq = Some(seq); } - let bytes_to_drain = self.bytes_to_drain_for_resync(get_message_info); - if bytes_to_drain == 0 { - return None; + self.partial_pending = false; + self.drain_head(frame_size); + return Some(result); + } + + // Complete-but-invalid frame (e.g. CRC failure): surface it and advance. + if result.frame_size > 0 { + if result.status == FrameMsgStatus::CrcFailure { + self.diagnostics.cnt_crc_failures += 1; } + self.diagnostics.cnt_failed_bytes += result.frame_size as u32; + self.diagnostics.cnt_sync_recoveries += 1; + self.partial_pending = false; + self.drain_head(result.frame_size); + return Some(result); + } - // Record diagnostics before draining - if self.starts_with_possible_frame() { - // A8: only fire cnt_len_errors when the length is genuinely wrong - if self.config.payload.has_length { - let buf = self.buf(); - let header_size = self.config.header_size(); - if buf.len() >= header_size { - let mut len_offset = self.config.header.num_start_bytes as usize; - if self.config.payload.has_seq { len_offset += 1; } - if self.config.payload.has_sys_id { len_offset += 1; } - if self.config.payload.has_comp_id { len_offset += 1; } - let msg_len = if self.config.payload.length_bytes == 1 { - buf[len_offset] as usize - } else { - (buf[len_offset] as usize) | ((buf[len_offset + 1] as usize) << 8) - }; - let mut id_offset = len_offset + self.config.payload.length_bytes as usize; - let mut full_msg_id: u16 = 0; - if self.config.payload.has_pkg_id && buf.len() > id_offset { - full_msg_id = (buf[id_offset] as u16) << 8; - id_offset += 1; - } - if buf.len() > id_offset { - full_msg_id |= buf[id_offset] as u16; - if let Some(info) = get_message_info(full_msg_id) { - // A8: mirrors C++ / TS fix — only error on out-of-range - if msg_len > info.size || msg_len < info.min_size { - self.diagnostics.cnt_len_errors += 1; - } - } + if result.status == FrameMsgStatus::Collecting { + self.partial_pending = true; + return None; + } + + let bytes_to_drain = self.bytes_to_drain_for_resync(get_message_info); + if bytes_to_drain == 0 { + self.partial_pending = true; + return None; + } + + // Record diagnostics before draining + if self.starts_with_possible_frame() && self.config.payload.has_length { + let buf = self.buf(); + let header_size = self.config.header_size(); + if buf.len() >= header_size { + let mut len_offset = self.config.header.num_start_bytes as usize; + if self.config.payload.has_seq { + len_offset += 1; + } + if self.config.payload.has_sys_id { + len_offset += 1; + } + if self.config.payload.has_comp_id { + len_offset += 1; + } + let msg_len = if self.config.payload.length_bytes == 1 { + buf[len_offset] as usize + } else { + (buf[len_offset] as usize) | ((buf[len_offset + 1] as usize) << 8) + }; + let mut id_offset = len_offset + self.config.payload.length_bytes as usize; + let mut full_msg_id: u16 = 0; + if self.config.payload.has_pkg_id && buf.len() > id_offset { + full_msg_id = (buf[id_offset] as u16) << 8; + id_offset += 1; + } + if buf.len() > id_offset { + full_msg_id |= buf[id_offset] as u16; + if let Some(info) = get_message_info(full_msg_id) { + // A8: mirrors C++ / TS fix — only error on out-of-range + if msg_len > info.size || msg_len < info.min_size { + self.diagnostics.cnt_len_errors += 1; } } } - - if result.status == FrameMsgStatus::CrcFailure { - self.diagnostics.cnt_crc_failures += 1; - } } - - self.diagnostics.cnt_failed_bytes += bytes_to_drain as u32; - self.diagnostics.cnt_sync_recoveries += 1; - self.drain_head(bytes_to_drain); } + + self.diagnostics.cnt_failed_bytes += bytes_to_drain as u32; + self.diagnostics.cnt_sync_recoveries += 1; + self.partial_pending = false; + self.drain_head(bytes_to_drain); + + let mut sync = FrameMsgInfo::invalid(); + sync.status = FrameMsgStatus::SyncRecovery; + sync.frame_size = bytes_to_drain; + Some(sync) } } diff --git a/tests/rust/src/test_negative.rs b/tests/rust/src/test_negative.rs index f95273a4..4dc0e788 100644 --- a/tests/rust/src/test_negative.rs +++ b/tests/rust/src/test_negative.rs @@ -8,6 +8,7 @@ use struct_frame_sdk::serialization_test::*; use struct_frame_sdk::get_message_info; +use struct_frame_sdk::FrameMsgStatus; use struct_frame_sdk::{ encode_message_crc, encode_message_minimal, encode_with_crc, AccumulatingReader, BufferWriter, BufferReader, @@ -156,8 +157,10 @@ fn test_streaming_corrupted_crc() -> bool { reader.add_data(std::slice::from_ref(byte)); } - let result = reader.next(&get_message_info); - result.is_none() // Expect parsing to fail + match reader.next(&get_message_info) { + Some(f) => !f.valid && f.status == FrameMsgStatus::CrcFailure && f.frame_size > 0, + None => false, + } } /// Test: AccumulatingReader handles garbage data @@ -169,7 +172,10 @@ fn test_streaming_garbage() -> bool { reader.add_data(garbage); let result = reader.next(&get_message_info); - result.is_none() // Expect no valid frame + match result { + Some(f) => !f.valid && f.status == FrameMsgStatus::SyncRecovery && f.frame_size > 0, + None => false, + } } /// Test: Multiple frames with corrupted middle frame @@ -397,8 +403,12 @@ fn test_buffer_mode_recovers_after_crc_failure() -> bool { let mut reader = AccumulatingReader::new(PROFILE_STANDARD_CONFIG, 1024); reader.add_data(&bad_data[..frame_size]); let result1 = reader.next(&get_message_info); - if result1.is_some() { - return false; // Must fail + let bad = match result1 { + Some(f) => !f.valid && f.status == FrameMsgStatus::CrcFailure && f.frame_size > 0, + None => false, + }; + if !bad { + return false; } // Feed a valid frame — reader must not be stuck on the bad one @@ -521,10 +531,23 @@ fn test_split_buffer_crc_error_status() -> bool { reader.add_data(chunk2); - // The AccumulatingReader loops internally on CRC failure, so next() directly - // returns frame3 (valid). cnt_crc_failures confirms frame2's CRC was rejected. + // next() should surface the CRC-failed frame first. let result2 = reader.next(&get_message_info); - if result2.is_none() { + let crc_failed = match result2 { + Some(f) => !f.valid && f.status == FrameMsgStatus::CrcFailure && f.frame_size > 0, + None => false, + }; + if !crc_failed { + return false; + } + + // Then the following valid frame should parse. + let result3 = reader.next(&get_message_info); + let frame3_valid = match result3 { + Some(f) => f.valid, + None => false, + }; + if !frame3_valid { return false; } From 6647b2ad0a9639987543b05eb7f0ff132919151b Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 12:52:48 -0600 Subject: [PATCH 5/7] Updated py and rust sdk --- .../py/struct_frame_sdk/async_struct_frame_sdk.py | 6 ++++-- .../py/struct_frame_sdk/struct_frame_sdk.py | 10 ++++++---- .../boilerplate/rust/frame_profiles.rs | 11 ++++++++++- .../boilerplate/rust/struct_frame_sdk.rs | 14 ++++++++++---- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/struct_frame/boilerplate/py/struct_frame_sdk/async_struct_frame_sdk.py b/src/struct_frame/boilerplate/py/struct_frame_sdk/async_struct_frame_sdk.py index d474d347..818adbcc 100644 --- a/src/struct_frame/boilerplate/py/struct_frame_sdk/async_struct_frame_sdk.py +++ b/src/struct_frame/boilerplate/py/struct_frame_sdk/async_struct_frame_sdk.py @@ -213,9 +213,11 @@ def _handle_incoming_data(self, data: bytes) -> None: """Feed incoming bytes to the reader and dispatch every complete frame.""" self.reader.add_data(data) while True: - result = self.reader.next() - if not result.valid: + result = self.reader.try_next() + if result is None: break + if not result.valid: + continue self._dispatch(result) def _dispatch(self, result) -> None: diff --git a/src/struct_frame/boilerplate/py/struct_frame_sdk/struct_frame_sdk.py b/src/struct_frame/boilerplate/py/struct_frame_sdk/struct_frame_sdk.py index 3913ff98..3e1fc30c 100644 --- a/src/struct_frame/boilerplate/py/struct_frame_sdk/struct_frame_sdk.py +++ b/src/struct_frame/boilerplate/py/struct_frame_sdk/struct_frame_sdk.py @@ -269,11 +269,13 @@ def _handle_incoming_data(self, data: bytes) -> None: """Feed incoming bytes to the reader and dispatch every complete frame.""" self.reader.add_data(data) while True: - result = self.reader.next() - if not result.valid: - # No more complete frames; the reader keeps any partial/garbage - # bytes internally and resyncs on its own. + result = self.reader.try_next() + if result is None: + # No more progress possible; trailing partial (if any) remains buffered. break + if not result.valid: + # Surfaced CRC failure / resync skip — keep draining. + continue self._dispatch(result) def _dispatch(self, result) -> None: diff --git a/src/struct_frame/boilerplate/rust/frame_profiles.rs b/src/struct_frame/boilerplate/rust/frame_profiles.rs index 96341eb8..f05e17a9 100644 --- a/src/struct_frame/boilerplate/rust/frame_profiles.rs +++ b/src/struct_frame/boilerplate/rust/frame_profiles.rs @@ -923,6 +923,15 @@ impl AccumulatingReader { } } + /// Try to parse one progress-making item. + /// + /// Returns Some(...) while forward progress is made (valid frame, CRC-failed + /// frame, or SyncRecovery skip), and None when only trailing partial data + /// remains or the buffer is drained. + pub fn try_next(&mut self, get_message_info: &dyn Fn(u16) -> Option) -> Option { + self.next(get_message_info) + } + /// Compact the buffer if head is past half capacity, to avoid growing indefinitely. fn maybe_compact(&mut self) { if self.head >= self.capacity / 2 { @@ -1144,7 +1153,7 @@ impl AccumulatingReader { /// Returns `Some(FrameMsgInfo)` as soon as a frame is available. pub fn push_byte(&mut self, byte: u8, get_message_info: &dyn Fn(u16) -> Option) -> Option { self.add_data(&[byte]); - self.next(get_message_info) + self.try_next(get_message_info) } /// Get the next complete frame, or None if not enough data yet. diff --git a/src/struct_frame/boilerplate/rust/struct_frame_sdk.rs b/src/struct_frame/boilerplate/rust/struct_frame_sdk.rs index a3842311..6f166889 100644 --- a/src/struct_frame/boilerplate/rust/struct_frame_sdk.rs +++ b/src/struct_frame/boilerplate/rust/struct_frame_sdk.rs @@ -94,11 +94,13 @@ impl StructFrameSdk { pub fn inject_data(&mut self, data: &[u8]) { self.reader.add_data(data); loop { - let frame = self.reader.next(self.get_message_info.as_ref()); + let frame = self.reader.try_next(self.get_message_info.as_ref()); match frame { None => break, Some(f) => { - self.dispatch(f); + if f.valid { + self.dispatch(f); + } } } } @@ -112,8 +114,12 @@ impl StructFrameSdk { match self.reader.push_byte(byte, self.get_message_info.as_ref()) { None => false, Some(f) => { - self.dispatch(f); - true + if f.valid { + self.dispatch(f); + true + } else { + false + } } } } From 6d2b7275158efbaf84e525ac813c8aaf4b4e2972 Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 13:29:29 -0600 Subject: [PATCH 6/7] updated negative tests --- .../content/docs/reference/test-coverage.md | 7 +- tests/NEGATIVE_TESTS.md | 63 ++++++---- tests/c/test_negative.c | 110 ++++++++++++++++++ tests/coverage_spec.py | 19 +-- tests/cpp/test_negative.cpp | 77 ++++++++++++ tests/csharp/TestNegative.cs | 81 +++++++++++++ tests/js/test_negative.js | 86 ++++++++++++++ tests/py/test_negative.py | 93 +++++++++++++++ tests/rust/src/test_negative.rs | 77 ++++++++++++ tests/ts/test_negative.ts | 86 ++++++++++++++ 10 files changed, 667 insertions(+), 32 deletions(-) diff --git a/docs/src/content/docs/reference/test-coverage.md b/docs/src/content/docs/reference/test-coverage.md index 633c21a7..cff6aa1f 100644 --- a/docs/src/content/docs/reference/test-coverage.md +++ b/docs/src/content/docs/reference/test-coverage.md @@ -226,7 +226,7 @@ Test files: `tests/{c,cpp,py,ts,js,csharp,rust}/test_negative.*` See `tests/NEGATIVE_TESTS.md` for full scenario descriptions. -The 15 scenarios in the table below are registered in every language's `test_negative.*` file. Individual languages carry additional language-specific scenarios: C/C++/TS/JS/C# (20 each) add bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption, and stream-recovery tests; Python (30) adds those plus diagnostic-counter and status-machine tests; Rust (16) adds stream-recovery only. +The 20 scenarios in the table below are registered in every language's `test_negative.*` file. Individual languages carry additional language-specific scenarios: C/C++/TS/JS/C# (24 each) add bulk `pkg_id`/`msg_id` corruption, cross-package rejection, and network `pkg_id` corruption; Python (34) adds those plus diagnostic-counter and status-machine tests; Rust (20) currently matches the uniform set. | Error Scenario (test name) | C | C++ | Python | TS | JS | C# | Rust | |--------|--------|--------|--------|--------|--------|--------|--------| @@ -238,11 +238,16 @@ The 15 scenarios in the table below are registered in every language's `test_neg | Invalid message ID rejection | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Invalid start bytes detection | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Minimal profile: Truncated frame | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| Multiple frames: CRC error then valid frame | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Multiple frames: Corrupted middle frame | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Network profile: SysId/CompId corruption | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Partial frame across buffer boundary | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| Split-buffer: CRC error status preserved | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| Stream mode: recovers after garbage prefix | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Streaming: Corrupted CRC detection | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Streaming: Garbage data handling | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| TryNext drain: CRC/resync + valid | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| TryNext partial pending contract | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Truncated frame detection | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Zero-length buffer handling | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | diff --git a/tests/NEGATIVE_TESTS.md b/tests/NEGATIVE_TESTS.md index b3aa5702..9795d8fc 100644 --- a/tests/NEGATIVE_TESTS.md +++ b/tests/NEGATIVE_TESTS.md @@ -16,64 +16,79 @@ Negative tests are critical for ensuring robust error handling. They verify that ## Test Files -All seven language implementations share **15 identical test scenarios** (same names, same -behaviour). Individual languages then add language-specific scenarios on top, so per-language -totals differ (see counts below): +All seven language implementations now share **20 identical test scenarios** (same names, +same behaviour), including a common `tryNext` drain contract and partial-pending checks. +Individual languages then add language-specific scenarios on top, so per-language totals +differ (see counts below): ### C Tests (`tests/c/test_negative.c`) -- **20 test cases**: the 15 uniform scenarios + 5 C-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption, stream recovery) +- **24 test cases**: the 20 uniform scenarios + 4 C-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption) - Tests buffer reader and accumulating reader (buffer mode) APIs - Uses ProfileStandard, ProfileSensor, ProfileBulk, and ProfileNetwork configurations ### C++ Tests (`tests/cpp/test_negative.cpp`) -- **20 test cases**: the 15 uniform scenarios + 5 C++-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption, stream recovery) +- **24 test cases**: the 20 uniform scenarios + 4 C++-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption) - Tests both BufferReader and AccumulatingReader APIs - Tests multiple frame profiles (Standard, Sensor, Bulk, Network) ### Python Tests (`tests/py/test_negative.py`) -- **30 test cases**: the 15 uniform scenarios + Python-specific extras (bulk/cross-package/network corruption, stream recovery, diagnostic-counter, and status-machine tests) +- **34 test cases**: the 20 uniform scenarios + Python-specific extras (bulk/cross-package/network corruption, diagnostic-counter, and status-machine tests) - Tests both buffer and streaming modes - Uses ProfileStandardReader, ProfileSensorReader, and ProfileNetworkReader ### TypeScript Tests (`tests/ts/test_negative.ts`) -- **20 test cases**: the 15 uniform scenarios + 5 TS-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption, stream recovery) +- **24 test cases**: the 20 uniform scenarios + 4 TS-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption) - Tests ProfileStandardWriter/Reader and AccumulatingReader - Tests multiple profiles (Standard, Sensor, Bulk, Network) ### JavaScript Tests (`tests/js/test_negative.js`) -- **20 test cases** identical to TypeScript +- **24 test cases** identical to TypeScript - Tests ProfileStandardWriter/Reader and AccumulatingReader - Tests multiple profiles (Standard, Sensor, Bulk, Network) ### C# Tests (`tests/csharp/TestNegative.cs`) -- **20 test cases**: the 15 uniform scenarios + 5 C#-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption, stream recovery) +- **24 test cases**: the 20 uniform scenarios + 4 C#-specific (bulk `pkg_id`/`msg_id` corruption, cross-package rejection, network `pkg_id` corruption) - Tests ProfileStandardWriter/Reader and AccumulatingReader - Tests multiple profiles (Standard, Sensor, Bulk, Network) ### Rust Tests (`tests/rust/src/test_negative.rs`) -- **16 test cases**: the 15 uniform scenarios + 1 Rust-specific (stream recovery) +- **20 test cases**: the full uniform scenario set - Tests BufferReader and AccumulatingReader APIs - Tests multiple profiles (Standard, Sensor, Bulk, Network) ## Uniform Test Scenarios -All seven languages implement the following 15 scenarios with identical names: +All seven languages implement the following 20 scenarios with identical names: -1. **Buffer mode: recovers after CRC failure** – the buffer-mode accumulating reader resyncs and returns the next valid frame after a CRC-failed frame +1. **Buffer mode: recovers after CRC failure** – buffer-mode accumulating reader resyncs and returns the next valid frame after a CRC-failed frame 2. **Buffer reader: skips CRC-failed frame** – `BufferReader` advances past a CRC-failed frame instead of stalling on it 3. **Bulk profile: Corrupted CRC** – validates error detection on the Bulk (extended-header) profile 4. **Corrupted CRC detection** – verifies parser rejects frames with flipped CRC bytes 5. **Corrupted length field detection** – ensures length validation catches oversized claims -6. **Invalid message ID rejection** – verifies that a frame with an unknown msg_id byte (0xFF) is rejected; since get_message_info returns no magic values for unknown IDs, the CRC check fails -7. **Invalid start bytes detection** – ensures parser rejects frames with wrong start markers -8. **Minimal profile: Truncated frame** – verifies ProfileSensor (no CRC, no length) correctly rejects a buffer shorter than the expected payload size determined via get_message_info -9. **Multiple frames: Corrupted middle frame** – validates that the second of three consecutive frames is rejected when its CRC is flipped -10. **Network profile: SysId/CompId corruption** – verifies that sys_id (byte 3) is part of the CRC-protected region; corrupting it causes CRC failure, proving routing fields are integrity-checked -11. **Partial frame across buffer boundary** – verifies `AccumulatingReader` reassembles a frame that was fed in two `add_data` chunks -12. **Streaming: Corrupted CRC detection** – tests CRC validation in byte-by-byte / accumulating mode -13. **Streaming: Garbage data handling** – verifies parser handles random invalid bytes without crashing -14. **Truncated frame detection** – tests handling of incomplete frames -15. **Zero-length buffer handling** – tests edge case of empty input +6. **Invalid message ID rejection** – frame with unknown msg_id byte (0xFF) is rejected because CRC validation no longer has valid magic values +7. **Invalid start bytes detection** – parser rejects frames with wrong start markers +8. **Minimal profile: Truncated frame** – ProfileSensor (no CRC/no length) rejects a buffer shorter than expected payload size +9. **Multiple frames: CRC error then valid frame** – CRC-failed middle frame is surfaced and parsing continues to the following valid frame +10. **Multiple frames: Corrupted middle frame** – second of three consecutive frames is rejected when its CRC is flipped +11. **Network profile: SysId/CompId corruption** – routing fields are CRC-protected; corruption causes CRC failure +12. **Partial frame across buffer boundary** – `AccumulatingReader` reassembles a frame split across two `add_data` chunks +13. **Split-buffer: CRC error status preserved** – CRC-failed frame assembled across chunks still reports explicit CRC-failure status +14. **Stream mode: recovers after garbage prefix** – byte-at-a-time mode resyncs after noise and still decodes the next valid frame +15. **Streaming: Corrupted CRC detection** – CRC validation in byte-by-byte/accumulating mode +16. **Streaming: Garbage data handling** – random invalid bytes are handled safely without crashes +17. **Truncated frame detection** – incomplete frames are rejected +18. **TryNext drain: CRC/resync + valid** – `tryNext` loop keeps making forward progress through CRC/resync events and still delivers valid frames +19. **TryNext partial pending contract** – when data is partial, `tryNext` reports no progress while exposing partial state; after completion it drains and clears partial state +20. **Zero-length buffer handling** – empty input edge case + +### `tryNext` Contract (Unified) + +- `tryNext` returns progress items while forward progress is possible: + - valid frame + - CRC-failed frame event + - sync-recovery skip event +- `tryNext` returns no item only when the buffer is drained or only a trailing partial frame remains. +- Partial pending is observable through `hasPartial`/`partialSize` (or language-equivalent API). ## Running the Tests @@ -137,7 +152,7 @@ cd tests/rust && cargo build All negative tests should **PASS**, which means: - Invalid input is correctly detected and rejected -- Parser returns `valid=false` (or `None` in Rust/Python) for corrupted/malformed data +- Parser returns `valid=false` for corrupted/malformed frames, and `tryNext` loops continue draining through CRC/resync events - No crashes or undefined behavior occurs - Error handling is consistent across implementations @@ -162,7 +177,7 @@ Summary: 20/20 tests passed ======================================== ``` -(The example above shows a 20-scenario language; the exact total varies per language — +(The example above shows a 24-scenario language; the exact total varies per language — see the per-file counts under [Test Files](#test-files).) ## Integration with Test Suite diff --git a/tests/c/test_negative.c b/tests/c/test_negative.c index a1535c65..012e19eb 100644 --- a/tests/c/test_negative.c +++ b/tests/c/test_negative.c @@ -952,6 +952,114 @@ bool test_split_buffer_crc_error_status(void) { return true; } +/* Local shim: emulate try_next() contract using next() + frame_size progress. */ +static bool test_try_next_progress(accumulating_reader_t* reader, frame_msg_info_t* out) { + *out = accumulating_reader_next(reader); + return out->valid || out->frame_size > 0; +} + +/** + * Test: TryNext drain loop surfaces CRC/resync progress and still delivers + * the following valid frame. + */ +bool test_try_next_drain_contract(void) { + uint8_t buf[2048]; + SerializationTestBasicTypesMessage msg; + create_test_message(&msg); + + buffer_writer_t writer; + buffer_writer_init(&writer, &PROFILE_STANDARD_CONFIG, buf, sizeof(buf)); + + uint8_t payload[256]; + size_t payload_size = SerializationTestBasicTypesMessage_serialize(&msg, payload); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + payload, payload_size, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + size_t first_end = buffer_writer_size(&writer); + + msg.small_int = 77; + payload_size = SerializationTestBasicTypesMessage_serialize(&msg, payload); + buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + payload, payload_size, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + size_t total = buffer_writer_size(&writer); + + /* Corrupt first frame CRC */ + buf[first_end - 1] ^= 0xFF; + buf[first_end - 2] ^= 0xFF; + + uint8_t internal_buffer[2048]; + accumulating_reader_t reader; + accumulating_reader_init(&reader, &PROFILE_STANDARD_CONFIG, internal_buffer, sizeof(internal_buffer), get_message_info); + accumulating_reader_add_data(&reader, buf, total); + + int valid_count = 0; + bool saw_crc_failure = false; + frame_msg_info_t f; + while (test_try_next_progress(&reader, &f)) { + if (f.valid) { + valid_count++; + } else if (f.status == FRAME_MSG_STATUS_CRC_FAILURE) { + saw_crc_failure = true; + } + } + + if (!saw_crc_failure) return false; + if (valid_count != 1) return false; + if (accumulating_reader_has_more(&reader)) return false; + if (accumulating_reader_has_partial(&reader)) return false; + if (accumulating_reader_partial_size(&reader) != 0) return false; + return true; +} + +/** + * Test: TryNext partial-pending contract. + * After a short chunk, no progress is reported and partial bytes are exposed; + * after the tail arrives, one valid frame drains and partial clears. + */ +bool test_try_next_partial_pending_contract(void) { + uint8_t frame_buf[1024]; + SerializationTestBasicTypesMessage msg; + create_test_message(&msg); + + buffer_writer_t writer; + buffer_writer_init(&writer, &PROFILE_STANDARD_CONFIG, frame_buf, sizeof(frame_buf)); + + uint8_t payload[256]; + size_t payload_size = SerializationTestBasicTypesMessage_serialize(&msg, payload); + size_t frame_size = buffer_writer_write(&writer, SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MSG_ID, + payload, payload_size, 0, 0, 0, 0, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC1, + SERIALIZATION_TEST_BASIC_TYPES_MESSAGE_MAGIC2); + if (frame_size < 10) return false; + + size_t mid = frame_size / 2; + + uint8_t internal_buffer[1024]; + accumulating_reader_t reader; + accumulating_reader_init(&reader, &PROFILE_STANDARD_CONFIG, internal_buffer, sizeof(internal_buffer), get_message_info); + + accumulating_reader_add_data(&reader, frame_buf, mid); + frame_msg_info_t first; + if (test_try_next_progress(&reader, &first)) return false; + if (!accumulating_reader_has_partial(&reader)) return false; + if (accumulating_reader_partial_size(&reader) == 0) return false; + + accumulating_reader_add_data(&reader, frame_buf + mid, frame_size - mid); + int valid_count = 0; + frame_msg_info_t f; + while (test_try_next_progress(&reader, &f)) { + if (f.valid) valid_count++; + } + + if (valid_count != 1) return false; + if (accumulating_reader_has_partial(&reader)) return false; + if (accumulating_reader_partial_size(&reader) != 0) return false; + return !accumulating_reader_has_more(&reader); +} + // Test function pointer type typedef bool (*TestFunc)(void); @@ -985,6 +1093,8 @@ int main(void) { {"Network profile: SysId/CompId corruption", test_network_sysid_compid}, {"Partial frame across buffer boundary", test_partial_frame_boundary}, {"Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status}, + {"TryNext drain: CRC/resync + valid", test_try_next_drain_contract}, + {"TryNext partial pending contract", test_try_next_partial_pending_contract}, {"Stream mode: recovers after garbage prefix", test_stream_recovers_after_garbage}, {"Streaming: Corrupted CRC detection", test_streaming_corrupted_crc}, {"Streaming: Garbage data handling", test_streaming_garbage}, diff --git a/tests/coverage_spec.py b/tests/coverage_spec.py index b8ee4de6..9a85583c 100644 --- a/tests/coverage_spec.py +++ b/tests/coverage_spec.py @@ -404,13 +404,13 @@ def _full(label, symbol, notes=""): "intro": ( "Test files: `tests/{c,cpp,py,ts,js,csharp,rust}/test_negative.*`\n\n" "See `tests/NEGATIVE_TESTS.md` for full scenario descriptions.\n\n" - "The 15 scenarios in the table below are registered in every language's " - "`test_negative.*` file. Individual languages carry additional " - "language-specific scenarios: C/C++/TS/JS/C# (20 each) add bulk " - "`pkg_id`/`msg_id` corruption, cross-package rejection, network " - "`pkg_id` corruption, and stream-recovery tests; Python (30) adds " - "those plus diagnostic-counter and status-machine tests; Rust (16) " - "adds stream-recovery only." + "The 20 scenarios in the table below are registered in every " + "language's `test_negative.*` file. Individual languages carry " + "additional language-specific scenarios: C/C++/TS/JS/C# (24 each) " + "add bulk `pkg_id`/`msg_id` corruption, cross-package rejection, and " + "network `pkg_id` corruption; Python (34) adds those plus " + "diagnostic-counter and status-machine tests; Rust (20) currently " + "matches the uniform set." ), "tables": [ { @@ -426,11 +426,16 @@ def _full(label, symbol, notes=""): "Invalid message ID rejection", "Invalid start bytes detection", "Minimal profile: Truncated frame", + "Multiple frames: CRC error then valid frame", "Multiple frames: Corrupted middle frame", "Network profile: SysId/CompId corruption", "Partial frame across buffer boundary", + "Split-buffer: CRC error status preserved", + "Stream mode: recovers after garbage prefix", "Streaming: Corrupted CRC detection", "Streaming: Garbage data handling", + "TryNext drain: CRC/resync + valid", + "TryNext partial pending contract", "Truncated frame detection", "Zero-length buffer handling")], }, diff --git a/tests/cpp/test_negative.cpp b/tests/cpp/test_negative.cpp index 3f5f7482..c1b9fa67 100644 --- a/tests/cpp/test_negative.cpp +++ b/tests/cpp/test_negative.cpp @@ -480,6 +480,81 @@ bool test_cross_package_rejection() { return expected_pkg_id != pkg_test_messages::PACKAGE_ID; } +/** + * Test: TryNext drain loop surfaces CRC/resync progress and still delivers + * the following valid frame. + */ +bool test_try_next_drain_contract() { + std::vector buffer(2048); + BufferWriter writer(buffer.data(), buffer.size()); + + auto msg = StandardMessages::get_message(0); + std::visit([&writer](auto&& m) { writer.write(m); }, msg); + size_t first_end = writer.size(); + + auto msg2 = StandardMessages::get_message(1 % StandardMessages::MESSAGE_COUNT); + std::visit([&writer](auto&& m) { writer.write(m); }, msg2); + size_t total = writer.size(); + + buffer[first_end - 1] ^= 0xFF; + buffer[first_end - 2] ^= 0xFF; + + AccumulatingReader reader(get_message_info); + reader.add_data(buffer.data(), total); + + int valid_count = 0; + bool saw_crc_failure = false; + FrameMsgInfo f; + while (reader.try_next(f)) { + if (f.valid) { + valid_count++; + } else if (f.status == FrameMsgStatus::CrcFailure) { + saw_crc_failure = true; + } + } + + if (!saw_crc_failure) return false; + if (valid_count != 1) return false; + if (reader.has_more()) return false; + if (reader.has_partial()) return false; + if (reader.partial_size() != 0) return false; + return true; +} + +/** + * Test: TryNext partial-pending contract. + */ +bool test_try_next_partial_pending_contract() { + std::vector buffer(1024); + BufferWriter writer(buffer.data(), buffer.size()); + + auto msg = StandardMessages::get_message(0); + std::visit([&writer](auto&& m) { writer.write(m); }, msg); + size_t frame_size = writer.size(); + if (frame_size < 10) return false; + size_t mid = frame_size / 2; + + AccumulatingReader reader(get_message_info); + + reader.add_data(buffer.data(), mid); + FrameMsgInfo first; + if (reader.try_next(first)) return false; + if (!reader.has_partial()) return false; + if (reader.partial_size() == 0) return false; + + reader.add_data(buffer.data() + mid, frame_size - mid); + int valid_count = 0; + FrameMsgInfo f; + while (reader.try_next(f)) { + if (f.valid) valid_count++; + } + + if (valid_count != 1) return false; + if (reader.has_partial()) return false; + if (reader.partial_size() != 0) return false; + return !reader.has_more(); +} + /** * Test: Bulk profile rejects corrupted msg_id low byte * ProfileBulk layout: [0x90][0x71][LEN][PKG_ID][MSG_ID][PAYLOAD...][CRC1][CRC2] @@ -724,6 +799,8 @@ int main() { {"Network profile: SysId/CompId corruption", test_network_sysid_compid}, {"Partial frame across buffer boundary", test_partial_frame_boundary}, {"Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status}, + {"TryNext drain: CRC/resync + valid", test_try_next_drain_contract}, + {"TryNext partial pending contract", test_try_next_partial_pending_contract}, {"Stream mode: recovers after garbage prefix", test_stream_recovers_after_garbage}, {"Streaming: Corrupted CRC detection", test_streaming_corrupted_crc}, {"Streaming: Garbage data handling", test_streaming_garbage_data}, diff --git a/tests/csharp/TestNegative.cs b/tests/csharp/TestNegative.cs index 426d971c..ae5af4b6 100644 --- a/tests/csharp/TestNegative.cs +++ b/tests/csharp/TestNegative.cs @@ -767,6 +767,85 @@ private static bool TestSplitBufferCrcErrorStatus() return true; } + /// + /// Test: TryNext drain loop surfaces CRC/resync progress and still delivers + /// the following valid frame. + /// + private static bool TestTryNextDrainContract() + { + byte[] buffer = new byte[4096]; + var writer = new BufferWriter(); + writer.SetBuffer(buffer); + + var msg1 = CreateTestMessage(); + msg1.SmallInt = 1; + writer.Write(msg1); + int firstEnd = writer.Size; + + var msg2 = CreateTestMessage(); + msg2.SmallInt = 2; + writer.Write(msg2); + int totalBytes = writer.Size; + + buffer[firstEnd - 1] ^= 0xFF; + buffer[firstEnd - 2] ^= 0xFF; + + var reader = new AccumulatingReader(4096, SerializationTestMD.GetMessageInfo); + reader.AddData(buffer, 0, totalBytes); + + int validCount = 0; + bool sawCrcFailure = false; + while (reader.TryNext(out var frame)) + { + if (frame.Valid) + validCount++; + else if (frame.Status == FrameMsgStatus.CrcFailure) + sawCrcFailure = true; + } + + if (!sawCrcFailure) return false; + if (validCount != 1) return false; + if (reader.HasMore) return false; + if (reader.HasPartial) return false; + if (reader.PartialSize != 0) return false; + return true; + } + + /// + /// Test: TryNext partial-pending contract. + /// + private static bool TestTryNextPartialPendingContract() + { + var msg = CreateTestMessage(); + byte[] buffer = new byte[1024]; + var writer = new BufferWriter(); + writer.SetBuffer(buffer); + writer.Write(msg); + int frameSize = writer.Size; + + if (frameSize < 10) return false; + int mid = frameSize / 2; + + var reader = new AccumulatingReader(1024, SerializationTestMD.GetMessageInfo); + + reader.AddData(buffer, 0, mid); + if (reader.TryNext(out var _)) return false; + if (!reader.HasPartial) return false; + if (reader.PartialSize <= 0) return false; + + reader.AddData(buffer, mid, frameSize - mid); + int validCount = 0; + while (reader.TryNext(out var frame)) + { + if (frame.Valid) validCount++; + } + + if (validCount != 1) return false; + if (reader.HasPartial) return false; + if (reader.PartialSize != 0) return false; + return !reader.HasMore; + } + public static int Main(string[] args) { Console.WriteLine("\n========================================"); @@ -793,6 +872,8 @@ public static int Main(string[] args) ("Network profile: SysId/CompId corruption", TestNetworkSysIdCompId), ("Partial frame across buffer boundary", TestPartialFrameBoundary), ("Split-buffer: CRC error status preserved", TestSplitBufferCrcErrorStatus), + ("TryNext drain: CRC/resync + valid", TestTryNextDrainContract), + ("TryNext partial pending contract", TestTryNextPartialPendingContract), ("Stream mode: recovers after garbage prefix", TestStreamRecoversAfterGarbage), ("Streaming: Corrupted CRC detection", TestStreamingCorruptedCrc), ("Streaming: Garbage data handling", TestStreamingGarbage), diff --git a/tests/js/test_negative.js b/tests/js/test_negative.js index 0498438b..1564d589 100644 --- a/tests/js/test_negative.js +++ b/tests/js/test_negative.js @@ -60,6 +60,14 @@ function createTestMessage() { return msg; } +function tryNextCompat(reader) { + if (typeof reader.tryNext === 'function') { + return reader.tryNext(); + } + const result = reader.next(); + return (result.valid || (result.frameSize || 0) > 0) ? result : null; +} + /** * Test: Parser rejects frame with corrupted CRC */ @@ -672,6 +680,82 @@ function testSplitBufferCrcErrorStatus() { return true; } +/** + * Test: tryNext drain loop surfaces CRC/resync progress and still delivers + * the following valid frame. + */ +function testTryNextDrainContract() { + const writer = new BufferWriter(ProfileStandardConfig, 4096); + const msg = createTestMessage(); + + msg.smallInt = 1; + writer.write(msg); + const firstEnd = writer.size; + + msg.smallInt = 2; + writer.write(msg); + const total = writer.size; + + const buffer = Buffer.from(writer.data()); + buffer[firstEnd - 1] ^= 0xFF; + buffer[firstEnd - 2] ^= 0xFF; + + const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo, 4096); + reader.addData(buffer.subarray(0, total)); + + let validCount = 0; + let sawCrcFailure = false; + let frame; + while ((frame = tryNextCompat(reader)) !== null) { + if (frame.valid) { + validCount++; + } else if (frame.status === FrameMsgStatus.CrcFailure) { + sawCrcFailure = true; + } + } + + if (!sawCrcFailure) return false; + if (validCount !== 1) return false; + if (reader.hasMore()) return false; + if (reader.hasPartial()) return false; + if (reader.partialSize() !== 0) return false; + return true; +} + +/** + * Test: tryNext partial-pending contract. + */ +function testTryNextPartialPendingContract() { + const writer = new BufferWriter(ProfileStandardConfig, 1024); + const msg = createTestMessage(); + writer.write(msg); + const buffer = writer.data(); + const frameSize = writer.size; + + if (frameSize < 10) return false; + const mid = Math.floor(frameSize / 2); + + const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo, 1024); + reader.addData(buffer.subarray(0, mid)); + + if (tryNextCompat(reader) !== null) return false; + if (!reader.hasPartial()) return false; + if (reader.partialSize() <= 0) return false; + + reader.addData(buffer.subarray(mid, frameSize)); + + let validCount = 0; + let frame; + while ((frame = tryNextCompat(reader)) !== null) { + if (frame.valid) validCount++; + } + + if (validCount !== 1) return false; + if (reader.hasPartial()) return false; + if (reader.partialSize() !== 0) return false; + return !reader.hasMore(); +} + function main() { console.log('\n========================================'); console.log('NEGATIVE TESTS - JavaScript Parser'); @@ -693,6 +777,8 @@ function main() { ['Multiple frames: CRC error then valid frame', testCrcErrorThenValidFrame], ['Multiple frames: Corrupted middle frame', testMultipleCorruptedFrames], ['Split-buffer: CRC error status preserved', testSplitBufferCrcErrorStatus], + ['TryNext drain: CRC/resync + valid', testTryNextDrainContract], + ['TryNext partial pending contract', testTryNextPartialPendingContract], ['Network profile: Corrupted pkg_id', testNetworkCorruptedPkgId], ['Network profile: SysId/CompId corruption', testNetworkSysIdCompId], ['Partial frame across buffer boundary', testPartialFrameBoundary], diff --git a/tests/py/test_negative.py b/tests/py/test_negative.py index afd39be6..522c2a1e 100644 --- a/tests/py/test_negative.py +++ b/tests/py/test_negative.py @@ -39,6 +39,14 @@ tests_passed = 0 tests_failed = 0 + +def _try_next(reader): + """Unified tryNext shim for runtimes that only expose next().""" + if hasattr(reader, 'try_next'): + return reader.try_next() + result = reader.next() + return result if (result.valid or getattr(result, 'frame_size', 0) > 0) else None + def test_corrupted_crc(): """Test: Parser rejects frame with corrupted CRC""" # Create a valid message @@ -980,6 +988,89 @@ def test_split_buffer_crc_error_status(): return True +def test_try_next_drain_contract(): + """try_next drain loop surfaces CRC/resync progress and still delivers + the following valid frame.""" + msg = _make_test_msg() + writer = BufferWriter(PROFILE_STANDARD_CONFIG, capacity=4096) + + msg.small_int = 1 + writer.write(msg) + first_end = writer.size() + + msg.small_int = 2 + writer.write(msg) + total = writer.size() + + buffer = bytearray(writer.data()) + buffer[first_end - 1] ^= 0xFF + buffer[first_end - 2] ^= 0xFF + + reader = AccumulatingReader(PROFILE_STANDARD_CONFIG, get_message_info=get_message_info, buffer_size=4096) + reader.add_data(bytes(buffer[:total])) + + valid_count = 0 + saw_crc_failure = False + while True: + frame = _try_next(reader) + if frame is None: + break + if frame.valid: + valid_count += 1 + elif frame.status == FrameMsgStatus.CRC_FAILURE: + saw_crc_failure = True + + if not saw_crc_failure: + return False + if valid_count != 1: + return False + if reader.has_more(): + return False + if reader.has_partial(): + return False + return reader.partial_size() == 0 + + +def test_try_next_partial_pending_contract(): + """try_next partial-pending contract.""" + msg = _make_test_msg() + writer = BufferWriter(PROFILE_STANDARD_CONFIG, capacity=1024) + writer.write(msg) + buffer = bytes(writer.data()) + frame_size = writer.size() + + if frame_size < 10: + return False + + mid = frame_size // 2 + reader = AccumulatingReader(PROFILE_STANDARD_CONFIG, get_message_info=get_message_info, buffer_size=1024) + + reader.add_data(buffer[:mid]) + if _try_next(reader) is not None: + return False + if not reader.has_partial(): + return False + if reader.partial_size() <= 0: + return False + + reader.add_data(buffer[mid:frame_size]) + valid_count = 0 + while True: + frame = _try_next(reader) + if frame is None: + break + if frame.valid: + valid_count += 1 + + if valid_count != 1: + return False + if reader.has_partial(): + return False + if reader.partial_size() != 0: + return False + return not reader.has_more() + + def main(): print("\n========================================") print("NEGATIVE TESTS - Python Parser") @@ -1010,6 +1101,8 @@ def main(): ("Network profile: SysId/CompId corruption", test_network_sysid_compid), ("Partial frame across buffer boundary", test_partial_frame_boundary), ("Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status), + ("TryNext drain: CRC/resync + valid", test_try_next_drain_contract), + ("TryNext partial pending contract", test_try_next_partial_pending_contract), ("Status: COLLECTING during frame reception", test_status_collecting), ("Status: CRC_FAILURE on bad checksum", test_status_crc_failure), ("Status: SYNC_RECOVERY on forced resync", test_status_sync_recovery), diff --git a/tests/rust/src/test_negative.rs b/tests/rust/src/test_negative.rs index 4dc0e788..3e351309 100644 --- a/tests/rust/src/test_negative.rs +++ b/tests/rust/src/test_negative.rs @@ -558,6 +558,81 @@ fn test_split_buffer_crc_error_status() -> bool { true } +/// Test: try_next drain loop surfaces CRC/resync progress and still delivers +/// the following valid frame. +fn test_try_next_drain_contract() -> bool { + let mut writer = BufferWriter::new(PROFILE_STANDARD_CONFIG, 4096); + let mut msg = create_test_message(); + + msg.small_int = 1; + writer.write_crc(&msg, 0); + let first_end = writer.size(); + + msg.small_int = 2; + writer.write_crc(&msg, 0); + let total = writer.size(); + + let mut data = writer.data().to_vec(); + data[first_end - 1] ^= 0xFF; + data[first_end - 2] ^= 0xFF; + + let mut reader = AccumulatingReader::new(PROFILE_STANDARD_CONFIG, 4096); + reader.add_data(&data[..total]); + + let mut valid_count = 0; + let mut saw_crc_failure = false; + while let Some(f) = reader.try_next(&get_message_info) { + if f.valid { + valid_count += 1; + } else if f.status == FrameMsgStatus::CrcFailure { + saw_crc_failure = true; + } + } + + saw_crc_failure + && valid_count == 1 + && !reader.has_more() + && !reader.has_partial() + && reader.partial_size() == 0 +} + +/// Test: try_next partial-pending contract. +fn test_try_next_partial_pending_contract() -> bool { + let msg = create_test_message(); + let mut writer = BufferWriter::new(PROFILE_STANDARD_CONFIG, 1024); + writer.write_crc(&msg, 0); + let data = writer.data().to_vec(); + let frame_size = writer.size(); + + if frame_size < 10 { + return false; + } + + let mid = frame_size / 2; + let mut reader = AccumulatingReader::new(PROFILE_STANDARD_CONFIG, 1024); + reader.add_data(&data[..mid]); + + if reader.try_next(&get_message_info).is_some() { + return false; + } + if !reader.has_partial() || reader.partial_size() == 0 { + return false; + } + + reader.add_data(&data[mid..frame_size]); + let mut valid_count = 0; + while let Some(f) = reader.try_next(&get_message_info) { + if f.valid { + valid_count += 1; + } + } + + valid_count == 1 + && !reader.has_partial() + && reader.partial_size() == 0 + && !reader.has_more() +} + // ============================================================================ // Test runner // ============================================================================ @@ -591,6 +666,8 @@ fn main() { ("Network profile: SysId/CompId corruption", test_network_sysid_compid), ("Partial frame across buffer boundary", test_partial_frame_boundary), ("Split-buffer: CRC error status preserved", test_split_buffer_crc_error_status), + ("TryNext drain: CRC/resync + valid", test_try_next_drain_contract), + ("TryNext partial pending contract", test_try_next_partial_pending_contract), ("Stream mode: recovers after garbage prefix", test_stream_recovers_after_garbage), ("Streaming: Corrupted CRC detection", test_streaming_corrupted_crc), ("Streaming: Garbage data handling", test_streaming_garbage), diff --git a/tests/ts/test_negative.ts b/tests/ts/test_negative.ts index ba28a745..f8e35286 100644 --- a/tests/ts/test_negative.ts +++ b/tests/ts/test_negative.ts @@ -60,6 +60,14 @@ function createTestMessage(): BasicTypesMessage { return msg; } +function tryNextCompat(reader: any): any | null { + if (typeof reader.tryNext === 'function') { + return reader.tryNext(); + } + const result = reader.next(); + return (result.valid || (result.frameSize ?? 0) > 0) ? result : null; +} + /** * Test: Parser rejects frame with corrupted CRC */ @@ -672,6 +680,82 @@ function testSplitBufferCrcErrorStatus(): boolean { return true; } +/** + * Test: tryNext drain loop surfaces CRC/resync progress and still delivers + * the following valid frame. + */ +function testTryNextDrainContract(): boolean { + const writer = new BufferWriter(ProfileStandardConfig, 4096); + const msg = createTestMessage(); + + msg.smallInt = 1; + writer.write(msg); + const firstEnd = writer.size; + + msg.smallInt = 2; + writer.write(msg); + const total = writer.size; + + const buffer = Buffer.from(writer.data()); + buffer[firstEnd - 1] ^= 0xFF; + buffer[firstEnd - 2] ^= 0xFF; + + const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo, 4096); + reader.addData(buffer.subarray(0, total)); + + let validCount = 0; + let sawCrcFailure = false; + let frame; + while ((frame = tryNextCompat(reader)) !== null) { + if (frame.valid) { + validCount++; + } else if (frame.status === FrameMsgStatus.CrcFailure) { + sawCrcFailure = true; + } + } + + if (!sawCrcFailure) return false; + if (validCount !== 1) return false; + if (reader.hasMore()) return false; + if (reader.hasPartial()) return false; + if (reader.partialSize() !== 0) return false; + return true; +} + +/** + * Test: tryNext partial-pending contract. + */ +function testTryNextPartialPendingContract(): boolean { + const writer = new BufferWriter(ProfileStandardConfig, 1024); + const msg = createTestMessage(); + writer.write(msg); + const buffer = writer.data(); + const frameSize = writer.size; + + if (frameSize < 10) return false; + const mid = Math.floor(frameSize / 2); + + const reader = new AccumulatingReader(ProfileStandardConfig, getMessageInfo, 1024); + reader.addData(buffer.subarray(0, mid)); + + if (tryNextCompat(reader) !== null) return false; + if (!reader.hasPartial()) return false; + if (reader.partialSize() <= 0) return false; + + reader.addData(buffer.subarray(mid, frameSize)); + + let validCount = 0; + let frame; + while ((frame = tryNextCompat(reader)) !== null) { + if (frame.valid) validCount++; + } + + if (validCount !== 1) return false; + if (reader.hasPartial()) return false; + if (reader.partialSize() !== 0) return false; + return !reader.hasMore(); +} + function main(): number { console.log('\n========================================'); console.log('NEGATIVE TESTS - TypeScript Parser'); @@ -693,6 +777,8 @@ function main(): number { ['Multiple frames: CRC error then valid frame', testCrcErrorThenValidFrame], ['Multiple frames: Corrupted middle frame', testMultipleCorruptedFrames], ['Split-buffer: CRC error status preserved', testSplitBufferCrcErrorStatus], + ['TryNext drain: CRC/resync + valid', testTryNextDrainContract], + ['TryNext partial pending contract', testTryNextPartialPendingContract], ['Network profile: Corrupted pkg_id', testNetworkCorruptedPkgId], ['Network profile: SysId/CompId corruption', testNetworkSysIdCompId], ['Partial frame across buffer boundary', testPartialFrameBoundary], From eabbcd2fbd76282df2271ef73e45b9515e2d8f58 Mon Sep 17 00:00:00 2001 From: Rijesh Augustine Date: Fri, 26 Jun 2026 13:52:10 -0600 Subject: [PATCH 7/7] fixing failing test --- tests/cpp/test_negative.cpp | 22 ++++++++++++++++------ tests/rust/src/main.rs | 14 +++++++++----- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/tests/cpp/test_negative.cpp b/tests/cpp/test_negative.cpp index c1b9fa67..cede5b70 100644 --- a/tests/cpp/test_negative.cpp +++ b/tests/cpp/test_negative.cpp @@ -32,7 +32,7 @@ bool test_corrupted_crc() { std::vector buffer(1024); BufferWriter writer(buffer.data(), buffer.size()); - auto msg = StandardMessages::get_message(0); + auto msg = StandardMessages::get_message(5); std::visit([&writer](auto&& m) { writer.write(m); }, msg); size_t frame_size = writer.size(); @@ -349,7 +349,7 @@ bool test_partial_frame_boundary() { std::vector buffer(1024); BufferWriter writer(buffer.data(), buffer.size()); - auto msg = StandardMessages::get_message(0); + auto msg = StandardMessages::get_message(5); std::visit([&writer](auto&& m) { writer.write(m); }, msg); size_t frame_size = writer.size(); @@ -366,10 +366,20 @@ bool test_partial_frame_boundary() { // Feed second half - adds to internal buffer completing the frame reader.add_data(buffer.data() + mid, frame_size - mid); - - // Call next() once all data is present - should successfully decode the frame - auto result = reader.next(); - if (!result.valid) return false; + + // Drain with try_next(): invalid progress events may be surfaced before valid frame. + FrameMsgInfo result{}; + bool found_valid = false; + FrameMsgInfo step{}; + while (reader.try_next(step)) { + if (step.valid) { + result = step; + found_valid = true; + break; + } + } + + if (!found_valid) return false; if (result.msg_id != BasicTypesMessage::MSG_ID) return false; if (result.msg_data == nullptr) return false; diff --git a/tests/rust/src/main.rs b/tests/rust/src/main.rs index aad03ea3..f7bbb860 100644 --- a/tests/rust/src/main.rs +++ b/tests/rust/src/main.rs @@ -947,23 +947,27 @@ fn run_streaming_tests() { expect!(v2, "Two consecutive frames: second frame decodes correctly"); } - // Test 4: Garbage bytes before a valid frame are silently discarded + // Test 4: Garbage bytes before a valid frame may surface invalid progress + // events, but must not produce a valid frame. { let frame = encode_frame(PROFILE_STANDARD_CONFIG, 5555); let mut reader = struct_frame_sdk::new_standard_reader(512); // Push garbage that doesn't contain the start-byte sequence let garbage: &[u8] = &[0x00, 0x11, 0x22, 0x33, 0x44, 0x55]; - let mut garbage_fired = false; + let mut garbage_produced_valid = false; for &byte in garbage { - if reader.push_byte(byte, &struct_frame_sdk::serialization_test::get_message_info).is_some() { - garbage_fired = true; + if reader + .push_byte(byte, &struct_frame_sdk::serialization_test::get_message_info) + .map_or(false, |f| f.valid) + { + garbage_produced_valid = true; } } let mut result: Option = None; for &byte in &frame { result = reader.push_byte(byte, &struct_frame_sdk::serialization_test::get_message_info); } - expect!(!garbage_fired, "Garbage prefix: garbage bytes do not produce a frame"); + expect!(!garbage_produced_valid, "Garbage prefix: garbage bytes do not produce a valid frame"); let valid = result.as_ref().map_or(false, |f| { f.valid && BasicTypesMessage::unpack(&f.msg_data).map_or(false, |m| m.regular_int == 5555) });