Skip to content

Releases: byllyfish/finsy

Release 0.27.0

07 Nov 19:51
867c0ba
Compare
Choose a tag to compare
  • Update P4Runtime protobufs to the 1.4.1 release.
  • Update dependencies to grpcio 1.67.1 and protobuf 5.28.3.
  • Include CI testing support for Python 3.13.
  • In test code, update pytest-asyncio to the latest version.

Release 0.26.0

23 May 02:50
ead0c80
Compare
Choose a tag to compare
  • Replace the manager property in the Switch class with stash and constrain the type to dict[str, Any].
  • Add the stash keyword argument to the Switch.__init__ method.
  • Remove the configuration property from the SwitchOptions class. (Use the Switch stash property instead.)
  • The control_task property of the Switch class is now private (_control_task).
  • Add the pkg_info accessor to P4Schema.
  • The Switch, SwitchOptions and Controller classes are now @final; they are not intended to be subclassed.
  • Update the protoc compiler to 1.65.0 and re-compile all protobuf files.
  • Update protobuf files from upstream; the v1.p4info.proto file now includes the PlatformProperties field in PkgInfo.

Release 0.25.0

22 Apr 23:21
da4c886
Compare
Choose a tag to compare
  • The match_dict, match_str and action_str formatting methods now require a P4Schema argument. Removed P4Schema's context manager API. (#499)
  • Add support for serializable enums in P4Schema.
  • Add port of flowcache example that uses serializable enums.
  • Add port of basic forwarding example from the P4lang tutorial.
  • Re-compile example P4 programs with the latest P4c compiler. Replace file extension p4info.txt with p4info.txtpb (#501).
  • Make shellous an optional dependency that can be installed as an extra: pip install finsy[demonet] (#502).
  • Fix issue in CI testing which led to an ERROR log message when shutting down GNMIServer testing. (#505)
  • When using black in CI testing, call it as a library function, not a subprocess. This fixes an occasional thread-related hang on MacOS in CI testing.
  • Incorporate the latest changes to gnmi.proto and gnmi_ext.proto. Upgrade protobuf compiler toolchain and re-compile all protobuf files. Bring "relative path" patch-file up to date.
  • Update the demonet docker image: include gpg (for codecov), update ubuntu base tag, and update the mn-stratum base hash. Use latest demonet 24.04 build for CI testing.
  • Add the --with-mac argument to the Demonet class to include the MAC address of hosts when drawing the network map.
  • Update doc comments for the Switch, SwitchOptions and Controller classes.
  • Improve reliability of CI testing and fix minor typing issues.
  • Update dependencies.

Release 0.24.0

01 Feb 03:05
8b57a84
Compare
Choose a tag to compare
  • Update protobuf dependency and development dependencies.
  • Update the demonet image tag used for testing to 24.01.
  • Update black formatter to 24.1.1 and re-format source code.

Release 0.23.0

05 Jan 03:26
7c6c350
Compare
Choose a tag to compare
  • The Demonet class will only run Mininet locally if it detects the script is running inside the special DEMONET docker image.
  • Add CI support for Windows.
  • Update development dependencies.
  • Update publish.yml CI action to use trusted publishing.

Release 0.22.0

27 Nov 03:18
7f0dc7c
Compare
Choose a tag to compare
  • Update project dependencies.
  • Fix some typing warnings from pyright.

Release 0.21.0

27 Oct 01:29
5f63b44
Compare
Choose a tag to compare
  • Update P4Runtime protobuf files.
  • Add the metadata property to P4MulticastGroupEntry.
  • Update project dependencies. Add support for Python 3.12.
  • Apply security best practices to CI builds.

Release 0.20.0

29 Sep 22:30
c5333ea
Compare
Choose a tag to compare
  • Add support for P4ExternEntry.
  • Add Match, Action and IndirectAction as aliases for P4TableMatch, P4TableAction, and P4IndirectAction.
  • The Controller.remove method now returns an asyncio.Event to signal when a Switch is fully removed.
  • Rename the internal pbuf.py module to pbutil.py.
  • Add a CI step to run tests under valgrind/extra-logging to stress test C-based grpc underpinnings.
  • Update project dependencies.

Release 0.19.0

05 Sep 01:18
89a14f5
Compare
Choose a tag to compare
  • Update P4Runtime/P4Info protobuf files; add support for has_initial_entries and is_const.
  • Add support for grpc call credentials.
  • Add support for deprecated controller_metadata (#192).
  • Fix missing imports for P4MeterEntry, P4DirectMeterEntry and P4ValueSetEntry.
  • Entity classes now use slots.
  • Add support for testing GRPC channels that use TLS in demonet.
  • Use included MACAddress class.
  • Remove dependency on pylev.
  • Update project dependencies.

Release 0.18.0

14 Aug 20:18
3723df8
Compare
Choose a tag to compare
  • Make all protobuf module imports relative.
  • Enable CI testing of example programs; re-compile all P4 sources.
  • Improve test coverage and fix lint issues.