Skip to content

Releases: p4lang/p4c

v1.2.5.10

05 Dec 18:46
8c4420e

Choose a tag to compare

What's Changed

Changes to the Compiler Core

  • Fixes for P4-14 Tofino compilation. by @fruffy in #5414
  • fix return types of fromJSON to match NodeFactoryFn by @ChrisDodd in #5420
  • Add validation to make sure source info generated from the parser is actually valid by @fruffy in #5417

Changes to the TC Back End

Changes to the Tofino Back End

  • Silence 'unused' warnings for stuff in tofino headers by @ChrisDodd in #5427

Other Changes

  • Bump actions/checkout from 5 to 6 by @dependabot[bot] in #5426
  • Automated Release v1.2.5.10 by @github-actions[bot] in #5429

Full Changelog: v1.2.5.9...v1.2.5.10

v1.2.5.9

06 Nov 19:20
93294e3

Choose a tag to compare

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 ErrorCatalog by @kfcripps in #5360

Changes to the Compiler Core

Changes to the Control Plane

  • Make building the control-plane (and protobuf) optional. by @fruffy in #5368

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

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

New Contributors

Full Changelog: v1.2.5.8...v1.2.5.9

v1.2.5.8

05 Jul 21:47
11b0505

Choose a tag to compare

What's Changed

Breaking Changes 🛠

  • Add DeclarationLookup* parameter to LocalCopyPropagation policy declaration. Use DoLocalCopyPropagation instead of refMap in LocalCopyPropagation policy. by @kfcripps in #5307
  • Global rename Type_Stack -> Type_Array by @ChrisDodd in #5337

Changes to the Compiler Core

Changes to the P4Tools Back End

  • [P4Testgen] Add global table hit variable to testgen table stepper by @dparker01 in #5324

Changes to the Tofino Back End

  • [Tofino] Ensure get_schema_version can run without jsl. by @fruffy in #5219

Other Changes

  • Upgrade clang-format to v18.1.8 by @kfcripps in #5325
  • Automated Release v1.2.5.8 by @github-actions in #5339

New Contributors

Full Changelog: v1.2.5.7...v1.2.5.8

v1.2.5.7

04 Jun 15:42
c9c4c72

Choose a tag to compare

What's Changed

P4 Specification Implementation

Changes to the Compiler Core

Changes to the eBPF Back Ends

  • Add bpftool to eBPF back end instead libbpf. Rework ebpf kernel header and Python loaders for Ubuntu 24.04 support by @fruffy in #5183
  • Add sys/types.h include to ebpf_kernel and disable failng PSA-eBPF test. by @fruffy in #5275

Changes to the TC Back End

  • Use uv to manage Python dependencies, add Ubuntu 24.04 CI test. by @fruffy in #5047

Changes to the P4Tools Back End

  • [P4Testgen] Print and error instead of throwing a BUG when the architecture package does not match. by @fruffy in #5277
  • [Testgen] Always terminate testgen midend passes with MidEndLast by @kfcripps in #5306

Other Changes

  • Only push docker image when the branch is main. Not on the merge queue. by @fruffy in #5274
  • Update some specific Github actions to Ubuntu 24.04 by @fruffy in #5290
  • Automated Release v1.2.5.7 by @github-actions in #5308

New Contributors

Full Changelog: v1.2.5.6...v1.2.5.7

v1.2.5.6

06 May 21:17
f028707

Choose a tag to compare

What's Changed

Breaking Changes 🛠

  • Try to make exename portable. Refactor searchForIncludePath. by @fruffy in #5185

