10561 Commits

Author SHA1 Message Date
Frederico Gomes
ad1b420397
wireguard: Enable FB to connect to a server using IPv6
This MR enables FreedomBox to connect as a "client" to a WireGuard
"server" using IPv6.

- Validate IPv4/6 with ip_interface
- Created helper functions to build NM settings for IPv4/6
- Modify get_settings to include settings for either IP version 4 or 6
- Created helper function to get NM address info
- Modify get_nm_info to work with IPv4 and IPv6
- Modified tests to use validate_ip_address_with_network
- Added IPv6 valid and invalid patterns to tests

Tested:

- IPv4 works unchanged
- IPv6 parsing + NM settings generation works
- IPv6 display in Show Server UI

Not tested:

- Needs IPv6 WireGuard server for full connectivity test

Closes: #1762

Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-26 18:41:20 -04:00
James Valleroy
9fd7a3b3af
debian/control: Add !nocheck for python3-segno
Tests:

- Succesfully build with nocheck profile:

gbp buildpackage --git-pbuilder --git-pbuilder-options="--profiles nocheck"

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 09:34:02 -04:00
Frederico Gomes
ea48448a72
wireguard: Added functional test for auto add client flow
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:51 -04:00
Frederico Gomes
050a5366c1
wireguard: Bump version
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:48 -04:00
Frederico Gomes
bc34a50a24
wireguard: Include python3-segno in app packages
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:46 -04:00
Frederico Gomes
ff2ac949cf
mypy: Added override for segno
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:43 -04:00
Frederico Gomes
941a597bc9
wireguard: Add security warning in template
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:38 -04:00
Frederico Gomes
5f25fc56a5
wireguard: Create URL for client config QR action
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:34 -04:00
Frederico Gomes
fa4e6002b3
wireguard: Add Show QR Code button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:31 -04:00
Frederico Gomes
f9984ea9e4
themes-icons: Add QR Code icon
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:27 -04:00
Frederico Gomes
18d6f2d5db
wireguard: Add action for QR code generation
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:21 -04:00
Frederico Gomes
68e28cdebc
build-dependencies: Add python3-segno
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:58 -04:00
Frederico Gomes
79c978e03a
wireguard: Add client config file section and download button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:53 -04:00
Frederico Gomes
ce2ce04979
wireguard: Create URL for client config download action
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:48 -04:00
Frederico Gomes
8e9b2a0631
wireguard: Create view to handle client config actions
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:32 -04:00
Frederico Gomes
60a6ac2a0d
wireguard: Create mixin for reusing generated client conf
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:09 -04:00
Frederico Gomes
bb6729a99a
wireguard: Create function for building conf files
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:03 -04:00
Frederico Gomes
81e60dff0e
wireguard: Add template to show generated client info
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:52:09 -04:00
Frederico Gomes
8cbcd39bb2
wireguard: Add empty form for AutoAddClientView
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:59 -04:00
Frederico Gomes
77a91fc357
wireguard/theme: Add icon to auto add client button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:48 -04:00
Frederico Gomes
ebac5e86a3
wireguard: Add auto add client button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:34 -04:00
Frederico Gomes
0a67183fe4
wireguard: Add URL for AutoAddClientView
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:29 -04:00
Frederico Gomes
36e1dd9e74
wireguard: Create AutoAddClientView
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:50:52 -04:00
Frederico Gomes
5fe11cedb6
wireguard: add wrapper function that generates client key pair
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:50:35 -04:00
jay
3d96f41053
Translated using Weblate (Dutch)
Currently translated at 93.9% (1813 of 1929 strings)
2026-05-21 18:11:36 +00:00
Hosted Weblate user 151773
511de5e106
Translated using Weblate (German)
Currently translated at 99.3% (1916 of 1929 strings)
2026-05-21 18:11:33 +00:00
James Valleroy
a40a8af714
Release v26.8~bpo13+1 to trixie-backports
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
debian/26.8_bpo13+1
2026-05-18 18:35:53 -04:00
James Valleroy
e79674811a freedombox release 26.8 for unstable
[dgit distro=debian split]
 [dgit please-upload source=freedombox version=26.8]
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmoChaYWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICMaqD/9UGAU4F5QRqIxV4fuVbABUg3/H
 Gp+IYMsyCPrRPqbLw1tVRDpYfEDFvEIT7QsGwOKG0vZ9B7+LbtgC4KP5Sk/BzxQ0
 pFzdUnsnPULAsOZ0TpizuqD4i3Pm4EIj3OBymFscGvjSHHs6DF8TGjt1WEbAfy1O
 0BL9k4gjLuJ8KxwNXVaOtaJMUMhC9Wj+hVnL0RK96HB5xS2jCcotKBHJ5v8L26Ef
 jAGL7pmcQuuMqtXR7i+6USMPZSRMRhfKfUcRV3mHAr7PEjBayd5/u+O7T3lbwDx9
 H/opk6ct7o4pS+U77q/rgR+XiTjG1FZ9UixphGaqmRbXYj8OmWwOsMK6DnNK7sej
 m0v/pF9Qdp4URkkfa8hG0uRwEMRO2EftQ/g7KEaIFm/5YpdLQwW0xpOFHEr2wzaJ
 UGHsAV9BqFUfrgvUrF/E5pYMpDV7tcAANqMoERxzhxQVt/yZA6a7e6osV81a2jeX
 HpTmObrNj1ySL4QrnGoLkQtmh9JKmPk5sklrItu22dEhgEcH523u9YYN0wJpJpAn
 bdcPTy9uDq7N1461Pk5Y9SuklvOc4sfT4EslR2axf0FlVpicFhqIUpuYYK1hO5CP
 8RGXVqh91wvMRPn37hn1nSBWvpmS4Vg2/FrLhYjvjyQC+LTZ6dQuPS+XfcwqPQnq
 +c+jx4mrYAEJTm/UmQ==
 =b6zC
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmoLlCcWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICHWAEACa2NG/rgB5I6c5rppZgrdGJDv5
 CIxIEzItTgFDiDlM13ZChu7seMamu4/m4vlF1W11b5n0tvowHFgQT37+4xO0T8hW
 o3jaGupWQvRM6PmwGY98u8c2WnpiRScSPSNl5yP1U7Ct6EDyC+2Jwiv24wH6FOTP
 /Eso6SrBVuODCDb6GfFBFs/HVnuYEd8AqhJ0lT+kJFJscvRVcExIGVOt5RGWKIK7
 bAi9minhj0pzScsznh4z0oGDu6XkzTgMO5Aqp2wV9ycFIq64zdQ1FH7g+iIl7Fpn
 9Pt9jLhR0SqoUxBGx6iTv6j6L5koYw4zUpX93V72nNu1cFe7zAcq9TJ5TPwjlqV1
 nDWYrqHhyCj8fQY9dyJPNfFr8/IG87oFMg2kyJpS/GOu0d9SKWwT8fvLA/msDwKo
 7LQYbXBCwFP6rs1zIggBYRWeYhpTrrTpIn6bcjX5XDtAptE7fLuxdZRKmKMNU3FK
 Zc7Q25b6QVVJrXsh5/zz3ol72XMvXc+sP/vn584pw2Dy44M0ZI1dVrzkyWpc+wIn
 bExea7Qe4cRP9qyfidkOWTEvdeapYXHkKcH6yBSMnIpx+dlZfoKiS+/cwGUYivW3
 JQ9FQh8imLM5ip4/rH/APyR1VNsvatflCqeT3gTjsTBzlqIvj1HVm77doTq0puLe
 IwnIovauU2T7ehk/6A==
 =KMLe
 -----END PGP SIGNATURE-----

