github jt196/vanilla-cookbook v1.7.0

39 minutes ago

Highlights

  • Search anything with ⌘K / Ctrl+K (or /). Find recipes by name, jump to any page, pick up recently viewed recipes, switch theme, or paste a recipe URL to import it. (#473, #477)
  • Faster pages. Recipe cards load small thumbnails and the browser caches photos, so the home page loads around 15× less image data on large libraries. Links to recipes no longer go through an extra redirect. Switching a recipe between metric, US volume and imperial is about 3× faster the first time and near-instant after that. (#472, #480, #488)
  • Simpler navigation. Labelled Recipes, Shopping and Calendar links, a New Recipe button, and My Recipes / All Recipes tabs on one Recipes page. (#475)
  • Easier recipe writing. In description, directions and notes, lists continue when you press Enter, and ⌘/Ctrl+B / ⌘/Ctrl+I toggle bold and italic. (#479)

Security

  • Security improvements across the API (permission checks and file handling). Upgrading is recommended. (#466)
  • AI-assisted parsing, cleanup, translation and URL import now require being logged in. (#466)
  • Recipe scraping and image downloads only fetch from public web addresses; local-network URLs are no longer fetched. (#468)
  • Docker image updated to Node 24.22.2. (#450, #464)

Fixes

  • The All Recipes and user recipe pages no longer fail to load on libraries with around 1,000+ recipes. (#465)
  • Star ratings show filled and half stars again; favourite hearts and cooked/purchased ticks are filled only when set. (#485)
  • Tooltips on the shopping list buttons and the explanations on ingredient badges appear again. (#485)
  • Buttons in a loading state (e.g. Login) no longer shrink into a flickering square. (#472)
  • On the New Recipe page, photo parsing explains when the site's AI provider can't read images, instead of failing after upload. (#484)
  • The vanilla logo is visible in dark mode. (#476)
  • Backup types in Site settings are colour-coded. (#484)
  • When several photos are uploaded while editing a recipe and one fails, the others are no longer affected. (#470)
  • Admin password resets report failures instead of appearing to succeed. (#466)
  • Scraping waits up to 2 minutes, and a spinner stays up while shared or bookmarklet recipes load. (#454, #460)
  • Recipes whose instruction steps are stored as text arrays scrape correctly. (#449)

Changes

  • Star ratings can only be changed by the recipe's owner. (#466)
  • The root user can no longer be demoted from admin. (#466)
  • The legacy Paprika import API endpoints are removed (the Import page handles Paprika files). (#466)
  • Saving a recipe leaves existing category links alone. (#470)

Under the hood

  • Recipe parsing, server hooks, client API helpers and recipe save routes restructured; output verified unchanged against all 230 saved recipe pages. (#467, #469, #470)
  • Every exported function is documented, there are no type errors, and CI enforces lint, documentation and type checks. (#478, #481, #482, #484–#487)
  • Unused code and data removed, including the unused vegan ingredient dataset. (#451, #471)
  • Dependency updates. (#453, #455, #456, #461, #462, #483)

Don't miss a new vanilla-cookbook release

NewReleases is sending notifications on new releases.