Merge pull request #1460 from kernelkit/releng

Documentation update and prep. for v26.03.0

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2026-03-30 16:03:59 +02:00
committed by GitHub
6 changed files with 69 additions and 16 deletions
+4 -2
View File
@@ -1,8 +1,10 @@
Limited free support is only available using the online resources of the Limited free support is only available using the online resources of the
project on GitHub, and Discord, see <https://github.com/kernelkit>: project on GitHub, and Discord, see <https://github.com/kernelkit/infix>:
&nbsp;&nbsp; :house: <https://www.kernelkit.org> — home page, blog, news, howto's and tutorials
&nbsp;&nbsp; :package: <https://github.com/kernelkit/infix/releases/latest> — latest release
&nbsp;&nbsp; :speech_balloon: <https://github.com/orgs/kernelkit/discussions> &nbsp;&nbsp; :speech_balloon: <https://github.com/orgs/kernelkit/discussions>
&nbsp;&nbsp; :bug: <https://github.com/kernelkit/infix/issues> &nbsp;&nbsp; :bug: <https://github.com/kernelkit/infix/issues>
Support contracts, development of new features, fast-tracking of reviews Support contracts, development of new features, fast-tracking of reviews
and contributions, customer branding of Infix, and even customer specific and contributions, customer branding of Infix, and even customer specific
+2 -2
View File
@@ -170,11 +170,11 @@ APIs.
[2]: https://www.sysrepo.org/ "Sysrepo Homepage" [2]: https://www.sysrepo.org/ "Sysrepo Homepage"
[3]: https://www.kernelkit.org/infix/latest/cli/introduction/ [3]: https://www.kernelkit.org/infix/latest/cli/introduction/
[4]: https://www.kernelkit.org/infix/ [4]: https://www.kernelkit.org/infix/
[5]: https://github.com/kernelkit/infix/releases [5]: https://github.com/kernelkit/infix/releases/latest
[Latest Build]: https://github.com/kernelkit/infix/releases/tag/latest "Latest build" [Latest Build]: https://github.com/kernelkit/infix/releases/tag/latest "Latest build"
[License]: https://en.wikipedia.org/wiki/GPL_license [License]: https://en.wikipedia.org/wiki/GPL_license
[License Badge]: https://img.shields.io/badge/License-GPL%20v2-blue.svg [License Badge]: https://img.shields.io/badge/License-GPL%20v2-blue.svg
[Release]: https://github.com/kernelkit/infix/releases [Release]: https://github.com/kernelkit/infix/releases/latest
[Release Badge]: https://img.shields.io/github/v/release/kernelkit/infix [Release Badge]: https://img.shields.io/github/v/release/kernelkit/infix
[GitHub]: https://github.com/kernelkit/infix/actions/workflows/build.yml/ [GitHub]: https://github.com/kernelkit/infix/actions/workflows/build.yml/
[GitHub Status]: https://github.com/kernelkit/infix/actions/workflows/build.yml/badge.svg [GitHub Status]: https://github.com/kernelkit/infix/actions/workflows/build.yml/badge.svg
+30 -12
View File
@@ -3,7 +3,7 @@ Change Log
All notable changes to the project are documented in this file. All notable changes to the project are documented in this file.
[v26.03.0][UNRELEASED] [v26.03.0][] - 2026-03-30
------------------------- -------------------------
### Changes ### Changes
@@ -13,6 +13,11 @@ All notable changes to the project are documented in this file.
- Upgrade FRR to 10.5.3 - Upgrade FRR to 10.5.3
- Add support for [Banana Pi R64 Mini][BPI-R64], 5 port router with WiFi 5 - Add support for [Banana Pi R64 Mini][BPI-R64], 5 port router with WiFi 5
- Add support for [Raspberry Pi 400][RPI-400], an RPi 4B built into a keyboard - Add support for [Raspberry Pi 400][RPI-400], an RPi 4B built into a keyboard
- Significant boot time improvements, issue #1284. The [InitViz][] boot
profiling tool is now included for users who want to visualize and measure
the boot process on their own hardware
- Add OSPF point-to-multipoint (P2MP) and hybrid interface type support. This
also includes support for setting static neighbors, issue #1426
- **Revamped <http://network.local> device browser**. Device cards now - **Revamped <http://network.local> device browser**. Device cards now
show the IP address, product name, and firmware version from mDNS TXT show the IP address, product name, and firmware version from mDNS TXT
records. the mDNS browser is now also available over plain HTTP records. the mDNS browser is now also available over plain HTTP
@@ -25,30 +30,42 @@ All notable changes to the project are documented in this file.
- cli: new `show mdns` command to list mDNS-discovered devices on the LAN, - cli: new `show mdns` command to list mDNS-discovered devices on the LAN,
with addresses and product model with addresses and product model
- Add SSH client commands to the CLI: - Add SSH client commands to the CLI:
- `ssh [user <name>] [port <num>] <host>` — connect to a remote device - `ssh [user <name>] [port <num>] <host>` — connect to a remote device
- `set ssh known-hosts <host> <keytype> <pubkey>` — pre-enroll a host key - `set ssh known-hosts <host> <keytype> <pubkey>` — pre-enroll a host key
received out-of-band, e.g. after a factory reset changes the device host key received out-of-band, e.g. after a factory reset
- `no ssh known-hosts <host>` — remove a stale or changed host key entry - `no ssh known-hosts <host>` — remove a stale or changed host key entry
- Add OSPF point-to-multipoint (P2MP) and hybrid interface type support. This
also includes support for setting static neighbors, issue #1426
- Add support for user-configurable HTTPS certificate: select any certificate - Add support for user-configurable HTTPS certificate: select any certificate
stored in the keystore via `services web certificate <name>`. The default stored in the keystore via `services web certificate <name>`. The default
auto-generated self-signed certificate is now stored in the keystore rather auto-generated self-signed certificate is now stored in the keystore rather
than in `/cfg/ssl` and existing certificates are auto-migrated on upgrade than in `/cfg/ssl` and existing certificates are auto-migrated on upgrade
- Add NTP `stratum-weight` setting to fine-tune server selection when multiple
NTP sources are available with different stratum levels
- Enable HDMI console output on Raspberry Pi 4 and Pi 400. Previously the
display was suppressed; a login prompt now appears on the HDMI monitor
### Fixes ### Fixes
- Fix #892: suppress rousette RESTCONF server warnings from syslog - Fix #892: suppress rousette RESTCONF server warnings from syslog
- Fix #1122: add missing migration script for the YANG validation introduced
in v25.10.0 that disallows IP addresses on bridge member ports. Without
this script, upgrading with such a `startup-config` would prevent the device
from booting. The migration removes all IP addresses from bridge member
ports; any addresses that should be kept must be re-added to the bridge
interface itself after upgrade
- Fix #1387: `infix.local` now resolves to exactly one device per LAN. Previously - Fix #1387: `infix.local` now resolves to exactly one device per LAN. Previously
all Infix devices claimed both `hostname.local` and `infix.local`, causing avahi all Infix devices claimed both `hostname.local` and `infix.local`, causing avahi
to append `#2`, `#3` suffixes to the shared alias on busy networks. Assignment to append `#2`, `#3` suffixes to the shared alias on busy networks. Assignment
is now first-come-first-served using standard mDNS conflict resolution is now first-come-first-served using standard mDNS conflict resolution
- Fix #1389: firewall policies with names longer than 17 characters were
silently rejected
- Fix #1416: `show firewall` command show an error when the firewall is disabled - Fix #1416: `show firewall` command show an error when the firewall is disabled
- Fix #1438: default route from DHCP client not set at boot, regression in v26.02.0
- Fix #1446: suppress netopeer2-server NETCONF server warnings from syslog
- Fix #1456: update project links in SUPPORT.md and README.md to point to
the home page and blog at <https://www.kernelkit.org>, and update the
release link to always resolve to the latest stable release
- Fix regression in MVEBU SafeXcel Crypto Engine for Marvell Armada SOCs (37xx, - Fix regression in MVEBU SafeXcel Crypto Engine for Marvell Armada SOCs (37xx,
7k, 8k, and CN913x series). Firmware package lost in v26.01.0 7k, 8k, and CN913x series). Firmware package lost in v26.01.0
- Fix #1438: default route from DHCP client not set at boot, regression
introduced in v26.02.0
- Fix #1446: suppress netopeer2-server NETCONF server warnings from syslog
- Fix DHCP client not sending hostname to server (e.g. for `dnsmasq` lease - Fix DHCP client not sending hostname to server (e.g. for `dnsmasq` lease
registration). All board factory configs had the hostname option without registration). All board factory configs had the hostname option without
`value: auto`, so `udhcpc` only requested the option instead of sending it. `value: auto`, so `udhcpc` only requested the option instead of sending it.
@@ -60,8 +77,9 @@ All notable changes to the project are documented in this file.
`dhcp-authoritative` so clients with unexpired leases are not NAKed after `dhcp-authoritative` so clients with unexpired leases are not NAKed after
a router crash or factory reset that clears the lease database a router crash or factory reset that clears the lease database
[BPI-R64]: https://docs.banana-pi.org/en/BPI-R64/BananaPi_BPI-R64 [BPI-R64]: https://docs.banana-pi.org/en/BPI-R64/BananaPi_BPI-R64
[RPI-400]: https://www.raspberrypi.com/products/raspberry-pi-400/ [RPI-400]: https://www.raspberrypi.com/products/raspberry-pi-400/
[InitViz]: https://github.com/finit-project/InitViz
[v26.02.0][] - 2026-03-01 [v26.02.0][] - 2026-03-01
------------------------- -------------------------
+22
View File
@@ -175,6 +175,28 @@ making any changes, **always discuss them with the Infix core team**.
This helps avoid issues later in development and makes pull request This helps avoid issues later in development and makes pull request
reviews smoother. reviews smoother.
### Configuration Migration
> [!IMPORTANT]
> Whenever a YANG model change makes existing `startup-config` files
> incompatible — removing a node, renaming a key, restructuring a
> container — you **must** include a migration script so that devices
> upgrading in the field are not left unbootable.
Migration scripts live in `src/confd/share/migrate/<version>/` where
`<version>` is the confd version (defined in `src/confd/configure.ac`)
that introduces the breaking change. Each script receives the path to
the startup configuration file as its first argument and must edit it
in-place. Scripts are run in lexicographic order, so prefix them with
a number (e.g. `40-my-change.sh`).
See `src/confd/share/migrate/1.6/40-bridge-port-remove-ip.sh` for a
worked example, and the [Configuration Migration][upgrade-migration]
section of the Upgrade documentation for the user-facing side of this
mechanism.
[upgrade-migration]: upgrade.md#configuration-migration
### `confd` ### `confd`
The Infix `src/confd/` is the engine of the system. Currently it is a The Infix `src/confd/` is the engine of the system. Currently it is a
+8
View File
@@ -18,6 +18,14 @@ This document provides an introduction of key concepts, details how
the system boots, including failure modes, and provides links to the system boots, including failure modes, and provides links to
other documents for further study. other documents for further study.
## Project Links
| **Topic** | **URL** |
|---------------------------------------------|------------------------------------------------------|
| :fontawesome-solid-house: Home page & blog | <https://www.kernelkit.org> |
| :fontawesome-brands-github: GitHub | <https://github.com/kernelkit/infix> |
| :fontawesome-solid-box-open: Latest release | <https://github.com/kernelkit/infix/releases/latest> |
## Command Line Interface ## Command Line Interface
The command line interface (CLI, see-ell-i) is the traditional way of The command line interface (CLI, see-ell-i) is the traditional way of
+3
View File
@@ -129,6 +129,9 @@ markdown_extensions:
- pymdownx.highlight: - pymdownx.highlight:
anchor_linenums: true anchor_linenums: true
- pymdownx.inlinehilite - pymdownx.inlinehilite
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.snippets - pymdownx.snippets
- pymdownx.tabbed: - pymdownx.tabbed:
alternate_style: true alternate_style: true