[Blog] Netplan developer diaries

Netplan v1.1 released

Netplan v1.1 is a record-breaking release, counting 17 individual contributors. :rocket:
Kudos to everybody involved! :heart:

Highlights

Releasing v1.1

Documentation

Bug fixes

New Contributors

Full Changelog: https://github.com/canonical/netplan/compare/1.0...1.1

Show all
$ git shortlog 1.0..HEAD
Alexandru Cheltuitor (1):
      netplan ignores NetworkManager ipv4.route-metric

Alfonso Sánchez-Beato (2):
      apply: restart networkd instead of reload/reconfigure
      apply: compare full configuration to decide to restart networkd

Cyril Brulebois (1):
      Fix manpage title.

Danilo Egea Gondolfo (39):
      parse-nm: add a workaround for the DoT DNS option
      parse: don't remove datalist items during iteration
      tools/keyfile_to_yaml: display the generated YAML
      tests: import the config fuzzing tests
      sriov: accept setting the eswitch mode without VFs
      cli/sriov: refactoring
      cli/sriov: set eswitch regardless of pcidev.vfs
      parse: fix redefinition of gateway(4|6)
      python: elements of __all__ must be strings
      parse: introduce parser flags
      parse: implement the IGNORE_ERRORS flag
      generate: add support for ignoring errors
      python/api: add flags getter/setter to Parser
      tests: improve coverage with ignore_errors
      docs: add a new section about the generator
      tests: fix diff test with iproute2 6.8
      cli/generate: skip daemon_reload with --mapping
      ctests: fix a memory leak in a unit test
      nm/nd: fix a couple of crashes
      netplan: add getters for gateway4 and gateway6
      state_diff: add gateway(4|6) to the routes list
      state: use the 'dynamic' field from addr_info
      state: add the 'ra' flag to IPv6 addresses
      api: add a getter for accept-ra
      state_diff: improve analysis of RA/LL addresses
      cli/status: fix plain print with --diff
      cli: use AF_INET(6) instead of hardcoded values
      state: make use of networkd ConfigSource
      libnetplan: use more restrictive file permissions
      libnetplan: escape control characters
      backends: escape file paths
      backends: escape semicolons in service units
      emitter: allow unicode characters in the emitter
      parse: do not escape all non-ascii bytes
      meson: emit the coverage result to XML
      ci: add a workflow for TIOBE
      ci: run meson tests with unbuffer
      ci/tics: install "expect" as a dependency
      ci: migrate to Ubuntu 24.04

Danilo Egêa Gondolfo (1):
      ATTN: parse/bonds: handle same primary in multiple bonds (#451)

David Ekete (1):
      docs: Add 'netplan try' to tutorial (#494)

Francisco Huelsz Prince (1):
      Fix logging setup when python-rich is not present

Freerk-Ole Zakfeld (1):
      Fix wrong bonds.parameters.mode syntax in example (#459)

Khoo Hao Yit (1):
      feat(networkd): add ipv6 ra overrides (LP: #1973222) (#461)

Lukas Märdian (58):
      CI: fix DebCI case for no-change rebuilds
      CI: adopt autopkgtest for 1.0-1 on 22.04
      Update README, move CODE_OF_CONDUCT
      doc: fix en_GB spelling
      CI: adopt snapd.patch for autopkgtest SRU (LP: #2051939)
      CI: Install netplan-ci PPA
      tests: use proper 0o600 file permissions in more places
      doc:tutorial: fix whitespace formatting
      util: fix potential NULL pointer assert
      networkd: add wait-online enumeration utils
      generate: enable systemd-networkd-wait-online for non-optional interfaces only
      CLI:utils: Do not ask for daemon-reload password interactively
      CLI:generate: call daemon-reload after (re-)generating services
      wait-online: Do not block on loopback interface
      generate: Do not touch wait-online, if we don't have any networkd NetDefs
      wait-online: wait for existing interfaces only and downgrade operational state for interfaces without IP configuration
      wait-online: account for DHCPv4/v6 addresses
      wait-online: do not require virtual devices to be created already
      wait-online: recognize that bridge/bond members will never gain link-local addresses
      CI: Fix DebCI check, using newer 'meson' from unstable
      Revert "CI: Fix DebCI check, using newer 'meson' from unstable"
      test: cleanup after wait_online test to fix DebCI
      CI: fork spread to get #179 fixes
      networkd:apply: Drop handling of legacy wpa@ instance units
      Add initial SECURITY.md policy
      test:integration: avoid verbose NM warnings
      test:integration: Try to improve test flakyness (Closes: #1069871)
      autopkgtest: More fixes for flaky 'ethernets' test (Closes: #1069871)
      include:netdef.h: cleanup whitespace
      Revert "apply: restart networkd instead of reload/reconfigure"
      cli:apply: improve networkd restart logic for non-existent networkd config
      Increase some test timeouts to account for slow (riscv64) buildds
      wait-online: wait for 'routable' state, if corresponding IPs are defined
      wait-online: new tests for routable waiting
      wait-online: don't ignore 'routable' intefaces in 'linklocal' waiting stage
      wait-online: issue a log message about optional bond-members
      tests:generator: refactor test_args.py check_output, using text=True
      networkd:wait-online: make logging message more informative
      Fix FTBFS on Debian unstable (probably /tmp on tmpfs?)
      CLI:apply: call udevadm trigger, using --action=move (Closes: #1071220) (LP: #2066344, LP: #2071363)
      parse: downgrade warning about nm-device renderer to 'debug', as it's just informational
      doc:examples: Add reference for NM default config
      test:routing: skip VRF test if kernel module is not available
      test:tunnels: skip WireGuard test if kernel module is not available
      CI: autopkgtest: add test dependency for python3-packaging
      test:routing: Skip advmss test on NetworkManager < 1.39.8
      CI: fix CodeQL permissions
      generate: avoid calling 'udevadm control --reload' (LP: #1999178)
      rpm: require udev for tests
      meson: Add 'testing' option
      CI: Update DebCI to ubuntu-22.04 runners
      networkd: avoid memory-leak in wait_online
      CI: use autopkgtest 5.37
      CI: update snapd.patch
      spread: upgrade to 24.04
      doc: Annotate new 1.1 settings
      abi-compat: re-generate 1.1 ABI on Noble
      meson: Bump version to v1.1

Mauro Gaspari (3):
      doc: Create single-nic-vm-host.md (#475)
      doc: Create single-nic-vm-host-with-vlans.md (#476)
      doc: Create multi-nic-vm-host-with-bonds-and-vlans.md (#477)

Oleg (1):
      Implementation ip route advmss options for Systemd networkd and Network manager. Param name for systemd networkd: TCPAdvertisedMaximumSegmentSize Param name for network manager: advmss

Oláh Kristóf (1):
      migrate: support aliases

Robert Krátký (5):
      Adding missing 'watchfiles' dependency for Sphinx.
      Minor fixes in lang. and mark-up in YAML reference.
      Tutorial reorg & lang. + formatting improvements.
      Update the docs checks runner to ubuntu-latest.
      doc: Add spelling exceptions (#499)

Robert Malz (1):
      Change default umask when creating dirctories

SuperheroJT (1):
      added guide for contributing to the netplan documentation (#457)

Tasos Sahanidis (1):
      networkd: Implement ipv6-address-generation: stable-privacy

shirleyherox (1):
      doc: Fix netplan-generate.md formatting (#483)