Mealie 3.30.0 shipped on 31 October, and its three headline changes are the ones a household notices in the first week: AI prompts you can edit from inside the app, a duration on individual instruction steps, and meal plan entries that cover a whole week instead of a single slot.
Prompts move into the app
The release gives prompt control a full paragraph. “You can now fully customize AI prompts in-app, with far greater control. You can choose to append to existing prompts, completely replace prompts, and add custom global instructions which are added to every prompt which produces recipe data.”
That last part is the useful one for anyone importing recipes in bulk: a global instruction block applies to every prompt that produces recipe data, so house rules about measurements, language or recipe structure do not have to be re-pasted per import.
There is a catch worth reading before you upgrade. “The old OPENAI_CUSTOM_PROMPT_DIR env var has been removed, but if you had any custom prompts they will be imported into the new format automatically.” So a deployment that mounts a prompt directory in a compose file is carrying a variable Mealie no longer reads, and the prompts themselves should appear in the new in-app format. Check that they did, because a silent import failure would look exactly like the feature working while quietly using defaults.
Durations, and planning by the week
“Instructions can now have individual durations. This means you can specify a particular step takes “10 minutes”, for example.” A step-level duration is the difference between an accurate total time and a guess, which matters when the plan hangs on when dinner lands.
Meal planning gets the looser version of the same idea: “Meal plan entries can now be created for the entire week, rather than a particular day/time. Great for when you know you’re going to make something this week, but you’re not sure when yet.”
Where it tightens
Several fixes here are about what a request is allowed to reach, and they are worth naming plainly as permission and import-safety fixes rather than anything with a severity attached. Migration imports are now scoped to the group and the archive size is limited (#8761), so an import cannot roam across a server’s other groups. Translation lookups are restricted to bundled translation files (#8759). Managing units, tools, labels and recipe actions now requires can_organize (#8783), and notifiers and webhooks require can_manage_household (#8885).
There is also a new OIDC_VERIFY_X509_STRICT setting, listed alongside “adjust SSL verification” (#8715). The release notes name it and stop there. Its default, and what changing it does to a given identity provider, are not in the material this piece is built from, so treat it as something to configure deliberately after reading the project’s documentation rather than by guessing what “strict” implies.
The rest of the list
Sorting recipes by total time (#8692) is what makes per-step durations pay off. A pasted Mealie recipe export can now be imported with its full structure (#8651), recipes show their owner (#8823), iCal output is customisable (#8909), timeline event images can be managed (#8928), and the centiliter joins the seeded ingredient units (#8766).
In the fixes: recipe images survive a failed upload validation (#8506), servings and yield quantity survive translation of an AI-imported recipe (#8636), the 404 redirects for /r/ recipe links work again (#8568), meal plan timeline subjects are translated (#8664), an unrecognised DB_ENGINE is rejected instead of silently falling back to SQLite (#8605), and the server listens on IPv4 and IPv6 by default (#8569).
For anyone meeting Mealie here first, this is a recipe manager organised around households and groups, with imports, meal plans and shopping lists; 3.30.0 spends its headline space on the import and planning side.
No upgrade command is invented here, because the release notes give none, and nothing above was tested first-hand. If you run Mealie with the old prompt directory mounted, read the prompt section twice before the upgrade. If you do not use AI imports, the durations and the week-level planning are the reasons to take it.

