Skip to content

Releases: canonical/netplan

1.0

29 Feb 09:40
Compare
Choose a tag to compare

Feb 29, 2024 – A special day for a special release...

Let's celebrate the v1.0 release of Netplan! 🚀
Thanks to everybody who contributed to the project over the years, to reach this milestone!

Highlights

  • Simultaneous WPA2 & WPA3 support.
  • Introduction of stable libnetplan1 API.
  • Mellanox VF-LAG support for high performance SR-IOV networking.
  • New hairpin and port-mac-learning settings, useful for VXLAN tunnels with FRR.
  • New netplan status --diff subcommand, finding differences between configuration and system state:

Releasing v1.0

Documentation

Bug fixes

New Contributors

Full Changelog: 0.107...1.0

Show all
$ git shortlog 0.107..HEAD
Chris Aumann (2):
      networkd: fix formatting
      networkd: replace deprecated CriticalConnection= by KeepConfiguration=

Christopher (1):
      Add additional bridge port settings (#410)

Danilo Egea Gondolfo (64):
      netplan: add support for WPA3-Enterprise
      CI/Coverity: fetch tags before trying to use them
      CI/Autopkgtests: temporally use a patched version of network-manager
      wifi: support WPA2 and WPA3 Personal simultaneously
      util: don't return a placeholder netdef in the iterator
      tunnels/validation: do not error out if "local" is not defined
      tests: add some integration tests without the local address
      wireguard: ignore empty endpoints
      auth: add support for LEAP and EAP-PWD
      parse: improve the parsing of access-points (LP: #1809994)
      wifi: replace the previously defined AP with the new one
      doc: spelling check improvements
      CI: add spelling checker step
      wifi: make it possible to have a psk and an eap password simultaneously
      nm-parse: always read the PSK into the new psk variable
      netdef: simplify NetplanRoute __eq__ and __hash__
      state_diff: add the new state_diff submodule
      state_diff: add the get_diff() method
      state_diff: add support for IP addresses analysis
      state_diff: add support for nameservers analysis
      state_diff: add support for search domains analysis
      state_diff: add support for MAC addresses analysis
      state_diff: add support for routes analysis
      state_diff: add a JSON encoder for NetplanRoutes
      state_diff: add more information to the missing_interfaces result
      state_diff/get_diff(): return the interfaces sorted by their indices
      tools/diff.py: add a temporary tool to test netplan diff
      apply: bring "lo" back up if it's managed by NM
      apply: don't assume the NM loopback connection is called "lo"
      ovs: disable StartLimitBurst in the ovs-cleanup service
      ctests: stop including C files in the test files
      docs: add a topic about security
      workflow/coverity: install missing dependencies
      state_diff: fix filtering of host scoped routes
      cli/sriov: remove unused code
      tests: assert generated .service files in assert_sriov
      tests/sriov: test if the generated netplan-rebind service is correct
      sriov: don't generate duplicate entries in the rebind.service file
      state/status: add support for identifying bridge/bond members
      state/status: add support for VRF members and interface kind
      state/status: Rename Members to Interfaces
      libnetplan: add a get_vrf_link() function
      state_diff: add support for bond/bridge/vrf
      state_diff: sort the list of IPs in the diff
      state_diff: sort routes by destination address
      state_diff: do not process interfaces removed from netplan
      state_diff: filter out loopback host scoped route
      cli/utils: add a function to create a lookup table from iproute2/rt_tables
      cli/status: add netplan status --diff
      parser: accept special options for MAC address
      libnetplan: add a getter for bond mode
      sriov: move the udev logic to a service unit
      sriov: check the eswitch mode before trying to change it
      sriov_rebind: cooperate with VF LAG activation
      sriov_rebind: netplan rebind --debug setup
      tests/sriov: adapt tests to the last sr-iov related changes
      sriov_apply: execute apply --sriov-only before network-pre.target...
Read more

0.107.1

14 Dec 09:51
Compare
Choose a tag to compare

Releasing v0.107.1:

  • wifi: add support for WPA3-Enterprise (LP: #2029876) by @daniloegea in #402
  • wifi: support WPA2 and WPA3 Personal simultaneously by @daniloegea in #404
  • added mii-monitor-interval example by @Sudo-Whodo in #411
  • docs: Add "Contribute Documentation" how-to by @slyon
  • auth: add support for LEAP and EAP-PWD by @daniloegea in #415
  • tests: Add autopkgtest for LP#1959570 by @slyon in #419
  • wifi: make it possible to have a psk and an eap password simultaneously by @daniloegea in #416
  • doc: Set-up some basic Doxygen project by @slyon in #423
  • doc: Make Sphinx to handle autodoxygen project, using breathe by @slyon in #423
  • doc: create libnetplan apidoc structure by @slyon in #423
  • inc: Start documenting public API by @slyon in #423
  • doc: Update 'Netplan everywhere' for 23.10 by @slyon and @rkratky in #418

Bug fixes:

  • test:ovs: Avoid NetworkManager taking contol, breaking a test by @slyon
  • parse: allow COMMON_LINK_HANDLERS for VRFs by @slyon in #401
  • util: don't return a placeholder netdef in the iterator by @daniloegea in #406
  • tunnels/validation: do not error out if "local" is not defined by @daniloegea in #407
  • tests: add some integration tests without the local address by @daniloegea in #407
  • wireguard: ignore empty endpoints (LP#2038811) by @daniloegea in #414
  • parse: improve the parsing of access-points (LP: #1809994) by @daniloegea in #413
  • wifi: replace the previously defined AP with the new one by @daniloegea in #413
  • doc: spelling check improvements by @daniloegea in #417
  • Fix permissions on folder '/run/NetworkManager/' by @matdug in #422
  • cli:try: avoid linting error for type hints by @slyon in #422
  • nm-parse: always read the PSK into the new psk variable by @daniloegea in #416
  • networkd: fix formatting by @chr4 in #424
  • networkd: replace deprecated CriticalConnection= by KeepConfiguration= by @chr4 in #424
  • networkd: move KeepConfiguration= into [Network] section by @slyon
  • apply: bring "lo" back up if it's managed by NM by @daniloegea in #408
  • apply: don't assume the NM loopback connection is called "lo" by @daniloegea in #408

Full Changelog: 0.107...0.107.1

0.107

17 Aug 15:24
Compare
Choose a tag to compare

Releasing v0.107:

Bug fixes:

New Contributors

We would like to thank everybody who contributed to this release! 🍾

Full Changelog: 0.106...0.107

Show all
$ git shortlog 0.106..HEAD
Aristo Chen (1):
      netplan: cli: fix typo from 'unkown' to 'unknown'

Benjamin Gentil (2):
      routes: fix metric rendering
      tests: add metric rendering tests for lp2023681

Danilo Egea Gondolfo (131):
      parser: handle duplicated routing rules
      parser: Don't add DNS entries duplicates
      tests: Don't use duplicated DNS entries
      tests: Add tests for the new C functions
      parser: Don't duplicate OVS configuration
      dbus: Build the copy path correctly
      dbus: Use the error set by _copy_yaml_state()
      tests: Add some integration tests for DBus
      netplan: adjust the maximum buffer size to 1MB
      parse: use "--" with systemd-escape
      networkd: plug a memory leak
      libnetplan: don't try to read from a NULL file
      nm: return if write_routes() fails
      parse: don't point to the wrong node on validation
      validate: drop the YAML node parameter
      API: add a binding for netplan_parser_load_keyfile
      API: make dump_yaml() accept a StringIO
      tests: add a test for the new load_keyfile method
      wireguard: plug a memory leak
      wireguard: improve an error message
      nm: check the passthrough config format
      parse: validate NM backend settings usage
      ABI: convert NetplanBackendSettings to struct
      ovs: don't allow peers with the same name
      ovs: replace openvswitch instances by Open vSwitch
      rtd: set the OS and Python...
Read more

0.106.1

26 May 08:50
Compare
Choose a tag to compare

Releasing v0.106.1:

Bug fixes:

Full Changelog 0.106...0.106.1

Danilo Egea Gondolfo (36):
    meson: build version to 0.106.1
    CI: enable Github actions on stable/**
    parse-nm: fix eap_method handling
    rtd: set the OS and Python versions explicitly
    ovs: replace openvswitch instances by Open vSwitch
    ovs: don't allow peers with the same name
    ABI: convert NetplanBackendSettings to struct
    parse: validate NM backend settings usage
    nm: check the passthrough config format
    wireguard: improve an error message
    wireguard: plug a memory leak
    validate: drop the YAML node parameter
    parse: don't point to the wrong node on validation
    parse: set the backend on nm-devices to NM by default (#349)
    parse: plug a memory leak (#348)
    nm: return if write_routes() fails
    libnetplan: don't try to read from a NULL file
    networkd: plug a memory leak
    vrfs: skip policies parsing if list is NULL (LP: #2016427) (#341)
    docs: fix bridge parameters types and add examples (#346)
    parse: use "--" with systemd-escape
    netplan: adjust the maximum buffer size to 1MB
    Netplan docs rework (Part 2) (#337)
    Netplan docs rework (#333)
    tests: Add some integration tests for DBus
    dbus: Use the error set by _copy_yaml_state()
    dbus: Build the copy path correctly
    parser: Don't duplicate OVS configuration
    tests: Add tests for the new C functions
    tests: Don't use duplicated DNS entries
    parser: Don't add DNS entries duplicates
    parser: handle duplicated routing rules
    Add all the commands to the bash completion file (LP: #1749869) (#326)
    parser: demote the new lacp-rate check to warning
    ATTN: parser: validate lacp-rate properly (LP: #1745648) (#324)
    docs: Add a short netplan-everywhere howto (#325)

Lukas Märdian (17):
    CI: make use of the canonical/setup-lxd action
    doc: Add Ubuntu Code of Conduct 2.0
    doc: make us of sphinx copybutton plugin
    cli:status: improve networkctl parameter passing
    cli:test: use 'text' alias instead of 'universal_newlines'
    Makefile: fully cleanup coverage data
    cli:apply: use shutil.rmtree instead of 'rm -rf'
    Use controlled execution environment, to avoid failure if PATH is unset (LP: #1959570) (#336)
    meson: fix installation of legacy /lib/netplan/generate symlink
    parse:ovs: Ignore deprecated OpenFlow1.6 protocol (LP: #1963735)
    meson: cli:utils: drop legacy generator path, use libexec instead
    meson: use meson_make_symlink.sh helper script instead of install_symlink()
    Revert "meson: use absolute link target for generator symlink"
    meson: use absolute link target for generator symlink
    Revert "meson: Account for UsrMerged systemd paths"
    CI: CodeQL: add cmocka build-deps
    CI: CodeQL: add pytest build-deps

Michael Vogt (2):
    spread.yaml: restore /etc/netplan for each test
    tests: add new spread based snapd integration test

Jordan Mitchell Barrett (1):
    CI: update canonical/setup-lxd to v0.1.1 (#359)

Aristo Chen (1):
    netplan: cli: fix typo from 'unkown' to 'unknown'

Neal Gompa (3):
    rpm: Refresh packaging for 0.106 and sync from Fedora
    meson: Account for UsrMerged systemd paths
    meson: Enable finding pycoverage on RPM based distributions

0.106

09 Feb 08:35
Compare
Choose a tag to compare

Releasing v0.106:

Bug fixes:

New Contributors:

We would like to thank everybody who contributed to this release! 🍾

Full Changelog: 0.105...0.106

Danilo Egêa Gondolfo (18):
      tests: mock calls to systemctl
      ctests: fix an integer conversion issue
      docs: small fix on netplan-set doc
      src: Fix some memory leaks (#297)
      Fix a bug in the generate --mapping command (LP: #1996941) (#301)
      Migrate from (deprecated) nose to pytest (#302)
      API: implement APIs from the new specification (#298)
      parse: Add the filepath to OVS ports netdefs (#295)
      Netplan api iterator (#306)
      parser: plug a memory leak (#309)
      parser: return the correct error on failure (LP#2000324) (#308)
      apply: Fix crash when OVS is stopped (LP#1995598) (#307)
      networkd: make sure VXLAN is in the right section (LP: #2000713) (#310)
      Check if the interface name is too long (LP: #1988749) (#313)
      Check and fix non-inclusive laguange (#303)
      CI: Memory leak action (#321)
      vxlan: convert some settings to tristate (LP: #2000712) (#311)
      parser: check for route duplicates (LP: #2003061) (#320)

Louis Sautier (1):
      doc/examples: remove unnecessary route for IPv6 on-link gateways (#312)

Lukas Märdian (45):
      buildsystem: meson fixes
      doc: whitespace fixes
      doc:README: adopt to default website template and Diataxis navigation ordering
      doc: YAML refactor generic topics into explanation, use external links in explanation
      doc: integrate manpages as CLI reference
      doc: spelling fixes
      doc: Improve CLI documentation
      doc: Add Netplan D-Bus reference
      doc:dbus-config: cross-linking to reference
      docs: add code-of-conduct
      README: link documentation objectives
      CI: upgrade to CodeQL v2
      CI: Fix CodeQL build by installing meson on a Jammy runner
      doc:netplan-yaml: specify default usage of WPA+WPA2 wifi authentication
      doc:routes: fix docs for default route 0.0.0.0/0 vs 0/0 notation
      src:parse-nm: add default wakeonlan setting only for ethernet devices
      src:netplan:abi_compat: use owner (root) read-only permissions
      src:parse: Log a warning on weak .yaml file permissions (LP: #1862600)
      cli:apply: fix logger deprecation warning
      meson: fix coverage-py-combine race condition (fixup PR #302)
      doc: Add Netplan logo
      New 'netplan status' CLI (#290)
      api:util: rename netplan_error_clear (from _free) & adopt to nullify
      ctest:parser: adopt for netplan_error_clear rename
      doc:reference: mention YAML spec version and expected file permissions
      doc:index: add 'In this documentation' subtitle
      doc:index:conf: use grid instead of table, for responsive rendering
      doc:index: switch symbolic link, for easier modification through RTD
      Add .readthedocs.yaml configuration
      readthedocs: add python requirements.txt
      generate:util: fix double-slash root filepath
      test:cli:set: add regression cases for LP: #1997467
      parse: Allow loading nullable origin-hint overrides (netdefs to be ignored)
      cli:set: fix origin-hint handling (LP: #1997467)
      src:parse:netplan: write global renderer depending on output file
      doc:yaml: improve formatting
      src:parse: plug memory leaks in nullable handling
      meson: give some more time for c coverage output to avoid timeouts
      tests:base:ethernets: Improve stability of autopkgtests (#223)
      meson: bump to _GNU_SOURCE, avoid explicit __USE_MISC
      util: update netplan_delete_connection() API
      test:ctest: adopt for netplan_delete_connection API
      abi: ignore the glob_t change related to _GNU_SOURCE
      abi-compat: bump for 0.106
      meson: build version to 0.106

Richard Laager (1):
      Match by PermanentMACAddress (#278)

0.105

18 Aug 08:26
Compare
Choose a tag to compare

Releasing v0.105:

  • Add support for VXLAN tunnels (#288), LP#1764716
  • Add support for VRF devices (#285), LP#1773522
  • Add support for InfiniBand (IPoIB) (#283), LP#1848471
  • Allow key configuration for GRE tunnels (#274), LP#1966476
  • Allow setting the regulatory domain (#281), LP#1951586
  • Documentation improvements & restructuring (#287)
  • Add meson build system (#268)
  • Add abigail ABI compatibility checker (#269)
  • Update of Fedora RPM spec (#264)
  • CI improvements (#265, #282)
  • Netplan set uses the consolidated libnetplan YAML parser (#254)
  • Refactor ConfigManager to use the libnetplan YAML parser (#255)
  • New netplan_netdef_get_filepath API (#275)
  • Improve NetworkManager device management logic (#276), LP#1951653

Bug fixes:

We would like to thank everybody who contributed to this release! 🍾
In alphabetical order: @Conan-Kudo @netdever @nicolasbock @ogayot @schopin-pro @slyon @yizhao1

Anthony Timmins (5):
      netplan:parse: handle VRF configuration
      doc: VRF reference & example
      networkd:nm: generate VRF configs
      Handle VXLAN tunnel parsing, validation and YAML
      networkd: VXLAN tunnel rendering

Lukas Märdian (61):
      doc: fix whitespace
      Fix running the autopkgtests, by working around a LXD issue (#265)
      cli:apply: fix potential race with rename/creation of netdevs and start networkd if off (LP: #1962095) (#260)
      tests:ethernets: improve autopkgtest reliability
      Enable building via Meson build system (#268)
      ABI compatibility checker (#269)
      networkd: rename GatewayOnlink= to GatewayOnLink= (#273)
      cli:sriov: fix test coverage for quirk_devices
      Makefile: clean src/_features.h.gch file
      test:integration:base: improve mgmt network stability
      CI: ABI checker ignore-list
      doc: some ABI checker docs + jammy ABI
      Fix infinite timeouts in ovs-vsctl (Closes: #1000137) (#266)
      bindings: make coverage happy
      nm: fix rendering of password for unknown/passthrough WPA types (#279)
      tests:ethernets: fix autopkgtest with alternating default value
      generate: ignore 10-globally-managed-devices.conf if any NM config is given in netplan
      cli: re-apply udev rules (NM_UNMANAGED) if needed
      nm: extend type_str() to return passthrough types
      nm: tests: improve NM manage/ignore logic, using udev matching rules
      tests:base: cleanup udev quirks
      tests:ovs: avoid race condition with DHCP on bridge
      abi_compat: fix coverage warning
      CI: switch GA runners to Ubuntu 22.04
      CI: disable CodeCov, we're checking the coverage locally in GA
      CI: drop Focal 0.104 ABI, we're now using Jammy CI runners
      Add InfiniBand (IPoIB) support (LP: #1848471) (#283)
      Allow setting the regulatory domain (LP: #1951586) (#281)
      doc: fix typo in netplan-apply.md
      CI: fix phased updates
      CI: switch autopkgtest runner to Jammy/22.04
      validation: allow key configuration for [ip6]gre[tap] tunnels
      tests:tunnels: validate key configuration for [ip6]gre[tap]
      doc: improve gre/-tap documentation wrt keys
      tests:tunnels: increase [ip6]gre[tap] autopkgtest coverage
      cli:try: fix typo in 'netplan --config-file=... try' command
      Documentation improvements (Diátaxis) (FR-2276) (#287)
      doc:yaml: markdown formatting fixes
      doc:yaml: markdown syntax fixes
      cli: fix crash on LibNetplanException (#286)
      tests:routing: add VRF integration test
      CI:autopkgtest: Keep correct 'vrf' kernel module available
      parse-nm: detect empty nexthop (i.e. scope: link)
      parse-nm: do not parse search-domains, netplan cannot differentiate IP4 vs IP6
      cli:ip:leases: search for NM's internal DHCP client and dhclient leases (LP: #1979674) (#284)
      parse: generic map multipass processing fixes
      parse: add bridge.aging-time alias
      names: infiniband fixes
      util: add is_multicast_address()
      NetplanFlags handling
      netplan: add YAML_BOOL_TRISTATE helper
      nm: Initial VXLAN support
      doc: add VXLAN docs & examples
      test:tunnels:configmanager: add VXLAN unit tests
      test:tunnels: add VXLAN integration test
      names: improve NAME_FUNCTION input validation
      parse:networkd:nm: make VXLAN link explicit and exclusive to VXLAN tunnels
      meson: version bump
      abi-compat: bump for 0.105
      README: update badges
      rpm: bump version to 0.105

Neal Gompa (ニール・ゴンパ) (1):
      rpm: Update to latest version and resync with Fedora spec (#264)

Nicolas Bock (1):
      Add tristate type for offload options (LP: #1956264) (#270)

Olivier Gayot (1):
      manpages: fix long options rendered with an en-dash instead of two dash

Simon Chopin (30):
      dbus: Remove the upper limit on try timeout (#271)
      netplan: cli: add hidden option --breakpoint for easier debugging
      lib: centralize the IP rule reset into a standalone function
      lib: keep track of all source files for a given state
      parser: add the ability to load a file directly from a FD
      parser: partial support of null fields
      lib: new state function netplan_state_write_yaml_file for partial export
      lib: new state function netplan_state_update_yaml_hierarchy
      lib: helper function to create a yaml patch from a "set expression"
      tests: set: use JSON as a format for complex payloads
      netplan: set: rewrite to use the internal YAML generator
      netplan: libnetplan: remove now-unused netplan_parse function
      libnetplan: bump the XOPEN_SOURCE definition to 700
      lib: utils: new netplan_copy_string function
      !API! lib: netdef: rename filename into filepath
      lib: migrate netplan_netdef_get_id to the new strbuf API scheme
      netplan: expose basic netdef attributes to the Python bindings
      netplan: libnetplan: expose the itf matching data for netdefs
      netplan: bindings: expose State.backend
      netplan: bindings: State: helper method to dump the whole state to the logs
      bindings: State: add baked-in properties to easily iterate over def types
      bindings: NetDef: expose some vlan/sriov-related properties
      tests: configmanager: Fix inconsistencies in test data
      tests:sriov: add a nocover statement for the fallback in driver_mock_open
      netplan: migration configmanager away from PyYAML
      bindings: remove now-unused bindings
      lib: move complex_object_is_dirty to utils with better API
      lib: fix dirtiness tracking for generic integer values
      bindings: add `is_trivial_compound_itf` denoting simple bonds/bridges
      cli: fix detection of custom bridges/bonds in is_revertable

Zhao Yi (1):
      Makefile: fix parallel build failure (#267)

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)