Releases: canonical/netplan
Netplan v1.1.1
Releasing v1.1.1
- networkmanager: add support for stable-ssid MAC option by @daniloegea #524 (LP#2084234)
- wpa_supplicant: add ExecReload to the service unit by @daniloegea #523
Bug fixes
- Several code cleanup & fixes for TiCS by @slyon #507
- tests: ethernets: Add ipv6-address-generation integration tests by @tatokis #509
- cli: drop python-netifaces by @daniloegea #503 (LP#2065870, LP#2017585)
- parse-nm: account for veth and dummy when checking for virtual types by @daniloegea #513
- Avoid dependency on dbus-python by @slyon #511
- test:routing:tunnels: Improve vrf/wireguard modprobe check inside containers by @slyon #510
- tests:ethernets: avoid flaky test_ip6_eui64 results by @slyon #514
- ovs: quote external-ids and other-config values by @daniloegea #512 (LP#2070318)
- Handle implicity conversions by @daniloegea #496
- Use more permissive umask for .service units by @slyon #516 (LP#2072486)
- Revert "apply: make sure that networkd is restarted when needed" by @daniloegea #518 (LP#2078009)
- Handling encoding issues on netplan status by @daniloegea #521 (LP#2079975)
- include: fix apidoc warnings about undocumented parameters by @slyon
Documentation
- Create snippet files for single-sourcing repetitive instructions by @nielsenjared, @rkratky #505, #107
- doc: Add initial 'Cryptography' section by @slyon #517
Full Changelog: 1.1...1.1.1
Netplan v1.1
Netplan v1.1 is a record-breaking release, counting 17 individual contributors. 🚀
Kudos to everybody involved! ❤️
Highlights
- Custom
systemd-networkd-wait-online
logic override to wait for link-local and routable interfaces. (#456, #482) - Modification of the
embedded-switch-mode
setting without virtual-function (VF) definitions on SR-IOV devices (#454) - Parser flag to ignore individual, broken configurations, instead of not generating any backend configuration (#412)
- Fixes for @ProtonVPN (#495) and @microsoft Azure Linux (#445), contributed by those companies
Releasing v1.1
- CI: adopt autopkgtest for 1.0-1 on 22.04 by @slyon in #446
- tools/keyfile_to_yaml: display the generated YAML by @daniloegea in #452
- tests: import the config fuzzing tests by @daniloegea in #453
- ATTN: parse/bonds: handle same primary in multiple bonds by @daniloegea in #451
- sriov: accept setting the eswitch mode without VFs (LP#2020409) by @daniloegea in #454
- Custom systemd-networkd-wait-online override to wait on interfaces. (Closes: #1008995) (LP#2060311) by @slyon in #456
- Ignore bad NetDefs and files via parser flags by @daniloegea in #412
- networkd:apply: Drop handling of legacy wpa@ instance units by @slyon in #471
- migrate: support aliases by @Kristof0127 in #473
- networkd: add ipv6 ra overrides (LP#1973222) by @KhooHaoYit in #461
- netplan status --diff fixes and improvements by @daniloegea in #466
- apply: make sure that networkd is restarted when needed by @alfonsosanchezbeato in #449
- Don't escape certain non-ascii characters by @daniloegea in #486
- networkd: make s-n-wait-online wait for at least one routable interface by @slyon in #482
- networkd: Implement ipv6-address-generation: stable-privacy by @tatokis in #480
- Implementing advmss ip route option by @barvius in #489
- meson: Add 'testing' option by @slyon in #493
- Add a scheduled workflow to run TICS by @daniloegea in #498
- ci: migrate to Ubuntu 24.04 by @daniloegea in #465
- Prepare Netplan v1.1 by @slyon in #504
Documentation
- Fix wrong syntax in example by @fzakfeld in #459
- Tutorial improvements by @rkratky in #458
- added guide for contributing to the netplan documentation by @ade555 in #457
- Add initial SECURITY.md policy by @slyon in #478
- Create single-nic-vm-host.md by @ilvipero in #475
- Create single-nic-vm-host-with-vlans.md by @ilvipero in #476
- Create multi-nic-vm-host-with-bonds-and-vlans.md by @ilvipero in #477
- bullet point removal by @shirleyherox in #483
- Add netplan try to netplan tutorial by @davidekete in #494
- Update the docs checks runner to ubuntu-latest by @rkratky in #500
- Add spelling exceptions by @rkratky in #499
Bug fixes
- Fix logging setup when python-rich is not present by @frhuelsz in #445
- parse-nm: add a workaround for the DoT DNS option (LP#2055148) by @daniloegea in #447
- parse: don't remove datalist items during iteration by @daniloegea in #450
- parse: fix redefinition of gateway(4|6) by @daniloegea in #460
- python: elements of all must be strings by @daniloegea in #464
- CI: Fix DebCI check, using newer 'meson' from unstable by @slyon in #467
- tests: fix diff test with iproute2 6.8 by @daniloegea in #469
- cli/generate: skip daemon_reload with --mapping by @daniloegea in #470
- CI: fork spread to get canonical/spread#179 fixes by @slyon in #472
- ctests: fix a memory leak in a unit test by @daniloegea in #474
- nm/nd: fix a couple of crashes by @daniloegea in #468
- test:integration: Try to improve test flakyness (Closes: #1069871) by @slyon in #481
- Security fixes (CVE-2022-4968) by @daniloegea in #484
- emitter: allow unicode characters in the emitter (LP#2071652) by @daniloegea in #485
- CLI:apply: call udevadm trigger, using --action=move (Closes: #1071220) (LP#2066344, LP#2071363) by @slyon in #479
- CI: fix CodeQL permissions by @slyon in #491
- ci: run meson tests with unbuffer by @daniloegea in #501
- ci/tics: install "expect" as a dependency by @daniloegea in #502
- generate: avoid calling 'udevadm control --reload' (LP#1999178) by @slyon in #488
- netplan ignores NetworkManager ipv4.route-metric (LP#2076172) by @calexandru2018 in #495
- Change default umask when creating dirctories (LP#2076319) by @rmalz-c in #497
New Contributors
- @frhuelsz made their first contribution in #445
- @fzakfeld made their first contribution in #459
- @Kristof0127 made their first contribution in #473
- @ade555 made their first contribution in #457
- @KhooHaoYit made their first contribution in #461
- @ilvipero made their first contribution in #475
- @shirleyherox made their first contribution in #483
- @tatokis made their first contribution in #480
- @barvius made their first contribution in #489
- @davidekete made their first contribution in #494
- @calexandru2018 made their first contribution in #495
- @rmalz-c made their first contribution in #497
Full Changelog: 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 ...
1.0.1
Releasing v1.0.1:
- sriov: accept setting the eswitch mode without VFs (LP#2020409) @daniloegea
- cli/sriov: refactoring @daniloegea
- tests: use proper 0o600 file permissions in more places @slyon
- doc: Adding missing 'watchfiles' dependency for Sphinx @rkratky
- doc: Minor fixes in lang. and mark-up in YAML reference @rkratky
- doc: Tutorial reorg & lang. + formatting improvements @rkratky
- networkd: add wait-online enumeration utils @slyon
- generate: enable systemd-networkd-wait-online for non-optional interfaces only @slyon
- CLI:utils: Do not ask for daemon-reload password interactively @slyon
- CLI:generate: call daemon-reload after (re-)generating services @slyon
- wait-online: Do not block on loopback interface @slyon
- generate: Do not touch wait-online, if we don't have any networkd NetDefs @slyon
- wait-online: wait for existing interfaces only and downgrade operational state for interfaces without IP configuration @slyon
- wait-online: account for DHCPv4/v6 addresses @slyon
- wait-online: do not require virtual devices to be created already @slyon
- wait-online: recognize that bridge/bond members will never gain link-local addresses @slyon
- networkd:apply: Drop handling of legacy wpa@ instance units @slyon
- wait-online: disabled wait-online for stable 1.0 @daniloegea
- test:integration: Try to improve test flakyness (Closes: #1069871) @slyon
- autopkgtest: More fixes for flaky 'ethernets' test (Closes: #1069871) @slyon
- Increase some test timeouts to account for slow (riscv64) buildds @slyon
Security fixes:
- libnetplan: use more restrictive file permissions (CVE-2022-4968) @daniloegea
- libnetplan: escape control characters @daniloegea
- backends: escape file paths @daniloegea
- backends: escape semicolons in service units @daniloegea
Bug fixes:
- cli: Fix logging setup when python-rich is not present @frhuelsz
- CI: fix DebCI case for no-change rebuilds @slyon
- CI: adopt autopkgtest for 1.0-1 on 22.04 @slyon
- doc: Update README, move CODE_OF_CONDUCT @slyon
- doc: fix en_GB spelling @slyon
- CI: adopt snapd.patch for autopkgtest SRU (LP#2051939) @slyon
- parse-nm: add a workaround for the DoT DNS option (LP#2055148) @daniloegea
- CI: Install netplan-ci PPA @slyon
- parse: don't remove datalist items during iteration @daniloegea
- ATTN: parse/bonds: handle same primary in multiple bonds (#451) @daniloegea
- parse/bonds: don't fail on primary reassignment @daniloegea
- cli/sriov: set eswitch regardless of pcidev.vfs @daniloegea
- doc: Fix wrong bonds.parameters.mode syntax in example (#459) @fzakfeld
- parse: fix redefinition of gateway(4|6) @daniloegea
- doc:tutorial: fix whitespace formatting @slyon
- util: fix potential NULL pointer assert @slyon
- python: elements of all must be strings @daniloegea
- tests: fix diff test with iproute2 6.8 @daniloegea
- cli/generate: skip daemon_reload with --mapping @daniloegea
- test: cleanup after wait_online test to fix DebCI @slyon
- CI: fork spread to get #179 fixes @slyon
- doc: Fix netplan-generate.md formatting (#483) @shirleyherox
- emitter: allow unicode characters in the emitter (LP#2071652) @daniloegea
- parse: do not escape all non-ascii bytes @daniloegea
Full Changelog: 1.0...1.0.1
1.0
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
andport-mac-learning
settings, useful for VXLAN tunnels with FRR. - New
netplan status --diff
subcommand, finding differences between configuration and system state:
Releasing v1.0
- state/status: add support for identifying bridge/bond/vrf members by @daniloegea in #420
- Netplan status --diff by @daniloegea in #440
- Netplan state diff by @daniloegea in #386
- parse: allow COMMON_LINK_HANDLERS for VRFs (LP#2031421, Closes: #1049432) by @slyon in #401
- netplan: add support for WPA3-Enterprise (LP#2029876) by @daniloegea in #402
- wifi: support WPA2 and WPA3 Personal simultaneously by @daniloegea in #404
- auth: add support for LEAP and EAP-PWD (LP#2038811) by @daniloegea in #415
- wifi: make it possible to have a psk and an eap password simultaneously by @daniloegea in #416
- Migrate CriticalConnection (deprecated) to KeepConfiguration (LP#1896799) by @chr4 in #424
- apply: bring "lo" back up if it's managed by NM (LP# 2034595) by @daniloegea in #408
- Post 0.107 cleanup & dropping API/ABI compat by @slyon in #400
- ABI: Refactoring for libnetplan.so.1 by @slyon in #434
- Add additional bridge port settings by @chdxD1 in #410
- SR-IOV improvements (VF-LAG support) by @daniloegea in #439
Documentation
- Add spelling checking to the CI by @daniloegea in #417
- doc: libnetplan API reference, using Doxygen and Sphinx.breathe by @slyon in #423
- doc: Update 'Netplan everywhere' for 23.10 by @slyon in #418
- added mii-monitor-interval by @Sudo-Whodo in #411
- Adopt Docs Starter Pack by @rkratky in #429
- Fix howto docs by @rkratky in #430
- docs: add a topic about security by @daniloegea in #433
- Document and restructure libnetplan's public API symbols by @slyon in #438
- Lang. & formatting fixes in API docs. by @rkratky in #441
- Update examples.md by @sahil-sagwekar2652 in #442
Bug fixes
- GitHub CI fixes by @daniloegea in #405
- 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
- cli/sriov: remove unused code by @daniloegea in #435
- wireguard: ignore empty endpoints (LP#2038811) by @daniloegea in #414
- parse: improve the parsing of access-points (LP#1809994) by @daniloegea in #413
- tests: Add autopkgtest for LP#1959570 by @slyon in #419
- Fix permissions on folder '/run/NetworkManager/' by @matdug in #422
- parse-nm/wg: append the correct prefix to IPv6 addresses (LP#2046158) by @daniloegea in #428
- ovs: disable StartLimitBurst in the ovs-cleanup service (LP#2047827) by @daniloegea in #431
- ctests: stop including C files in the test files by @daniloegea in #432
- workflow/coverity: install missing dependencies by @daniloegea in #436
- state_diff: fix filtering of host scoped routes by @daniloegea in #426
- sriov: don't generate duplicate entries in the rebind.service file by @daniloegea in #437
- check if ovsdb-server.service is active before displaying warning by @viciousdrop in #421
- parser: accept the special MAC address options (LP#2045096) by @daniloegea in #427
- CI: fix NetworkManager autopkgtest not using deb822 by @slyon in #443
- tests:integration: Be less strict about systemctl daemon-reload (LP#2048388) by @slyon
- Netplan status --diff refactoring by @daniloegea in #444
New Contributors
- @chdxD1 made their first contribution in #410
- @chr4 made their first contribution in #424
- @Sudo-Whodo made their first contribution in #411
- @matdug made their first contribution in #422
- @rkratky made their first contribution in #429
- @viciousdrop made their first contribution in #421
- @sahil-sagwekar2652 made their first contribution in #442
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...
0.107.1
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
Releasing v0.107:
- Support for "dummy" (
dummy-devices
) interfaces (LP#1774203) by @daniloegea in #361 - Support for "veth" (
virtual-ethernets
) interfaces by @daniloegea in #368 - Add Python bindings for libnetplan by @slyon in #385
- netplan: Handle command exceptions by @daniloegea in #334
- WPA3 (personal) support (LP#2023238) by @daniloegea in #369
- Add all the commands to the bash completion file (LP#1749869) by @daniloegea in #326
- New submodule for state manipulation by @daniloegea in #379
- commands/status: show routes from all routing tables by @daniloegea in #390
- cli:status: Make rich pretty printing optional by @slyon in #388
- libnetplan: expose dhcp4 and dhcp6 properties by @daniloegea in #394
- Expose macaddress and DNS configuration from the netdef by @daniloegea in #395
- libnetplan: expose the routes list in the netdef by @daniloegea in #397
- NetworkManager: Wireguard private key flag support by @daniloegea in #371
- Add a netplan_parser_load_keyfile() Python binding by @daniloegea in #351
- keyfile parser: add support for all tunnel types (LP#2016473) by @daniloegea in #360
- parse-nm:wg: add support for reading the listen-port property by @daniloegea in #372
- parse-nm: add support for VRF devices by @daniloegea in #398
- Vlan keyfile parser support by @daniloegea in #370
- Netplan docs rework by @daniloegea in #333 & #337
- docs: Add a short netplan-everywhere howto by @daniloegea in #325
- doc: make us of sphinx copybutton plugin by @slyon in #354
- doc: Add Ubuntu Code of Conduct 2.0 by @slyon in #355
- doc: Explanation about 00-network-manager-all.yaml by @slyon in #378
Bug fixes:
- Fix FTBFS on Fedora and refresh RPM packaging by @Conan-Kudo in #323
- parser: validate lacp-rate properly (LP#1745648) by @daniloegea in #324
- meson: use meson-make-symlink.sh helper script instead of install_symlink() by @slyon in #327
- netplan: cli: fix typo from 'unkown' to 'unknown' by @AristoChen in #328
- Handle duplication during parser second pass (LP#2007682) by @daniloegea in #329
- parse:ovs: Ignore deprecated OpenFlow1.6 protocol (LP#1963735) by @slyon in #332
- dbus: Build the copy path correctly by @daniloegea in #331
- tests: add new spread based snapd integration test by @mvo5 in #330
- Use controlled execution environment, to avoid failure if PATH is unset (LP#1959570) by @slyon in #336
- Some refactoring by @slyon in #338
- netplan: adjust the maximum buffer size to 1MB by @daniloegea in #340
- parse: use "--" with systemd-escape by @daniloegea in #347
- docs: fix bridge parameters types and add examples by @daniloegea in #346
- vrfs: skip policies parsing if list is NULL (LP#2016427) by @daniloegea in #341
- networkd: plug a memory leak by @daniloegea in #344
- libnetplan: don't try to read from a NULL file by @daniloegea in #342
- nm: return if write_routes() fails by @daniloegea in #345
- parse: plug a memory leak by @daniloegea in #348
- parse: set the backend on nm-devices to NM by default by @daniloegea in #349
- parse: don't point to the wrong node on validation by @daniloegea in #343
- rtd: set the OS and Python versions explicitly by @daniloegea in #357
- Fix 8021x eap method parsing (LP#2016625) by @daniloegea in #358
- CI: update canonical/setup-lxd to v0.1.1 by @barrettj12 in #359
- CI: fix dch after adding the new 0.106.1 tag by @daniloegea in #364
- Provide frequency to wpa_supplicant when in adhoc mode (LP#2020754) by @yevmel in #363
- Improve the coverage of the memory leak tests by @daniloegea in #365
- Fix keyfile parsing of wireguard config when the prefix of allowed IPs is omited by @daniloegea in #366
- routes: fix metric rendering (LP#2023681) by @bengentil in #367
- CI: add DebCI integration test by @slyon in #362
- CI: initial NetworkManager autopkgtests by @slyon in #374
- parse-nm: handle cloned-mac-address special cases (LP#2026230) by @daniloegea in #376
- Improve autopkgtest stability with systemd 253 & iproute 6.4 by @slyon in #377
- Fixes for minor issues by @daniloegea in #380
- tests:integration: Adopt for systemd v254 (Closes: #1041310) by @slyon in #381
- parse: Downgrade NM passthrough warning to debug by @slyon in #384
- netplan.c: Don't drop files with just global values on 'set' (LP#2027584) by @slyon in #382
- Fixing Coverity issues by @daniloegea in #383
- CLI: Refactoring to avoid namespace clash with public bindings by @slyon in #387
- tests: fix test coverage report with newer python-coverage by @daniloegea in #389
- github: add a scheduled action to run Coverity by @daniloegea in #391
- github: only run the coverity workflow on our repository by @daniloegea in #392
- Addressing a few issues found by coverity by @daniloegea in #393
- Wireguard fixes by @daniloegea in #352
- Fix a memory leak, an assert and an error message by @daniloegea in #350
- ovs: don't allow peers with the same name by @daniloegea in #353
- CI: make use of the canonical/setup-lxd action by @slyon in #356
New Contributors
- @AristoChen made their first contribution in #328
- @barrettj12 made their first contribution in #359
- @yevmel made their first contribution in #363
- @bengentil made their first contribution in #367
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...
0.106.1
Releasing v0.106.1:
- CI: make use of the canonical/setup-lxd action by @slyon
- Netplan docs rework (Part 2) (#337) by @daniloegea
- Add new spread based snapd integration test by @mvo5
- Netplan docs rework (#333) by @daniloegea
- Add some integration tests for DBus by @daniloegea
- Add all the commands to the bash completion file (LP#1749869) (#326) by @daniloegea
- Add a short netplan-everywhere howto (#325) by @daniloegea
- Add Ubuntu Code of Conduct 2.0 by @slyon
Bug fixes:
- CI: update canonical/setup-lxd to v0.1.1 (#359) by @barrettj12
- parse-nm: fix eap_method handling (LP#2016625) by @daniloegea
- rtd: set the OS and Python versions explicitly by @daniloegea
- ovs: don't allow peers with the same name by @daniloegea
- parse: validate NM backend settings usage by @daniloegea
- nm: check the passthrough config format by @daniloegea
- wireguard: plug a memory leak by @daniloegea
- validate: drop the YAML node parameter by @daniloegea
- parse: don't point to the wrong node on validation by @daniloegea
- parse: set the backend on nm-devices to NM by default (#349) by @daniloegea
- parse: plug a memory leak (#348) by @daniloegea
- nm: return if write_routes() fails by @daniloegea
- libnetplan: don't try to read from a NULL file by @daniloegea
- networkd: plug a memory leak by @daniloegea
- vrfs: skip policies parsing if list is NULL (LP#2016427) (#341) by @daniloegea
- docs: fix bridge parameters types and add examples (#346) by @daniloegea
- parse: use "--" with systemd-escape by @daniloegea
- netplan: adjust the maximum buffer size to 1MB by @daniloegea
- cli:status: improve networkctl parameter passing by @slyon
- cli:test: use 'text' alias instead of 'universal_newlines' by @slyon
- Makefile: fully cleanup coverage data by @slyon
- cli:apply: use shutil.rmtree instead of 'rm -rf' by @slyon
- Use controlled execution environment, to avoid failure if PATH is unset (LP#1959570) (#336) by @slyon
- meson: fix installation of legacy /lib/netplan/generate symlink by @slyon
- spread.yaml: restore /etc/netplan for each test by @mvo5
- dbus: Use the error set by _copy_yaml_state() by @daniloegea
- dbus: Build the copy path correctly (LP#1997467) by @daniloegea
- parse:ovs: Ignore deprecated OpenFlow1.6 protocol (LP#1963735) by @slyon
- parser: Don't duplicate OVS configuration (LP#2007682) by @daniloegea
- tests: Don't use duplicated DNS entries (LP#2007682) by @daniloegea
- parser: Don't add DNS entries duplicates (LP#2007682) by @daniloegea
- parser: handle duplicated routing rules (LP#2007682) by @daniloegea
- netplan: cli: fix typo from 'unkown' to 'unknown' by @AristoChen
- meson: cli:utils: drop legacy generator path, use libexec instead by @slyon
- meson: use meson_make_symlink.sh helper script instead of install_symlink() by @slyon
- parser: demote the new lacp-rate check to warning by @daniloegea
- ATTN: parser: validate lacp-rate properly (LP#1745648) (#324) by @daniloegea
- rpm: Refresh packaging for 0.106 and sync from Fedora by @Conan-Kudo
- meson: Enable finding pycoverage on RPM based distributions by @Conan-Kudo
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
Releasing v0.106:
- New 'netplan status' CLI by @slyon in #290
- API: implement APIs from the new specification by @daniloegea in #298
- Check and fix non-inclusive language by @daniloegea in #303
- Documentation improvements (using Diátaxis & RTD) by @slyon
- Match by PermanentMACAddress by @rlaager in #278
- Netplan api iterator by @daniloegea in #306
- API: update netplan_delete_connection() to avoid spawning another process by @slyon in #322
- NetworkManager 1.40 compat & file permission fixes (LP#1862600, LP#1997348) by @slyon in #300
- Migrate from (deprecated) nose to pytest by @daniloegea in #302
- parse: Add the filepath to OVS ports netdefs by @daniloegea in #295
- Check if the interface name is too long (LP#1988749) by @daniloegea in #313
- doc/examples: remove unnecessary route for IPv6 on-link gateways by @sbraz in #312
- Memory leak CI action by @daniloegea in #321
- tests:base:ethernets: Improve stability of autopkgtests by @slyon in #223
Bug fixes:
- Fix some memory leaks by @daniloegea in #297
- parser: plug a memory leak by @daniloegea in #309
- src:parse: plug memory leaks in nullable handling by @slyon in #319
- Fix 'netplan ip leases' crash (LP#1996941) by @daniloegea in #301
- tests: mock calls to systemctl by @daniloegea in #314
- ctests: fix an integer conversion issue by @daniloegea in #315
- docs: small fix on netplan-set doc by @daniloegea in #316
- parser: return the correct error on failure (LP#2000324) by @daniloegea in #308
- apply: Fix crash when OVS is stopped (LP#1995598) by @daniloegea in #307
- networkd: make sure VXLAN is in the right section (LP#2000713) by @daniloegea in #310
- cli:set: update only specific origin-hint if given (LP#1997467) by @slyon in #299
- vxlan: convert some settings to tristate (LP#2000712) by @daniloegea in #311
- parser: check for route duplicates (LP#2003061) by @daniloegea in #320
New Contributors:
- @daniloegea made their first contribution in #297
- @sbraz made their first contribution in #312
- @rlaager made their first contribution in #278
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
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:
- Fix
apply
netdev rename/create race condition (#260), LP#1962095 - Fix
try
timeout (#271), LP#1967084 - Fix infinite timeouts in ovs-vsctl (#266), Debian#1000137
- Fix offload options using tristate setting (#270), LP#1956264
- Fix rendering of NetworkManager passthrough WPA types (#279), LP#1972800
- Fix CLI crash on LibNetplanException (#286)
- Fix NetworkManager internal DHCP client lease lookup (#284), LP#1979674
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
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 andnetplan try
(#231), LP#1943120 - Support ConfigureWithoutCarrier (
ignore-carrier
) for networkd (#215) - Move primary git branch
master
tomain
- 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:
- 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
- WARNING: We dropped some internal symbols from the API that we know
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
- this is a slight change in behavior for NM, but is in line with the docs
- 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, keepdns-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)