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 versions explicitly
tools: add a tool to convert keyfiles to YAML
parse-nm: fix eap_method handling
parse_nm: add support for Wireguard
parse-nm: relax validation for wireguard
nm-parse: add support for all tunnel modes
tests: adjust tests after last changes
parse-nm: rename some helper functions
tests: add some ctests for the keyfiles parser
nm-parse: fix an invalid memory access
parse-nm: plug a memory leak
docs: gretap and ip6gretap also works for NM now
netplan: introduce some classes of errors
netplan: replace glib errors with the new ones
netplan: create exceptions for each error code
tests: adjust the tests for the new error handling
errors: adopt NetplanError in favor of GError
parse: plug a memory leak
parse: plug a memory leak
tools: add a C keyfile loader tool
tools/run_asan.sh: call the keyfile loader on NM files
tests: add a new parameter to generate_from_keyfile
parse-nm:wg: auto append the prefix to allowed IPs
parser: add support for WPA3-Personal
examples: add an example for WPA3
docs: add SAE (WPA3) to the key-management list
tests: fix run_asan.sh for new types of interfaces
parser: add support for Dummy interfaces
docs: add documentation for dummy interfaces
tests: add unit and integration tests for dummies
abi: suppress error due to new NetplanDefType type
examples: add an example file for dummy interfaces
parse-nm:wg: add support for reading the listen-port property
parser: introduce the "placeholder" interface type
parse-nm: add support for VLANs
tests: fix keyfile parser existing tests
parse: handle redefinition of a place holder netdef
parse-nm: handle cloned-mac-address special cases
netplan: prevent some signed vs unsigned comparisons
abi: convert the protocol family from uint to int
names.c: don't return -1 on netplan_*_from_name()
abi: convert wowlan to int
types: remove duplicated code
validation: convert members of _defroute_entry to guint
names: convert index i to size_t
util: store the pointer arithmetic result in a size_t variable
nm/parse-nm: drop 'const' from the return type of some functions
generate/parse: fix missing member initializer
netplan: annotate all the unused parameters with __unused
meson: increase warning_level to 2
abi: add the new netdef field "tunnel_private_key_flags"
parsers: add support for the key "private-key-flags"
validation: use the new field to validate WG connections
tests: add tests for the new wireguard property
docs: add the new private-key-flags key to the documentation
libnetplan: enable dump_yaml_subtree to use StringIO as input/output
netplan:cli:state: new module to collect network configuration
commands:get/status: remove the code moved to state.py
tests: refactor some tests after the inclusion of state.py
status: add vlan to list of interface types
netplan: export an IP addresses iterator API
parse: don't check if a guint variable is > G_MAXUINT
parse: reset wireguard_peer to NULL after error
abi_compat: check if open() succeeded
parse: cast void* to char* when passing it to yaml_error()
util: make sure parser is initialized when we get to err_path
nm: drop const qualifier from function return type
nm: plug memory leak
ctests: add a new cmocka test file for the NM backend
openvswitch: plug a memory leak
ctests: add a new cmocka openvswitch test file
abi_compat: plug a memory leak
validation: plug a memory leak
parse: plug a memory leak
util: plug a file descriptor leak
networkd: plug a memory leak
parse-nm: plug a memory leak
netplan: set umask before calling mkstemp
netplan: prevent calling close() twice against the same fd
tests: fix test coverage report with newer python-coverage
state: refactor the routes parsing in the Interface class
commands/status: query routes from all the tables
github: add a scheduled action to run Coverity
parser: add support for virtual-ethernet interfaces
virtual-ethernet: add validation rules for virtual-ethernets
networkd: generate configuration for virtual-ethernets
virtual-ethernet: add support for virtual-ethernets to the YAML emitter
examples: add a virtual-ethernets example file
nm: add support for virtual-ethernets
parse-nm: add support for virtual-ethernets
tests: new generator tests for virtual-ethernets
docs: update the documentation with the new virtual-ethernets devices
tests: add integration tests for virtual-ethernets
github: only run the coverity workflow on our repository
util: prevent calling close() on negative descriptor
parse: restore npp->current.route to NULL
libnetplan: expose dhcp4 and dhcp6 properties
libnetplan: expose the macaddress property in the netdef
libnetplan: refactor address_iter according to our naming standard
libnetplan: expose DNS configuration from netdefs
libnetplan: expose the routes list in the netdef
parse-nm: add support for VRF devices
libnetplan: refactor NetplanRoute
state: refactor the device types translation table
state: include the family in the route entries
tests: add the IP family to the route data
Danilo Egêa Gondolfo (11):
docs: Add a short netplan-everywhere howto (#325)
ATTN: parser: validate lacp-rate properly (LP: #1745648) (#324)
Add all the commands to the bash completion file (LP: #1749869) (#326)
Netplan docs rework (#333)
Netplan docs rework (Part 2) (#337)
docs: fix bridge parameters types and add examples (#346)
vrfs: skip policies parsing if list is NULL (LP: #2016427) (#341)
parse: plug a memory leak (#348)
parse: set the backend on nm-devices to NM by default (#349)
CI: fix dch after adding the new 0.106.1 tag (#364)
docs: improve wording in netplan-yaml.md
Jordan Mitchell Barrett (1):
CI: update canonical/setup-lxd to v0.1.1 (#359)
Lukas Märdian (51):
Makefile: drop legacy build, add meson wrapper
CI: CodeQL: add pytest build-deps
CI: CodeQL: add cmocka build-deps
Revert "meson: Account for UsrMerged systemd paths"
meson: use absolute link target for generator symlink
Revert "meson: use absolute link target for generator symlink"
meson: use meson_make_symlink.sh helper script instead of install_symlink()
meson: cli:utils: drop legacy generator path, use libexec instead
parse:ovs: Ignore deprecated OpenFlow1.6 protocol (LP: #1963735)
meson: fix installation of legacy /lib/netplan/generate symlink
Use controlled execution environment, to avoid failure if PATH is unset (LP: #1959570) (#336)
cli:apply: use shutil.rmtree instead of 'rm -rf'
Makefile: fully cleanup coverage data
cli:test: use 'text' alias instead of 'universal_newlines'
cli:status: improve networkctl parameter passing
doc: make us of sphinx copybutton plugin
doc: Add Ubuntu Code of Conduct 2.0
CI: make use of the canonical/setup-lxd action
meson: Increase test timeout for slow architectures
CI: add DebCI integrationt test
CI: autopkgtest: build proper package version for dch
CI: new RPM build tests
meson: Increase test timeouts further avoiding mips64el/riscv64 buildd FTBFS
CI: initial NetworkManager autopkgtests
CI: RPMbuild: disable fedora:rawhide, due to package conflicts
doc: Explanation about 00-network-manager-all.yaml
tests:base: Fix NetworkManager interaction with systemd v253
tests:base: introduce iface_json() helper
tests:tunnels: make use of iface_json()
tests:regressions: simplify assertions to avoid buffering races
Readme: Drop (internal) documentation-objectives link
tests:integration: Adopt for systemd v254
parse: Downgrade NM passthrough warning to debug
netplan.c: Don't drop files with just global values on 'set' (LP: #2027584)
CLI: Refactoring to avoid namespace clash with public bindings
tests: adopt to refactored netplan_cli module
types: avoid exporting private symbol: free_address_options
meson: Don't fail codestyle, due to meson scripts
cli:status: Make rich pretty printing optional (#388)
parse-nm: improve some error passing
CI: Add python3-cffi build-dependency
include: Extend public API functions
src: make internal API functions/structures available
bindings: python-cffi build skeleton
bindings: Initial implementation of CFFI Python bindings
cli:tools:test: Make use of new cffi python bindings
cli: drop legacy/internal ctypes bindings, now unused
examples: Add an example of how to use Netplan's CFFI bindings
abi-compat: bump for 0.107
doc: Mark dummy and veth devices, available as of 0.107
Bump version to 0.107
Michael Vogt (2):
tests: add new spread based snapd integration test
spread.yaml: restore /etc/netplan for each test
Neal Gompa (3):
meson: Enable finding pycoverage on RPM based distributions
meson: Account for UsrMerged systemd paths
rpm: Refresh packaging for 0.106 and sync from Fedora
Yevgeniy Melnichuk (3):
provide frequency to wpa_supplicant when in adhoc mode.
added unit test checking generated wpa_supplicant.conf in adhoc mode.
added examples for wireless adhoc mode.