wger
Self hosted FLOSS fitness/workout, nutrition and weight tracker
Alternative to: myfitnesspal, strong, jefit, hevy, trainerize
2.5
2026-04-15What’s Changed
Notable changes
Improved ingredient sync. This process now uses a pre-generate database dump file, which can be processed much more effectively. The setting SYNC_INGREDIENTS_CELERY will automatically prefer the bulk dump over the paginated API, falling back to the API if no dump is available.
Improve serving size support for ingredients. It’s now possible to log food in more useful units than “gram”, e.g. “1 Serving (2 biscuits)” or “1 Cup”. These serving sizes automatically imported from Open Food Facts.
Add vegan, vegetarian and nutriscore fields to the model.
Add “warmup” to list of set types.
Add more information to the repetition units in the routines. This will allow us to e.g. properly handle time units in the mobile app, e.g. by showing a timer or similar. The setting-repetitionunit endpoint now exposes the new fields unit_type and multiplier.
Automatically read the date from uploaded image to the gallery.
Move the exercise variation to a field in the exercise model. This simplifies a lot of code and allows us to properly sync them to local instances as well.
Breaking API changes
The following endpoints have been removed:
/api/v2/ingredient/search/, searches can use the regular/api/v2/ingredientinfoone/api/v2/exercise/search/, searches can use the regular/api/v2/exerciseinfoone/api/v2/variations/, variation data is not accessible directly on the exercise/api/v2/weightunit/, not needed anymore
Features
- Docker image not running by @yontank in https://github.com/wger-project/wger/pull/2168
- Fix: Auto-calculate SlotEntry.order when not provided via API by @ndimoro in https://github.com/wger-project/wger/pull/2181
- Feature: set UI language by @franchsli in https://github.com/wger-project/wger/pull/2160
- feature: add link to trophies overview by @franchsli in https://github.com/wger-project/wger/pull/2198
- add brand and common name on ingredientinfo serializer by @cryptbrn in https://github.com/wger-project/wger/pull/2192
- Potential fix for code scanning alert no. 78: Workflow does not contain permissions by @rolandgeider in https://github.com/wger-project/wger/pull/2211
- Properly block registration via the REST API by @rolandgeider in https://github.com/wger-project/wger/pull/2212
- Fix type error in rules handling by @rolandgeider in https://github.com/wger-project/wger/pull/2221
- remove duplicate
thenby @stavros-k in https://github.com/wger-project/wger/pull/2229 - Add vegan and vegetarian flags by @rolandgeider in https://github.com/wger-project/wger/pull/2231
- Add dietary property fields (is_vegan, is_vegetarian) to Ingredient by @stuckvgn in https://github.com/wger-project/wger/pull/2218
- Add is ai generated flag to images by @alexisbirling-boop in https://github.com/wger-project/wger/pull/2222
- Fix: Prevent IntegrityError on user deletion by handling missing user by @infektyd in https://github.com/wger-project/wger/pull/2233
- Timer for Timed Exercises by @tbouri in https://github.com/wger-project/wger/pull/2137
- docs(i18n): fix typo in Russian translation by @Really-Fun in https://github.com/wger-project/wger/pull/2251
- Automatic Date Reading on Images by @MadoctheHadoc in https://github.com/wger-project/wger/pull/2252
- Handles image metadata field changes on sync by @shihabhasan0161 in https://github.com/wger-project/wger/pull/2245
- Add nutriscore field imported from Open Food Facts by @ImadRahhali in https://github.com/wger-project/wger/pull/2256
- feat: Allow AUTH_PROXY_TRUSTED_IPS to accept subnetfeat: Allow AUTH_PROXY_TRUSTED_IPS to accept subnet via ipaddress module (#1989) (#1989) by @betterrrrr in https://github.com/wger-project/wger/pull/2259
- More flexible media files handling by @rolandgeider in https://github.com/wger-project/wger/pull/2262
- Off serving size by @lvdwijngaart in https://github.com/wger-project/wger/pull/2261
- Feat: Replace django-email-verification with django-allauth (#2258) by @pankaj-basnet in https://github.com/wger-project/wger/pull/2260
- Add bulk ingredient sync by @rolandgeider in https://github.com/wger-project/wger/pull/2287
- Version 2.5 by @rolandgeider in https://github.com/wger-project/wger/pull/2286
- Add some additional basic nutritional values validation for ingredients by @rolandgeider in https://github.com/wger-project/wger/pull/1726
- Backend support for Markdown descriptions and migration from bleach to nh3 by @Frenzy-code in https://github.com/wger-project/wger/pull/2140
- feat(measurements): allow multiple entries per day by @sg172003 in https://github.com/wger-project/wger/pull/2257
- Simplify the way the units are handled for nutritional plans by @rolandgeider in https://github.com/wger-project/wger/pull/2281
- Rework exercise variations by @rolandgeider in https://github.com/wger-project/wger/pull/2292
Dependencies
- Bump faker from 38.2.0 to 40.1.2 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2180
- Update django-axes[ipware] requirement from ~=8.0.0 to ~=8.1.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2179
- Bump packaging from 25.0 to 26.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2178
- Bump wheel from 0.45.1 to 0.46.3 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2177
- Bump jquery from 3.7.1 to 4.0.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2169
- Bump gunicorn from 23.0.0 to 24.1.1 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2189
- Bump pillow from 12.0.0 to 12.1.1 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2204
- Bump gunicorn from 24.1.1 to 25.0.3 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2200
- Bump django-environ from 0.12.0 to 0.13.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2210
- Bump ruff from 0.14.14 to 0.15.2 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2209
- Bump django-debug-toolbar from 6.1.0 to 6.2.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2187
- Update django-axes[ipware] requirement from ~=8.1.0 to ~=8.3.1 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2213
- Bump openfoodfacts from 3.3.0 to 3.4.5 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2214
- Bump gunicorn from 25.0.3 to 25.1.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2226
- Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2225
- Bump icalendar from 6.3.2 to 7.0.2 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2230
- Bump django-crispy-forms from 2.5 to 2.6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2238
- Bump django from 5.2.11 to 5.2.12 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2240
- Bump docker/login-action from 3 to 4 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2241
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2250
- Bump pyjwt from 2.11.0 to 2.12.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2255
- Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2248
- Bump docker/metadata-action from 5 to 6 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2249
- Bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2268
- Bump gunicorn from 25.1.0 to 25.3.0 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2282
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in https://github.com/wger-project/wger/pull/2224
New Contributors
- @yontank made their first contribution in https://github.com/wger-project/wger/pull/2168
- @ndimoro made their first contribution in https://github.com/wger-project/wger/pull/2181
- @franchsli made their first contribution in https://github.com/wger-project/wger/pull/2160
- @cryptbrn made their first contribution in https://github.com/wger-project/wger/pull/2192
- @stavros-k made their first contribution in https://github.com/wger-project/wger/pull/2229
- @stuckvgn made their first contribution in https://github.com/wger-project/wger/pull/2218
- @alexisbirling-boop made their first contribution in https://github.com/wger-project/wger/pull/2222
- @infektyd made their first contribution in https://github.com/wger-project/wger/pull/2233
- @tbouri made their first contribution in https://github.com/wger-project/wger/pull/2137
- @Really-Fun made their first contribution in https://github.com/wger-project/wger/pull/2251
- @MadoctheHadoc made their first contribution in https://github.com/wger-project/wger/pull/2252
- @shihabhasan0161 made their first contribution in https://github.com/wger-project/wger/pull/2245
- @ImadRahhali made their first contribution in https://github.com/wger-project/wger/pull/2256
- @betterrrrr made their first contribution in https://github.com/wger-project/wger/pull/2259
- @lvdwijngaart made their first contribution in https://github.com/wger-project/wger/pull/2261
- @pankaj-basnet made their first contribution in https://github.com/wger-project/wger/pull/2260
- @Frenzy-code made their first contribution in https://github.com/wger-project/wger/pull/2140
- @sg172003 made their first contribution in https://github.com/wger-project/wger/pull/2257
Full Changelog: https://github.com/wger-project/wger/compare/2.4…2.5