Mealie v3.23.0

v3.23.0
Added 5
  • Add re-roll button to meal planner entries
  • Add native OIDC endpoints for mobile/desktop clients
  • Add unified AI recipe import page
  • Skip expiring share link for fully-public groups/households
  • Add jump from toast feature
Changed 3
  • Simplify AI imports with unified import page and improved provider call handling
  • Update ingredient parsing text
  • Refine AI import page
Fixed 12
  • Handle HowToSection missing itemListElement in clean_instructions
  • Fix typo in en-US food seed data
  • Fix recipe image lost after using Get (fetch by URL) then saving
  • Revalidate stale group/household preferences cache and settings forms
  • Fix public check for recipe sharing
  • Improve IntegrityError message for unique constraint violations

From Mealie

🍴🍴🍴🍴🍴🍴

🎉 Highlights
Simplified AI Imports

Importing recipes with AI has been vastly improved. Rather than several disparate import pages, you now import recipes with AI via the universal "Import with AI" page:

From here you can also choose several options previously only featured on a handful of pages:

The internals of how your providers are called has been rewritten as well to break up import tasks into separate calls to your provider, shrinking context windows and producing more consistent results.

Native OIDC endpoints

We now have native OIDC endpoints for OIDC services which only work via passkey (or otherwise don't rely on the browser session), such as Pocket ID and authentik. These should now work for you out of the box (see: https://github.com/mealie-recipes/mealie/pull/7804).

✨ New features
  • feat: add re-roll button to meal planner entries @smashngrabb (#7348)
  • feat: add native OIDC endpoints for mobile/desktop clients @DmitriiSer (#7804)
  • feat: Unified AI recipe page @michael-genson (#8043)
  • feat: skip expiring share link for fully-public groups/households @bferd (#7941)
  • feat: Update ingredient parsing text @michael-genson (#8066)
  • feat: Refine AI import page @michael-genson (#8067)
  • feat: Jump from toast @miah120 (#7986)
🐛 Bug fixes
  • fix: handle HowToSection missing itemListElement in clean_instructions @ishirbhan (#7616)
  • fix: typo in en-US food seed data @sevmonster (#7750)
  • fix: recipe image lost after using "Get" (fetch by URL) then saving @bferd (#8021)
  • fix: revalidate stale group/household preferences cache and settings forms @bferd (#8022)
  • fix: fix public check for recipe sharing @michael-genson (#8055)
  • fix: improve IntegrityError message for unique constraint violations @nzyz995 (#8050)
  • fix: Allow psycopg2-binary to be optional again @michael-genson (#8065)
  • fix: prevent recipe tags from hiding card actions @feilongcheng (#8028)
  • fix: keep the whole image visible after rotating it in the image cropper @derekdiliu (#8016)
  • fix: prevent registration with empty group name @Luna-81 (#8105)
  • fix: reset ingredient parser dialog state when reopening @derekdiliu (#8106)
  • fix: cascade delete a user's meal plans and shopping lists @lotusk (#8120)
  • fix: prevent meal planner recipe card menu from being clipped in narrow columns @elliot-ultra (#8117)
  • fix: await validation before creating admin user @ARYA8532 (#8118)
🧰 Maintenance
  • chore(l10n): New Crowdin updates @hay-kot (#7970)
  • chore(l10n): New Crowdin updates @hay-kot (#7978)
  • chore(l10n): New Crowdin updates @hay-kot (#7982)
  • chore(l10n): New Crowdin updates @hay-kot (#7987)
  • chore(l10n): Crowdin locale sync @mealie-actions[bot] (#7993)
  • chore(l10n): New Crowdin updates @hay-kot (#7995)
  • chore(l10n): New Crowdin updates @hay-kot (#8002)
  • chore(l10n): New Crowdin updates @hay-kot (#8009)
  • chore(l10n): New Crowdin updates @hay-kot (#8015)
  • chore(l10n): New Crowdin updates @hay-kot (#8025)
  • chore(l10n): New Crowdin updates @hay-kot (#8029)
  • chore(l10n): Crowdin locale sync @mealie-actions[bot] (#8037)
  • chore(l10n): New Crowdin updates @hay-kot (#8039)
  • chore(l10n): New Crowdin updates @hay-kot (#8048)
  • chore(l10n): New Crowdin updates @hay-kot (#8056)
  • chore(l10n): New Crowdin updates @hay-kot (#8061)
  • chore(l10n): New Crowdin updates @hay-kot (#8069)
  • chore(l10n): New Crowdin updates @hay-kot (#8073)
  • chore(l10n): New Crowdin updates @hay-kot (#8077)
  • chore(l10n): New Crowdin updates @hay-kot (#8079)
  • chore(l10n): New Crowdin updates @hay-kot (#8086)
  • chore(l10n): Crowdin locale sync @mealie-actions[bot] (#8101)
  • chore(l10n): New Crowdin updates @hay-kot (#8104)
  • chore(l10n): New Crowdin updates @hay-kot (#8107)
  • chore: treat all warnings as errors in pytest unless explicitly ignored. @bestxmg (#8094)
  • chore: fix frontend lint @michael-genson (#8112)
  • chore(l10n): New Crowdin updates @hay-kot (#8122)
  • chore(l10n): New Crowdin updates @hay-kot (#8128)
🔨 Internal development
  • dev: bump dev image to trixie @michael-genson (#7968)
  • dev: fix all the warning in pytest @bestxmg (#8033)
  • dev: bind-mount dev postgres data to dev/data/postgres @lotusk (#8046)
  • dev: Shopping list unit test @miah120 (#7969)
⬆️ Dependency updates
  • fix(deps): update dependency openai to v2.48.0 @renovate[bot] (#7972)
  • chore(deps): update dependency types-pyyaml to v6.0.12.20260724 @renovate[bot] (#7975)
  • fix(deps): update dependency fastapi to v0.140.0 @renovate[bot] (#7981)
  • chore(deps): update dependency ruff to v0.16.0 @michael-genson (#7983)
  • fix(deps): update dependency fastapi to v0.140.7 @renovate[bot] (#7989)
  • fix(deps): update dependency openai to v2.49.0 @renovate[bot] (#7992)
  • fix(deps): update dependency fastapi to v0.140.8 @renovate[bot] (#7996)
  • fix(deps): update dependency fastapi to v0.140.9 @renovate[bot] (#7997)
  • fix(deps): update dependency fastapi to v0.140.13 @renovate[bot] (#7998)
  • fix(deps): update dependency openai to v2.50.0 @renovate[bot] (#7999)
  • chore(deps): lock file maintenance @renovate[bot] (#8000)
  • fix(deps): update dependency fastapi to v0.141.0 @renovate[bot] (#8004)
  • fix(deps): update dependency uvicorn to v0.52.0 @renovate[bot] (#8005)
  • fix(deps): update dependency fastapi to v0.141.1 @renovate[bot] (#8006)
  • chore(deps): update dependency ruff to v0.16.1 @renovate[bot] (#7971)
  • fix(deps): update dependency openai to v2.51.0 @renovate[bot] (#8008)
  • fix(deps): update dependency openai to v2.52.0 @renovate[bot] (#8017)
  • fix(deps): update dependency uvicorn to v0.52.1 @renovate[bot] (#8023)
  • chore(deps): update dependency coverage to v7.15.3 @renovate[bot] (#8031)
  • chore(deps): update dependency dompurify to v3.4.13 [security] @renovate[bot] (#8032)
  • fix(deps): update dependency openai to v2.52.1 @renovate[bot] (#8035)
  • fix(deps): update dependency openai to v2.53.0 @renovate[bot] (#8036)
  • chore(deps): update dependency httpx2 to v2.9.1 @renovate[bot] (#8038)
  • fix(deps): update dependency alembic to v1.19.0 @renovate[bot] (#8041)
  • chore(deps): update node.js to 934240a @renovate[bot] (#8054)
  • chore(deps): lock file maintenance @renovate[bot] (#8042)
  • chore(deps): update dependency coverage to v7.15.4 @renovate[bot] (#8062)
  • chore(deps): update dependency types-python-dateutil to v2.9.0.20260807 @renovate[bot] (#8070)
  • fix(deps): update dependency pydantic-settings to v2.15.0 @renovate[bot] (#8071)
  • chore(deps): update dependency ruff to v0.16.2 @renovate[bot] (#8072)
  • fix(deps): update dependency alembic to v1.19.1 @renovate[bot] (#8080)
  • chore(deps): update dependency setuptools to v84 @renovate[bot] (#8081)
  • fix(deps): update dependency recipe-scrapers to v15.12.0 @renovate[bot] (#8082)
  • chore(deps): update dependency httpx2 to v2.10.0 @renovate[bot] (#8085)
  • chore(deps): update dependency pylint to v4.0.7 @renovate[bot] (#8090)
  • chore(deps): update dependency pre-commit to v4.6.2 @renovate[bot] (#8099)
  • fix(deps): update dependency openai to v2.54.0 @renovate[bot] (#8108)
  • fix(deps): update dependency sqlalchemy to v2.0.52 @renovate[bot] (#8109)
  • chore(deps): lock file maintenance @renovate[bot] (#8110)
  • chore(deps): lock file maintenance @renovate[bot] (#8114)
  • fix(deps): update dependency openai to v3 @renovate[bot] (#8113)
  • fix(deps): update dependency uvicorn to v0.52.2 @renovate[bot] (#8129)
🙏 New Contributors

🍴🍴🍴🍴🍴🍴

View original

Upgraded? How did it go?

Discussion