Merge tag 'debian/26.8' into debian/trixie-backports

freedombox release 26.8 for unstable
2026-05-18 18:35:15 -04:00
Luca Boccassi
9abe624265
Install and use sysusers.d/tmpfiles.d config files
sysusers.d/tmpfiles.d config files allow a package to use
declarative configuration instead of manually written maintainer
scripts. This also allows image-based systems to be created
with /usr/ only, and also allows for factory resetting a system
and recreating /etc/ on boot.

https://www.freedesktop.org/software/systemd/man/latest/sysusers.d.html
https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html

Tests:

- /var/lib/plinth and /var/lib/plinth/sessions/ are created on package install.
  Ownership is plinth:plinth. 0755 is permissions.

- /var/lib/plinth/firstboot-wizard-secret file is created on package install.
  Ownership is plinth:plinth. 0400 is permissions. During first wizard,
  providing the secret works.

- /var/lib/plinth/backups-data is owned by root:root.

- When upgrading from old package to new the permissions don't change.

- When reinstalling the new package, the permissions do not change.

- User is created same as before.
  plinth❌987:987:FreedomBox service:/var/lib/plinth:/usr/sbin/nologin
- Group is created same as before.
  plinth❌987:
- id plinth
  uid=987(plinth) gid=987(plinth) groups=987(plinth)

- Upgrading from old package to new does not change user and group records.

- Reinstalling new version does not change user and group records.

