# Changelog All notable changes to Epicure are documented here. This file is mirrored in-app at `/changelog` (and in the admin dashboard) via `apps/web/lib/changelog.ts` — update both together. ## 0.3.1 — 2026-07-12 ### Added - A free-text "describe what you're after" field for batch-cooking generation, matching the standard recipe generator. ### Fixed - AI recipe generation used a separate language picker instead of following the app's own language — removed, generation now always matches your app language. - The bulk-select action bar on the recipe list could show a horizontal scrollbar on desktop even though there was room to grow. - Recipes imported from a URL never actually saved their source URL — the "Source: ..." link on the recipe page was dead code until now. ## 0.3.0 — 2026-07-12 ### Added - **Manually create and edit batch-cook recipes**: the recipe form now has a batch-cook toggle, an editable dish list (storage/reheat guidance per dish), and per-step dish tagging — not just AI-generated ones anymore. Editing an existing batch-cook recipe no longer silently strips its dish data. ## 0.2.2 — 2026-07-12 ### Fixed - Recipe photo thumbnails always tried to load from `localhost:9000` in production, tripping CSP/mixed-content blocks in every browser — the public storage URL wasn't reaching client-side code. ## 0.2.1 — 2026-07-12 ### Fixed - Recipe photos were lost after saving, and multi-file uploads only kept the last file selected. - Photo thumbnails failed to load (blocked by Next.js's image optimizer refusing local-storage hosts). ## 0.2.0 — 2026-07-12 ### Added - **Batch cooking**: generate a single "mega recipe" covering several meals at once — merged shopping list, steps tagged per dish (including steps that advance several dishes at once), and per-dish storage/reheat guidance. Available from the recipe list's Generate dialog and from the meal planner. - **Leftover expiry reminders**: mark a batch-cook dish as cooked, track its fridge life, see it surfaced on the Pantry page, and get a daily reminder before it goes bad. - **"Cooked it" photo reviews**: attach a photo and written review when rating a recipe. - **Pantry-expiry recipe suggestions**: the Pantry page now surfaces recipes that use up ingredients about to expire. - **Trending collections**: star public collections; browse trending and recently-added ones under Collections → Discover. - **Add to collection from the recipe list**: select recipes and add them to a new or existing collection without leaving the page. - List and compact view modes for the recipe list, alongside the existing grid view. ### Fixed - Recipe version-comparison diff was unreadable and partially untranslated. - Print/export pages always render light, regardless of the app's dark/light setting. - Presigned photo-upload URLs were signed against an internal-only address in production, breaking uploads. - Several recipe-list and recipe-form UI issues: filter menu closing on every click, tag filter not accepting keystrokes, inconsistent card badge styling, missing tooltips, a floating save button on long recipe forms. ## 0.1.0 — earlier Initial feature set: recipes (create, edit, AI-generate, import from URL/photo), meal planning, shopping lists, pantry tracking, collections, social features (follow, comment, rate, notifications), nutrition tracking, admin dashboard, and account/billing basics.