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: #7804).
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/mealie-recipes/mealie](https://github.com/mealie-recipes/mealie) | minor | `v3.22.0` → `v3.23.1` |
---
### Release Notes
<details>
<summary>mealie-recipes/mealie (ghcr.io/mealie-recipes/mealie)</summary>
### [`v3.23.1`](https://github.com/mealie-recipes/mealie/releases/tag/v3.23.1)
[Compare Source](https://github.com/mealie-recipes/mealie/compare/v3.23.0...v3.23.1)
### 🍴🍴🍴🍴🍴🍴
Quick fix to a few hints on the new AI page.
#### 🐛 Bug fixes
- fix: update outdated hints/docs [@​michael-genson](https://github.com/michael-genson) ([#​8130](https://github.com/mealie-recipes/mealie/issues/8130))
### 🍴🍴🍴🍴🍴🍴
### [`v3.23.0`](https://github.com/mealie-recipes/mealie/releases/tag/v3.23.0)
[Compare Source](https://github.com/mealie-recipes/mealie/compare/v3.22.0...v3.23.0)
### 🍴🍴🍴🍴🍴🍴
#### 🎉 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: <img width="943" height="627" alt="image" src="https://github.com/user-attachments/assets/e31de7c0-1911-4243-91a0-2ec5100a9eb1" />
From here you can also choose several options previously only featured on a handful of pages: <img width="339" height="219" alt="image" src="https://github.com/user-attachments/assets/e3174eac-0662-4344-b714-9caf1444cac6" />
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: [#​7804](https://github.com/mealie-recipes/mealie/pull/7804)).
#### ✨ New features
- feat: add re-roll button to meal planner entries [@​smashngrabb](https://github.com/smashngrabb) ([#​7348](https://github.com/mealie-recipes/mealie/issues/7348))
- feat: add native OIDC endpoints for mobile/desktop clients [@​DmitriiSer](https://github.com/DmitriiSer) ([#​7804](https://github.com/mealie-recipes/mealie/issues/7804))
- feat: Unified AI recipe page [@​michael-genson](https://github.com/michael-genson) ([#​8043](https://github.com/mealie-recipes/mealie/issues/8043))
- feat: skip expiring share link for fully-public groups/households [@​bferd](https://github.com/bferd) ([#​7941](https://github.com/mealie-recipes/mealie/issues/7941))
- feat: Update ingredient parsing text [@​michael-genson](https://github.com/michael-genson) ([#​8066](https://github.com/mealie-recipes/mealie/issues/8066))
- feat: Refine AI import page [@​michael-genson](https://github.com/michael-genson) ([#​8067](https://github.com/mealie-recipes/mealie/issues/8067))
- feat: Jump from toast [@​miah120](https://github.com/miah120) ([#​7986](https://github.com/mealie-recipes/mealie/issues/7986))
#### 🐛 Bug fixes
- fix: handle HowToSection missing itemListElement in clean\_instructions [@​ishirbhan](https://github.com/ishirbhan) ([#​7616](https://github.com/mealie-recipes/mealie/issues/7616))
- fix: typo in en-US food seed data [@​sevmonster](https://github.com/sevmonster) ([#​7750](https://github.com/mealie-recipes/mealie/issues/7750))
- fix: recipe image lost after using "Get" (fetch by URL) then saving [@​bferd](https://github.com/bferd) ([#​8021](https://github.com/mealie-recipes/mealie/issues/8021))
- fix: revalidate stale group/household preferences cache and settings forms [@​bferd](https://github.com/bferd) ([#​8022](https://github.com/mealie-recipes/mealie/issues/8022))
- fix: fix public check for recipe sharing [@​michael-genson](https://github.com/michael-genson) ([#​8055](https://github.com/mealie-recipes/mealie/issues/8055))
- fix: improve IntegrityError message for unique constraint violations [@​nzyz995](https://github.com/nzyz995) ([#​8050](https://github.com/mealie-recipes/mealie/issues/8050))
- fix: Allow psycopg2-binary to be optional again [@​michael-genson](https://github.com/michael-genson) ([#​8065](https://github.com/mealie-recipes/mealie/issues/8065))
- fix: prevent recipe tags from hiding card actions [@​feilongcheng](https://github.com/feilongcheng) ([#​8028](https://github.com/mealie-recipes/mealie/issues/8028))
- fix: keep the whole image visible after rotating it in the image cropper [@​derekdiliu](https://github.com/derekdiliu) ([#​8016](https://github.com/mealie-recipes/mealie/issues/8016))
- fix: prevent registration with empty group name [@​Luna-81](https://github.com/Luna-81) ([#​8105](https://github.com/mealie-recipes/mealie/issues/8105))
- fix: reset ingredient parser dialog state when reopening [@​derekdiliu](https://github.com/derekdiliu) ([#​8106](https://github.com/mealie-recipes/mealie/issues/8106))
- fix: cascade delete a user's meal plans and shopping lists [@​lotusk](https://github.com/lotusk) ([#​8120](https://github.com/mealie-recipes/mealie/issues/8120))
- fix: prevent meal planner recipe card menu from being clipped in narrow columns [@​elliot-ultra](https://github.com/elliot-ultra) ([#​8117](https://github.com/mealie-recipes/mealie/issues/8117))
- fix: await validation before creating admin user [@​ARYA8532](https://github.com/ARYA8532) ([#​8118](https://github.com/mealie-recipes/mealie/issues/8118))
#### 🧰 Maintenance
<details>
<summary>28 changes</summary>
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​7970](https://github.com/mealie-recipes/mealie/issues/7970))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​7978](https://github.com/mealie-recipes/mealie/issues/7978))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​7982](https://github.com/mealie-recipes/mealie/issues/7982))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​7987](https://github.com/mealie-recipes/mealie/issues/7987))
- chore(l10n): Crowdin locale sync @​[mealie-actions\[bot\]](https://github.com/apps/mealie-actions) ([#​7993](https://github.com/mealie-recipes/mealie/issues/7993))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​7995](https://github.com/mealie-recipes/mealie/issues/7995))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8002](https://github.com/mealie-recipes/mealie/issues/8002))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8009](https://github.com/mealie-recipes/mealie/issues/8009))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8015](https://github.com/mealie-recipes/mealie/issues/8015))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8025](https://github.com/mealie-recipes/mealie/issues/8025))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8029](https://github.com/mealie-recipes/mealie/issues/8029))
- chore(l10n): Crowdin locale sync @​[mealie-actions\[bot\]](https://github.com/apps/mealie-actions) ([#​8037](https://github.com/mealie-recipes/mealie/issues/8037))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8039](https://github.com/mealie-recipes/mealie/issues/8039))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8048](https://github.com/mealie-recipes/mealie/issues/8048))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8056](https://github.com/mealie-recipes/mealie/issues/8056))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8061](https://github.com/mealie-recipes/mealie/issues/8061))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8069](https://github.com/mealie-recipes/mealie/issues/8069))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8073](https://github.com/mealie-recipes/mealie/issues/8073))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8077](https://github.com/mealie-recipes/mealie/issues/8077))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8079](https://github.com/mealie-recipes/mealie/issues/8079))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8086](https://github.com/mealie-recipes/mealie/issues/8086))
- chore(l10n): Crowdin locale sync @​[mealie-actions\[bot\]](https://github.com/apps/mealie-actions) ([#​8101](https://github.com/mealie-recipes/mealie/issues/8101))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8104](https://github.com/mealie-recipes/mealie/issues/8104))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8107](https://github.com/mealie-recipes/mealie/issues/8107))
- chore: treat all warnings as errors in pytest unless explicitly ignored. [@​bestxmg](https://github.com/bestxmg) ([#​8094](https://github.com/mealie-recipes/mealie/issues/8094))
- chore: fix frontend lint [@​michael-genson](https://github.com/michael-genson) ([#​8112](https://github.com/mealie-recipes/mealie/issues/8112))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8122](https://github.com/mealie-recipes/mealie/issues/8122))
- chore(l10n): New Crowdin updates [@​hay-kot](https://github.com/hay-kot) ([#​8128](https://github.com/mealie-recipes/mealie/issues/8128))
</details>
#### 🔨 Internal development
- dev: bump dev image to trixie [@​michael-genson](https://github.com/michael-genson) ([#​7968](https://github.com/mealie-recipes/mealie/issues/7968))
- dev: fix all the warning in pytest [@​bestxmg](https://github.com/bestxmg) ([#​8033](https://github.com/mealie-recipes/mealie/issues/8033))
- dev: bind-mount dev postgres data to dev/data/postgres [@​lotusk](https://github.com/lotusk) ([#​8046](https://github.com/mealie-recipes/mealie/issues/8046))
- dev: Shopping list unit test [@​miah120](https://github.com/miah120) ([#​7969](https://github.com/mealie-recipes/mealie/issues/7969))
#### ⬆️ Dependency updates
<details>
<summary>42 changes</summary>
- fix(deps): update dependency openai to v2.48.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7972](https://github.com/mealie-recipes/mealie/issues/7972))
- chore(deps): update dependency types-pyyaml to v6.0.12.20260724 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7975](https://github.com/mealie-recipes/mealie/issues/7975))
- fix(deps): update dependency fastapi to v0.140.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7981](https://github.com/mealie-recipes/mealie/issues/7981))
- chore(deps): update dependency ruff to v0.16.0 [@​michael-genson](https://github.com/michael-genson) ([#​7983](https://github.com/mealie-recipes/mealie/issues/7983))
- fix(deps): update dependency fastapi to v0.140.7 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7989](https://github.com/mealie-recipes/mealie/issues/7989))
- fix(deps): update dependency openai to v2.49.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7992](https://github.com/mealie-recipes/mealie/issues/7992))
- fix(deps): update dependency fastapi to v0.140.8 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7996](https://github.com/mealie-recipes/mealie/issues/7996))
- fix(deps): update dependency fastapi to v0.140.9 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7997](https://github.com/mealie-recipes/mealie/issues/7997))
- fix(deps): update dependency fastapi to v0.140.13 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7998](https://github.com/mealie-recipes/mealie/issues/7998))
- fix(deps): update dependency openai to v2.50.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7999](https://github.com/mealie-recipes/mealie/issues/7999))
- chore(deps): lock file maintenance @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8000](https://github.com/mealie-recipes/mealie/issues/8000))
- fix(deps): update dependency fastapi to v0.141.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8004](https://github.com/mealie-recipes/mealie/issues/8004))
- fix(deps): update dependency uvicorn to v0.52.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8005](https://github.com/mealie-recipes/mealie/issues/8005))
- fix(deps): update dependency fastapi to v0.141.1 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8006](https://github.com/mealie-recipes/mealie/issues/8006))
- chore(deps): update dependency ruff to v0.16.1 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​7971](https://github.com/mealie-recipes/mealie/issues/7971))
- fix(deps): update dependency openai to v2.51.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8008](https://github.com/mealie-recipes/mealie/issues/8008))
- fix(deps): update dependency openai to v2.52.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8017](https://github.com/mealie-recipes/mealie/issues/8017))
- fix(deps): update dependency uvicorn to v0.52.1 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8023](https://github.com/mealie-recipes/mealie/issues/8023))
- chore(deps): update dependency coverage to v7.15.3 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8031](https://github.com/mealie-recipes/mealie/issues/8031))
- chore(deps): update dependency dompurify to v3.4.13 \[security] @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8032](https://github.com/mealie-recipes/mealie/issues/8032))
- fix(deps): update dependency openai to v2.52.1 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8035](https://github.com/mealie-recipes/mealie/issues/8035))
- fix(deps): update dependency openai to v2.53.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8036](https://github.com/mealie-recipes/mealie/issues/8036))
- chore(deps): update dependency httpx2 to v2.9.1 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8038](https://github.com/mealie-recipes/mealie/issues/8038))
- fix(deps): update dependency alembic to v1.19.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8041](https://github.com/mealie-recipes/mealie/issues/8041))
- chore(deps): update node.js to [`934240a`](https://github.com/mealie-recipes/mealie/commit/934240a) @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8054](https://github.com/mealie-recipes/mealie/issues/8054))
- chore(deps): lock file maintenance @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8042](https://github.com/mealie-recipes/mealie/issues/8042))
- chore(deps): update dependency coverage to v7.15.4 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8062](https://github.com/mealie-recipes/mealie/issues/8062))
- chore(deps): update dependency types-python-dateutil to v2.9.0.20260807 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8070](https://github.com/mealie-recipes/mealie/issues/8070))
- fix(deps): update dependency pydantic-settings to v2.15.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8071](https://github.com/mealie-recipes/mealie/issues/8071))
- chore(deps): update dependency ruff to v0.16.2 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8072](https://github.com/mealie-recipes/mealie/issues/8072))
- fix(deps): update dependency alembic to v1.19.1 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8080](https://github.com/mealie-recipes/mealie/issues/8080))
- chore(deps): update dependency setuptools to v84 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8081](https://github.com/mealie-recipes/mealie/issues/8081))
- fix(deps): update dependency recipe-scrapers to v15.12.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8082](https://github.com/mealie-recipes/mealie/issues/8082))
- chore(deps): update dependency httpx2 to v2.10.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8085](https://github.com/mealie-recipes/mealie/issues/8085))
- chore(deps): update dependency pylint to v4.0.7 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8090](https://github.com/mealie-recipes/mealie/issues/8090))
- chore(deps): update dependency pre-commit to v4.6.2 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8099](https://github.com/mealie-recipes/mealie/issues/8099))
- fix(deps): update dependency openai to v2.54.0 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8108](https://github.com/mealie-recipes/mealie/issues/8108))
- fix(deps): update dependency sqlalchemy to v2.0.52 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8109](https://github.com/mealie-recipes/mealie/issues/8109))
- chore(deps): lock file maintenance @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8110](https://github.com/mealie-recipes/mealie/issues/8110))
- chore(deps): lock file maintenance @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8114](https://github.com/mealie-recipes/mealie/issues/8114))
- fix(deps): update dependency openai to v3 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8113](https://github.com/mealie-recipes/mealie/issues/8113))
- fix(deps): update dependency uvicorn to v0.52.2 @​[renovate\[bot\]](https://github.com/apps/renovate) ([#​8129](https://github.com/mealie-recipes/mealie/issues/8129))
</details>
#### 🙏 New Contributors
- [@​smashngrabb](https://github.com/smashngrabb) made their first contribution in [#​7348](https://github.com/mealie-recipes/mealie/pull/7348)
- [@​ishirbhan](https://github.com/ishirbhan) made their first contribution in [#​7616](https://github.com/mealie-recipes/mealie/pull/7616)
- [@​sevmonster](https://github.com/sevmonster) made their first contribution in [#​7750](https://github.com/mealie-recipes/mealie/pull/7750)
- [@​bestxmg](https://github.com/bestxmg) made their first contribution in [#​8033](https://github.com/mealie-recipes/mealie/pull/8033)
- [@​DmitriiSer](https://github.com/DmitriiSer) made their first contribution in [#​7804](https://github.com/mealie-recipes/mealie/pull/7804)
- [@​lotusk](https://github.com/lotusk) made their first contribution in [#​8046](https://github.com/mealie-recipes/mealie/pull/8046)
- [@​nzyz995](https://github.com/nzyz995) made their first contribution in [#​8050](https://github.com/mealie-recipes/mealie/pull/8050)
- [@​feilongcheng](https://github.com/feilongcheng) made their first contribution in [#​8028](https://github.com/mealie-recipes/mealie/pull/8028)
- [@​derekdiliu](https://github.com/derekdiliu) made their first contribution in [#​8016](https://github.com/mealie-recipes/mealie/pull/8016)
- [@​Luna-81](https://github.com/Luna-81) made their first contribution in [#​8105](https://github.com/mealie-recipes/mealie/pull/8105)
- [@​elliot-ultra](https://github.com/elliot-ultra) made their first contribution in [#​8117](https://github.com/mealie-recipes/mealie/pull/8117)
- [@​ARYA8532](https://github.com/ARYA8532) made their first contribution in [#​8118](https://github.com/mealie-recipes/mealie/pull/8118)
### 🍴🍴🍴🍴🍴🍴
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v3.22.0→v3.23.1Release Notes
mealie-recipes/mealie (ghcr.io/mealie-recipes/mealie)
v3.23.1Compare Source
🍴🍴🍴🍴🍴🍴
Quick fix to a few hints on the new AI page.
🐛 Bug fixes
🍴🍴🍴🍴🍴🍴
v3.23.0Compare Source
🍴🍴🍴🍴🍴🍴
🎉 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: #7804).
✨ New features
🐛 Bug fixes
🧰 Maintenance
28 changes
🔨 Internal development
⬆️ Dependency updates
42 changes
934240a@renovate[bot] (#8054)🙏 New Contributors
🍴🍴🍴🍴🍴🍴
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.