Skip to content

Commit de3a44e

Browse files
authored
Merge pull request #1460 from kernelkit/releng
Documentation update and prep. for v26.03.0 Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2 parents cdc28ff + 996c857 commit de3a44e

6 files changed

Lines changed: 69 additions & 16 deletions

File tree

.github/SUPPORT.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
Limited free support is only available using the online resources of the
2-
project on GitHub, and Discord, see <https://github.com/kernelkit>:
2+
project on GitHub, and Discord, see <https://github.com/kernelkit/infix>:
33

4+
&nbsp;&nbsp; :house: <https://www.kernelkit.org> — home page, blog, news, howto's and tutorials
5+
&nbsp;&nbsp; :package: <https://github.com/kernelkit/infix/releases/latest> — latest release
46
&nbsp;&nbsp; :speech_balloon: <https://github.com/orgs/kernelkit/discussions>
5-
&nbsp;&nbsp; :bug: <https://github.com/kernelkit/infix/issues>
7+
&nbsp;&nbsp; :bug: <https://github.com/kernelkit/infix/issues>
68

79
Support contracts, development of new features, fast-tracking of reviews
810
and contributions, customer branding of Infix, and even customer specific

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,11 @@ APIs.
170170
[2]: https://www.sysrepo.org/ "Sysrepo Homepage"
171171
[3]: https://www.kernelkit.org/infix/latest/cli/introduction/
172172
[4]: https://www.kernelkit.org/infix/
173-
[5]: https://github.com/kernelkit/infix/releases
173+
[5]: https://github.com/kernelkit/infix/releases/latest
174174
[Latest Build]: https://github.com/kernelkit/infix/releases/tag/latest "Latest build"
175175
[License]: https://en.wikipedia.org/wiki/GPL_license
176176
[License Badge]: https://img.shields.io/badge/License-GPL%20v2-blue.svg
177-
[Release]: https://github.com/kernelkit/infix/releases
177+
[Release]: https://github.com/kernelkit/infix/releases/latest
178178
[Release Badge]: https://img.shields.io/github/v/release/kernelkit/infix
179179
[GitHub]: https://github.com/kernelkit/infix/actions/workflows/build.yml/
180180
[GitHub Status]: https://github.com/kernelkit/infix/actions/workflows/build.yml/badge.svg

doc/ChangeLog.md

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Change Log
33

44
All notable changes to the project are documented in this file.
55

6-
[v26.03.0][UNRELEASED]
6+
[v26.03.0][] - 2026-03-30
77
-------------------------
88

99
### Changes
@@ -13,6 +13,11 @@ All notable changes to the project are documented in this file.
1313
- Upgrade FRR to 10.5.3
1414
- Add support for [Banana Pi R64 Mini][BPI-R64], 5 port router with WiFi 5
1515
- Add support for [Raspberry Pi 400][RPI-400], an RPi 4B built into a keyboard
16+
- Significant boot time improvements, issue #1284. The [InitViz][] boot
17+
profiling tool is now included for users who want to visualize and measure
18+
the boot process on their own hardware
19+
- Add OSPF point-to-multipoint (P2MP) and hybrid interface type support. This
20+
also includes support for setting static neighbors, issue #1426
1621
- **Revamped <http://network.local> device browser**. Device cards now
1722
show the IP address, product name, and firmware version from mDNS TXT
1823
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.
2530
- cli: new `show mdns` command to list mDNS-discovered devices on the LAN,
2631
with addresses and product model
2732
- Add SSH client commands to the CLI:
28-
- `ssh [user <name>] [port <num>] <host>` — connect to a remote device
29-
- `set ssh known-hosts <host> <keytype> <pubkey>` — pre-enroll a host key
30-
received out-of-band, e.g. after a factory reset changes the device host key
31-
- `no ssh known-hosts <host>` — remove a stale or changed host key entry
32-
- Add OSPF point-to-multipoint (P2MP) and hybrid interface type support. This
33-
also includes support for setting static neighbors, issue #1426
33+
- `ssh [user <name>] [port <num>] <host>` — connect to a remote device
34+
- `set ssh known-hosts <host> <keytype> <pubkey>` — pre-enroll a host key
35+
received out-of-band, e.g. after a factory reset
36+
- `no ssh known-hosts <host>` — remove a stale or changed host key entry
3437
- Add support for user-configurable HTTPS certificate: select any certificate
3538
stored in the keystore via `services web certificate <name>`. The default
3639
auto-generated self-signed certificate is now stored in the keystore rather
3740
than in `/cfg/ssl` and existing certificates are auto-migrated on upgrade
41+
- Add NTP `stratum-weight` setting to fine-tune server selection when multiple
42+
NTP sources are available with different stratum levels
43+
- Enable HDMI console output on Raspberry Pi 4 and Pi 400. Previously the
44+
display was suppressed; a login prompt now appears on the HDMI monitor
3845

3946
### Fixes
4047

