2.4

SigNoz/signoz2.4Jan 18, 2026by rolandgeider

AI Summary

A significant update for the wger project (workout manager) featuring a complete refactoring of application settings, removal of Django compressor, and numerous UI/UX improvements including new image formats and exercise submission enhancements.

Key Highlights

  • Breaking change: Default location for settings files has changed (non-Docker users must update)
  • Refactored application settings
  • Removed Django compressor
  • Added AVIF image format support
  • Added Trophy System backend

Breaking Changes

  • Default location for settings files has changed (non-Docker setup)

New Features

  • Auth proxy header support
  • AVIF image format support
  • Exercise submission endpoint
  • Trophy system backend
  • Image validation for animations

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at 2.4 -->

## Breaking changes

Please note that the default location for the settings files has changed, *if you are not using the docker setup you will probably need to update this*, please check the instructions at #2153

## Update steps

* Update python libraries `uv sync` or `pip3 install .`
* Migrate database `python manage.py migrate`
* Update CSS and JS libraries `npm install`
* Compile the CSS `npm run build:css:sass`
* Update static files (only production): `python3 manage.py collectstatic`
* For the trophies you will need to manually start the evaluation process:
  ```bash
  python manage.py recalculate_statistics --all --active-only
  python manage.py evaluate_trophies --all
  ```

