v1.15.0
Enhancements:
- [i18n] Translate the web interface through Weblate
- [i18n] Add French
- [i18n] Add French (Canada)
- [i18n] Add German
- [i18n] Add Spanish
- [i18n] Add Portuguese (Portugal)
- [i18n] Add Portuguese (Brazil)
- [i18n] Add Dutch
- [i18n] Add Chinese (Simplified)
- [i18n] Add Russian
- [i18n] Add Czech
- [i18n] Add Danish
- [i18n] Add English (United States) and English (United Kingdom)
- [i18n, settings] Pick the language from the navigation bar or Settings, Interface, General
- [i18n, setup] Pick the language in the setup wizard and on the sign-in page
- [i18n, settings] Hide the language button in Settings, Interface, Navbar
- [i18n] Open any page in a language with a /fr/ path or a lang query parameter
- [i18n] Show numbers, dates and times in the chosen language
- [i18n, agent] Show agent errors in the chosen language
- [i18n, api] Return API error messages in the chosen language
- [api] Add POST /api/settings/language
- [agent, api] Add error codes to agent error responses
- [settings] Split Settings, Interface into General, Dashboard, Navbar and Tabs
- [webui] Confirm a delete by typing the name of what is being deleted
- [routes] Show and edit middlewares, services and TLS options from other files in the route Raw YAML (#185)
- [routes] Autocomplete names and add snippets in the route Raw YAML (#185)
- [routes] Block a Raw YAML save that points at something that does not exist (#185)
- [webui] Add a Discord link to Settings, About
- [webui] Remove the help translate popup
- [docker, agent] Run as a non-root user with
PUIDandPGID(thanks @boazgarty)
Bug fixes:
- [auth, security] Block password-only sign-in when the two-factor secret cannot be read
- [auth, oidc] Add
OIDC_REDIRECT_URIto pin the OIDC callback URL - [auth, security] Limit wrong two-factor codes on the password reset page
- [security] Stop the Traefik and CrowdSec connection tests from following redirects
- [config, security] Stop
manager.ymlfrom being treated as a Traefik config - [geoip, security] Cap the size of the GeoIP download
- [auth] Keep the base path and language after sign-in
- [install] Compile translations on native installs and updates
- [webui] Use the singular for counts of one
- [i18n] Translate dashboard, logs, CrowdSec and server messages as whole sentences
- [i18n] Keep delete and remove buttons red in every language
- [i18n, notifications] Show notifications in each viewer's language and send webhooks in the default language
- [i18n] Translate route health, certificate, CrowdSec, git backup and update messages
- [static] Fix the Logging section summary
- [dashboard] Fix grouping of Files & Data routes in other languages
- [dashboard] Check Traefik's internal routers that have a link, instead of leaving them grey (#202, thanks @nofuturekid)
- [backups, security] Harden git backup remote calls (thanks @boazgarty)
- [ci, security] Limit workflow permissions and pin actions (thanks @boazgarty)
Documentation:
- [i18n] Add a Languages page
- [i18n] Add a translation guide for developers
- [config] Document default_language and showLangPicker
- [agent] Document agent error codes
- [security] Document
OIDC_REDIRECT_URIandTRUSTED_PROXIES - [routes] Document the Raw YAML editor
- [umbrelos] Add umbrelOS as an install method (#190)