YunoHost 3.5 release / Sortie de YunoHost 3.5

:gb: English version

Hello everyone!

We’re happy to announce the release of version 3.5 :partying_face:!

This release includes various highlights :sparkles::

  • 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 :slight_smile: ). 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, АлДĐșсДĐč) ! :heart:

:scroll: Detailed changelog


  • [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 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 :ok_hand: (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)

:arrow_up: How to upgrade

From the web admin

:warning: 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))

:newspaper: 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 :

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, 
) :wink:

:fr: Version française

Bonjour tout le monde !

Nous sommes heureux d’annoncer la sortie de la version 3.5 :partying_face: !

Voici les points clefs de cette version :sparkles: :

  • 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Ă© :slight_smile: ). 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 (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, АлДĐșсДĐč) !

:scroll: Details des changements


  • [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 Ă  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 :ok_hand: (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
  • [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)

:arrow_up: Comment mettre Ă  jour

Depuis la webadmin

:warning: 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))

:newspaper: 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 :

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, 
) :wink:


RPi v2 is now updated without a problem for now.

1 Like

J’ai remarquĂ© deux changements aprĂšs cette mise Ă  jour:

  • Les couleurs des tuiles d’applications ont changĂ© (certainement avec l’introduction des thĂšmes)
  • YunoFav n’a plus de style appliqué 

Mise Ă  jour faite sans soucis, je note cependant quelques soucis depuis :

  1. Je suis souvent déconnectés de mes outils, parfois le moindre rechargement de page me demande de me re-connecter
  2. Je n’ai pas rĂ©ussi Ă  appliquersudo yunohost settings set service.ssh.compatibility -v modern avec le message d’erreur suivant : La clef 'service.ssh.compatibility' n’existe pas dans les configurations gĂ©nĂ©rales, vous pouvez voir toutes les clefs disponibles en saisissant 'yunohost settings list'. Le service ne serait-il pas plutĂŽt “security.ssh.compatibility” ?

Sinon, beau travail, j’ai hĂąte de personnaliser un peu mon interface, et la config https est bien mieux notĂ©e :slight_smile:
3) Pour la commande cĂŽtĂ© nginx, j’ai des messages d’erreurs sur quelques services me disant que les fichiers ont Ă©tĂ© modifiĂ©s Ă  la main (exemple sudo yunohost settings set service.ssh.compatibility -v modern), est ce qu’il y a moyen de forcer la commande ? (pour les 3 listĂ©s, je suis quasiment sur de ne les avoir jamais touchĂ©s moi mĂȘme)

Uh beh je sais pas trop quoi te dire lĂ  dessus :confused: Ça me parrait vague 
 est-ce que ça ne pourrait pas ĂȘtre liĂ© Ă  des extensions dans ton navigateur ? Est-ce que ça semble vraiment liĂ© Ă  la 3.5 ?

AnĂ©fĂ©, vais mettre la doc Ă  jour (elle l’est deja en anglais je crois car quelqu’un Ă  poussĂ© une modif pour cette typo)

yunohost service regen-conf nginx --dry-run -d pour voir les diffĂ©rences, puis si ça a l’air ok, yunohost service regen-conf nginx --force

6 posts were split to a new topic: Mise a jour de conf nginx aprĂšs upgrade en 3.5

ProblĂšme de mise Ă  jour, sur Debian 9:

unable to upgrade packages: Failed to fetch 404 Not Found

Et en effet, actuellement c’est qui fonctionne.
Une mise à jour des dépÎts non faite ?

Mise à jour effectuée sans aucun soucis.
Chapeau et merci Ă  l’équipe !!

1 Like

Uuuh si le apt update n’a pas Ă©tĂ© fait juste avant, oui sans doute 

Mise à jour réalisée hier sans aucun accroc, merci à tous.
Pour les utilisateurs de Lime 2 j’ai en revanche toujours un problùme de boot avec le noyau 4.9 voir topic

Un grand merci Ă  l’équipe Yunohost !


Au delĂ  de la mise Ă  jour qui s’est parfaitement bien dĂ©roulĂ©e, la personnalisation de l’interface fonctionne parfaitement Ă©galement ! :+1:



rien Ă  dire non plus, j’ai changĂ© le style d’interface et superbe!


7 posts were split to a new topic: Solutions alternatives de backup

An issue I am having with themes is that they are not found on the server, nginx doesn’t display them.image

Can you try to restart nginx to see if that solves the issue ?

The issue still persists.

So what does yunohost service regen-conf nginx --dry-run tells ?

Doesn’t output anything, just blank.

Hi not having the opportunity to file an issue on the Ssowat Git
here is a return of error on the establishment of a domain redirection on one of the installed applications.

> Blockquote Error while reading SSOwat persist configuration: Expecting, delimiter: line 7 column 1 (char 104). Edit /etc/ssowat/conf.json.persistent file to fix the JSON syntax

this is part of the changes to this file for installing a theme.

[FR] Salut n ayant pas la possibilité de déposer une issue sur le Git de Ssowat
voici un retour d erreur sur la mise en place d’une redirection de domaine sur l une des applications installĂ©es.

Blockquote Error while reading SSOwat persistent configuration: Expecting , delimiter: line 7 column 1 (char 104). Edit /etc/ssowat/conf.json.persistent file to fix the JSON syntax

cela s’inscrit dans les changements apportĂ© Ă  ce fichier pour l’installation d’un thĂšme.