Changelog
Features
- 16a7adc: feat(config): read the environment in both LoadConfig paths (@jp1337)
- b8397e8: feat(config): the environment variable tables and the overlay (@jp1337)
- a0a20f8: feat(i18n): a French interface, shipped marked as unreviewed (@jp1337)
- c59128a: feat(i18n): a coverage report, because the fallback hides gaps by design (@jp1337)
- 38a784b: feat(i18n): a language nobody has reviewed says so in the switcher (@jp1337)
- d2c6791: feat(i18n): the language switcher becomes a select that holds more than two (@jp1337)
Bug Fixes
- 7b6d095: fix(config): keep the environment overlay out of easywall.toml (@jp1337)
- a873f60: fix(config): keep the environment overlay out of web.toml (@jp1337)
- d423eb1: fix(deps): update module github.com/go-chi/chi/v5 to v5.3.2 (#137) (@renovate[bot])
- 0fda7d6: fix(test): stop the review-list guard silently skipping malformed ids (@jp1337)
- 0b1e594: fix(web): a malformed status.json must not refuse to start easywall-web (@jp1337)
- c83268d: fix(web): set data-js on every head that renders the language switch (@jp1337)
- f358a7d: fix(web): the dashboard tiles take their four rows from the grid (@jp1337)
Other
- 760fbd4: chore(release): 2.9.0 (@jp1337)
- 18327c9: ci(release): announce the release on Discord (@jp1337)
- f531146: style(web): drop the redundant embedded selector, and correct the env page (@jp1337)
- 959288c: test(config): guard encode()'s copy block against a missed managed key (@jp1337)
- f38f567: test(config): no environment variable may target a field the interface writes (@jp1337)
- d9a24ce: test(i18n): the guards enumerate the locale files instead of naming two (@jp1337)
- 18992e9: test(ui): wait for the language POST instead of racing it (@jp1337)