English version
Hello everyone!
Weâre happy to announce the release of version 3.5 !
This release includes various highlights :
- The appearance of the user SSO portal can now be changed using themes ! This allows you to customize the look and feel of your user portal, including changing the YunoHost logo / branding, such that you may feel more âat homeâ (e.g. if you run a YunoHost instance for a small association or company and would like to display your own logo instead ). For now this is only available through the command line, but the procedure and how-tos are documented here !
- Many small UX and robustness improvements during app installations and upgrades (e.g. display more messages explaining whatâs happening, and detect/prevent common issues before they happen)
- New global settings have been introduced to be able to change the compability vs. security tradeoff for nginx and sshd configurations. So for instance if youâd like to harden the nginx ciphers used, check out this page (section âChange cipher compatibility configurationâ)
- For app packagers : many improvements and new helpers ! Including : the use of getopts for more flexible and semantic arguments,
ynh_script_progression
(progress bar), fail2ban helpers,ynh_systemd_action
, improve setting helpers, postgresql and nodejs helpers, ⊠- Metronome gets upgraded to 3.11.8
- Many translations additions / improvements in so many languages : French, Catalan, Esperanto, Occitan, Russian, Chinese, Portuguese, Hungarian, Breton, Greek, Swedish, Polish, Arabic, Italian, Bengali
- And of course as always, many technical bugfixes and improvements for UX, robustness and security !
Thanks to all contributors (Aleks, ariasuni, Arthur L., Bram, ButterflyOfFire, chateau, frju365, Gabriel C., Jibec, JimboeJoe, JosuĂ©, Kayou, ljf, Lukas F., Maniack, mytechpro, n3uz, opi, ppr, QuentĂ, Romuald, silkevicious, Taekiro, Xaloc, yalh76, ĐлДĐșŃĐ”Đč) !
Detailed changelog
Core
- [enh] Display version inside app info (YunoHost-admin#235)
- [fix] Fix the dbus interface to get info for services (avoid annoying error about being unable to fetch info for a disabled service) (#698)
- [fix] Rework
tools_update
to better handle the damn âFetchFailedExceptionâ (#695) - [enh] Be able to use themes for the User SSO portal (SSOwat#122, #689)
- [enh] Check that required services are up before running app install and upgrade (#670)
- [enh] Add settings to control security vs. compatibility tradeoff for nginx and sshd configurations (#640)
- [enh] Allow apps to extend the recommended DNS configuration through a hook (#517)
- [fix] Disable gzip entirely to avoid BREACH attacks (#675)
- [fix] Repair backup tests (#673)
- [fix] Backup fails because output directory not empty (#672)
- [fix] Reject app password if they contains { or } (#671)
- [fix] Optimize dyndns requests (#662)
- [enh] Donât add Strict-Transport-Security header in nginx conf if using a selfsigned cert (#661)
- [enh] Add apt-transport-https to dependencies (#658)
- [enh] Cache results from meltdown vulnerability checker (#656)
- [enh] Ensure the tar file is closed during the backup (#655)
- [enh] Be able to define hook to trigger when changing a setting (#654)
- [enh] Assert apt/dpkg is not broken before app install (#652)
- [fix] Loading only one helper file leads to errors because missing getopts (#651)
- [enh] Improve / add some messages to improve UX (#650)
- [enh] Reload fail2ban instead of restart to improve performances (#649)
- [enh] Add IPv6 resolvers from diyisp.org to resolv.dnsmasq.conf (#639)
- [fix] Remove old SMTP port (465) from fail2ban jail.conf (#637)
- [enh] Improve protection against indexation from robots (#622)
- [enh] Allow hooks to return data (#526)
- [fix] Do not make version number available from web API to unauthenticated users (#291, YunoHost-admin#226, YunoHost-admin#233)
- [enh] Add Konami code in webadmin (YunoHost-admin#208)
- [i18n] Improve translations for French, Catalan, Esperanto, Occitan, Russian, Chinese, Portuguese, Hungarian, Breton, Greek, Swedish, Polish, Arabic, Italian, Bengali
App helpers
- [enh] Support php versions in
ynh_add_fpm_config
(#674) - [fix] Make sure that
ynh_system_user_delete
also deletes the group (#680) - [doc] Add min version for all helpers (#664)
- [enh] Optimize app setting helpers (#663, #676)
- [enh] Allow
display_text
âfakeâ argument in manifest.json (#669, #697, YunoHost-admin#234) - [enh] Handle
ynh_install_nodejs
for arm64 / aarch64 (#660) - [enh] Update postgresql helpers (#657)
- [enh] Print diff of files when backup by
ynh_backup_if_checksum_is_different
(#648) - [enh] Add app debugger helper (#647)
- [fix]
ynh_local_curl
not using the right url in some cases (#644) - [fix] Get rid of annoying âunable to initialize frontendâ messages (#643)
- [enh] Check if dpkg is not broken when calling
ynh_wait_dpkg_free
(#638) - [enh] Warn the packager that
ynh_secure_remove
should be used with only one arg⊠(#635, #642) - [enh] Add
ynh_script_progression
helper (#634) - [enh] Add
ynh_systemd_action
helper (#633, #681) - [enh] Allow to dig deeper into an archive with
ynh_setup_source
(#630) - [enh] Use getops for app helpers (#561, #646, #685, #683)
- [enh] Add
ynh_check_app_version_changed
helper (#521) - [enh] Add fail2ban helpers (#364)
How to upgrade
From the web admin
If you are not yet in 3.4.x, we recommend upgrading from the command line to avoid an issue related to the Metronome upgrade
- Go to âUpdate systemâ
- Then hit the âUpdateâ button in the âSystemâ block.
Or from the command line
$ apt-get update
$ apt-get dist-upgrade
(if during the upgrade, the system asks which version of Metronome configuration to keep, answer âNâ (default value))
Misc news about the project
Many things are happening in parallel of this release, especially on the apps side !
In the following months, we are progressively going to remove the concept of âofficialâ (vs âcommunityâ) apps. We identified that the concept of âofficialâ was too constraining and not really effective (itâs been a long time since a new app was added in the official apps, and itâs not clear who is supposed to maintain them). Instead, we will introduce a new concept of âhigh qualityâ apps for those who closely follow packaging recommendations, and evolution will be reviewed by the app team.
This happens at the same time as a rework of the definition of app levels. So far, level 4 was related to the LDAP/SSO integration which turns out to be quite complicated for many apps ⊠hence quite a lot of apps were stuck to level 3~4 whereas they implement backup/restore (corresponding to level 7). Those definitions were therefore rework to make more sense. (More info here : https://github.com/YunoHost/doc/pull/927).
About the packaging of app themselves : the new recommendations includes more verbosity for the app scripts. You will notice that more and more apps will display messages explaining whatâs happening while they install (using not-too-technical messages) instead or displaying nothing or just warnings. Some of them might even show a progress bar ! (c.f. the ynh_script_progression
helper)
Cool news if you would like to obtain a VPS with preinstalled YunoHost : Time4VPS now makes it easy to obtain a VPS installed with YunoHost ! In the future, we except to see other actors being able to provide such pre-installed VPS (Alsace RĂ©seau Neutre, Scaleway, âŠ)
Version française
Bonjour tout le monde !
Nous sommes heureux dâannoncer la sortie de la version 3.5 !
Voici les points clefs de cette version :
- Lâapparence du portail utilisateur (SSO) peut maintenant ĂȘtre modifiĂ© en utilisant des thĂšmes ! Cela vous permet de personnaliser votre portail utilisateur, y compris de changer le logo âYunoHostâ, afin que votre serveur puisse avoir un peu plus un air de âchez soiâ (notamment si vous utilisez une instance YunoHost pour une petite association ou entreprise et aimeriez avoir votre propre logo affichĂ© ). Pour lâinstant, cela nâest disponible quâen ligne de commande, mais la procĂ©dure et la marche Ă suivre sont documentĂ©es ici !
- Beaucoup de petites amĂ©liorations sur lâUX et la robustesse lors de lâinstallation et de la mise Ă jour dâapplications (par exemple, afficher plus de messages expliquant ce qui se passe, et dĂ©tecter/prĂ©venir des problĂšmes courants avant quâils ne se produisent)
- De nouveaux paramĂštres globaux ont Ă©tĂ© introduits pour ĂȘtre capable de choisir quel compromis faire entre sĂ©curitĂ© et compatibilitĂ© pour les configurations nginx et sshd. Ainsi, par exemple, si vous souhaitez durcir les ciphers utilisĂ©s par nginx, vous pouver regarder la procĂ©dure Ă suivre sur cette page (section âDurcir la sĂ©curitĂ© de la configuration des servicesâ)
- Pour les packageurs dâapplications : beaucoup dâamĂ©liorations et de nouveaux helpers ! Dont : lâutilisation de getopts qui permet une gestion dâoptions plus flexibles et sĂ©mantiques,
ynh_script_progression
(barre de progression), ajout des helpers fail2ban,ynh_systemd_action
, amélioration des helpers pour les settings, postgresql et nodejs⊠- Mise à jour de Metronome en 3.11.8
- De nombreuses contributions sur les traductions ! : Français, Catalan, Espéranto, Occitan, Russe, Chinois, Portugais, Hongrois, Breton, Grec, Suédois, Polonais, Arabe, Italien, Bengali
- Et bien sĂ»r, comme toujours, diverses corrections techniques et autres amĂ©liorations sur lâUX, la robustesse et la sĂ©curitĂ© !
*Merci Ă tou·te·s les contributeur.ice.s (Aleks, ariasuni, Arthur L., Bram, ButterflyOfFire, chateau, frju365, Gabriel C., Jibec, JimboeJoe, JosuĂ©, Kayou, ljf, Lukas F., Maniack, mytechpro, n3uz, opi, ppr, QuentĂ, Romuald, silkevicious, Taekiro, Xaloc, Yalh76, ĐлДĐșŃĐ”Đč) !
Details des changements
Core
- [enh] Affichage de la version dans les infos dâune application (YunoHost-admin#235)
- [fix] Correction de lâinterface dbus pour obtenir des informations sur les services (#698)
- [fix] Refonte de
tools_update
pour mieux gĂ©rer la foutue erreur âFetchFailedExceptionâ (#695)) - [enh] PoussibilitĂ© dâutiliser des thĂšmes pour le portail utilisateur / SSO (SSOwat#122,#689)
- [enh] VĂ©rifiez que les services requis sont en place avant dâexĂ©cuter lâinstallation et la mise Ă niveau des applications (#670))
- [enh] Ajout de paramÚtres pour contrÎler le compromis entre sécurité et compatibilité pour les configurations nginx et sshd (#640)
- [enh] Permettre aux applications dâĂ©tendre la configuration DNS recommandĂ©e via un hook (#517)
- [fix] DĂ©sactiver complĂštement gzip pour Ă©viter les attaques BREACH (#675)
- [fix] RĂ©paration des tests de backups (#673)
- [fix] Certaines sauvegardes Ă©chouaient parce que le rĂ©pertoire de sortie nâĂ©tait pas vide (#672))
- [fix] Rejet des mot de passe pour apps sâils contiennent { ou }. (#671))
- [fix] Optimiser les requĂȘtes dyndns (#662)
- [enh] Ne pas ajouter le header Strict-Transport-Security dans nginx si un certificat auto-signé est utilisé (#661)
- [enh] Ajout de apt-transport-https aux dépendances (#658)
- [enh] Mettre en cache les résultat du diagnostic de vulnérabilité à Meltdown (#656))
- [enh] Sâassurer que le fichier tar est fermĂ© pendant la sauvegarde (#655)
- [enh] PossibilitĂ© de dĂ©clencher des hooks lorsquâun setting est modifiĂ© (#654)
- [enh] VĂ©rifier que apt/dpkg nâest pas cassĂ© avant dâinstaller une application (#652))
- [fix] Correction du chargement des helpers suite Ă lâutilisation de getopts (#651)
- [enh] AmĂ©liore / ajoute des messages pour amĂ©liorer lâUX (#650)
- [enh] Recharger fail2ban au lieu de le redémarrer pour améliorer les performances (#649)
- [enh] Ajout des résolveurs IPv6 de diyisp.org à resolv.dnsmasq.conf (#639)
- [fix] Suppression de lâancien port SMTP (465) de fail2ban jail.conf (#637))
- AmĂ©liorer la protection contre lâindexation des robots (#622)
- [enh] Permettre aux hooks de retourner des données (#526)
- [fix] Ne pas rendre le numĂ©ro de version disponible depuis lâAPI web aux utilisateurs non authentifiĂ©s (#291,YunoHost-admin#226,YunoHost-admin#233)
- Ajouter dâun Konami code dans la webadmin (YunoHost-admin#208)
- [i18n] Amélioration des traductions en français, catalan, espéranto, occitan, russe, chinois, portugais, hongrois, breton, grec, suédois, polonais, arabe, italien, bengali
Helpers pour les apps
- [enh] Support des versions php dans
ynh_add_fpm_config
(#674)) - [fix] Faire en sorte que
ynh_system_user_delete
supprime Ă©galement le groupe (#680) - [doc] Ajouter la version minimale pour tous les helpers (#664)
- [enh] Optimisation des helpers pour les settings (#663,#676)
- [enh] Support des arguments de type
display_text
dans manifest.json (#669,#697,YunoHost-admin#234) - [enh] Gestion de
ynh_install_nodejs
pour arm64 / aarch64 (#660)) - [enh] Mise Ă jour des helpers postgresql (#657))
- [enh] Montrer les différences des fichiers lors de la sauvegarde par
ynh_backup_if_checksum_is_different
(#648)) - [enh] Ajouter dâun helper pour aider au debug dâapps (#647))
- [fix]
ynh_local_curl
nâutilisais pas la bonne url dans certains cas (#644) - [fix] Suppression des messages relou âunable to initialize frontendâ (#643)
- [enh] VĂ©rifiez que dpkg nâest pas cassĂ© lorsque
ynh_wait_dpkg_free
est appelé (#638)) - [enh] Avertir les packagers que
ynh_secure_remove
doit ĂȘtre utilisĂ© avec un seul argument⊠(#635,#642) - [enh] Ajout de
ynh_script_progression
(#634) - [enh] Ajout de
ynh_systemd_action
(#633, #681)) - [enh] Permettre dâaller plus profondĂ©ment dans lâarchive lors de lâutilisation de
ynh_setup_source
(#630) - [enh] Utilisez getops for app helpers (#561, #646, #685, #683)
- [enh] Ajout de
ynh_check_app_version_version_changed
** (#521) - [enh] Ajouter des helpers fail2ban (#364)
Comment mettre Ă jour
Depuis la webadmin
Si vous nâĂȘtes pas sur la version 3.4.x, nous vous recommandons de mettre Ă jour Ă partir de la ligne de commande pour Ă©viter un problĂšme liĂ© Ă la mise Ă jour du Metronome.
- Aller dans âMettre Ă jour le systĂšmeâ
- Puis cliquez sur âMettre Ă jourâ dans le bloc âSystĂšmeâ.
Ou Ă partir de la ligne de commande
$ apt-get update
$ apt-get dist-upgrade
(si pendant lâupgrade le systĂšme vous demande quelle version de la configuration de Metronome garder, rĂ©pondre âNâ (valeur par dĂ©faut))
Autres nouvelles du projet
Beaucoup de choses se passent en parallÚle de cette version, en particulier du cÎté des applications !
Dans les mois Ă venir, nous allons progressivement supprimer le concept dâapplications âofficiellesâ (vs âcommunautairesâ). Nous avons conclu que ce concept dâapplication " officiellle" Ă©tait trop contraignant et pas vraiment efficace (cela fait un moment quâaucune application nâa pas Ă©tĂ© ajoutĂ©e dans les apps officielles, et ça nâa jamais Ă©tĂ© trĂšs clair de savoir qui est censĂ© maintenir ces apps). Ă la place, nous introduisons un concept dââapplications de haute qualitĂ©â pour celles qui suivent de prĂšs les recommendations de packaging, et qui suivent un protocole rigoureux dâaprĂšs lequel les Ă©volution de lâapp sont revue et validĂ©e par lâĂ©quipe des apps.
En parallĂšle, la dĂ©finition des niveaux des applications a Ă©tĂ© revue. JusquâĂ prĂ©sent, le niveau 4 Ă©tait liĂ© Ă lâintĂ©gration LDAP/SSO qui est au final un des aspects les plus compliquĂ©s du packaging des applications⊠Ainsi, beaucoup dâapplications Ă©taient restĂ©es au niveau 3~4 alors quâelles implĂ©mentent la sauvegarde/restauration (correspondant au niveau 7). Ces dĂ©finitions ont donc Ă©tĂ© retravaillĂ©es pour avoir plus de sens. (Plus dâinformations ici : https://github.com/YunoHost/doc/pull/927).
A propos du packaging des apps en lui-mĂȘme : les nouvelles recommandations incluent plus de verbositĂ© pour les scripts de lâapplication. Vous remarquerez peut-ĂȘtre que de plus en plus dâapplications afficheront des messages expliquant ce qui se passe pendant lâinstallation (en utilisant des messages pas trop techniques) plutĂŽt que ne rien afficher ou bien dâafficher uniquement les avertissements⊠Certaines apps afficheront peut-ĂȘtre mĂȘme une barre de progression ! (c.f. le helper ynh_script_progression
)
Autre nouvelle intĂ©ressante : si vous ĂȘtes intĂ©ressĂ© par la commande dâun VPS avec YunoHost prĂ©installĂ© : Time4VPS propose maintenant des VPS installĂ©s avec YunoHost ! A lâavenir, il est possible que dâautres acteurs se mettent Ă proposer ce genre de service (Alsace RĂ©seau Neutre, Scaleway, âŠ)