v3.24.0

mealie-recipes/mealiev3.24.0Aug 24, 2026by github-actions[bot]

AI Summary

This release focuses on performance optimizations, including lower RAM usage and faster startup times, alongside UI improvements for the meal planner and new features like lazy module loading and OIDC support.

Key Highlights

  • The meal planner features a much-improved recipe selector when editing entries directly.
  • Several improvements have been made to lower idle RAM usage and speed up startup time.
  • Added support for disabling services.
  • Added optional linked ingredients to the print view.
  • Added URL-backed cook mode for recipe pages.

New Features

  • Improve meal planner editor
  • Remove share text
  • Added support for disable services
  • Add optional linked ingredients to print view
  • Lazy module loading and deferred pydantic build
  • Allow user to specify cookiefile for yt-dlp
  • Add URL-backed cook mode for recipe pages

Full Release Notes

# 🍴🍴🍴🍴🍴🍴

## 🎉 Highlights

- The meal planner features a much-improved recipe selector when editing entries directly:
<img width="1020" height="664" alt="Screenshot 2026-08-24 at 11 28 34 AM" src="https://github.com/user-attachments/assets/ac427920-2f8f-4eba-9ed2-41742d3eb876" />

- Several improvements have been made to lower idle RAM usage and speed up startup time.

## ✨ New features

- feat: improve meal planner editor @michael-genson (#8152)
- feat: remove share text @michael-genson (#8168)
- feat: Added support for disable services @Choromanski (#7434)
- feat: add optional linked ingredients to print view @BWagener (#7632)
- feat: lazy module loading and deferred pydantic build @michelezoncheddu (#7316)
- feat: allow user to specify cookiefile for yt-dlp @space192 (#7363)
- feat: add URL-backed cook mode for recipe pages @micsco (#7287)

## 🐛 Bug fixes

- fix: registration with seed data returns a 500 @justadityaraj (#8170)
- fix: return HTTP 200 for SPA fallback responses @roadhero (#7656)

## 🧰 Maintenance

<details>
<summary>7 changes</summary>

- chore(l10n): New Crowdin updates @hay-kot (#8135)
- chore(l10n): New Crowdin updates @hay-kot (#8144)
- chore(l10n): New Crowdin updates @hay-kot (#8155)
- chore(l10n): New Crowdin updates @hay-kot (#8161)
- chore: remove unused translations and unused icons @michael-genson (#8169)
- chore(l10n): Crowdin locale sync @[mealie-actions[bot]](https://github.com/apps/mealie-actions) (#8185)
- chore: resolve warnings and update some older deps @michael-genson (#8193)
</details>

## 🔨 Internal development

- dev: switch to pnpm and update devcontainer @p0lycarpio (#7663)
- dev: renamed and moved github copilot-specific repository context to AGENTS.md, which is harness-agnostic @lcs-crr (#8134)
- dev: relax pnpm pin @michael-genson (#8189)

## ⬆️ Dependency updates

<details>
<summary>19 changes</summary>

- chore(deps): update dependency ruff to v0.16.3 @[renovate[bot]](https://github.com/apps/renovate) (#8136)
- fix(deps): update dependency uvicorn to v0.52.3 @[renovate[bot]](https://github.com/apps/renovate) (#8137)
- fix(deps): update dependency orjson to v3.12.0 @[renovate[bot]](https://github.com/apps/renovate) (#8153)
- fix(deps): update dependency openai to v3.1.0 @[renovate[bot]](https://github.com/apps/renovate) (#8157)
- chore(deps): update dependency types-pyyaml to v6.0.12.20260815 @[renovate[bot]](https://github.com/apps/renovate) (#8158)
- chore(deps): update dependency mypy to v2.3.1 @[renovate[bot]](https://github.com/apps/renovate) (#8159)
- chore(deps): update dependency dompurify to v3.4.11 [security] @[renovate[bot]](https://github.com/apps/renovate) (#8164)
- chore(deps): update dependency dompurify to v3.4.13 [security] @[renovate[bot]](https://github.com/apps/renovate) (#8167)
- chore(deps): update dependency axios to v1.18.0 [security] @[renovate[bot]](https://github.com/apps/renovate) (#8166)
- chore(deps): update dependency nuxt to v4.5.1 [security] @[renovate[bot]](https://github.com/apps/renovate) (#8165)
- fix(deps): update dependency python-dotenv to v1.2.3 @[renovate[bot]](https://github.com/apps/renovate) (#8174)
- fix(deps): update dependency openai to v3.2.0 @[renovate[bot]](https://github.com/apps/renovate) (#8182)
- chore(deps): update dependency httpx2 to v2.11.0 @[renovate[bot]](https://github.com/apps/renovate) (#8186)
- chore(deps): update dependency httpx2 to v2.12.0 @[renovate[bot]](https://github.com/apps/renovate) (#8187)
- chore(deps): lock file maintenance @[renovate[bot]](https://github.com/apps/renovate) (#8191)
- fix(deps): update dependency openai to v3.3.0 @[renovate[bot]](https://github.com/apps/renovate) (#8190)
- chore(deps): lock file maintenance @[renovate[bot]](https://github.com/apps/renovate) (#8192)
- fix(deps): update dependency lxml to v6.1.2 @[renovate[bot]](https://github.com/apps/renovate) (#8195)
- fix(deps): update dependency uvicorn to v0.52.4 @[renovate[bot]](https://github.com/apps/renovate) (#8196)
</details>

## 🙏 New Contributors

* @lcs-crr made their first contribution in https://github.com/mealie-recipes/mealie/pull/8134
* @BWagener made their first contribution in https://github.com/mealie-recipes/mealie/pull/7632
* @justadityaraj made their first contribution in https://github.com/mealie-recipes/mealie/pull/8170
* @space192 made their first contribution in https://github.com/mealie-recipes/mealie/pull/7363
* @micsco made their first contribution in https://github.com/mealie-recipes/mealie/pull/7287
* @roadhero made their first contribution in https://github.com/mealie-recipes/mealie/pull/7656

# 🍴🍴🍴🍴🍴🍴