## What's Changed
### Features
* Fix NoneType exception by @rolandgeider in https://github.com/wger-project/wger/pull/1955
* Move requirements to pyproject.toml by @rolandgeider in https://github.com/wger-project/wger/pull/1964
* adds support for auth proxy header by @eyJhb in https://github.com/wger-project/wger/pull/1859
* Handle special characters in OFF product import #1956 by @wbonicki in https://github.com/wger-project/wger/pull/1970
* Ensure trainers see their templates impersonating. by @perrito666 in https://github.com/wger-project/wger/pull/1967
* Improve logging for ingredient sync operations by @rolandgeider in https://github.com/wger-project/wger/pull/1975
* docs: Fix demo container name by @hangy in https://github.com/wger-project/wger/pull/1976
* perf: Optimize landing page images by @hangy in https://github.com/wger-project/wger/pull/1978
* Compile django translations on docker build time by @rolandgeider in https://github.com/wger-project/wger/pull/1990
* Add start and end fields to the nutritional plan models by @rolandgeider in https://github.com/wger-project/wger/pull/1997
* Make language dropdown scrollable (limit height; overflow-y:auto) by @Carner-Lin in https://github.com/wger-project/wger/pull/2042
* Prevent height spinner going below 0 in user preferences by @Carner-Lin in https://github.com/wger-project/wger/pull/2030
* Add languages by @rolandgeider in https://github.com/wger-project/wger/pull/2046
* Replace ingredient search function by @rolandgeider in https://github.com/wger-project/wger/pull/1724
* Adds validator for (exercise) images by @rolandgeider in https://github.com/wger-project/wger/pull/2049
* Allow multiple weight entries per day by @scrapcode in https://github.com/wger-project/wger/pull/1895
* Exercise submission endpoint by @rolandgeider in https://github.com/wger-project/wger/pull/2051
* Feature/1694 by @wbonicki in https://github.com/wger-project/wger/pull/1977
* Fix typo in meal planning text by @AmandeepMandal1077 in https://github.com/wger-project/wger/pull/2059
* Refactor exercise search to unified endpoint (issue #2052) by @ChristianFeliks in https://github.com/wger-project/wger/pull/2057
* Fix "Get Started" Button and Add Registration Sidebar by @JANVI-CHATURVEDI in https://github.com/wger-project/wger/pull/2066
* refactor: make fields collections immutable by @seppzer0 in https://github.com/wger-project/wger/pull/2061
* Gallery: reuse exercise image validator to block animated uploads ( # 2054 )  by @saadpy0 in https://github.com/wger-project/wger/pull/2055
* Add password toggle feature in forms by @Akshit-MMQH in https://github.com/wger-project/wger/pull/2079
* AVIF: updated supported images formats with avif by @3mpee3mpee in https://github.com/wger-project/wger/pull/2083
* issue(2053): added the diemnsions and updated historical data by @shantanugupta2004 in https://github.com/wger-project/wger/pull/2063
* Add our react components as a regular dependency by @rolandgeider in https://github.com/wger-project/wger/pull/2086
* Added clickable app-store links to README by @DidiNDexter in https://github.com/wger-project/wger/pull/2100
* feat: add management command to check gallery images for animation by @saadpy0 in https://github.com/wger-project/wger/pull/2077
* Make app-store badges uniform in height by @DidiNDexter in https://github.com/wger-project/wger/pull/2102
* Remove test for empty common name. by @rolandgeider in https://github.com/wger-project/wger/pull/2114
* Properly translate the strings by @rolandgeider in https://github.com/wger-project/wger/pull/2115
* Improve the celery ingredient sync by @rolandgeider in https://github.com/wger-project/wger/pull/2117
* Fix bug that caused days with logs not to advance correctly by @rolandgeider in https://github.com/wger-project/wger/pull/2123
* Add Trophy System's Backend by @jeremy-ru in https://github.com/wger-project/wger/pull/2136
* Refactor application settings by @rolandgeider in https://github.com/wger-project/wger/pull/2153
* Remove django compressor by @rolandgeider in https://github.com/wger-project/wger/pull/2162
* PR trophies by @justin-pinheiro in https://github.com/wger-project/wger/pull/2147
### Dependencies
* Bump bootstrap from 5.3.3 to 5.3.5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1950
* Bump datatables.net-bs5 from 2.2.2 to 2.3.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1966
* Bump bootstrap from 5.3.5 to 5.3.6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1968
* Bump django from 5.2 to 5.2.1 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1969
* Bump datatables.net-bs5 from 2.3.0 to 2.3.1 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1972
* Bump bootstrap from 5.3.6 to 5.3.7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1988
* Bump htmx.org from 2.0.4 to 2.0.5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1992
* Bump datatables.net-bs5 from 2.3.1 to 2.3.2 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1986
* Bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2021
* Bump super-linter/super-linter from 7 to 8 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2010
* Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2017
* Bump datatables.net-bs5 from 2.3.2 to 2.3.3 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2022
* Bump bootstrap from 5.3.7 to 5.3.8 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2029
* Bump htmx.org from 2.0.5 to 2.0.6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/1999
* Bump actions/setup-python from 5 to 6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2035
* Bump django from 5.2.5 to 5.2.6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2038
* Bump htmx.org from 2.0.6 to 2.0.7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2037
* Bump datatables.net-bs5 from 2.3.3 to 2.3.4 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2039
* Bump django from 5.2.6 to 5.2.7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2062
* Bump devbridge-autocomplete from 1.4.11 to 1.5.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2004
* Bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2081
* Bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2080
* Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2096
* Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2095
* Bump vite from 7.1.10 to 7.1.11 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2089
* Bump htmx.org from 2.0.7 to 2.0.8 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2099
* Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2109
* Bump django from 5.2.7 to 5.2.8 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2108
* Bump datatables.net-bs5 from 2.3.4 to 2.3.5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2111
* Bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2118
* Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2144
* Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2143
* Bump actions/cache from 4 to 5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2142
* Bump datatables.net-bs5 from 2.3.5 to 2.3.6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2151

## New Contributors
* @wbonicki made their first contribution in https://github.com/wger-project/wger/pull/1970
* @perrito666 made their first contribution in https://github.com/wger-project/wger/pull/1967
* @hangy made their first contribution in https://github.com/wger-project/wger/pull/1976
* @Carner-Lin made their first contribution in https://github.com/wger-project/wger/pull/2042
* @AmandeepMandal1077 made their first contribution in https://github.com/wger-project/wger/pull/2059
* @ChristianFeliks made their first contribution in https://github.com/wger-project/wger/pull/2057
* @JANVI-CHATURVEDI made their first contribution in https://github.com/wger-project/wger/pull/2066
* @seppzer0 made their first contribution in https://github.com/wger-project/wger/pull/2061
* @saadpy0 made their first contribution in https://github.com/wger-project/wger/pull/2055
* @Akshit-MMQH made their first contribution in https://github.com/wger-project/wger/pull/2079
* @3mpee3mpee made their first contribution in https://github.com/wger-project/wger/pull/2083
* @shantanugupta2004 made their first contribution in https://github.com/wger-project/wger/pull/2063
* @DidiNDexter made their first contribution in https://github.com/wger-project/wger/pull/2100
* @jeremy-ru made their first contribution in https://github.com/wger-project/wger/pull/2136
* @justin-pinheiro made their first contribution in https://github.com/wger-project/wger/pull/2147

**Full Changelog**: https://github.com/wger-project/wger/compare/2.3...2.4