Skip to content

Releases: p4lang/p4-constraints

p4-constraints 20260311.0 (Mar 2026)

11 Mar 20:49
bdbcc5f

Choose a tag to compare

What's Changed

  • Cosmetic change by @smolkaj in #62
  • Avoid relying on undefined output in golden test. by @smolkaj in #63
  • [p4-constraints] Add support for priority constraints. by @kheradmandG in #64
  • [p4-constraints] Remove inclusion of ast.proto.h by @kheradmandG in #66
  • Refactor Eval to take optional pointer for caching results by @verios-google in #69
  • Implemented SizeOfAST by @verios-google in #70
  • Implemented ReasonEntryViolatesConstraint by @verios-google in #71
  • Changed build file to have proper golden test targets by @verios-google in #72
  • Implemented QuoteString which mimics QuoteSourceLocation but uses string with offset as source by @verios-google in #73
  • Revert "Implemented QuoteString which mimics QuoteSourceLocation but uses string with offset as source" by @smolkaj in #74
  • Implemented QuoteString which mimics QuoteSourceLocation but uses string with offset as source by @verios-google in #75
  • Update p4-constraints to build on github. by @verios-google in #77
  • Changed e2e test to use ReasonEntryViolatesConstraint instead of EntryMeetsConstraint. Formatted output of valid constraint tests by @verios-google in #76
  • [p4 constraints] Updated ast_constructor/parser :: is properly captured when quoting metadata access by @verios-google in #78
  • [p4-constraints] Improve failure explanation by only referencing relevant keys. by @verios-google in #79
  • Refactored interpreter_test.cc to decouple from parser and lexer by @verios-google in #80
  • Refactor Typechecker to use QuoteSubConstraint instead of QuoteSourceLocation by @verios-google in #81
  • Change Tokenize input to ConstraintSource instead of string and location. by @verios-google in #82
  • [p4_constraints] Refactor parser to use QuoteConstraint instead of QuoteSourceLocation. by @verios-google in #83
  • [p4_constraints] Adding proto equality function by @verios-google in #84
  • [p4_constrsints]Refactor Eval to use QuoteConstraint instead of QuoteSourceLocation. Remove QuoteSourceLocation by @verios-google in #85
  • Fix bazel version to 5.4.0 by @smolkaj in #87
  • [p4-constraint] Don't parse table entry if there is no constraint to check. by @smolkaj in #89
  • [p4-constraints] Upgrade dependencies, fix includes, use C++17. by @smolkaj in #91
  • Remove deprecated Bazel flag --distinct_host_configuration. by @smolkaj in #92
  • Move away from deprecated contructor. by @smolkaj in #93
  • PUBLIC: [P4-Constraints] Add a FindPtrOrStatus function to gutils. by @jonathan-dilorenzo in #94
  • PUBLIC: [P4-Constraints] Add a version of TypeBandwidth that returns a status on error. by @jonathan-dilorenzo in #95
  • Update p4-constraints to RE2 release 2023-06-01. by @smolkaj in #96
  • PUBLIC: [P4-Constraints] Set up well-formedness constraints on match fields for symbolic evaluation in Z3. by @jonathan-dilorenzo in #101
  • PUBLIC: [P4-Constraints] Add library function for turning snake case into camel case. by @jonathan-dilorenzo in #102
  • PUBLIC: [P4-Constraints] Rename Metadata to Attribute. by @jonathan-dilorenzo in #103
  • PUBLIC: [P4-Constraints] Add a function to construct a SymbolicAttribute for priority. by @jonathan-dilorenzo in #104
  • PUBLIC: [P4-Constraints] Add symbolic evaluation for P4-Constraints using Z3. by @jonathan-dilorenzo in #106
  • PUBLIC: [P4-Constraints] Move symbolic interpreter tests to use constraint strings instead of AST protos. by @jonathan-dilorenzo in #107
  • PUBLIC: [P4-Constraint] Correctly handle non-canonical P4RT bytestrings. by @jonathan-dilorenzo in #108
  • PUBLIC: [P4-Constraint] Add a function to concretize symbolic entries. by @jonathan-dilorenzo in #105
  • PUBLIC: [P4-Constraints] Aggregate two symbolic maps into a single struct. by @jonathan-dilorenzo in #109
  • PUBLIC: [P4-Constraints] Add top-level function to populate solver and symbolic variable maps using TableInfo. by @jonathan-dilorenzo in #110
  • Add an API to get TableInfo from ConstraintInfo through a lookup using table_id by @angelazhang8 in #111
  • [p4-constraints] Extend ParseConstraint to handle action_constraint parsing. by @angelazhang8 in #112
  • Refactor ConstraintInfo into a struct containing a map from table_id to table_info and a map from action_id to action_info. by @angelazhang8 in #113
  • Parsing P4Info for Actions and type-checking params. by @angelazhang8 in #114
  • PUBLIC: [p4-constraints] Expose and change the return of ParseP4RTInteger from StatusOr to Integer. by @angelazhang8 in #117
  • PUBLIC: [p4-constraints] Cleanup existing code in p4-constraints constraint_info and interpreter. by @angelazhang8 in #116
  • PUBLIC: [p4-constraints] Add missing case in quote.cc and clean up comments. by @angelazhang8 in #118
  • Update documentation to replace EntryMeetsConstraint to ReasonEntryViolatesConstraint. by @angelazhang8 in #119
  • PUBLIC: [p4-constraints] Remove EntryMeetsConstraint and replace with ReasonEntryViolatesConstraint in tests. by @angelazhang8 in #120
  • Update the documentation for ReasonEntryViolatesConstraints. by @angelazhang8 in #121
  • PUBLIC: [p4-constraints] Add support for action restrictions in the interpreter. by @angelazhang8 in #115
  • PUBLIC: [p4-constraints] Refactor GetMatchFields to GetFields an AddMatchFields to AddFields and extend AddFields to handle action parameters. by @angelazhang8 in #122
  • PUBLIC: [p4-constraints] Add an e2e test for action constraints. by @angelazhang8 in #124
  • Updated CI to use --disk-cache. by @smolkaj in #125
  • PUBLIC:[P4-constraints] Don't use c strings so that trailing zeros are not discarded when parsing an int from a bytestring. by @verios-google in #128
  • [P4 Constraints Network Address Notation] Update Lexer to tokenize strings. Wrote unit test for the Lexer to tokenize IPV4 address by @matthewtlam in #130
  • [P4 Constraints Network Address Notation] Change from double quotes t… by @matthewtlam in #131
  • [P4 Constraints Network Address Notation] Update Parser to handle str… by @matthewtlam in #132
  • [P4 Constraints Network Address Notation] Update parser support mac a… by @matthewtlam in #133
  • [P4 Constraints Network Address Notation] Update parser to support ip… by @matthewtlam in #134
  • [P4 Constraints Network Address Notation] E2E Testing for the network… by @matthewtlam in #135
  • PUBLIC: [P4 Constraints Network Address Notation] Update the language specs with network address notation. by @matthewtlam in #136
  • Remove uses of DebugString due to deprecation. by @jonathan-dilorenzo in #138
  • Make the constraint_kind header publicly accessible in the Bazel rules. by @fruffy-g in #139
  • PUBLIC:[p4_constraint] Refactor Constraint solver into a class by @verios-google in #142
  • [p4-constraints] Allow C++ compliant multi-line strings. by @jonathan-dilorenzo in #143
  • Lowercase "BUILD" in example codeblock. by @gravypod in #61
  • Update Readme by @smolkaj in #144
  • Add section on well-formedness constraints and their connection to P4Runtime to the language spec...
Read more

Release of v1.0.0

26 Mar 00:24
3c02ca5

Choose a tag to compare

Use abseil-version of RE2. (#60)

PiperOrigin-RevId: 361105743

Co-authored-by: PINS Team <copybara-servicebot@google.com>