v3.9.0
mealie-recipes/mealiev3.9.0Dec 29, 2025by github-actions[bot]
AI Summary
This release introduces UI enhancements for the meal planner and shopping list, including date persistence and animations, along with localized number inputs for specific locales.
Key Highlights
- Previous date selections are remembered when navigating the meal planner
- Checking off shopping list items now includes a nice animation
- Number inputs use comma separators for decimal places in locales like German
New Features
- Persist selected dates in meal planner
- Animate shopping list and increase touch target
- Replace number inputs with new v-number-input component
Full Release Notes
# 🍴🍴🍴🍴🍴🍴 ## 🎉 Highlights - When navigating to/from the meal planner, your previous date selections are remembered - Checking off a shopping list item now has a nice animation - Number inputs (e.g. recipe quantity) now use comma separators for the decimal place in locales which use them (e.g. German). They also look nicer! ## ✨ New features - feat: persist selected dates in meal planner @gitolicious (#6512) - feat: Animate shopping list and increase touch target @miah120 (#6569) - feat: Replace number inputs with new v-number-input compontent @michael-genson (#6767) ## 🐛 Bug fixes - fix: PWA maskable android icons & enctype shared_target @p0lycarpio (#6731) - fix: Consistent Shopping List Recipe State @michael-genson (#6758) - fix: Backup selection doesn't work sometimes @michael-genson (#6759) - fix: add loader for create backup button @p0lycarpio (#6763) - fix: the `add_pagination_to_query` now always returns the correct count @AurelienPautet (#6505) - fix: Imported API keys not working on a new server #6477 @onemustpersist (#6496) - fix: Add resiliency to LDAP admin filter @michael-genson (#6766) - fix: Can't remove organizer @michael-genson (#6771) - fix: Improve recipe bulk deletion @michael-genson (#6772) - fix: Only fetch recipes with a household id @michael-genson (#6773) - fix: resize pwa maskable icons @p0lycarpio (#6777) ## 🧰 Maintenance <details> <summary>11 changes</summary> - chore(l10n): New Crowdin updates @hay-kot (#6744) - chore(l10n): New Crowdin updates @hay-kot (#6748) - chore(l10n): Crowdin locale sync @github-actions (#6754) - chore(auto): Update pre-commit hooks @github-actions (#6760) - chore(l10n): New Crowdin updates @hay-kot (#6765) - chore(l10n): New Crowdin updates @hay-kot (#6768) - chore(l10n): New Crowdin updates @hay-kot (#6776) - chore(l10n): New Crowdin updates @hay-kot (#6778) - chore(l10n): Crowdin locale sync @github-actions (#6786) - chore(l10n): New Crowdin updates @hay-kot (#6788) - chore(l10n): New Crowdin updates @hay-kot (#6789) </details> ## 📚 Documentation - docs: add GitHub Actions workflow for docs deployment @hay-kot (#6752) - docs: isolate docs dependencies to avoid python-ldap build @hay-kot (#6753) - docs: add --no-project flags to skip mealie installation @hay-kot (#6755) ## ⬆️ Dependency updates <details> <summary>9 changes</summary> - fix(deps): update dependency fastapi to v0.126.0 @renovate (#6750) - fix(deps): update dependency uvicorn to v0.40.0 @renovate (#6757) - fix(deps): update dependency python-multipart to v0.0.21 @renovate (#6737) - chore(deps): update dependency mkdocs-material to v9.7.1 @renovate (#6741) - fix(deps): update dependency openai to v2.14.0 @renovate (#6745) - fix(deps): update dependency fastapi to v0.127.0 @renovate (#6756) - fix(deps): Bump various frontend deps @michael-genson (#6774) - fix(deps): update dependency fastapi to v0.127.1 @renovate (#6779) - fix(deps): update dependency fastapi to v0.128.0 @renovate (#6783) - chore(deps): update dependency coverage to v7.13.1 @renovate (#6787) </details> ## 🙏 New Contributors * @gitolicious made their first contribution in https://github.com/mealie-recipes/mealie/pull/6512 * @onemustpersist made their first contribution in https://github.com/mealie-recipes/mealie/pull/6496 # 🍴🍴🍴🍴🍴🍴