Changes to the Compiler Core

  • [#5211] Run UniqueNames before SimplifyParsers pass by @kfcripps in #5216
  • [Core] Fix namespace mismatch in irutils.h by @fruffy in #5220
  • Fixed P4C driver utility find_bin to return on first match by @psivanup in #5226
  • improve SideEffects and StrengthReduction by @ChrisDodd in #5229
  • Avoid crashing compiler after a self-nested type specialization error by @vlstill in #5236
  • Fix compile-time concatenation with negative right operand by @vlstill in #5233
  • Fix ERR/WARN_UNREACHABLE error classification by @ChrisDodd in #5244

Changes to the BMv2 Back Ends

  • [bmv2] path fixes for finding BMv2 by @grg in #5228

Changes to the eBPF Back Ends

Changes to the P4Tools Back End

  • Remove confidential & proprietary notices from Tofino testgen test programs by @jafingerhut in #5189

Changes to the Tofino Back End

  • [Tofino] Try to fix the dependency of mksizes in bf-asm CMake. by @fruffy in #5221
  • Fix missing include in alloc.h causing compilation failure by @nuqleo in #5245

Other Changes

  • Replace proprietary notice and CC license on two test files with Apache-2.0 by @jafingerhut in #5191
  • [infra] Adding Smart caching to bazel builds by @Vineet1101 in #5238
  • Make sure Github action workflows are correctly canceled. by @fruffy in #5232
  • Deprecate Ubuntu 18.04 CI checks. by @fruffy in #5242
  • Fix failing Fedora tests. by @fruffy in #5241
  • Update cpplint to fix deprecation problems with recent Ubuntu versions. by @fruffy in #5230
  • Automated Release v1.2.5.6 by @github-actions in #5247

New Contributors

Full Changelog: v1.2.5.5...v1.2.5.6

v1.2.5.5

02 Apr 18:08
bb34ae4

Choose a tag to compare

What's Changed

P4 Specification Implementation

Changes to the Compiler Core

  • Mark inline locations with annotation. by @asl in #5150
  • Fix wrong references to return value when function is inlined multiple times into the same scope by @asl in #5163
  • Add statement splitter utility by @vlstill in #5158
  • Updated the no start state error message to include only parser name by @psivanup in #5164
  • Pass to get rid of action_run() calls by @ChrisDodd in #5053
  • fix warnings from -Wswitch-enum by @ChrisDodd in #5170
  • frontend: Fix SpecializeGenericTypes by @vlstill in #5133
  • make DumpPipe from Tofino available to all by @grg in #5184

Changes to the BMv2 Back Ends

  • BMv2: DirectCounter and InternetChecksum fixes by @grg in #5194
  • BMv2: ActionSelector fix + enable backends by @grg in #5195
  • [BMv2] PNA: hash default + enum fix by @grg in #5196
  • [bmv2]: allow BoolLiteral in ternary table entry by @grg in #5199
  • [bmv2]: output the scalar metadata fields by @grg in #5200
  • [bmv2]: support Random extern for psa/pna by @grg in #5213

Changes to the TC Back End

Changes to the Tofino Back End

  • Do not return nullpointer in the evaluator pass when there is nothing to do. by @fruffy in #5178
  • Add the Barefoot Tofino Assembler to the Tofino back end. by @fruffy in #5121
  • Fix tofino license regeneration by @Vineet1101 in #5161
  • Correctly attach the dontmerge annotation in the desugar_varbit_extract pass. by @fruffy in #5193
  • [Tofino] Replace bf-asm BUG macros with top-level BUG macros. Remove GNU extensions flags. by @fruffy in #5188

Other Changes

  • [#4365] [#4907] Add test cases related to issue #4365 by @kfcripps in #5175
  • Add Auto-Labeling for Issues using GitHub Actions by @Vineet1101 in #5136
  • Update validate-p4c CI test to use Ubuntu 22.04 by @jafingerhut in #5160
  • Fix missing space when emitting error enum with toP4. by @fruffy in #5179
  • Do not throw a Python exception when the binary to execute is not found. by @fruffy in #5180
  • Add SPDX-License-Identifier: GPL-2.0-only to Python source files using scapy by @jafingerhut in #5111
  • [infra] Change permissions of label update workflow. by @fruffy in #5197
  • [psa]: minor spacing adjustments in dpdk/psa.p4 by @grg in #5202
  • [infra] Fixing auto-label workflow by @Vineet1101 in #5198
  • Update ptf-ebpf CI test to Ubuntu 22.04 by @jafingerhut in #5159
  • Automated Release v1.2.5.5 by @github-actions in #5210

New Contributors

Full Changelog: v1.2.5.4...v1.2.5.5

v1.2.5.4

02 Mar 16:46
3551e70

Choose a tag to compare

What's Changed

Breaking Changes 🛠

  • Remove old vector workarounds, slightly modernize by @vlstill in #5140

Changes to the Compiler Core

Changes to the TC Back End

  • [P4TC] Align key components to the nearest 8-bit size by @komaljai in #5024

Changes to the P4Tools Back End

  • [P4Testgen] Add the Tofino testgen target. by @fruffy in #5038

Other Changes

  • Docs: Changelogs for v1.2.5.3 by @AdarshRawat1 in #5119
  • Use the Github repository directly instead of the pypi package for Python dependencies owned by P4 org. by @fruffy in #5126
  • Remove some unnecessary imports of Scapy module by @jafingerhut in #5128
  • Replace scapy pcap read write with apache 2.0 implementation in ptf by @jafingerhut in #5132
  • Use prebuilt buildifier binary: it's faster and less brittle. by @smolkaj in #5143
  • Bazel build: use Clang and bump rules_foreign and protobuf versions. by @smolkaj in #5148
  • Automated Release v1.2.5.4 by @github-actions in #5154

Full Changelog: v1.2.5.3...v1.2.5.4

v1.2.5.3

01 Feb 20:04
01c3e34

Choose a tag to compare

What's Changed

Changes to the Compiler Core

  • Switch to abseil symbolization / stack tracing routines by @asl in #5077
  • lib: Add P4::warningCount() and P4::infoCount() by @vlstill in #5098
  • Move all config handling into a single place – a config.h file, do not clutter the command line with these additional project-wide defines. by @asl in #5102
  • Combo of duplication action name check and LocalizeAllActions fix by @jafingerhut in #4975
  • Fix EnumeratorHandle compilation by @qobilidop in #5109

Changes to the TC Back End

Changes to the Tofino Back End

  • Fix class reference in Tofino 2 driver. by @fruffy in #5103

Other Changes

Full Changelog: v1.2.5.2...v1.2.5.3

v1.2.5.2

06 Jan 11:24
e814a33

Choose a tag to compare

What's Changed

Changes to the Compiler Core

  • Fix FlattenLogMsg not properly working on nested structures by @jhavrane in #5036
  • Add checks to annotation getters. by @fruffy in #5052
  • Mark RTTI methods as const / pure, so compiler could optimize subsequent calls, if necessary. by @asl in #5049
  • Ignore typeless structs in unstructured annotations by @ChrisDodd in #5058
  • Teach functions inliner to inline into if condition by @asl in #5073

Changes to the TC Back End

Changes to the DPDK Back End

Changes to the Tofino Back End

  • Fix incorrect annotation parsing in Tofino. by @fruffy in #5051
  • Remove unnecessary file lists from Tofino CMake. by @fruffy in #5039
  • Add a flag to enable bf-asm for open-p4studio by @pkotikal in #5056
  • Clean up Tofino dynamic hash library. by @fruffy in #5059
  • Fix missing indentation of bfasm-related commands. by @fruffy in #5069
  • Remove dynhash library variable from Tofino library dependencies. by @fruffy in #5072
  • Add a bf-asm command line option in addition to environment variables. by @fruffy in #5070

Other Changes

Full Changelog: v1.2.5.1...v1.2.5.2

v1.2.5.1

03 Dec 22:03
9da2d42

Choose a tag to compare

What's Changed

Breaking Changes 🛠

  • Use type-safe discriminated union for Annotation by @asl in #5018

Changes to the Compiler Core

  • Remove some trivial leaks in codebase by @asl in #5012
  • Fix modifyAllMatching visitor helper by @vlstill in #5020
  • Inline some IR methods and constructors by @asl in #5030
  • Looks like PIE workaround is not needed anymore. Remove it by @asl in #5044
  • Add typed version of isInContext() and make use of it instead of findContext() by @asl in #5048

Changes to the TC Back End

  • Generate JSON actions and keys fields array even when they are empty by @vbnogueira in #5022

Changes to the Tofino Back End

Other Changes

  • Add Tofino to release.yml by @fruffy in #5017
  • Fix Mac dependency installation. by @fruffy in #5028
  • Automated Release v1.2.5.1 by @github-actions in #5040

Full Changelog: v1.2.5.0...v1.2.5.1