What's Changed
Breaking Changes 🛠
- Switch compilation from C++17 to C++20. by @fruffy in #4347
- [#5350] Replace underscores with hyphens for diagnostic types in the
ErrorCatalogby @kfcripps in #5360
Changes to the Compiler Core
- Loop unrolling fix by @ChrisDodd in #5344
- Fix type unification bug with `int' args by @ChrisDodd in #5346
- Moved warnings about unused instances before the first constant folding by @dmatousek in #5342
- Fix unification of serializable enums by @ChrisDodd in #5348
- Print warnings in a deterministic order by @kfcripps in #5352
- ensure child of IR::SwitchCase remains a BlockStatement by @ChrisDodd in #5349
- Extended Type_InfInt handling in ExpressionEvaluator by @MichalKekely in #5355
- Fixed SIGSEGV crash in struct assign by @MichalKekely in #5356
- Extension to strength reduction for issue 5280 by @ChrisDodd in #5281
- Remove GetV1ModelVersion from front end by @fruffy in #5390
- Support for arrays of extern instances by @ChrisDodd in #5338
- Extend CopyStructures to optionally copy tuples by @ChrisDodd in #5364
- Fix simplifySwitch handling of enums by @ChrisDodd in #5365
- Fix EliminateTuples bug with nested struct/tuples by @ChrisDodd in #5362
- Avoid 'fatal error : Broken pipe' from preprocessor by @ChrisDodd in #5400
- JSON error checking when loading by @ChrisDodd in #5401
- Fix/reorganize to/fromJSON code by @ChrisDodd in #5403
Changes to the Control Plane
Changes to the eBPF Back Ends
- Add support for operations on value with sizes > 64-bit by @vbnogueira in #5345
Changes to the TC Back End
- Make struct used by digest in p4tc packed by @vbnogueira in #5329
- Add Checksum extern support to the TC backend by @vbnogueira in #5357
- Add Random extern support to the TC backend by @vbnogueira in #5354
- Add redirect_l2 test case by @vbnogueira in #5406
- Add p4tc routing testcases by @vbnogueira in #5409
Changes to the P4Tools Back End
- Remove unnecessary table stepper object from pna exr_stepper by @dparker01 in #5366
Changes to the Tofino Back End
- Fix gtestasm (tests now throw CompilerBug rather than aborting) by @ChrisDodd in #5393
Other Changes
- Add back test case for #5333 by @kfcripps in #5351
- Print message when P4TEST_IGNORE_STDERR is used by @chreekat in #5358
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #5363
- Bump actions/github-script from 7 to 8 by @dependabot[bot] in #5374
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #5373
- [docs] Added test guide by @Vineet1101 in #5215
- Add 248 negative tests to
p4_16_errorsby @KunJeong in #5369 - Small build cleanups by @chreekat in #5388
- Disable ptf-ebpf-kernels-weekly workflow by @chreekat in #5391
- Bump peter-evans/find-comment from 3 to 4 by @dependabot[bot] in #5396
- Bump peter-evans/create-or-update-comment from 4 to 5 by @dependabot[bot] in #5395
- Prevent unintended backtick parsing by @chreekat in #5397
- Increase minimum required BISON version to 3.1 by @kfcripps in #5398
- Bump grpcio for Mac by @chreekat in #5404
- Automated Release v1.2.5.9 by @github-actions[bot] in #5413
New Contributors
Full Changelog: v1.2.5.8...v1.2.5.9