Mealie Release Notes

Last updated: Mar 27, 2026

  • Mar 27, 2026
    • Date parsed from source:
      Mar 27, 2026
    • First seen by Releasebot:
      Mar 27, 2026
    Mealie logo

    Mealie

    v3.14.0

    Mealie releases bug fixes and new features that improve non-English recipe importing, with an NLP parser that uses the units database for custom units and a new meal planner option to show past days on first load.

    🄧🄧🄧🄧🄧🄧

    This release contains a ton of bug fixes, and some exciting new features, particularly for importing non-English recipes.

    Highlights

    The NLP parser now leverages your units database to more accurately parse ingredients with custom units. This is especially handy for non-English recipes, as the NLP data is trained exclusively off of English data. If you're used to using the brute force parser, give the NLP parser a go and see how it fares!

    You can now automatically show past days in the meal planner on first load:

    New features

    • feat: Auto-merge Renovate dependency updates @hay-kot (#7280)
    • feat: Clarification of site settings @Choromanski (#7321)
    • feat: Add days in the past selector on meal planner @arnassavickas (#6857)
    • feat: Pass user defined units as custom units to parse_ingredient function. @strangetom (#7334)

    Bug fixes

    • fix: Use latest python image as base @dswd (#7276)
    • fix: Release Commit @Choromanski (#7274)
    • fix: Fix create token API page @michael-genson (#7325)
    • fix: Removing a recipe ingredient doesn't remove its links to steps @RoSh-23 (#6896)
    • fix: publish all mealplan create, update, and delete events @francisferrell (#7015)
    • fix: restore recipe notes during JSON import @materialsportler (#7017)
    • fix: unparsed ingredients poorly formatted when fed to NLP parser @gabrielclimb (#7086)
    • fix: HTML/JSON import failing @michael-genson (#7330)
    • fix: preserve stored recipe slugs during hydration @harshitlarl (#7294)
    • fix: Relax URL validation @michael-genson (#7336)

    Maintenance

    16 changes

    • chore(l10n): New Crowdin updates @hay-kot (#7277)
    • chore: bump l10n auto-merge line limit from 400 to 6000 @hay-kot (#7279)
    • chore(l10n): New Crowdin updates @hay-kot (#7282)
    • chore(l10n): New Crowdin updates @hay-kot (#7289)
    • chore(l10n): New Crowdin updates @hay-kot (#7292)
    • chore(l10n): Crowdin locale sync @mealie-actions (#7293)
    • chore(l10n): New Crowdin updates @hay-kot (#7297)
    • chore(auto): Update pre-commit hooks @mealie-actions (#7298)
    • chore: script setup components @Kuchenpirat (#7299)
    • chore(l10n): New Crowdin updates @hay-kot (#7304)
    • chore(l10n): New Crowdin updates @hay-kot (#7309)
    • chore: migrate remaining pages to script setup @Kuchenpirat (#7310)
    • chore(l10n): New Crowdin updates @hay-kot (#7315)
    • chore(l10n): New Crowdin updates @hay-kot (#7323)
    • chore(l10n): New Crowdin updates @hay-kot (#7332)
    • chore: Resolve startup warnings @michael-genson (#7335)

    Documentation

    • docs: Add missing OPENAI_AUDIO_MODEL env var to docs @michael-genson (#7333)

    Internal development

    • dev: Update PR template @michael-genson (#7326)

    Dependency updates

    7 changes

    • chore(deps): update dependency ruff to v0.15.7 @renovate (#7281)
    • chore(deps): update dependency mkdocs-material to v9.7.6 @renovate (#7278)
    • chore(deps): update node.js to bb20cf7 @renovate (#7317)
    • fix(deps): update dependency ingredient-parser-nlp to v2.6.0 @renovate (#7318)
    • fix(deps): update dependency requests to v2.33.0 [security] @renovate (#7319)
    • fix(deps): update dependency pint to v0.25.3 @renovate (#7314)
    • fix(deps): update dependency apprise to v1.9.9 @renovate (#7327)

    New Contributors

    • @dswd made their first contribution in #7276
    • @arnassavickas made their first contribution in #6857
    • @RoSh-23 made their first contribution in #6896
    • @francisferrell made their first contribution in #7015
    • @materialsportler made their first contribution in #7017
    • @gabrielclimb made their first contribution in #7086
    • @harshitlarl made their first contribution in #7294

    🄧🄧🄧🄧🄧🄧

    Original source Report a problem
  • Mar 18, 2026
    • Date parsed from source:
      Mar 18, 2026
    • First seen by Releasebot:
      Mar 19, 2026
    Mealie logo

    Mealie

    v3.13.1

    Mealie releases a quick patch to fix recipe tag patching 500 errors, update workflows, and Crowdin localization; welcomes new contributor.

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Quick patch release to test out a tweak to our release flow.

    šŸ› Bug fixes

    • fix: #6802 prevent 500 internal server error when patching recipe tags @SimeonSouttar (#6803)
    • fix: Updated workflows to checkout on commit of commit-version-bump @Choromanski (#7217)

    🧰 Maintenance

    • chore(l10n): New Crowdin updates @hay-kot (#7271)

    šŸ™ New Contributors

    • @SimeonSouttar made their first contribution in #6803

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • All of your release notes in one feed

    Join Releasebot and get updates from Mealie and hundreds of other software products.

  • Mar 18, 2026
    • Date parsed from source:
      Mar 18, 2026
    • First seen by Releasebot:
      Mar 18, 2026
    Mealie logo

    Mealie

    v3.13.0

    Mealie releases a feature-rich update that enables importing recipes from YouTube, TikTok, and Instagram via OpenAI, adds unit standardization for conversions, and improves web scraping plus recipe import progress. It also includes multiple bug fixes and maintenance tasks for smoother recipe creation.

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“
    Welcome to the latest release of Mealie! We've got a ton of new features ready for you with this release, as well as a good chunk of bug fixes.

    Highlights

    You can now import recipes from YouTube, TikTok, Instagram, and other video sources using OpenAI. Simply drop the URL of your video into Mealie and it will download and transcribe the video, then create a recipe.
    Units can now be standardized to enable conversions (e.g. "1 pint" can be converted to "2 cups"). All known, standard units will be standardized for you, but you can customize your own units on the data management page. This enables automatic merging of shopping list ingredients with compatible units. This is the first of many unit-standardization features coming to Mealie, so stay tuned!
    We've upgraded our scraper to more-consistently fetch websites without the need to copy/paste the raw HTML. Some sites may still require this, but the vast majority work again. We'll continue to roll out improvements to make creating recipes from websites as easy as possible.

    ✨ New features

    • feat: Unit standardization / conversion @michael-genson (#7121)
    • feat: Add social media video import (YouTube, TikTok, Instagram) @AurelienPautet (#6764)
    • feat: Recipe import progress @michael-genson (#7252)
    • feat: Switch to httpx-curl-cffi for better scraping @michael-genson (#7254)
    • feat: Adjust linked recipe unit and seperate when adding to shopping list @michael-genson (#7260)

    šŸ› Bug fixes

    • fix: migrate RecipeRating component to script setup and defineModel @ProperTeaMogul (#7203)
    • fix: Allow more precise standard quantities in unit data management @michael-genson (#7218)
    • fix: Restore original recipe description string @michael-genson (#7221)
    • fix: Don't continue parsing recipes with errored HTTP status codes @deanmalan (#7230)
    • fix: Add ffmpeg to prod image @michael-genson (#7235)
    • fix: Update user agents in user-agents.txt @RealMochaFox (#7250)
    • fix: exclude index.html from workbox precache to prevent stale 401 app shell @api2062 (#7255)

    🧰 Maintenance

    18 changes

    • chore(l10n): New Crowdin updates @hay-kot (#7205)
    • chore(l10n): New Crowdin updates @hay-kot (#7208)
    • chore(auto): Update pre-commit hooks @mealie-actions (#7209)
    • chore(l10n): New Crowdin updates @hay-kot (#7220)
    • chore(l10n): New Crowdin updates @hay-kot (#7223)
    • chore(l10n): New Crowdin updates @hay-kot (#7225)
    • chore(l10n): New Crowdin updates @hay-kot (#7228)
    • chore(l10n): New Crowdin updates @hay-kot (#7231)
    • chore: run Ruff with --fix in Pre-commit to auto-fix fixable errors @deanmalan (#7232)
    • chore(l10n): New Crowdin updates @hay-kot (#7236)
    • chore(l10n): New Crowdin updates @hay-kot (#7240)
    • chore(l10n): New Crowdin updates @hay-kot (#7245)
    • chore(l10n): Crowdin locale sync @mealie-actions (#7246)
    • chore(l10n): New Crowdin updates @hay-kot (#7253)
    • chore(l10n): New Crowdin updates @hay-kot (#7258)
    • chore(auto): Update pre-commit hooks @mealie-actions (#7256)
    • chore(l10n): New Crowdin updates @hay-kot (#7266)
    • chore(l10n): New Crowdin updates @hay-kot (#7270)
      ā¬†ļø Dependency updates
      16 changes
    • fix(deps): update dependency apprise to v1.9.8 @renovate (#7207)
    • chore(deps): update dependency setuptools to v82.0.1 @renovate (#7211)
    • fix(deps): pin dependency pint to v0.25 @renovate (#7213)
    • fix(deps): update dependency pint to v0.25.2 @renovate (#7214)
    • chore(deps): update dependency mkdocs-material to v9.7.5 @renovate (#7224)
    • fix(deps): update dependency pyjwt to v2.12.0 @renovate (#7234)
    • chore(deps): update dependency ruff to v0.15.6 @renovate (#7237)
    • fix(deps): update dependency yt-dlp to v2026.3.13 @renovate (#7239)
    • fix(deps): update dependency openai to v2.28.0 @renovate (#7242)
    • fix(deps): update dependency uvicorn to v0.42.0 @renovate (#7257)
    • fix(deps): update dependency pyjwt to v2.12.1 @renovate (#7241)
    • chore(deps): update dependency coverage to v7.13.5 @renovate (#7265)
    • chore(deps): update node.js to 5a593d7 @renovate (#7262)
    • chore(deps): update node.js to 5a593d7 @renovate (#7267)
    • fix(deps): update dependency yt-dlp to v2026.3.17 @renovate (#7269)
    • fix(deps): update dependency openai to v2.29.0 @renovate (#7268)
      šŸ™ New Contributors
      @deanmalan made their first contribution in #7230
      @RealMochaFox made their first contribution in #7250
      @api2062 made their first contribution in #7255
      šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“
    Original source Report a problem
  • Mar 7, 2026
    • Date parsed from source:
      Mar 7, 2026
    • First seen by Releasebot:
      Mar 8, 2026
    Mealie logo

    Mealie

    v3.12.0

    Mealie unveils a healthcheck optimization delivering lower resource usage, plus new features like auto-adjusted shopping list autofocus and improved NLP output. This release also refines form layouts, fixes recipe and localization issues, and updates dependencies for stability.

    Highlights

    This PR includes a major optimization for the healthcheck script (thanks @michelezoncheddu!). You should see substantially less resource usage, more in line with what you'd expect from a healthcheck.

    New features

    • feat: Auto-adjust shopping list item autofocus @michael-genson (#7096)
    • feat: Improve auto-form layout @michael-genson (#7150)
    • feat: include extra ingredients + amounts in NLP parser output @michael-genson (#7191)
    • feat: replace python script with curl @michelezoncheddu (#7192)

    Bug fixes

    • fix: Include unmade recipes when filtering by last made @michael-genson (#7130)
    • fix: Ensure recipe ingredients have a valid reference_id @michael-genson (#7139)
    • fix(deps): update dependency fastapi to v0.133.1 @michael-genson (#7146)
    • fix: data management food edit / create @Kuchenpirat (#7148)
    • fix: Updated get_ts_locales to resolve issues with Automatic Locale Sync workflow @Choromanski (#7181)
    • fix: Logic to unset-rating when currentrating is selected @Choromanski (#7182)
    • fix: Restore missing description for household's new recipe settings @michael-genson (#7204)
    • fix: Added mealie.log rotations to excluded files for backup @Choromanski (#7138)

    Maintenance

    • 28 changes
    • chore(l10n): New Crowdin updates @hay-kot (#7088)
    • chore(l10n): New Crowdin updates @hay-kot (#7098)
    • chore(l10n): New Crowdin updates @hay-kot (#7105)
    • chore(l10n): New Crowdin updates @hay-kot (#7110)
    • chore(l10n): New Crowdin updates @hay-kot (#7112)
    • chore(l10n): New Crowdin updates @hay-kot (#7116)
    • chore(l10n): New Crowdin updates @hay-kot (#7119)
    • chore(auto): Update pre-commit hooks @mealie-actions (#7122)
    • chore(l10n): New Crowdin updates @hay-kot (#7126)
    • chore(l10n): New Crowdin updates @hay-kot (#7131)
    • chore: refactor data management pages @Kuchenpirat (#7107)
    • chore(l10n): New Crowdin updates @hay-kot (#7136)
    • chore(l10n): New Crowdin updates @hay-kot (#7145)
    • chore(l10n): New Crowdin updates @hay-kot (#7149)
    • chore(l10n): New Crowdin updates @hay-kot (#7153)
    • chore(l10n): New Crowdin updates @hay-kot (#7157)
    • chore(l10n): New Crowdin updates @hay-kot (#7160)
    • chore(auto): Update pre-commit hooks @mealie-actions (#7168)
    • chore(l10n): New Crowdin updates @hay-kot (#7174)
    • chore(l10n): New Crowdin updates @hay-kot (#7180)
    • chore(l10n): Crowdin locale sync @mealie-actions (#7183)
    • chore(l10n): New Crowdin updates @hay-kot (#7186)
    • chore(l10n): New Crowdin updates @hay-kot (#7189)
    • chore(l10n): New Crowdin updates @hay-kot (#7194)
    • chore(l10n): New Crowdin updates @hay-kot (#7195)
    • chore(l10n): New Crowdin updates @hay-kot (#7198)
    • chore(l10n): New Crowdin updates @hay-kot (#7202)

    Documentation

    • docs: Add missing release tags to OpenAI docs @michael-genson (#7102)
    • docs: Remove redoc API generation @michael-genson (#7109)

    Internal development

    • dev: add AI/LLM Assistance section to PR template @Kuchenpirat (#7144)
    • dev: Add backend translations to auto-approval @michael-genson (#7196)

    ā¬†ļø Dependency updates

    • 27 changes
    • chore(deps): update dependency mkdocs-material to v9.7.2 @renovate (#7093)
    • fix(deps): update dependency pillow-heif to v1.2.1 @renovate (#7092)
    • chore(deps): update dependency rich to v14.3.3 @renovate (#7100)
    • fix(deps): update dependency pydantic-settings to v2.13.1 @renovate (#7101)
    • chore(deps): update dependency ruff to v0.15.2 @renovate (#7104)
    • chore(deps): update dependency pylint to v4.0.5 @renovate (#7106)
    • fix(deps): update dependency fastapi to v0.129.1 @renovate (#7111)
    • fix(deps): update dependency fastapi to v0.131.0 @renovate (#7113)
    • fix(deps): update dependency openai to v2.22.0 @renovate (#7128)
    • fix(deps): update dependency openai to v2.23.0 @renovate (#7132)
    • chore(deps): update dependency mkdocs-material to v9.7.3 @renovate (#7134)
    • chore(deps): update node.js to 3a09aa6 @renovate (#7140)
    • fix(deps): update dependency sqlalchemy to v2.0.47 @renovate (#7135)
    • fix(deps): update dependency openai to v2.24.0 @renovate (#7137)
    • chore(deps): update dependency ruff to v0.15.3 @renovate (#7151)
    • chore(deps): update dependency ruff to v0.15.4 @renovate (#7152)
    • fix(deps): update dependency pillow-heif to v1.3.0 @renovate (#7155)
    • fix(deps): update dependency fastapi to v0.134.0 @renovate (#7127)
    • fix(deps): update dependency fastapi to v0.135.1 @renovate (#7165)
    • chore(deps): update dependency types-python-dateutil to v2.9.0.20260302 @renovate (#7169)
    • fix(deps): update dependency authlib to v1.6.9 @renovate (#7170)
    • fix(deps): update dependency python-dotenv to v1.2.2 @renovate (#7164)
    • fix(deps): update dependency sqlalchemy to v2.0.48 @renovate (#7173)
    • chore(deps): update dependency mkdocs-material to v9.7.4 @renovate (#7178)
    • chore(deps): update dependency types-python-dateutil to v2.9.0.20260305 @renovate (#7188)
    • chore(deps): update dependency ruff to v0.15.5 @renovate (#7193)
    • fix(deps): update dependency openai to v2.26.0 @renovate (#7190)

    New Contributors

    • @michelezoncheddu made their first contribution in #7192

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • Feb 17, 2026
    • Date parsed from source:
      Feb 17, 2026
    • First seen by Releasebot:
      Feb 17, 2026
    Mealie logo

    Mealie

    v3.11.0

    New release enhances recipe discovery with relative date filtering and smarter plural handling across languages. It also speeds up dropdown search with alias checks and adds dynamic placeholders plus broader search improvements.

    Highlights

    You can now use a relative date when filtering by "Last Made" in the recipe finder and meal planner! Existing rules using an absolute date will continue to work, but will be updated to a relative date when edited.

    Ingredients are pluralized more naturally depending on your language. In English, for instance, you will see "2 cups onion chopped" instead of "2 cups onions chopped". Languages where the latter is preferred will keep the old behavior, and some languages (such as Japanese) forego plurals entirely. Check out the PR for more details. Note that this is only applicable for parsed recipes with foods that have both singular and plural forms defined.

    We've improved the drop down search logic to better match what you type (no more typing "onion" and having to scroll down to the 5th or 6th item to find it). Drop down fields also check aliases now, too!

    New features

    feat: Dynamic Placeholders UI @michael-genson (#7034)

    feat: Add Docker metadata to published images @michael-genson (#7052)

    feat: Customize Ingredient Plural Handling @michael-genson (#7057)

    feat: Improve recipe filter search ordering @michael-genson (#7061)

    feat: Further improve recipe filter search and shopping list and recipe ingredient editor @michael-genson (#7063)

    Bug fixes

    fix: handle numeric recipeCategory from LLM/site to prevent import failure @jknndy (#7026)

    fix: Search bar width @michael-genson (#7060)

    fix: remove reserved prefix @ZacharySchaffter (#7033)

    fix: Show minimum value for quantity @michael-genson (#7077)

    fix: Exclude docs/redoc from frontend route cache @michael-genson (#7082)

    Maintenance

    • 16 changes

    • chore(l10n): New Crowdin updates @hay-kot (#7010)

    • chore(l10n): New Crowdin updates @hay-kot (#7014)

    • chore(l10n): New Crowdin updates @hay-kot (#7016)

    • chore(l10n): New Crowdin updates @hay-kot (#7022)

    • chore(l10n): New Crowdin updates @hay-kot (#7024)

    • chore(l10n): Crowdin locale sync @mealie-actions (#7029)

    • chore(l10n): New Crowdin updates @hay-kot (#7028)

    • chore(l10n): New Crowdin updates @hay-kot (#7048)

    • chore(l10n): New Crowdin updates @hay-kot (#7053)

    • chore(l10n): New Crowdin updates @hay-kot (#7055)

    • chore(l10n): New Crowdin updates @hay-kot (#7059)

    • chore(l10n): New Crowdin updates @hay-kot (#7062)

    • chore(l10n): New Crowdin updates @hay-kot (#7066)

    • chore(l10n): New Crowdin updates @hay-kot (#7070)

    • chore(l10n): New Crowdin updates @hay-kot (#7075)

    • chore(auto): Update pre-commit hooks @mealie-actions (#7080)

    ā¬†ļø Dependency updates

    • 22 changes

    fix(deps): update dependency openai to v2.17.0 @renovate (#7012)

    fix(deps): update dependency fastapi to v0.128.2 @renovate (#7013)

    fix(deps): update dependency authlib to v1.6.7 @renovate (#7019)

    fix(deps): update dependency fastapi to v0.128.3 @renovate (#7020)

    chore(deps): update dependency setuptools to v81 @renovate (#7021)

    fix(deps): update dependency fastapi to v0.128.4 @renovate (#7023)

    fix(deps): update dependency fastapi to v0.128.5 @renovate (#7030)

    chore(deps): update dependency setuptools to v82 @renovate (#7032)

    fix(deps): update dependency fastapi to v0.128.6 @renovate (#7040)

    chore(deps): update dependency coverage to v7.13.4 @renovate (#7039)

    chore(deps): update dependency axios to v1.13.5 [security] @renovate (#7041)

    fix(deps): update dependency pillow to v12.1.1 @renovate (#7047)

    fix(deps): update dependency alembic to v1.18.4 @renovate (#7044)

    fix(deps): update dependency openai to v2.20.0 @renovate (#7042)

    fix(deps): update dependency fastapi to v0.128.7 @renovate (#7043)

    fix(deps): update dependency fastapi to v0.128.8 @renovate (#7049)

    chore(deps): update node.js to 00e9195 @renovate (#7054)

    fix(deps): update dependency fastapi to v0.129.0 @renovate (#7056)

    chore(deps): update dependency ruff to v0.15.1 @renovate (#7058)

    fix(deps): update dependency openai to v2.21.0 @renovate (#7065)

    fix(deps): update dependency authlib to v1.6.8 @renovate (#7067)

    fix(deps): update dependency pydantic-settings to v2.13.0 @renovate (#7073)

    šŸ™ New Contributors

    • @ZacharySchaffter made their first contribution in #7033

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • Feb 4, 2026
    • Date parsed from source:
      Feb 4, 2026
    • First seen by Releasebot:
      Feb 17, 2026
    Mealie logo

    Mealie

    v3.10.2

    Patch release fixes cache issues for OIDC users and reverse proxy setups, and adds a BASE_URL redirect_url fallback. It also includes localization updates and multiple dependency upgrades with new contributors.

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Patch release to fix a cache issue with OIDC users. Also includes a fix for some users using a reverse proxy with OIDC.

    šŸ› Bug fixes

    • fix: use BASE_URL config for redirect_url if available @whattheschnell (#6995)
    • fix: OIDC caching @michael-genson (#7009)

    🧰 Maintenance

    • chore(l10n): New Crowdin updates @hay-kot (#6997)
    • chore(l10n): New Crowdin updates @hay-kot (#7004)
    • chore(l10n): New Crowdin updates @hay-kot (#7005)

    ā¬†ļø Dependency updates

    5 changes

    • chore(deps): update node.js to bdc7252 @renovate (#6996)
    • chore(deps): Upgrade to ruff 15.0.0 @michael-genson (#7003)
    • chore(deps): update dependency coverage to v7.13.3 @renovate (#6998)
    • chore(deps): update node.js to 1de022d - autoclosed @renovate (#7002)
    • fix(deps): update dependency fastapi to v0.128.1 @renovate (#7008)

    šŸ™ New Contributors

    • @whattheschnell made their first contribution in #6995

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • Feb 3, 2026
    • Date parsed from source:
      Feb 3, 2026
    • First seen by Releasebot:
      Feb 17, 2026
    Mealie logo

    Mealie

    v3.10.1

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Small release to patch a UI bug in some languages.

    Bug fixes

    • fix: Button overflow on main page filters @michael-genson (#6992)

    Maintenance

    • chore(l10n): New Crowdin updates @hay-kot (#6994)

    Documentation

    • docs: Typo @michael-genson (#6993)

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • Feb 2, 2026
    • Date parsed from source:
      Feb 2, 2026
    • First seen by Releasebot:
      Feb 17, 2026
    Mealie logo

    Mealie

    v3.10.0

    Mealie unveils a feature rich release with import of original URL categories, customizable OpenAI prompts, structured outputs, and date range syncing from meal planner to shopping list. Includes breaking admin invite change plus extensive fixes and maintenance.

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“
    This version of Mealie contains a whole bunch of new features and bug fixes, including first-time contributions from 9 users (and a new bot)! Check out the highlights below šŸ‘‡

    Highlights

    • When importing a recipe, you can now import the original URL's categories (similar to how you can import tags) (#6523)
    • You can now use custom OpenAI prompts to overwrite the ones included with Mealie. Check out the docs for more info on how to do this (#6588)
    • We've migrated our OpenAI implementation to use structured outputs. This means much better support for modern models, which previously didn't support the legacy JSON mode (#6964)
    • You can now add a full range of dates from the meal planner to your shopping list, instead of adding one day at a time (#6981):

    Breaking changes

    • There is a minor breaking change in #6781: GET requests to /api/households/invitations are now locked to admins only. This doesn't change the invitation flow for users, as requests using a particular invitation are unaffected. Check out the PR for more details.
    • fix: disable invitations when password login is disabled @p0lycarpio (#6781)

    ✨ New features

    • feat: Use toggle button for switching any/all mode for search filters @lehnerpat (#6833)
    • feat: add discard confirmation dialog for recipe editor @hay-kot (#6941)
    • feat: Add "sprig" as a unit. @Fjodor42 (#6934)
    • feat: Added Option to Import Recipe Category During Recipe Import @Gtt1229 (#6523)
    • feat: Customizable OpenAI prompts (#5146) @ImanuelBertrand (#6588)
    • feat: Improve recipe assets preview @p0lycarpio (#6602)
    • feat: Migrate OpenAI implementation to use structured outputs @michael-genson (#6964)
    • feat: Add range of dates to shopping list from meal planner @michael-genson (#6981)
    • feat: Query relative dates @michael-genson (#6984)

    šŸ› Bug fixes

    • fix: Tags can't be renamed @lehnerpat (#6835)
    • fix: Coerce null servings into 0 servings @michael-genson (#6839)
    • fix: prevent XSS via javascript: URIs in recipe actions @hay-kot (#6885)
    • fix: Make 'auto-search' toggle change color to indicate state @lehnerpat (#6809)
    • fix: correct global scroll strategy to prevent menu fixation @jeromer-dev (#6577)
    • fix: use GITHUB_TOKEN for auto-merge to respect CI checks @hay-kot (#6953)
    • fix: Keep ingredient headers in cook mode @codefaux (#6946)
    • fix: dispose AlchemyExporter engine after restore completes @hay-kot (#6942)
    • fix: Seed data - en-US only - correct [some] plural names and add [some] accented characters @stvhwrd (#6405)
    • fix: sub-recipes in multi group setup (#6652) @ImanuelBertrand (#6663)
    • fix: disable invitations when password login is disabled @p0lycarpio (#6781)
    • fix: recipe context menu @p0lycarpio (#6782)
    • fix: Disable context hover @michael-genson (#6962)
    • fix: Remove deprecated warning from shopping list editor @michael-genson (#6963)
    • fix: service-worker precache manifest entries not generated correctly @morgan-dgk (#6815)
    • fix: Re-enable some style tags @michael-genson (#6982)
    • fix: Flaky $NOW tests @michael-genson (#6990)

    🧰 Maintenance

    40 changes

    • chore(l10n): Crowdin locale sync @github-actions (#6825)
    • chore(l10n): New Crowdin updates @hay-kot (#6806)
    • chore(l10n): New Crowdin updates @hay-kot (#6827)
    • chore(l10n): New Crowdin updates @hay-kot (#6832)
    • chore(l10n): New Crowdin updates @hay-kot (#6840)
    • chore(l10n): New Crowdin updates @hay-kot (#6843)
    • chore(l10n): New Crowdin updates @hay-kot (#6861)
    • chore(l10n): New Crowdin updates @hay-kot (#6863)
    • chore(l10n): New Crowdin updates @hay-kot (#6864)
    • chore(l10n): Crowdin locale sync @github-actions (#6862)
    • chore(auto): Update pre-commit hooks @github-actions (#6866)
    • chore(l10n): New Crowdin updates @hay-kot (#6867)
    • chore(l10n): New Crowdin updates @hay-kot (#6870)
    • chore(l10n): New Crowdin updates @hay-kot (#6886)
    • chore(auto): Update pre-commit hooks @github-actions (#6895)
    • chore(l10n): New Crowdin updates @hay-kot (#6888)
    • chore(l10n): Crowdin locale sync @github-actions (#6891)
    • chore(l10n): New Crowdin updates @hay-kot (#6905)
    • chore(l10n): New Crowdin updates @hay-kot (#6908)
    • chore(l10n): New Crowdin updates @hay-kot (#6911)
    • chore(l10n): New Crowdin updates @hay-kot (#6912)
    • chore(l10n): New Crowdin updates @hay-kot (#6922)
    • chore(l10n): New Crowdin updates @hay-kot (#6925)
    • chore(l10n): Crowdin locale sync @github-actions (#6924)
    • chore(l10n): New Crowdin updates @hay-kot (#6929)
    • chore(l10n): New Crowdin updates @hay-kot (#6933)
    • chore(auto): Update pre-commit hooks @github-actions (#6932)
    • chore(l10n): New Crowdin updates @hay-kot (#6935)
    • chore(l10n): New Crowdin updates @hay-kot (#6936)
    • chore(l10n): New Crowdin updates @hay-kot (#6938)
    • chore(l10n): New Crowdin updates @hay-kot (#6944)
    • chore: add workflow to auto-merge l10n PRs @hay-kot (#6948)
    • chore(l10n): New Crowdin updates @hay-kot (#6949)
    • chore(l10n): New Crowdin updates @hay-kot (#6954)
    • chore(l10n): New Crowdin updates @hay-kot (#6959)
    • chore(l10n): New Crowdin updates @hay-kot (#6960)
    • chore(l10n): New Crowdin updates @hay-kot (#6967)
    • chore(l10n): Crowdin locale sync @mealie-actions (#6977)
    • chore(l10n): New Crowdin updates @hay-kot (#6979)
    • chore(l10n): New Crowdin updates @hay-kot (#6983)
    • chore(l10n): New Crowdin updates @hay-kot (#6987)
    • šŸ“š Documentation
    • docs: Fix typo and remove unused tip @michael-genson (#6849)
    • docs: fix authentik oidc link @Darwiner (#6851)
    • docs: Add an info callout about client-side cookies. @alexandreeberhardt (#6830)
    • docs: Misc. cleanup @michael-genson (#6988)
    • šŸ”Ø Internal development
    • dev: Enable CI on merge queues @michael-genson (#6955)
    • dev: Bunch of GH workflow fixes @michael-genson (#6956)
    • dev: Skip Trivy on merge queue @michael-genson (#6957)
    • dev: Add tasks for e2e tests @lehnerpat (#6797)
    • dev: Improve caching in taskfile @lehnerpat (#6798)
    • dev: Switch to bot token for locale sync @michael-genson (#6969)
    • dev: Fix token vars @michael-genson (#6970)
    • dev: Increase locale merge limit to 300 and allow PRs from Mealie bot @michael-genson (#6972)
    • dev: Allow locale sync path in auto merge @michael-genson (#6974)
    • dev: Switch approver for automated i18n merges @michael-genson (#6976)
    • dev: Switch to Mealie bot for auto-merging @michael-genson (#6978)

    ā¬†ļø Dependency updates
    27 changes

    • fix(deps): update dependency pillow to v12.1.0 @renovate (#6816)
    • chore(deps): update dependency types-requests to v2.32.4.20260107 @renovate (#6846)
    • chore(deps): update dependency ruff to v0.14.11 @renovate (#6852)
    • fix(deps): update dependency alembic to v1.18.0 @renovate (#6858)
    • fix(deps): update dependency openai to v2.15.0 @renovate (#6859)
    • chore(deps): update node.js to 0ab63ca @renovate (#6872)
    • chore(deps): update dependency ruff to v0.14.13 @renovate (#6881)
    • fix(deps): update dependency alembic to v1.18.1 @renovate (#6878)
    • fix(deps): update dependency apprise to v1.9.7 @renovate (#6898)
    • chore(deps): update node.js to b2b2184 @renovate (#6879)
    • chore(deps): update dependency setuptools to v80.10.1 @renovate (#6901)
    • fix(deps): update dependency sqlalchemy to v2.0.46 @renovate (#6903)
    • chore(deps): update dependency ruff to v0.14.14 @renovate (#6909)
    • fix(deps): update dependency pillow-heif to v1.2.0 @renovate (#6910)
    • chore(deps): update dependency types-python-dateutil to v2.9.0.20260124 @renovate (#6913)
    • chore(deps): update dependency rich to v14.3.0 @renovate (#6919)
    • chore(deps): update dependency rich to v14.3.1 @renovate (#6923)
    • fix(deps): update dependency python-multipart to v0.0.22 @renovate (#6926)
    • fix(deps): update dependency openai to v2.16.0 @renovate (#6937)
    • chore(deps): update dependency coverage to v7.13.2 @renovate (#6927)
    • fix(deps): update dependency orjson to v3.11.6 @renovate (#6952)
    • chore(deps): update dependency setuptools to v80.10.2 @renovate (#6930)
    • fix(deps): update dependency alembic to v1.18.3 @renovate (#6945)
    • fix(deps): update dependency pyjwt to v2.11.0 @renovate (#6958)
    • fix(deps): update dependency ingredient-parser-nlp to v2.5.0 @renovate (#6961)
    • chore(deps): update dependency rich to v14.3.2 @renovate (#6980)
    • fix(deps): update dependency orjson to v3.11.7 @renovate (#6989)
    • chore(deps): pin dependency freezegun to ==1.5.5 (#6991)

    šŸ™ New Contributors

    • @Darwiner made their first contribution in #6851
    • @alexandreeberhardt made their first contribution in #6830
    • @jeromer-dev made their first contribution in #6577
    • @codefaux made their first contribution in #6946
    • @Fjodor42 made their first contribution in #6934
    • @stvhwrd made their first contribution in #6405
    • @Gtt1229 made their first contribution in #6523
    • @ImanuelBertrand made their first contribution in #6588
    • @morgan-dgk made their first contribution in #6815
    • @mealie-actions[bot] made their first contribution in #6977

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • Jan 2, 2026
    • Date parsed from source:
      Jan 2, 2026
    • First seen by Releasebot:
      Feb 17, 2026
    Mealie logo

    Mealie

    v3.9.2

    A patch release with small bug fixes and maintenance. It fixes UI consistency for quantity input, enables the start attribute on ordered lists, and improves recipe image reprocessing; plus localization updates and minor internal tidy ups.

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Another patch release for a couple small regressions.

    šŸ› Bug fixes

    • fix: Make quantity input in shopping list item editor visually consistent with other inputs @lehnerpat (#6810)
    • fix: allow start attribute on ordered lists (SafeMarkdown) @p0lycarpio (#6820)
    • fix: Exception handling for recipe image reprocessing @michael-genson (#6822)

    🧰 Maintenance

    • chore(l10n): New Crowdin updates @hay-kot (#6804)

    šŸ”Ø Internal development

    • dev: Small .gitignore fixes @lehnerpat (#6796)

    ā¬†ļø Dependency updates

    • chore(deps): update node.js to 33587cf @renovate (#6795)
    • chore(deps): update node.js to b52a8d1 @renovate (#6800)

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem
  • Dec 30, 2025
    • Date parsed from source:
      Dec 30, 2025
    • First seen by Releasebot:
      Feb 17, 2026
    Mealie logo

    Mealie

    v3.9.1

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“
    Patch release to fix a small regression.

    Bug fixes

    • fix: Revert extended touch on shopping list @michael-genson (#6794)

    Maintenance

    • chore(l10n): New Crowdin updates @hay-kot (#6792)

    šŸ“šŸ“šŸ“šŸ“šŸ“šŸ“

    Original source Report a problem

Related vendors