4148
- Fix #892: suppress rousette RESTCONF server warnings from syslog
49+
- Fix #1122: add missing migration script for the YANG validation introduced
50+
in v25.10.0 that disallows IP addresses on bridge member ports. Without
51+
this script, upgrading with such a `startup-config` would prevent the device
52+
from booting. The migration removes all IP addresses from bridge member
53+
ports; any addresses that should be kept must be re-added to the bridge
54+
interface itself after upgrade
4255
- Fix #1387: `infix.local` now resolves to exactly one device per LAN. Previously
4356
all Infix devices claimed both `hostname.local` and `infix.local`, causing avahi
4457
to append `#2`, `#3` suffixes to the shared alias on busy networks. Assignment
4558
is now first-come-first-served using standard mDNS conflict resolution
59+
- Fix #1389: firewall policies with names longer than 17 characters were
60+
silently rejected
4661
- Fix #1416: `show firewall` command show an error when the firewall is disabled
62+
- Fix #1438: default route from DHCP client not set at boot, regression in v26.02.0
63+
- Fix #1446: suppress netopeer2-server NETCONF server warnings from syslog
64+
- Fix #1456: update project links in SUPPORT.md and README.md to point to
65+
the home page and blog at <https://www.kernelkit.org>, and update the
66+
release link to always resolve to the latest stable release
4767
- Fix regression in MVEBU SafeXcel Crypto Engine for Marvell Armada SOCs (37xx,
4868
7k, 8k, and CN913x series). Firmware package lost in v26.01.0
49-
- Fix #1438: default route from DHCP client not set at boot, regression
50-
introduced in v26.02.0
51-
- Fix #1446: suppress netopeer2-server NETCONF server warnings from syslog
5269
- Fix DHCP client not sending hostname to server (e.g. for `dnsmasq` lease
5370
registration). All board factory configs had the hostname option without
5471
`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.
6077
`dhcp-authoritative` so clients with unexpired leases are not NAKed after
6178
a router crash or factory reset that clears the lease database
6279

63-
[BPI-R64]: https://docs.banana-pi.org/en/BPI-R64/BananaPi_BPI-R64
64-
[RPI-400]: https://www.raspberrypi.com/products/raspberry-pi-400/
80+
[BPI-R64]: https://docs.banana-pi.org/en/BPI-R64/BananaPi_BPI-R64
81+
[RPI-400]: https://www.raspberrypi.com/products/raspberry-pi-400/
82+
[InitViz]: https://github.com/finit-project/InitViz
6583

6684
[v26.02.0][] - 2026-03-01
6785
-------------------------

doc/developers-guide.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,28 @@ making any changes, **always discuss them with the Infix core team**.
175175
This helps avoid issues later in development and makes pull request
176176
reviews smoother.
177177

178+
### Configuration Migration
179+
180+
> [!IMPORTANT]
181+
> Whenever a YANG model change makes existing `startup-config` files
182+
> incompatible — removing a node, renaming a key, restructuring a
183+
> container — you **must** include a migration script so that devices
184+
> upgrading in the field are not left unbootable.
185+
186+
Migration scripts live in `src/confd/share/migrate/<version>/` where
187+
`<version>` is the confd version (defined in `src/confd/configure.ac`)
188+
that introduces the breaking change. Each script receives the path to
189+
the startup configuration file as its first argument and must edit it
190+
in-place. Scripts are run in lexicographic order, so prefix them with
191+
a number (e.g. `40-my-change.sh`).
192+
193+
See `src/confd/share/migrate/1.6/40-bridge-port-remove-ip.sh` for a
194+
worked example, and the [Configuration Migration][upgrade-migration]
195+
section of the Upgrade documentation for the user-facing side of this
196+
mechanism.
197+
198+
[upgrade-migration]: upgrade.md#configuration-migration
199+
178200
### `confd`
179201

180202
The Infix `src/confd/` is the engine of the system. Currently it is a

doc/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ This document provides an introduction of key concepts, details how
1818
the system boots, including failure modes, and provides links to
1919
other documents for further study.
2020

21+
## Project Links
22+
23+
| **Topic** | **URL** |
24+
|---------------------------------------------|------------------------------------------------------|
25+
| :fontawesome-solid-house: Home page & blog | <https://www.kernelkit.org> |
26+
| :fontawesome-brands-github: GitHub | <https://github.com/kernelkit/infix> |
27+
| :fontawesome-solid-box-open: Latest release | <https://github.com/kernelkit/infix/releases/latest> |
28+
2129
## Command Line Interface
2230

2331
The command line interface (CLI, see-ell-i) is the traditional way of

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ markdown_extensions:
129129
- pymdownx.highlight:
130130
anchor_linenums: true
131131
- pymdownx.inlinehilite
132+
- pymdownx.emoji:
133+
emoji_index: !!python/name:material.extensions.emoji.twemoji
134+
emoji_generator: !!python/name:material.extensions.emoji.to_svg
132135
- pymdownx.snippets
133136
- pymdownx.tabbed:
134137
alternate_style: true

0 commit comments

Comments
 (0)