Skip to content

Releases: canonical/netplan

0.104

17 Feb 08:46
3e522b7
Compare
Choose a tag to compare

Releasing v0.104:

  • Enable embedded-switch-mode setting on SmartNICs (#253)
  • Permit multiple patterns for the driver globs in match (#202), LP#1918421
  • Improve routing capabilities (#248), LP#1892272, LP#1805038
  • Support additional link offload options for networkd (#225) (#242), LP#1771740
    • receive-checksum-offload, transmit-checksum-offload, tcp-segmentation-offload,
      tcp6-segmentation-offload, generic-segmentation-offload, generic-receive-offload,
      large-receive-offload
  • Consolidate enum-to-string arrays (#230)
  • Handle differing ip6-privacy default value for NetworkManager (#263)
  • YAML state tracking (--state rootdir) for DBus API and netplan try (#231), LP#1943120
  • Support ConfigureWithoutCarrier (ignore-carrier) for networkd (#215)
  • Move primary git branch master to main
  • Documentation improvements (#226)
  • Compatibility for glib-2.70 (#235)
  • Cleanup Makefile, install only public headers
  • Improve test reliability & enable integration testing CI for autopkgtests
  • Netplan get to use the libnetplan parser (#252)
  • libnetplan:
    • introduce the notion of NetplanState (#232)
    • use an explicit parser context (#233)
    • expose coherent generator APIs (#239)
    • improve overall error handling (#234)
    • consolidation of YAML parsing into the library (#241, #249, #250, #251)
  • Restrict the symbol export to a determined public API (#227)
    • WARNING: We dropped some internal symbols from the API that we know
      have no external consumers (that we are aware of)
    • 0.103: _serialize_yaml, contains_netdef_type, tmp, validate_default_route_consistency
    • 0.102: cur_filename, netplan_netdef_new
    • 0.100: address_option_handlers, is_hostname, validate_ovs_target, wireguard_peer_handlers
    • 0.99: current_file, is_ip4_address, is_ip6_address, missing_id,
      missing_ids_found, parser_error, validate_backend_rules, validate_netdef_grammar,
      yaml_error

Bug fixes:

  • Fix removal of defunct OVS vlan interfaces (#256), LP#1959147
  • Make ConfigManager cleanup on destruction (#259), LP#1959729
  • Do not write unvalidated YAML from keyfile (#247), LP#1952967
  • Disable temporary address generation for real with NetworkManager (#244), LP#1948027
    • this is a slight change in behavior for NM, but is in line with the docs
      and implementation of the networkd backend renderer
  • Ignore empty YAML hints and delete files on set network=null (#246), LP#1946957
  • Wait for 'netplan try' to be ready in DBus API (#245), LP#1949893
  • Initialize self.state in apply (#243), LP#1949104
  • Driver fallback to nl80211 and/or wext for wpa_supplicant (#240), LP#1814012
  • Handle missing gateway in keyfile routes, keep dns-search fallback (#238)
  • Make it possible to unset a whole devtype subtree (#236), LP#1942930
  • Fix normalization of multiple keys on a single dict in tests (#229)
  • Add default-routes feature flag
  • Fix memory leaks, dangling pointers & overall cleanup of API data (#228)
  • Small whitespace and formatting fixes & shipping EditorConfig (#224)

We would like to thank everybody who contributed to this release! 🍾
In alphabetical order: @Caligatio @kees @kjetilho @mwhudson @nicolasbock @n-cc @peleroux @schopin-pro @slyon @waveform80

Brian Turek (2):
      Have ConfigManager cleanup its temporary directory on destruction (LP #1959729) (#259)
      Fix removal of defunct vlan interfaces (LP #1959147) (#256)

Dave Jones (1):
      Permit multiple patterns for the driver globs in match (LP: #1918421) (#202)

Kees Cook (1):
      networkd:wpa_supplicant: driver fallback to nl80211 and/or wext (LP: #1814012) (#240)

Kjetil Torgrim Homme (1):
      clarify requirements for a link local route (#226)

Lukas Märdian (34):
      parse-nm: fix 32bit format string
      parse: cleaup whitespace
      GH actions: migrate master -> main
      parse: add 'default-routes' feature-flag
      Implement YAML state tracking and use it in the DBus API and netplan-try (LP: #1943120) (FR-1745) (#231)
      parse-nm: Handle missing gateway in keyfile routes, keep dns-search fallback (#238)
      cli:apply: initialize self.state (LP: #1949104) (#243)
      Makefile: 'which' is deprecated
      tests:regressions: make netplan_try autopkgtest more reliable
      generate:dbus:util: glib 2.70 compat (#235)
      doc: fix WireGuard writing
      Makefile: fix warning about pandoc title
      test:bridge:base: give bridge some more time to reach 'state UP'
      dbus: wait for 'netplan try' to be ready (LP: #1949893) (#245)
      get/set: ignore empty YAML hints and delete files on "set network=null" (LP: #1946957) (#246)
      Add basic integration test (autopkgtest) GA workflow
      keyfile: do not try to write out unvalidated YAML (LP: #1952967) (#247)
      Improve routing capabilities (LP: #1892272) (LP: #1805038) (#248)
      util: fix dump_yaml_subtree to not insert NULL at the actual end (#258)
      test:sriov: virtfns should be starting at index 0
      test:sriov: update _prepare_sysfs_dir_structure() to make it create PF/VF mocks dynamically
      doc: add sriov eswitch mode field descriptions
      parse:netplan: handle 'embedded-switch-mode' & 'delay-virtual-functions-rebind'
      cli:sriov: Allow setting of eswitch mode on SmartNICs
      test:sriov: fix tests when using libnetplan parser
      test:sriov: add get_pci_slot_name & PCIDevice unit tests
      test:sriov: add eswitch_mode test
      cli: add sriov rebind method
      sriov: generate rebind systemd service if needed
      tests:integration:ethernets: improve eth_dhcp6_off stability
      Drop unused legacy/compat API (#262)
      doc: avoid super long line in netplan-dbus.md
      Makefile: install public headers only
      nm:parse-nm: handle differing ip6-privacy default value (#263)

Michael Hudson-Doyle (1):
      Fix ethernets test with network-manage 1.32.10

Nicolas Bock (3):
      Add `.editorconfig` for convenience (#224)
      Add support for additional `Link` options (#225) (LP: #1771740)
      Reset offload options (#242)

Simon Chopin (18):
      NetDefinition: ownership and cleanup (FR-786) (#228)
      tests: normalize multiple keys on a single dict (#229)
      lib: unify how constant names are exposed and used (#230)
      API/ABI: restrict the symbol export to a determined public API (#227)
      netplan: set: make it possible to unset a whole devtype subtree (LP: #1942930) (FR-1685) (#236)
      lib: introduce the notion of NetplanState (#232)
      parser: fix some error handling code (#234)
      libnetplan: expose coherent generator APIs (#239)
      lib: use an explicit parser context (#233)
      Consolidate the YAML parsing into libnetplan: low-hanging fruits (FR-702) (#241)
      YAML consolidation prelude: OVS handling (FR-702) (#249)
      YAML consolidation prelude: High-level libnetplan bindings (FR-702) (#250)
      YAML consolidation prelude: new YAML dump APIs (FR-702) (#251)
      lib:parser: use a more flexible structure for the mapping handlers
      lib:parser: track which fields are dirty
      lib:netplan: output all the dirty fields in the YAML dump
      netplan:cli:get: remove the PyYAML dependency
      parse: fix the handle_match_driver type

ncc (1):
      Add support for networkd ConfigureWithoutCarrier (ignore-carrier) option on interfaces (#215)

peleroux (1):
      Disable temporary address generation when renderer is NetworkManager (LP: #1948027) – change in behavior (#244)

0.103

04 Aug 10:32
51c872d
Compare
Choose a tag to compare

Releasing v0.103:

  • Add YAML generator and Keyfile parser for NetworkManager YAML backend, #211 & #212
  • Add activation-mode parameter (needs systemd v248+), LP: #1664844
  • Make use of systemd-networkd's reload/reconfigure commands (needs systemd v244+) in netplan apply, #200
  • Deprecate gateway4 & gateway6 in favor of defaults routes, LP: #1756590
  • Add io.netplan.Netplan.Generate() DBus method, #208
  • Changed the way of how unmanaged-devices are handled by NetworkManager, #201
  • Improve integration test suite (much faster & can be executed inside containers), LP: #1922126

Bug fixes:

  • Fix ABI regression introduced in 0.102, LP: #1922898
  • Fix netplan set if used across partitions, LP: #1930675
  • Fix handling of multiple gateway4/gateway6 fields, LP: #1901836
  • Fix parsing of ovs values with colons, LP: #1913906
  • Fix failure with set-name and bridges, #221

We would like to thank everybody who contributed to this release! 🍾
in no particular order: @kraj @schopin-pro @mkj @pdmack @slyon @sil2100

Khem Raj (1):
      Handle enum element override (#213)

Lukas Märdian (14):
      tests:bonds: fix flaky resend_igmp test
      cli:apply: reload/reconfigure networkd instead of restart (#200)
      tests:tunnels: improve flaky wireguard test with wait_output()
      cli:set: Fix netplan-set on Core20 (#207)
      dbus:cli: implement io.netplan.Netplan.Generate() (#208)
      cli: SNAP special handling: improve test coverage and error handling (#209)
      Fix ABI regression LP: #1922898 FR-1273 (#206)
      Improve subprocess calls to binaries in /sbin + udevadm (#205)
      Fix NM unmanaged-devices (changes behavior) (#201)
      Implement YAML generator (FR-1046) (#211)
      Improve integration tests interface-ready waiting logic (LP: #1922126) (#204)
      Implement basic Keyfile parser (FR-1046) (#212)
      README: add design document reference, update IRC server
      parse: fix whitespace

Matt Johnston (1):
      cli: Fix failure with "set-name" and "bridges" (#221)

Pete MacKinnon (1):
      Fix parsing of OVS values with colons (LP: #1913906) (#203)

Simon Chopin (5):
      parse: new macro set_str_if_null to avoid duplicating existing fields (#218)
      parser: warn user on multiple global gateway (LP: #1901836) (FR-728) (#217)
      parse: handle_routes: clean up the route on error (#219)
      parse: routes: avoid creating dangling pointers on error (#220)
      Gateway fields deprecation and default routing support (FR-728) (LP: #1756590) (#216)

Łukasz Zemczak (2):
      Add support for the activation-mode parameter (LP: #1664844) (#171)
      Implicitly consider devices with activation-mode set as optional (#214)

0.102

16 Mar 16:53
Compare
Choose a tag to compare

Releasing 0.102

  • New API for NetworkManager YAML backend
  • Added congestion-window & advertised-receive-window options for routes
  • Added ttl option for tunnels (LP: #1846783)
  • Improved netplan set CLI to override existing files
  • Moved upstream repository to https://github.com/canonical/netplan/
  • Documentation improvements
  • Improved Github Actions CI and CodeQL integration
  • Minor cleanup/typos/test improvements

Bug fixes:

  • systemd v247 compatibility (for changing MAC address)
  • OVS 2.15 compatibility (wording changes)
  • Allow networkmanager: backend options for modem devices
  • Prevent duplicate ARPIPTargets in NetDev files (LP: #1915837)

We would like to thank everybody who contributed to this release! 🚀
in no particular order: @kraj @nobuto-m @lmlsna @mbiebl @n3wtype @kev1989 @kivancsunkar @sil2100 @slyon

Khem Raj (1):
      Cleanup unused code, as noted by clang

Kıvanç Sunkar (1):
      Prevent duplicate ARPIPTargets in NetDev files (LP: #1915837) (#199)

Lucas Mlsna (1):
      Clarified `dhcp-identifier` option (#186)

Lukas Märdian (23):
      parse:doc:test: fix typos (thanks lintian)
      Fix changing of macaddress with systemd v247 (#178)
      parse: fix 'networkmanager:' backend options for modem connections (#179)
      tests: adopt to wording changes as of OVS 2.15
      tests:tunnels: improve test reliability
      tests:dbus: improve test stability of timeouts
      github: run action on any pull request
      tests:integration: adopt for racy systemd MAC assignment
      cli:apply: Add comment about snapd/DBus compatibility
      cli:utils: handle emtpy netifaces.ifaddresess call (#188)
      Update Github URL (#192)
      Added TTL option for tunnels (LP: #1846783) (#194)
      Enable CodeQL code scanning (#195)
      Improve integration tests (#196)
      tests:integration: cleanup OVS/WPA files (#198)
      test:tunnels: improve stability of wireguard test
      libnetplan: provide API for NetworkManager YAML backend (#193)
      cli:set: write to existing YAML file, if available (#197)
      test:utils: cleanup formatting
      tests:base: improve management interface handling
      tests:base: improve reliabilty by using higher timeout
      tests:base: improve daemon-reload check
      tests:base: avoid long waits

Michael Biebl (1):
      Stop using deprecated systemd-resolve tool

Nobuto Murata (1):
      doc: Add a caveat to wake on LAN which is systemd.link related (LP: #1909114) (#180)

n3wtype (1):
      Added per route congestion-window/advertised-receive-window options (#177)

0.101

09 Dec 10:17
e445b87
Compare
Choose a tag to compare

Releasing 0.101

  • Documentation improvements
  • Improved integration tests
  • Add more examples for Wireguard, Open vSwitch, DBus
  • Improve test stability
  • Implementation of DBus Config/Get/Set/Try APIs
  • Add per-route MTU option (LP: #1860201)

Bug fixes:

  • Fix MAAS OVS first boot (LP: #1898997)
  • Fix match of duplicate MAC on VLANs (LP: #1888726)
  • Fix crash in Python parser (LP: #1904633) (LP: #1905156)
  • Fix rename of matched interfaces at runtime (LP: #1904662)

We would like to thank everybody who contributed to this release! 🚀
in no particular order: @xnox @Shpota @hrasiq @iaroslavscript @sil2100 @slyon

Dimitri John Ledkov (1):
      Implement just-in-time behaviour for generate (#162)

Heitor Alves de Siqueira (1):
      Add per-route MTU option (LP: #1860201) (#160)

Iaroslav Akimov (1):
      Fix is_ovs_interface method in cli/ovs.py (LP: #1904633) (LP: #1905156) (#172)

Lukas Märdian (19):
      examples: add openvswitch.yaml example
      examples: add wireguard.yaml example
      tests: remove 'cloud-init' reboot test, was migrated to debian/tests/cloud-init script
      .github: update PR template checklist, to not forgett about examples
      Implement netplan get/set CLI and DBus API (#163)
      tests:tunnels: improve WG handshake regex
      tests:ovs: fix OVS timeouts
      cli:utils: fix libnetplan loading
      Fix MAAS/OVS first boot for single NIC/PXE systems (#165)
      Use Github Actions for unit tests and Codecov upload (#167)
      Update README badges (#168)
      Do not try to match/rename duplicated MAC of vlan (LP: #1888726) (#166)
      doc: Add note about default gateway4/6 usage
      doc: Fix Wireguard formatting
      Implement DBus try-commit handling (#134)
      test:integration: add link-local tests
      DBus Config Management (try-improvement) (#170)
      Documentation for get/set CLI and DBus Config/Try/Cancel/Apply/Get/Set (#173)
      Fix rename of matched interfaces at runtime (LP: #1904662) (#174)

Sasha Shpota (1):
      Remove version information from the description of the info flag (#164)

0.100

03 Sep 11:00
Compare
Choose a tag to compare

Releasing 0.100 💯

  • Documentation improvements
  • Improved integration tests
  • Overall cleanup and refactoring
  • Improved SR-IOV first boot experience
  • Initial Open vSwitch support (LP: #1728134)
  • Add support for Wireguard tunnels
  • Add support for IP address labels (LP: #1743200)
  • Improved routing & globbing in NetworkManager backend
    • route attributes "from", "onlink" and "table"
    • matching interfaces by glob pattern
  • Add support for hidden wireless SSIDs (LP: #1866100)
  • Introduce support for networkd address options (LP: #1803203)
  • Implement ipv6-address-token key (LP: #1737976)

Bug fixes:

  • Not connect to WiFi after 'netplan apply' (LP: #1874377)
  • Call daemon-reload after we touched systemd unit files (LP: #1874494)
  • Don't fail if same primary slave was set before (LP: #1817651)
  • Fix process_link_changes handling 'up' interfaces (LP: #1875411)
  • Fix GCC-10 -fno-common linker errors (LP: #1875412)
  • Flush IPs of NM managed interfaces (LP: #1870561)

We would like to thank everybody who contributed to this release! 🚀
in no particular order: @pondermatic @aganders3 @thom311 @hrasiq @geirha @lxnt @sil2100 @slyon

Alexander Sabourenkov (1):
      Add wireguard support, take two. (#113)

Ashley Anderson (1):
      Add `hidden` to connect to non-broadcast SSIDs (#132)

Geir Hauge (1):
      Fix inconsistent indentation (#150)

Heitor Alves de Siqueira (2):
      Fix process_link_changes handling 'up' interfaces (#143)
      Introduce support for networkd address options (#89)

James Richards (1):
      Fix typo in docs "networks:" -> "network:" (#131)

Lukas Märdian (15):
      Fix LP#1874377: Not connect to WiFi after 'netplan apply' (#133)
      Call daemon-reload after we touched systemd unit files (LP: #1874494) (#135)
      Don't fail if same primary slave was set before (LP: #1817651) (#136)
      Doc: Mark versions of new config keys (#137)
      Add NM integration tests for interface globbing and route options (#140)
      Fix autopkgtest on arm64 with NM 1.24 (#146)
      Fix GCC-10 -fno-common linker errors (LP: #1875412) (#155)
      Flush IPs of NM managed interfaces (LP: #1870561) (#159)
      Implement ipv6-address-token-id key (LP: #1737976) (#161)
      test:wifi: fix typo in test YAML
      doc: fix 'modems' formatting
      doc: improve ipv6-address-generation documentation
      Makefile: improve 'make clean'
      tests:routing: verify multiple NM routing options
      tests: improve tunnels integration test, to make it non-flaky

Thomas Haller (1):
      nm: support route attributes "from", "onlink", and "table" and "match.interface-name" (#84)

Łukasz Zemczak (5):
      Add some basic SR-IOV examples.
      Add missing feature flags, fix manpage for DHCP overrides.
      Correct documentation on dhcp route-metric
      Work on a better first-boot experience with SR-IOV (#141)
      Openvswitch support (LP: #1728134) (#154)

0.99

15 Apr 22:41
1ccf7e0
Compare
Choose a tag to compare

Releasing 0.99