English version
We are glad to announce the release of YunoHost 4.2 !
This release includes the following major changes :
-
Rewrite of the webadmin with Vue.js: The webadmin was entirely rewrote using a modern framework, allowing for miscellanous improvement, better experience and opening the door for more cool things in the future! (Kudos to Axolotle for the outstanding amount of work that went into this!)
-
Python 2 â Python 3: YunoHost finally transitioned to Python 3 as the internal programming language, considering Python 2 is deprecated for quite some time now! This should be transparent for all users, but is an important change for us and paves the way for the transition to Bullseye, the next Debian version coming this summer. This work was supported by Code Lutin!
-
Improved update strategy for nohost.me / noho.st / ynh.fr dyndns domains: if youâre using these domains, you probably noticed a bunch of emails related to failed updates, or that the update commands would pile up and induce slowness. Various fixes and tweaks have been done to have a more clever, efficient workflow.
-
SFTP and SSH permissions. SFTP / SSH access can now be managed as a regular permission just like Email and XMPP. This also comes with a small rework of the SSH configuration. Note that, by design, you canât grant this permission to all users. You must grant it to individual users, or create a group and grant the permission to this group. We also recommend to be careful and not grant this permission to people you donât really trust.
-
Many improvements on system backups, including a significant rework of the actual content of system backups which should now be more sensible and prevent inconsistencies.
-
Misc internal improvements and cleanup: behind the scene weâre simplifying the internals of the postinstall, adding new packaging helpers and consolidating the existing ones, cleaning/refactoring various pieces of codes.
Thanks to all contributors ! (Axolotle, Bram, C. Wehrli., C. Mercier, cyxae, D. Vasilev, Daniel, Dave, Deja la vida volar, Dominik B., Ăric G., FĂ©lix P., Flavio C., grenagit, JosuĂ©, Kay0u, Krzysztof N., Lapineige, ljf, Manu Bu, Mathieu M., MiloĆĄ K., MrMorals, Nils V.Z., panomaki, penguin321, ppr, QuentĂ, Radek S., Scapharnaum, SĂ©bastien M., Tom_, T. Valiiev, xaloc33, yalh76, Yasss Gurl, Yifei D., ⊠and all the testers that provided feedback!)
Changelog
Major changes
Show/hide
- [enh] Epic rewrite of the webadmin with Vue.js (YunoHost-admin#316, Yunohost-admin#339, YunoHost-admin#347, YunoHost#1150)
- [mod] Python2 â Python3 (Moulinette#228, Moulinette#269, YunoHost#1116)
- [enh] Webadmin UX: improve error handling, redirect to the corresponding log automatically to encourage people sharing the log (YunoHost-admin#330, Moulinette#257, YunoHost#1077, YunoHost#1187)
- [fix] nohost.me / noho.st / ynh.fr dyndns domains: clean old madness, improve update strategy, improve cron management, delete dyndns key upon domain removal (YunoHost#1149)
- [enh] Add SFTP / SSH permissions (YunoHost#606, Yunohost-admin#352, YunoHost#1216, 51478d14)
- [enh] Rework the content of system part backups to be more sensible (YunoHost#1184, YunoHost#1185)
- [mod] No need for mysql root password anymore, rely on unix auth (YunoHost#912)
- [mod] Simplify postinstall internals (YunoHost#1062, YunoHost#1063, YunoHost#1064)
- [i18n] Translations updated for Catalan, Chinese (Simplified), Czech, Dutch, French, German, Hungarian, Italian, Occitan, Polish, Portuguese, Russian, Spanish
Misc fixes / enhancement
Show/hide
- [enh] settings: New setting for custom ssh port (YunoHost#1209, 37c0825e, 95999fea)
- [enh] settings: New setting to disable the âYunoHostâ panel overlay in apps (YunoHost#1071, 08fbfa2e)
- [enh] backup: Support having .tar / .tar.gz in the archive name arg of backup_info/restore (00ec7b2f)
- [mod] backup: Drop support for archive restore from prior 3.8 (YunoHost#1203)
- [fix] backup: Introduce hooks during restore to apply migrations between archive version and current version (YunoHost#1203)
- [enh] backup: Create a proper operation log for when creating backup archives (fe9f0731)
- [enh] backup: Improve error management for app restore (YunoHost#1191)
- [enh] backup: Add a --dry-run option to
yunohost backup create
to fetch an estimate of the backup size (YunoHost#1205) - [enh] mail: Support SMTPS Relay (YunoHost#1159)
- [mod] misc: Prevent the installation of apache2 ⊠(YunoHost#1148)
- [fix] misc: Abort postinstall if /etc/yunohost/apps ainât empty (YunoHost#1147)
- [enh] misc: Add header to disallow FLoC (YunoHost#1211)
- [enh] cli: Add a new âyunohost app searchâ command (YunoHost#1070)
- [enh] cli: Add
--remove-apps
(and--force
) options to âyunohost domain removeâ (YunoHost#1125) - [mod] custom apps install: Add route to fetch app manifest in a forge-agnostic way (YunoHost#1213, Yunohost-admin#351)
- [enh] diagnosis, postinstall: Report low total space for rootfs (YunoHost#1145, YunoHost-admin#349)
- [fix] upnp: Handle port closing (YunoHost#1154)
- [enh] perf: add optional âappsâ argument to user_permission_list to speed up user_info / user_list (e6312db3)
- [mod] refactoring, security: Drop legacy-way of passing arguments in hook_exec, prevent exposing secrets in command line args (YunoHost#1096)
- [mod] refactoring: Uniformize / more consistent API routes (YunoHost#1146, YunoHost#1192, Yunohost-admin#339, Yunohost-admin#350)
- [mod] refactoring: simpler and more consistent logging initialization (YunoHost#1119, Moulinette#263)
- [mod] code-quality: add CI job to auto-format code, fix linter errors, cleanups (YunoHost#1142, YunoHost#1161, YunoHost#1162, Moulinette#268)
- misc enh/fixes, code quality (42f8c9dc, 86f22d1b, 1468073f, b33e7c16, d1f0064b, c3754dd6, 02a30125, aabe5f19, ce9f6b3d, d7786662, f9419c96, c92e495b, 0616d632, 92eb9704, YunoHost#1190, YunoHost#1201, YunoHost#1210, YunoHost#1214, YunoHost#1215, Yunohost-admin#344, Yunohost-admin#348, SSOwat#182, SSOwat#183)
App packaging
Show/hide
- [enh] helpers, refactoring: Helpers for nginx, php-fpm, systemd and fail2ban now use
ynh_add_config
internally to handle conf files (YunoHost#1118) - [enh] helpers: Sane default permissions for files added using
ynh_add_config
andynh_setup_source
(YunoHost#1188) - [enh] helpers: Add composer helpers (YunoHost#1090)
- [enh] helpers: Add multimedia helpers and hooks (YunoHost#1129, 47420c62)
- [enh] helpers: Add
--keep
option toynh_setup_source
to help with keeping files that would get overwritten during upgrade (YunoHost#1200) - [enh] helpers: Upgrade n to v7.1.0 (YunoHost#1178, YunoHost#1197)
- [enh] helpers: ynh_port_available: also check ports used by other apps in settings.yml (381f789f)
- [mod] helpers: Define
YNH_APP_BASEDIR
to be able to properly point to conf folder depending on the context the app script is running in (YunoHost#1172) - [fix] ynh_systemd_action: Fix case where service is already stopped (#1222)
- [fix] helpers, doc: Update template for the auto-generated helper doc (now that the official doc is using Grav) (YunoHost#1167, YunoHost#1168, 59d3e387)
- [mod] helpers, refactoring: Use jq / output-as json to get info from yunohost commands instead of scraping with grep (YunoHost#1160)
- [fix] helpers: Misc fixes/enh (b85d959d, db93b82b, ce04570b, 07f8d6d7)
Notes for advanced users and packagers
Show/hide
- If you manually modified the SSH configurations, please be warned that thereâs a significant and important update of /etc/ssh/sshd_config and you should make sure to apply it. Not doing so leaves a security risk. The diagnosis should warn you about it after the upgrade.
- Thereâs a new setting named
security.ssh.port
. We recommend using it instead of manually modifying the SSH and fail2banâs configurations. - Thereâs a new setting named
ssowat.panel_overlay.enabled
to disable the SSOwatâs panel overlay instead of manually tweaking nginxâs conf. -
yunohost user group update
is now splitted intogroup add
andgroup remove
(to add/remove users to/from a group) - Options
--add
and--remove
ofyunohost user permission update
were removed, checkpermission add
andpermission remove
to grant/deny permissions to user or groups. -
yunohot dyndns installcron / removecron
is deprecated / not relevant anymore. -
yunohost tools update / upgrade
should now be used like this :yunohost tools update apps system
(instead of--apps
or--system
) -
yunohost diagnosis ignore --add/remove-filter
is now splitted intoyunohost diagnosis ignore/unignore
- Logs can now be shared with
yunohost log share <log_id>
(instead ofyunohost log display <log_id> --share
) - Commands
yunohost user ssh allow/disallow
were removed, granting/denying SSH access is now done with the regular permission system. - Many routes were changed in the web API to be more RESTful and consistent. Though we expect that only Yunohostâs webadmin actually use the web API, but in case you did write a custom piece of software relying on the web API, be sure to check the changes.
Packagers
- Check the âApp packagingâ detailed changelog
- It is strongly encouraged to use
ynh_add_config
instead of manual cp and gazillions ofynh_replace_string
(not doing so is likely to trigger linter warnings in the future) - It is strongly encouraged to check that you add proper permissions to the install dir (
$final_path
), and in particular tochown o-rwx $final_path
- Composer and multimedia helpers are now official
How to upgrade
From the web admin
- Go to âUpdate systemâ
- Then hit the âUpdateâ button in the âSystemâ section.
- This may take a few minutes, grab your favorite beverage. You will need to re-log into the webadmin once itâs done.
- Make sure to force-refresh the browser cache (Ctrl+Shift+R in Firefox)
- Make sure that everything went well (green check ) in Tools > Logs
- Make sure to upgrade
my_webapp
etborgserver
if youâre using these apps
Or from the command line
$ sudo yunohost tools update
$ sudo yunohost tools upgrade --system
- Make sure to upgrade
my_webapp
etborgserver
if youâre using these apps
Other project news
The epic app packaging community keeps doing a stunning amount of work with again 30~40 new apps since the 4.1 release, while maintaining all the other apps!
On the core side, as explained in the release note, the transition to Python 3 and the rewrite of the webadmin in VueJs is quite important for the dev team. The next big priority of the project is to prepare the transition to Bullseye, the next Debian version expected to be released early this summer - thereby catching up with our historic ~1 year delay with respect to the Debian cycle !
Version française
Nous sommes heureux dâannoncer la sortie de la version 4.2 !
Voici les points clefs de cette version :
-
RĂ©Ă©criture de la webadmin en Vue.js: Lâinterface dâadministration a Ă©tĂ© entiĂšrement rĂ©Ă©crite Ă partir dâun framework web moderne, permettant diverses amĂ©liorations et une meilleur expĂ©rience, et nous ouvre la porte Ă dâautres trucs cool pour le futur ! (Chapeau Ă Axolotle pour lâĂ©norme quantitĂ© de travail que cette rĂ©Ă©criture reprĂ©sente!)
-
Python 2 â Python 3: YunoHost est finalement passĂ© en Python 3 comme language de programmation interne, Ă©tant donnĂ© que Python 2 Ă©tait dĂ©prĂ©ciĂ© depuis un moment dĂ©jĂ ! Ce changement devrait ĂȘtre transparent pour les utilisateurs, mais reste un changement important sous le capot. Cela prĂ©pare aussi le terrain pour la transition Ă Bullseye, la prochaine version de Debian attendue au dĂ©but de lâĂ©tĂ©. Ce travail a Ă©tĂ© soutenu par Code Lutin!
-
Meilleure stratĂ©gie de mise Ă jour pour les domaines nohost.me / noho.st / ynh.fr: si vous utilisez lâun de ces domaines, vous avez probablement dĂ©jĂ remarquĂ© certains emails Ă propos dâĂ©checs de mise Ă jour automatique du dyndns, ou bien que les commandes correspondantes peuvent sâempiler et crĂ©er des ralentissement. Plusieurs correctifs et ajustements on Ă©tĂ© fait pour avoir un systĂšme plus intelligent et efficace.
-
Permissions pour SSH et SFTP. LâaccĂšs SFTP/SSH peut maintenant ĂȘtre gĂ©rĂ© comme une permission standard comme câest le cas pour lâemail et XMPP. Ce changement implique aussi une mise Ă jour de la configuration SSH. Ă noter que, volontairement, cette permission ne peut pas ĂȘtre donnĂ©e au groupe âTous les utilisateursâ. Il faut forcĂ©ment donner cette permissions Ă des utilisateurs individuels, ou Ă un groupe prĂ©cis. Nous recommendons Ă©galement dâĂȘtre prudent et de ne pas donner cette permission Ă des personnes en qui vous nâavez pas rĂ©ellement confiance.
-
Des améliorations sur les backups du systÚme, en particulier du contenu effectif des backups du systÚme qui devraient maintenant avoir plus de sens et prévenir certaines incohérences.
-
Diverses amĂ©liorations et nettoyage: derriĂšre les rideaux, nous avons simplifier le fonctionnement interne de la postinstall, il y a des nouveaux helpers pour les packageurs dâapplication, ainsi que des consolidations des helpers existants, et nous avons nettoyĂ©/refactorisĂ© diverses parties du code.
Merci Ă toutes les contributeurices ! (Axolotle, Bram, C. Wehrli., C. Mercier, cyxae, D. Vasilev, Daniel, Dave, Deja la vida volar, Dominik B., Ăric G., FĂ©lix P., Flavio C., grenagit, JosuĂ©, Kay0u, Krzysztof N., Lapineige, ljf, Manu Bu, Mathieu M., MiloĆĄ K., MrMorals, Nils V.Z., panomaki, penguin321, ppr, QuentĂ, Radek S., Scapharnaum, SĂ©bastien M., Tom_, T. Valiiev, xaloc33, yalh76, Yasss Gurl, Yifei D., ⊠et tous les testeurs qui ont donnĂ© des retours!)
Changelog
(voir la version anglaise)
Notes pour les utilisateurs avancés et packageurs
(voir la version anglaise)
Comment mettre Ă niveau
Depuis la webadmin
- Aller dans âMettre Ă jour le systĂšmeâ
- Puis cliquez sur âMettre Ă jourâ dans la section âSystĂšmeâ.
- La mise à jour peut prendre quelques minutes. Il vous faudra ensuite vous re-logger à la webadmin une fois terminée.
- Forcez le raffraichissement du cache navigateur (Ctrl+Shift+R in Firefox)
- Assurez-vous que tout sâest bien passĂ© (petite coche verte ) dans Outils > Journaux
- Assurez-vous de mettre Ă jour
my_webapp
etborgserver
si vous utilisez ces apps
Ou Ă partir de la ligne de commande
$ sudo yunohost tools update
$ sudo yunohost tools upgrade --system
- Assurez-vous de mettre Ă jour
my_webapp
etborgserver
si vous utilisez ces apps
Autres nouvelles du projet
La communautĂ© des packageurs dâapp continue dâeffectuer un travail stuppĂ©fiant, avec entre 30 et 40 nouvelles apps depuis la sortie de la 4.1, tout en continuant de maintenir les autres apps !
Du cĂŽtĂ© du core, comme expliquĂ© dans les notes prĂ©cĂ©dentes, la transition Ă Python 3 et la rĂ©Ă©criture de la webadmin en VueJs sont dâune grande importance pour lâĂ©quipe de developpement. La prioritĂ© suivante est de prĂ©parer la transition vers Bullseye, la prochaine version de Debian attendue au dĂ©but de lâĂ©tĂ© - et ainsi rattraper notre retard historique de ~1 an par rapport au cycle de Debian !