[sunil: Don't recursively change ownership for /var/lib/plinth/]
[sunil: Change ownership specifically for /var/lib/plinth/firstboot-wizard-secret]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
Tested-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:45 -07:00
Luca Boccassi
a4b3d53141
Stop deleting system user on remove/purge
This is widely considered bad practice, as the kernel recycles
UIDs/GIDs. So any potential leftover file/directory can then
become owned by the next user/group that gets added, with
unpredictable consequences.
2026-05-13 15:37:41 -07:00
Sunil Mohan Adapa
529bbf77df
bepasty: Don't remove old system user and group
As removing a system user and group is considered a bad practice.  Old unused
system accounts are mostly harmless.

Tests:

- Bepasty functional tests pass.

- Installing bepasty and uploading a file works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:38 -07:00
Sunil Mohan Adapa
e48ff1afbc
infinoted: Use systemd-sysusers for creating a system user account
- Drop dependency on 'adduser' package.

Tests:

- Functional tests for infinoted work.

- Installing infinoted app works. The system user and group are created with
proper UID/GID, shell, gecos, and home directory.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:35 -07:00
Sunil Mohan Adapa
f4be9039d2
syncthing: Use systemd-sysusers for creating a system user account
- Drop dependency on 'adduser' package.

Tests:

- Functional tests for syncthing work.

- Installing syncthing app works. The system user and group are created with
proper UID/GID, shell, gecos, and home directory.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:32 -07:00
James Valleroy
0f98ed67e7
Release v26.8 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
debian/26.8
2026-05-11 20:32:27 -04:00
James Valleroy
27e9b2ac0e
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-11 20:31:36 -04:00
Sunil Mohan Adapa
066f22ff35
api: Drop access-info API
This was meant to be used by the mobile client. But it is in unmaintained and
unusable state. We can re-introduce the API when mobile client is back in
action.

See: https://github.com/freedombox/FreedomBox/pull/1215

[Joseph]
This API is not called by the mobile client, so it is safe to remove.

Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-10 18:32:35 +05:30
Dietmar
bacaa59725
Translated using Weblate (German)
Currently translated at 99.2% (1914 of 1929 strings)
2026-05-05 19:11:34 +02:00
Pierfrancesco Passerini
2b28850b63
Translated using Weblate (Italian)
Currently translated at 100.0% (1929 of 1929 strings)
2026-05-05 19:11:32 +02:00
Pierfrancesco Passerini
d0c20a74f9
Translated using Weblate (Italian)
Currently translated at 99.8% (1927 of 1929 strings)
2026-05-02 17:09:50 +02:00
James Valleroy
197f42e6be
Release v26.7.1~bpo13+1 to trixie-backports
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
debian/26.7.1_bpo13+1
2026-05-01 06:34:36 -04:00
James Valleroy
0401c558c2 freedombox release 26.7.1 for unstable
[dgit distro=debian split]
 [dgit please-upload source=freedombox version=26.7.1]
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmnxOBIWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICMwNEACZK3LjCtTKlC8Sx7y+aFPKlxVg
 QSR4QQ9MQUSglNemEGSD+ZXAtwQaTGWEaCC3HTeozYrjZM7JySYy3BNmvja6IZz2
 e1IJWW79NK3YZaVpMHq4SZKhwdQ4TQpcnZSw5WlWMP11jrFCKhLVqqSWQKxHwPxr
 zJoql2+Y7MPWr0+l5z6NkBQaVtyMiWzW/YT/pkLd4JtfwMwfHqiJeDU2jWwNUdZO
 WJKEtMSzGbJNfEkFKM4SEwOKieKmylkrfbiandAhLDRyBA4gpCQu7PRFKIiJ/aIA
 6TXqhuOk/t7hxjfNQDppg9Ve2OL3JU+NSO0LmeTy7qpryXX8qntAQpITYGrzv9iQ
 DL3UFD99w6eCuvtlr2o/okin7KwfgfXpOVNHLgHpB7LIQPEfJTpvCxHvGODEISrX
 q8nNiakNKnQUGTsPLAQcDeqAKH7HYTI9On3ubUQjuy62nXO6RiEn+5WfbX2oILxb
 rNL0A963ZJUZx0l0/oGKl8N09KBO0oiXIDZ2c20kMgXGesxBlBInHkr2H6CD5xq2
 Wy+m4ll2i5zMtC122KiVw1ogI58KOzLkqSh8LhBslQshG9WinevHuias5vNtuK8o
 pdRpYq7Ko84tsTHbDYDZF0DwU3vXrETROq/V7uhalZ94AMCs9cNGvuWXSGVPONBZ
 nAbzRFkfhW0y0JwQ6A==
 =LXr+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmn0gZ8WHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICDumD/9TYgyu22gR+qg35HZ8ElIsHVX0
 Mi50e5ILTJewMn3PzOWbm2bkmWe2pagXFQBDgnEA3feG6zFhIuqQpFn++uJWfT+B
 cxn1dWhqMGc791up7K/mfAcEGQkYVZoQ9xSmzEBhsDVctbjcIAnotfDgwaNp7KyV
 vxoOoGHQ1Nywdycm7aCNIPN+QI35C8/yUvDVEpOrbg5pdKhmXGd1iZqdXXc8RR9F
 L7DC9ZjuXNHtSlhnV1EpUCO622qOLds0vNFHFb26I9glA5q9stgIzMvtymrJJ5/9
 TT5LvoKcRBOQHpTbJJHijHgulM+lvs4lCwyePVSIXsJzW5qOYSLAClEgOpS5pIzk
 hmgu5hO9hX3llL84RPOG0nxg082qwum563BdzebssnZ0/vEOsNENKmWOmw8T8xOK
 IYND5KrWaoHxCscQG4scTNIKjyM6A+sav6fDtOWpxqO51MOJJNLD9M4lSvi6RPa9
 dCCjmXcXlGSRf9P/tC5cEgCy9nukgU3E/BSHF5CZiGbXv4g7AXf2K/fmlOlHrkH9
 ye4tBGUbedGQ7bOtVYFVEW5UTPsKlPPKTM3OsxFBUF3UtiV8TS2mr6k+T+DO1Zb6
 JQSNTu6kv4Wbsvn5z+ETiyHUP6OYEOJ2nIHYkIXBX7vmqhSeHSKQPYSmRXTgvn+N
 1TX2/Ig5lLUsa2ZEwA==
 =yozD
 -----END PGP SIGNATURE-----

Merge tag 'debian/26.7.1' into debian/trixie-backports

freedombox release 26.7.1 for unstable
2026-05-01 06:34:03 -04:00
James Valleroy
5c42e04813
Release v26.7.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
debian/26.7.1
2026-04-28 18:26:58 -04:00
James Valleroy
91296b6e81
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-28 18:26:20 -04:00
James Valleroy
449b78ae81
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-28 18:01:49 -04:00
Sunil Mohan Adapa
495f5f8a0d
radicale: tests: functional: Better checking for well-known URLs
- When SOGO app is enabled, radicale functional tests fail.

Tests:

- Enable SOGO app and run radicale functional tests. They fail without patch and
pass with the patch.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-27 19:19:53 -04:00
Sunil Mohan Adapa
2bd33ed428
radicale: Fix issue with parsing new configuration file
The latest version of radicale calendar server's configuration file does not
parse with augeas. This is because it contains the following entry in [headers]
section:

Content-Security-Policy = default-src 'self'; object-src 'none'

The semicolon is treated as comment by the lens which is not correct. Fix this
by overriding comment_re in the lens.

Tests:

- Updated test case works when using augparse.

- With the patch, latest upstream configuration file parses without errors.

- Functional tests work for radicale in testing distribution. Without patch
radicale fails to install.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-27 19:19:47 -04:00
Sunil Mohan Adapa
ae50ceaeb0
radicale, bepasty: Fix issue with failed diagnostic test
Fixes: #2571.

- During backup, a service related to backup is stopped and then started back
again after the backup. In case of .socket unit, the .service unit is not being
stopped and it continues to listen on the socket path. When the .socket unit is
started back again, it tries to listen on the socket path and fails.

- To fix the issue, when running stop, restart, etc. operations on a .socket
file, try to perform that operations that we actually intend.

Tests:

- Unit tests pass

- Functional tests for bepasty and radicale work.

- After taking a radicale backup uwsgi-app@radicale.socket does not become
inactive (works when service is running or stopped). uwsgi-app@radicale.service
stops if it is running, backup doesn't fail if service is not running.

- After taking a radicale backup uwsgi-app@bepasty-freedombox.socket does not
become inactive (works when service is running or stopped).
uwsgi-app@bepasty-freedombox.service stops if it is running, backup doesn't fail
if service is not running.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-27 19:13:14 -04:00
Frederico Gomes
dc3439fd70
radicale: Enable lc_username for case-insensitive auth
Enable lc_username = True in [auth] section during setup.

Bump version.

Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-25 13:25:49 -04:00
James Valleroy
5cebe7ffe0
Release v26.7 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
debian/26.7
2026-04-20 20:26:20 -04:00
James Valleroy
52ce78ca1e
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-20 20:25:18 -04:00