Release Notes

Version 0.15.1

June 24, 2026

A small follow-up to 0.15.0 — fixes, polish, and some behind-the-scenes hardening.

Fixes & polish

  • Shared recipes now read correctly in dark mode — no more light text on a light background when a recipe link is opened in dark mode.
  • Unit conversion now handles amounts written after the ingredient name — a line like "Flour, 2 cups" converts when you switch to metric, just like "2 cups flour" already did.
  • In Cook Mode, the "scaled" note beneath the steps now lines up with the instructions instead of the screen edge.
  • Clearer wording on the recipe page's scaling footnote, and friendlier messages if you ever hit a usage limit.

Security & reliability

  • Strengthened protection on the email sign-in code against automated guessing.
  • Behind-the-scenes hardening on the import and recipe endpoints to keep things fast and reliable as more people join the beta.

Version 0.15.0

June 21, 2026

Sharp Cooking isn't just a place to keep recipes or plan meals — it's a complete cooking system, from finding a recipe all the way to the stove. This release brings Cook Mode to the center of that.

Cook Mode

  • A full-screen, hands-free way to cook a recipe one step at a time. Tap "Cook" on any recipe — the current step fills the screen in large, easy-to-read type, and you tap anywhere (or use the arrows) to move on.
  • Ingredient amounts, right in the steps. When a step says "add the flour," Cook Mode shows the amount inline — "add the 2 cups flour" — so you don't have to scroll back to the ingredient list. The amounts update if you scale the recipe.
  • Read-aloud. Have the steps read to you while your hands are busy, using your device's built-in voice (nothing leaves your device). Pick the voice and speed under the settings gear.
  • Ingredients on demand. Pull up the full ingredient list anytime without leaving Cook Mode — and scale it or switch between US and metric on the spot.
  • Scaling that follows you in. Double a recipe and Cook Mode shows the doubled amounts, with a clear note that pan sizes, counts, and times written into the steps still need your judgment.

Also new

  • Add photos to a recipe more easily — a new "Photo" button, and a tap-to-add prompt on recipes without a cover.
  • Add recipes from your photo library on iPhone, including iPhone HEIC photos, alongside taking a new photo.

Fixes & polish

  • Shopping list in the store — adding or checking off items now holds together on a weak connection and syncs when you're back online.
  • The bottom menu stays put while you scroll a long recipe, and the back arrows go where you'd expect.
  • Accessibility improvements across Cook Mode, the import screens, and the recipe page.

Version 0.14.7

June 18, 2026

What's new

  • Quick-item icons in the meal planner. "Takeout," "Leftovers," and other non-recipe entries now show a fitting icon instead of a plain label.
  • Clearer recipe saving. When a recipe can't be saved yet, the editor and the Add Recipe form now tell you exactly what's missing — a title, at least one ingredient, and one step — instead of an unexplained greyed-out Save button.
  • Quicker manual entry. Typing a recipe by hand now saves straight into My Recipes, skipping the extra preview step.
  • Accessibility & language polish. Screen readers now follow your chosen language, and several icon buttons and labels got clearer names.
  • A refreshed cocktail icon.

Behind the scenes

  • Occasional helpful emails — a welcome note and the odd gentle nudge. Turn them off anytime under Account → email preferences.
  • More reliable recipe imports and assorted cleanup.

Version 0.14.6

June 15, 2026

What's new

  • Import several recipes at once. Paste a newsletter or a web page that lists multiple recipes, upload a document, or photograph a cookbook page with two recipes side by side — Sharp Cooking now finds each one and brings them all in. (Up to 10 per import; if there are more, it adds the first 10 and tells you.)
  • The Recipe Inbox. Imported recipes arrive tagged "Needs review" so you can look them over before they blend into your library. Flagged recipes pin to the top of My Recipes with a "Needs review" filter and an "Approve all" button, and a new Inbox panel sits on your dashboard. Opening a recipe clears its flag automatically.

Polish

  • Ingredient section headings — "For the sauce", "Glaze", "For the filling" — are now kept when you import, instead of being flattened into one long list.
  • Placeholder icons now match the recipe's name — cookies look like cookies, a stew like a stew, not just its main ingredient — and the icon set has grown with freshly drawn additions, including a coffee mug, a loaf of bread, and a spice jar.
  • A recipe's long introduction now goes to Notes instead of crowding the summary line.
  • Clearer guidance while importing — what to expect as a guest versus a signed-in member, and a friendlier message when a file has more recipes than we can read in one go.

Behind the scenes

  • A single shared rule decides how a source splits into one recipe or several, applied identically whether you import by text, link, photo, or PDF — so the result is consistent across every method.
  • Import reliability fixes across the board: QR capture, links with several recipes, and large documents now hold together end to end.

Version 0.14.5

June 12, 2026

What's new

  • Duplicate a recipe. A new "Duplicate" button makes an editable copy in your library — handy for riffing on a recipe without touching the original. It works on recipes shared with you, too: if someone shares one to your household or a group, duplicate it to make your own version with your changes. The copy is titled "… (copy)" so it's easy to find.

Version 0.14.4

June 11, 2026

What's new

  • Scale a recipe. A new control above the ingredients lets you halve, double, or triple — or type a custom multiplier like 1.5× — and the amounts update instantly. Fractions stay readable ("⅙ cup" doubles to "1⅓ cups"), quantity ranges scale at both ends ("5 to 6 cloves" becomes "10 to 12"), and a measure restated in parentheses ("1½ sticks") scales right along with it. Scaling is for the current view only — it never changes your saved recipe — and it works together with unit conversion.

Polish

  • When an amount can't be scaled cleanly — half an egg, or an "or" alternative — the line is marked with a small note so you know to round or double-check it, instead of showing a misleading number.
  • Screen-reader improvements for the units and scaling controls: clearer spoken labels, plain-language descriptions of what each toggle does, and the flagged-line notes are read aloud in full.

Behind the scenes

  • Scaling is built on the same structured-ingredient engine as unit conversion, with its own test suite — so tricky lines (ranges, parenthetical equivalents, counts that don't divide evenly) are handled deliberately rather than guessed from the text.

Version 0.14.3

June 10, 2026

What's new

  • Unit conversion. Switch any recipe between US, UK, and metric with one tap — the toggle sits right above the ingredients. Set your defaults in Settings → Units & conversions: measurement system, fractions vs. decimals, and an option to weigh dry baking ingredients (flour, sugar, nuts) in grams. Oven temperatures and pan sizes convert too.

Polish

  • The full interface is now translated across all nine supported languages.

Behind the scenes

  • Conversion works from structured ingredient data with its own test suite — so tricky amounts like "2½ cups" or "1½ to 2 lb" convert accurately instead of being guessed from the text, and chopped herbs and "to taste" lines are left alone.

Version 0.14.2

June 9, 2026

What's new

  • Create a shopping list right from a recipe. If you don't have any lists yet, "Add to Shopping List" now lets you name a new list and adds the recipe's ingredients to it in one step — no more being sent off to the list manager and losing your place.
  • "Tell a Friend" is now in the header. A megaphone button (next to the light/dark toggle, and in your profile menu on smaller screens) opens sharing from anywhere — including a QR code, so someone can scan and open Sharp Cooking in person without swapping phone numbers.
  • A list view for My Recipes. A new grid/list toggle lets you switch your library to a denser, scannable list — recipe name, thumbnail, time, and servings on each row — so large collections are faster to browse. Your choice is remembered on each device, and the grid stays the default.

Polish

  • Meal Planner week view: recipe and meal names are larger and easier to read at a glance.
  • The light/dark toggle and the new Tell a Friend button now show a tooltip on hover.
  • Clearer error messages across the app. When something can't be completed — saving a recipe, signing in, adding to a shopping list — the message now explains what happened and what to try, in plain language instead of technical wording.

Bug fixes

  • Fixed a bug in pop-up dialogs where the space bar wouldn't type a space (the page scrolled instead), and where focus could jump out of a text field after a single keystroke. This affected the new shopping-list name field and other dialogs.
  • Fixed placeholder text in input fields (like the recipe search box) being hard to read in dark mode.

Behind the scenes

  • Accessibility hardening: focus handling is now consistent and stable across every dialog in the app.
  • Backfilled structured ingredient data across existing recipes.
  • When an action fails, the technical details are now sent to our error tracking so we can find and fix issues faster — you just see a friendly message.

Version 0.14.1

June 7, 2026

What's new

  • Shopping lists now combine ingredients across recipes. When you add multiple recipes' ingredients via the Meal Planner, matching items merge into single rows grouped by grocery aisle. In Detailed view, the merged rows show "From recipe: A, B" with both linked.
  • Add Recipe A to your list on Monday and Recipe B on Wednesday — matching ingredients consolidate into the same row instead of stacking duplicate entries.
  • Smarter shopping-list typing. "Dozen eggs" parses as 12. So do "half-dozen," "couple of," and "pair of." They all consolidate with existing entries of the same item.
  • Household members see each other's planned meals. If you're in the same Household as someone, their meals appear on your Meal Planner calendar with a "by [name]" attribution. Move and Delete are owner-only, so you can't accidentally edit your housemate's plan; recipes link through normally.
  • Pending invitations on Communities. When you're an admin, the expanded community card now shows a "Pending invitations" section with everyone you've invited who hasn't accepted — plus Resend and Cancel buttons. No more wondering whether the invite actually went out.
  • Household membership cap. Each user can be in one Household at a time by default — the cookbook-on-the-shelf model, where anyone in your physical home can grab a recipe off the shared library. For real shared-custody or multi-home situations, the limit is per-user configurable.
  • Community meals (from Groups and Events) appear on your personal calendar. When someone plans a meal inside a Group or Event you belong to, it now shows up on your Meal Planner alongside personal and Household meals, with a "from [community name]" link that jumps to the community page. Read-only from your personal view — Move and Delete live on the community side, since the community owns the meal.
  • Quick items on the Meal Planner. Add things that aren't formal recipes — Takeout, leftovers, "Birthday dinner" labels — by typing in the new "Or type something else" field at the bottom of the Add Meal modal. The card on your calendar shows the name with a "Quick item" badge.
  • Edit Quick items by tapping the card. Opens a small edit modal so you can fix a typo or change the name. Works with keyboard too — Tab to focus, Enter to open, Esc to close.

Polish

  • In Recipe Edit, the drag handle moved to the right side of each row, next to the trash icon. Cleaner row scanning.
  • Recipe Edit placeholders now show example content: "Heat oil in a pan…" for instructions, "e.g., 1 onion, chopped…" for ingredients.
  • "Newest First" is now the default sort on My Recipes, so freshly-imported recipes are at the top instead of buried in the A-Z list.
  • Toast confirmations now appear when you send a community invite, add recipe ingredients to a shopping list from a recipe page, and resend or cancel a pending invitation.
  • The Add Meal modal is tighter and clearer. The recipe list is shorter so the whole modal fits on screen without page scroll; the "X recipe selected" badge is now dark text on a light tint (was hard-to-read green-on-green); and the new Quick item field reads as an alternative ("Or type something else") rather than a second required field.

Bug fixes

  • A false "Failed to save recipe" toast could appear after a successful import. The recipe was always in your library — the toast was wrong. We caught this on the photo-import path where Cloudinary occasionally hiccups; now we treat side-effects (image upload, post-save verify) as soft failures with a clearer message ("Recipe saved. Couldn't upload images — add them from the edit screen.") instead of falsely claiming the whole save failed.
  • Communities cards could swallow keystrokes. Typing a space in the "Add a meal" name, or picking a date in the calendar picker, would collapse the community card and lose your work. Fixed.
  • The wizard's "STEP X / 3" header was floating over the preview content as you scrolled. It now scrolls with the page normally.
  • Long source URLs in the recipe preview no longer overflow the modal — they wrap inside the box.
  • A newly-created shopping list from the Meal Planner now shows up on the Shopping List page immediately, instead of after a refresh.
  • Household-shared recipes appear right away after accepting a Household invite, instead of after a manual refresh.
  • The Terms of Service link during Registration was an internal route that 404'd. It now opens the marketing site Terms page in a new tab.
  • Community invitation emails were half-translated — the heading was in your locale but the body sentence was hardcoded English. Both halves are now translated across all 9 supported languages.
  • The Communities members list was overflowing on narrow viewports (role label and Remove button rendering outside the row's tinted background). Now wraps cleanly.
  • Date-picker timezone fix on community and personal meal forms. Picking "today" for a meal in US Eastern time used to save it as "yesterday" because the date string was parsed at UTC midnight. Meals now land on the date you picked, in every timezone.
  • Removed the weekly cook-time stat tile from the Meal Planner. It only handled a narrow subset of how recipes store their cooking time and silently returned 0 for several common formats (ISO 8601 like "PT1H30M", bare numbers, colon times like "1:30"), so the weekly total was often wrong. Planned-meals count and week coverage stay; cook-time may return in a more reliable form later.

Behind the scenes

  • Phase 1 of shopping-list intelligence shipped in v0.14.0 was a data-plumbing dormant feature. v0.14.1 wires it into the meal-planner shopping-list flow — the consolidation you see in the new "What's new" section is the same parsed data finally getting consumed.
  • Every existing recipe was re-parsed during a one-shot backfill so consolidation works retroactively on your whole library, not just recipes imported from today forward.
  • Admin dashboard improvements: cost-per-request and Cost-per-Provider columns show a uniform dollar format (was switching to "0.18¢" for sub-cent values, which read as 18 cents). New "Costs by Model" table breaks AI spend out per Claude Haiku, Sonnet, etc.
  • Comprehensive observability documentation refreshed — signal taxonomy, alert thresholds, and known limitations all documented in one strategy-and-operations reference.
  • Parse-prompt tuning based on real recipe output: variety vs modifier handling for ingredients like "boneless chicken thighs," freshness markers ("fresh dill" parses correctly now), and parenthetical aliases like "pickle juice (pickle brine)."
  • Cook-assignment UI in community meals is temporarily hidden. The assignment dropdown stored data but didn't drive any visible behavior (no notifications, no per-cook shopping lists, no calendar attribution), so it felt broken to beta testers. It'll come back once we decide what "assigning a cook" should actually do at the app level.

Version 0.14.0

June 5, 2026

Initial public beta release.

  • Public beta is officially open. Welcome.

Polish since v0.13.18

  • Manually-typed recipes now reliably save to your library. (A pre-existing wizard path could silently swallow the recipe; that's fixed.)
  • The shopping-list prompt on the Meal Planner now lets you create a new list inline, even if you don't have one yet. Pick ingredients, name the list, done.
  • Clearer copy on the recipe import wizard for the URL, paste-text, and cookbook-photo options.
  • Save attempts now show a "Recipe saved to your library" confirmation toast. If you click Save and don't see it, something went wrong — and we'll show you a useful error instead of silently navigating away.
  • Small accessibility fixes: footer attribution opens in the same tab; the Terms of Service link during registration is now announced to screen readers as "opens in new tab."

Behind the scenes

  • Every imported recipe now has structured ingredient data captured for an upcoming shopping-list consolidation feature. Dormant; no user-visible behavior change yet. Visible later.
  • Wizard save failures now report to our error-tracking dashboard with context, so the next time something goes wrong we catch it instead of a beta tester catching it.

Version 0.13.18

June 3, 2026

What you'll notice

  • On the Dashboard, the two hero tiles (Recipes count, This week count) are now clickable links to the My Recipes page and the Meal Planner. The "Find a recipe" and "Plan the week" buttons that sat below them have been removed since the tiles cover the same ground.
  • On the Meal Planner Week view, each recipe card now has Move and Delete buttons beneath it — same as Day view.
  • After adding a recipe to the planner, the shopping-list prompt reads "Recipe added. Also add the ingredients to a shopping list?" — the previous confirmation toast was being covered by the prompt, so the success state is now part of the prompt itself. The skip CTA is now "Skip this step".
  • The "Recipe imported successfully!" preview puts Save to library, Discard, and Try another way at the top, directly under the headline. Several beta testers had been closing the modal thinking the recipe was already saved.
  • In Recipe Edit, the per-row dropdown for the ingredients list reads "Section heading" instead of "Heading". In dark mode, the "Ingredients" and "Steps" labels are now readable.
  • The recipe import wizard copy is clearer: the URL input now says "Add your recipe's URL. Note that some recipes may block automated access." (was the celebrity-site dropping); the paste-text option says "I'll paste in the recipe text." instead of the cryptic "In an email or somewhere else." Failed URL imports now show "We couldn't extract a recipe from this page. This may be because the site blocks automated access." instead of "No recipe found at this URL."
  • Email body text is bigger across every transactional message (welcome, magic-link, password reset, account deletion, family + community invites, feedback receipts). Previously rendered at the client default — small in Gmail and Outlook, fine in Apple Mail. Now consistent at 16px everywhere.
  • The welcome email signs off with a bold, linked "Joe Schick" so the message reads as a note from a person rather than from an unattributed service.

Accessibility + screen-reader fixes

  • Dashboard hero tiles have a visible hover state and a high-contrast focus outline that meets WCAG 3:1 against both the saffron and forest backgrounds. Honors prefers-reduced-motion.
  • On the import preview, each action button references the recipe title via aria-describedby, so screen-reader users hear what they're acting on without having to navigate down to the card first.
  • On the Meal Planner card, the outer wrapper is no longer a role="button" containing nested buttons (an anti-pattern that confuses screen readers). The visible Move button is now the keyboard equivalent; mouse drag-to-move still works.
  • Translated 4 stable strings (shopping-list prompt headline, skip CTA, both dashboard tile aria-labels) into all 8 non-English locales.

Behind the scenes

  • Every successful recipe import now fires an anonymous recipe_imported event tagged with its source (url / text / image / pdf / docx) and whether AI extraction was used. The admin dashboard has a new "Imports by Source (This Month)" tile so LLM spend can be budgeted against actual usage as beta testers come online.
  • The Google Books cookbook-attribution integration that was deprecated in v0.13.15 is now fully removed from main (was still on main as 445 unused lines).
  • Email body font-size is now set explicitly on each paragraph and list item rather than only on the wrapper element — Gmail and Outlook reapply their own paragraph styles, which is why earlier attempts to bump the size didn't visibly change anything.

Version 0.13.17

June 3, 2026

What you'll notice

  • The "Send me a link" email now also contains a six-digit code. If you're using the installed app on iPhone (where tapping the link in Mail opens Safari instead of the app), you can paste the code into the login screen and sign in there.
  • Signing in via the device-link QR code no longer briefly flashes "Verification Failed" before logging you in.
  • When something goes wrong during a recipe import or save, you'll see a useful explanation instead of "Internal Server Error" — for example "We couldn't find a recipe in that text. Make sure your paste includes a title, ingredients, and instructions, then try again."
  • The persistent "Please verify your email address" banner for users whose email is already verified is gone — it had been showing because the user data loaded on every app boot wasn't including the email-verified flag.

Behind the scenes

  • New code-based magic-link verify path. Uses the same short-lived, rate-limited, single-use security model as the link verify itself.
  • Magic-link email template adds a code block, translated across all 9 locales.
  • Magic-link and device-link verify pages now fire their verify call exactly once per mount, fixing the brief "Verification Failed" flash some users saw under React StrictMode in development.
  • Error responses in the guest-recipe controller now return a stable machine-readable code alongside the English message, so future localization is purely a translation task.
  • Broader PWA-auth reliability plan documented internally. Android Chrome session handling, QR-link discoverability in the installed app, and service-worker cache work queued for the next release.

Version 0.13.16

June 2, 2026

What you'll notice

  • Recipe share links are now independent. Open the share modal twice and you get two different URLs — both work, neither cancels the other. Share a recipe with one friend at a party, then share it with someone else an hour later, and the first friend's link still opens.
  • The share modal no longer has a "Revoke" button. Links expire naturally after 30 days; per-link revoke will return when there's clear need.
  • When you share a recipe that doesn't have a photo, the link-preview card in iMessage / Slack / Facebook now shows the recipe's category icon on a cream background — instead of the Sharp Cooking logo on every photo-less recipe.
  • On the recipe detail page, recipes without a photo now show the same category icon used on the My Recipes grid, in place of the old "Add Photo" button. Photos are added from Edit.
  • In Recipe Edit, the "Icon when no photo" picker moved next to the "Add images" button and got a cleaner layout. Its label is now just "Icon".
  • The "Tell a friend" modal no longer shows the raw sharing URL with its tracking parameters — the link is still included when you share, just hidden from the preview.

Bug fixes

  • Typing a malformed URL like /recipes/123abc, /recipes/123abc/edit, or /recipes/123abc/cook now shows the friendly 404 page instead of a confusing "Failed to execute get on IDBObjectStore" error.
  • The in-app 404 page text is left-aligned and easier to read.

Privacy posture

  • Every share-link view fires an anonymous event into our existing aggregate analytics. No viewer identity is logged — we just count how many shares get opened.
  • Transactional email copyright updated across all 9 locales to read "Copyright © 2026 by Schick Creative LLC."

Behind the scenes

  • New share-link data model: tokens live in a dedicated table instead of a single column on the recipe, so multi-link behaviour is real. Existing live links migrated cleanly — none broken.
  • 40 pre-rendered Open Graph placeholder PNGs (one per food category icon) published under /og-placeholders/. Generated from the icon set by a one-shot script.
  • A first round of API error-message cleanup is scoped internally — the "Internal Server Error" string a test user saw on a paste import will be among the first fixed in the next release.

Version 0.13.15

June 1, 2026

What you'll notice

  • Voice control and read-aloud are temporarily unavailable in the app. Both routed audio through cloud services, so they've been pulled until an on-device, privacy-friendly replacement is in place. Cooking Mode (which used them) was already hidden during rework.
  • The "Send Feedback" button on the in-app Release Notes page now opens the in-app feedback form directly, instead of an external Google Forms link.
  • Home page reassurance is now "no app store, no tracking cookies, no ads" — the older "in your recipes" qualifier was removed because it left room for an interpretation Sharp Cooking doesn't intend.

Privacy posture

  • Transactional emails (verification, magic-link, password reset, welcome, feedback confirmation, family + community invites, account deletion) no longer fetch Inter from fonts.googleapis.com. Opening a Sharp Cooking email no longer reveals the recipient's IP to Google.
  • Voice recognition (which routed through Google's cloud on Chrome) and text-to-speech (which can use Google voices on some platforms) pulled until on-device alternatives are in place.
  • The cookbook attribution feature was removed entirely. An earlier May 2026 build sent recipe titles and a content snippet to Google Books for attribution lookup; that code path is gone. No recipe content now leaves the system for any Google service.
  • Three orphan HTML preview pages that pulled fonts from Google's CDN were deleted from the app's public folder.

Bug fixes

  • PWA install detection no longer reports "you have it installed" after a user has uninstalled the app. Magic-link sign-in now reads the same authoritative install flag that the rest of the PWA system uses.
  • Visiting an unknown URL in the app (a mistyped path or a stale link) now shows a proper "page not found" message with a one-tap return to your recipes. Previously the layout chrome rendered with no content inside.

Behind the scenes

  • Dropped three unused frontend dependencies (@hookform/resolvers, @types/qrcode, @fontsource/inter) and removed the two remaining design-exploration HTML files from the app's public folder.
  • 23 stale .bak/.bak2/.bak3 orphan files removed from the marketing site source — two of them contained pre-rebrand AdSense draft copy that risked future accidental revival.
  • Documentation refreshed: ARCHITECTURE.md cookbook attribution section and PII inventory updated to reflect the removal; CLAUDE.md Cooking Mode status corrected to intentionally hidden; the cross-domain logged-in UI-hint cookie note corrected (it's a main-branch-only writer; staging deliberately omits it).

Version 0.13.14

May 31, 2026

What you'll notice

  • Sub-section ingredient headings ("For the marinade," "For the sauce") are now first-class. AI extraction from PDFs, pasted text, and URLs picks them up automatically, and the recipe view displays the ingredients grouped under their labels.
  • Editing a recipe's ingredients now includes an Item / Heading dropdown on each row plus an "Add section heading" button — so you can build or refine the structure yourself even when the AI misses a section.
  • The shared-recipe page (the one friends see when you send them a link) has been redesigned to match the rest of Sharp Cooking: cream background, white tiles, italic Cormorant title, saffron tag pills, standard footer.
  • Recipe imports feel quicker (perceptually). The progress bar no longer freezes at 95% while the AI is finalizing — it keeps creeping forward slowly so you can see something is still happening.
  • Expired share links auto-refresh. Open the share modal on a recipe whose link has expired and a fresh link is generated immediately — no more copying a stale URL by mistake.

Behind the scenes

  • AI extraction (PDF / text paste / URL) now uses Claude Haiku for English-family languages instead of Groq/Llama. Slower (~8–12s vs ~1s) but materially more reliable at picking up sub-section structure and following verbatim instructions for recipes that have a story or tip alongside the steps.
  • Typed-row ingredient storage introduced as a parallel column (ingredients_structured) for testing without disrupting any legacy data. Read paths (detail view, editor, preview, shared page) prefer the new column when present; everything else continues to read the flat column. Consolidation decision logged for August.
  • Groq prompt drift synced with Claude (NOTES anti-meta-commentary block, VERBATIM example citations) so if Groq is ever re-enabled the output quality matches.
  • Cooking Mode status in internal docs updated to reflect that it's temporarily hidden during rework — was stale.

Version 0.13.13

May 28, 2026

What you'll notice

  • UK and non-American users now see British spellings (Favourites, Organise, Colour mode, etc.) automatically based on browser language. Americans continue to see American spellings.
  • Shared recipes without their own photo now generate a proper share-card preview when posted to iMessage, Twitter, Slack, etc. — instead of a tiny logo.
  • Dashboard's "Tell a friend" subtitle is shorter and more direct.

Home page polish

  • Identity, Privacy, and Final CTA sections now use a two-column layout with photos beside the text — matching the hero. All section photos render at a consistent 4:3 footprint.
  • Alternating cream/white background rhythm and more breathing room throughout.
  • Primary CTAs flipped: the no-account "Try it without an account" path is now primary on hero, beta announcement, and Final CTA. "Sign up" is the secondary follow-up.
  • New "Sign up" link added to the navbar between the existing "Import a recipe" button and "Log in."
  • Beta announcement now names Founding Member pricing scarcity ("only people who join during the beta qualify"). PWA-only positioning surfaced explicitly: installs to phone home screen, works offline, no app store.
  • Site-wide share-card image (og:image) is now a proper 1200×630 cookie photo instead of a tiny favicon. Every shared link now previews with a real photo.

Bug fixes

  • Blog post bylines now read cleanly via screen readers (was reading "By", author, and date as three separate selectable items).
  • Blog post publication dates were rendering a day off due to a timezone bug — fixed.
  • Help section URLs with .md extensions now 301-redirect to clean URLs.
  • Home page accessibility contrast fixed on the new beta announcement panel.

Behind the scenes

  • Performance: iPad cooking photo on the home page now has a 768w variant for mobile (~90 KB savings Lighthouse-flagged).
  • SEO: og:locale alternates added for all 9 supported UI locales.
  • en-GB locale shipped with 31 spelling overrides; everything else falls back to the en baseline.

Version 0.13.12

May 27, 2026

What you'll notice

  • New users now get a welcome email from Joe after verifying their account, with a quick orientation to the beta.
  • Submitting feedback in the app now sends you a confirmation email. The Dashboard shows your open submissions with their status — so you can see what's been received and what's resolved.
  • A new "Product updates and announcements" toggle in My Account lets you opt out of welcome and product-news emails. Transactional emails (verification, magic link, feedback confirmation, account deletion) always send regardless.
  • The home page leads with a prominent beta announcement, linking to a new blog post that explains what beta means and what you get.
  • The Updates section is now called Blog — better fit for the kind of writing it actually carries. Old /updates/ links still work.

Bug fixes

  • Fixed a bug where the app could revert to the wrong language — typically after changing your preference on another device. The app now refreshes your account settings from the server on each load.
  • Recipe lists, the Dashboard, and other lists now update automatically after add/edit/delete actions instead of needing a manual refresh.
  • The "Check your email!" confirmation in the in-app sign-in modal now uses the cream/saffron theme instead of green.

Behind the scenes

  • All new feedback-related strings translated across 9 languages.
  • Email deliverability hardening: RFC 8058 List-Unsubscribe headers added to marketing emails so Gmail and Yahoo handle them as well-behaved senders.
  • Accessibility contrast fixes on the new home-page beta announcement to meet WCAG AA.

Version 0.13.11

May 25, 2026

What you'll notice

  • Logging in now lands you on your Dashboard instead of My Recipes — better starting point with your recent activity, upcoming meals, and shortcuts.
  • Removed a "Home" dropdown from the top nav that duplicated what clicking the logo already does.

Behind the scenes

  • Database cleanup: dropped accumulated unused tables and columns left behind by rolled-back or paused features earlier in development. No effect on anything you can see, but it closes a class of bug that caused a brief production incident this month.

Version 0.13.10

May 24, 2026

What you'll notice

  • The "My Communities" heading was rendering white on white in light theme. Fixed now.
  • The Add Recipe wizard's error message ("Error al guardar la receta…") was hardcoded in Spanish for everyone, regardless of your language. Now properly translated across all 9 languages.
  • The "Delete this list?" confirmation in Spanish, French, German, Dutch, and Swedish was missing the actual list name. Now correctly says "Delete '[your list name]'?".

Security

  • Hardened the guest-recipe migration endpoint with stricter authentication.
  • Tightened error responses on passkey registration so internal details are no longer exposed.

Behind the scenes

  • Removed dead ad-routing code from the app bundle. The paid-only model has been the strategy since earlier this month; the code was just hanging around.
  • Backend now properly captures errors from scheduled background jobs (data retention cleanup, etc.) that previously could disappear silently if they crashed.
  • Tightened type safety on 26 controller endpoints — no user-visible effect, fewer chances for a future bug to slip through.

Version 0.13.9

May 23, 2026

Internal cleanup release. The Family sharing system has been unified with Households — no change to how household sharing works for you, just simpler plumbing underneath. Also: removed an unused filter on My Recipes, and fixed the members count display on shared recipes.

Version 0.13.8

May 23, 2026

Big production deploy bringing two weeks of staging work to everyone.

New on your Dashboard

  • Tell a Friend widget. Share Sharp Cooking with someone who would like it — copy a link, send it by email, or use your phone native share sheet.
  • Improved feedback. Quick reactions (thumbs up / thumbs down with optional comment), bug-report severity tags (Major / Annoying / Minor), and a more prominent Send Feedback button in the top nav.

Signup and language

  • Beta participation notice on the signup form so you know what to expect during the public beta — free, unlimited recipe imports, your recipes stay yours after the paid launch.
  • Language picker moved into the profile dropdown as a nested submenu — less visual clutter in the nav, easier to find.

Under the hood

  • Performance. Recipe lists and the My Recipes page load noticeably faster after a network plumbing cleanup. Image storage stays tidier (orphan cleanup wired into every delete path).
  • Security. Rate limit on AI imports relaxed — beta cooks setting up their library no longer hit the wall mid-onboarding.
  • Accessibility. Screen-reader improvements on Login and Register (announced errors, decorative asterisks hidden from assistive tech, proper TOS-checkbox labelling).
  • PWA reliability. Three fixes targeting the rare iPhone blank-screen issue some users hit after deploys. If you experienced it before, please try a hard-reload and let us know if it recurs.

Version 0.13.7

May 19, 2026

Minor mobile improvements.

Version 0.13.6

May 18, 2026

Household sharing

  • Recipes and shopping lists now share automatically inside your Household. If you and your partner (or anyone else) are both members of the same Household community, you each see all of the other's recipes and shopping lists without any explicit "share this with you" step.
  • Owner-only changes, everyone-can-use everything else. Only the recipe's owner can edit or delete it; household co-members can view, cook from, favorite, and add ingredients to their shopping list. For shopping lists, only the owner can rename or delete the list, but every household member can add, check off, edit, and clear items.
  • "Owned by [name]" indicator on recipe details and shopping-list cards when the item belongs to a household co-member, so it's clear whose collection a recipe came from.
  • Behind the scenes: the older Family system is now backed by the Household community model. Existing Family memberships were migrated; nothing visible changes for users, but the two parallel systems are now one.

Beta feedback tools

  • New "Quick reaction" feedback type. Thumbs up or thumbs down plus an optional one-line comment. The fastest way to tell us how it's going — about three seconds end to end.
  • Bug reports include severity. Major (I can't use the app) / Annoying (workaround available) / Minor (FYI). Helps us triage.
  • Prominent Feedback button in the top nav — forest green, beside your account avatar. Was previously buried in the settings dropdown.
  • Email fallback shows the actual address as link text. If clicking "email me directly" doesn't open your mail app (because you use Gmail in the browser, for example), the address is right there to copy.
  • Dashboard widget reframed as "How's Sharp Cooking working for you?" — quick-reaction button + visible email address.

Tell a friend

  • New Dashboard widget to recommend Sharp Cooking to a friend. Editable personal note, plus three actions: native share sheet (on mobile), copy link to clipboard, or email with subject and body prefilled.
  • No referral codes, no rewards, no leaderboards — just a friendly link. The shared URL carries no personal identifier; only generic referral attribution.

Polish & fixes

  • Favorite button on recipe pages is now icon-only in both states — outline heart when not favorited, solid saffron heart when favorited. The "Save" / "Saved" text was repetitive once the icon already showed the state. Accessible name preserved via aria-label and aria-pressed.
  • Wordmark no longer overflows the sign-in card. The Sharp Cooking wordmark was rendering oversized on the community-join confirmation page (and on Login, Signup, magic-link verify, device-link verify, email verify, family-join). It now sits cleanly inside the card.
  • Admin dashboard: feedback rows now have a working status dropdown (new → in progress → resolved → closed). The URL column shows just the page path (e.g. /recipes/503) instead of a generic "View" link, making it easier to scan where feedback came from.

Privacy & infrastructure

  • Session replay disabled. Previously a small percentage of sessions could be uploaded to the error monitoring service to help debug bugs. We've turned that off entirely — only error stack traces are reported now, and only when something actually breaks. Aligns the implementation with the privacy-first positioning.
  • Roughly 30 new strings translated into all 9 supported languages (English, Spanish, French, German, Italian, Dutch, Polish, Portuguese, Swedish).

Version 0.13.5

May 13, 2026

Marketing site

  • New home page photos.

Version 0.13.4

May 11, 2026

Marketing site

  • Sections now fade in gently as you scroll into them on the homepage, About, Features, How It Works, Privacy & Ownership, and FAQ — sections feel composed rather than dumped onto the page. Skipped entirely if your OS has "reduce motion" enabled
  • Smooth in-page scrolling (jumping to anchor links) now respects "reduce motion" — previously it was always smooth, regardless of the OS preference

Library Mode polish

  • Recipe cards now lift slightly on hover and on keyboard focus — small visual feedback that the card is interactive, useful for mouse and keyboard users alike
  • Recipes in the grid cascade in when the page first loads instead of all appearing at once. Capped so cards 11+ on long lists don't queue forever — they appear together after a half-second

Modal entrances

  • All dialogs — feedback, login, signup, filter, icon picker, add photo, add meal, share, and the iOS install hint — now fade and slide in gently when opened, instead of snapping into place
  • Keyboard focus moves to the dialog after the entrance animation completes (was previously racing the animation by 250ms) so the dialog feels settled when the screen reader announces it
  • Onboarding wizard step transitions also use the shared entrance pattern, replacing a slightly off easing curve from earlier in the project

Accessibility — toast notifications

  • Toast notifications now announce reliably through a persistent screen-reader region instead of mounting a fresh live region per toast — Safari VoiceOver in particular sometimes missed the previous announcements
  • Error toasts now announce assertively (interrupting current speech) while status and info toasts stay polite, so a failed save or network error doesn't get queued behind less important messages

Accessibility — Cooking Mode

  • Tapping the recipe area to pause or resume the read-aloud now announces "Paused" or "Resumed" through the screen reader — previously only the voice-command path announced
  • "Resumed" string added to all 9 languages (German, Spanish, French, Italian, Dutch, Polish, Portuguese, Swedish)

Shopping list

  • Move items between lists. Detailed view items now have a "⋮" menu with Edit and Move to other list. Pick a destination from your other lists and the item moves over. Built for the "I wanted to buy it at Store A but they didn't have it" workflow
  • Autocomplete now suggests anything you've added before, not just things you've checked off. Previously you had to have purchased an item before it showed up as a suggestion. Now anything on any of your lists surfaces while you type
  • Bug fix: Deleting a shopping list now shows the actual list name in the confirmation dialog instead of the literal text "{{name}}"
  • Four new shopping list strings translated into all 9 supported languages

Every motion change above respects your OS-level "reduce motion" preference — animations are skipped entirely and content renders in its final state.

Version 0.13.3

May 10, 2026

Auth pages

  • Login page background switched from cream to white so the inner sign-in card no longer reads as cream-on-cream
  • Login and Register headlines + eyebrows now route through the translation system — the "Welcome back." headline, "Sign In" eyebrow, "New here? / Make an account" prompt, "Make an account" eyebrow, and "Get started for free." headline are now translated in all 9 supported languages

Marketing site

  • Header icons (theme toggle, search, close) now match the React app's ink color in light mode instead of saffron, so they read as interactive controls rather than decorative accents

Version 0.13.2

May 9, 2026

Accessibility improvements

  • Sitewide screen reader sweep: hero headlines, decorative numbers, separators, and italic emphasis now read cleanly instead of as fragmented chunks
  • Section headings are now keyboard-tabbable so users can step between sections without Tab-spamming through every list item
  • In-page anchor links (FAQ sidebar, Features jump-list, Guides section nav) now move keyboard focus to the target section, so the next Tab continues into the section's content
  • Skip-to-main-content link now actually moves focus into the page (was scrolling but leaving focus on the nav bar)
  • Small body and chrome text — feature descriptions, FAQ answers, sidebar nav, eyebrows, photo captions — bumped to readable sizes with stronger contrast (snapped to existing design tokens for future flexibility)

Performance

  • App entry chunk shrunk from 632 KB to 195 KB (a 70% reduction). Sentry's error-tracking SDK + session replay no longer block first paint — they now load on browser idle after the app is interactive
  • Marketing screenshots now use a single light-or-dark variant per visit instead of downloading both. About 84 KB saved on every page that has a product screenshot
  • Marketing site ships only the Latin font subsets (English-only site) instead of all subsets — 32 fewer woff2 files in the build
  • Meal planner re-renders no longer re-allocate the week-dates array; recipe list sort no longer re-reads localStorage for every comparison
  • Phosphor icon import switched to a deep import path so the bundle no longer pulls the full icon set for one icon

Internationalization

  • 44 missing translation keys backfilled across all 8 non-English locales (Spanish, French, German, Dutch, Swedish, Italian, Portuguese, Polish) — primarily Shopping List and Dashboard strings that had been showing English fallbacks
  • Polish plural forms completed — "X days/hours/minutes ago" now use the correct one/few/many/other forms instead of falling back to English
  • Login page eyebrow and "make an account" prompt are now translated; previously the first screen non-English users saw was partially in English
  • Hardcoded English aria-labels on shopping list, recipe preview, cooking mode, and filter controls now route through the translation system, so screen readers in other languages get localized announcements

Version 0.13.1

May 4, 2026

Recipe icons & cover image

  • New library of 40 hand-drawn food icons (up from 17) — pizza, burger, taco, sushi, kebab, pie, cookie, ice cream, and more — used as recipe-card placeholders when a recipe has no cover photo
  • Smarter automatic icon detection — multi-word and pluralized categories (Chocolate Chip Cookies, BBQ Pulled Pork, Spaghetti and Meatballs) now resolve to the right icon, and dish forms (stew, salad, pasta) take priority over ingredients
  • New icon picker on the recipe edit form — click the icon thumbnail to open a modal grid of all 40 icons, organized by mains / sides / desserts / drinks. Pick one to override the auto-detected choice, or revert to auto-detect
  • "Featured" image is now an explicit choice — the star button on each image declares which one is the cover. Images that aren't featured become gallery references and the placeholder icon takes the cover slot
  • Recipe detail page now shows all non-featured images in the "Additional Images" gallery, regardless of how many there are — single un-featured images no longer disappear

Mobile & PWA polish

  • iOS PWA: top nav now respects the dynamic island / status bar — the saffron header no longer overlaps the system clock and signal indicators
  • Bottom navigation labels shortened to fit on one line in every supported language: Dashboard, Recipes, Add, Meals, Lists. Reordered with Add in the visual center
  • Dashboard hero on mobile: stats now stack below the action buttons rather than crowding them off-screen
  • Dashboard week grid on mobile: shows today + the next two days at a readable size with featured-meal photos, instead of cramming a full seven days into a phone width
  • Dashboard cards now use a warmer cream background that stands out from the page in both light and dark modes
  • Shopping list page: list-actions sidebar collapses into a triple-dot menu in the toolbar on mobile, freeing the screen for items
  • Fixed shopping-list right-side overflow on iOS — content no longer extends under the rounded corner / notch

Performance

  • Recipe images now request properly-sized thumbnails from Cloudinary instead of pulling the full upload into every recipe card — about 75% less image bandwidth on a 30-recipe library load
  • Marketing site: deleted ~1 MB of unused image assets, right-sized the wordmark PNGs (4800px → 640px), preconnected to analytics, preloaded the two hero fonts, and added responsive hero images. Lighthouse Performance: 93 → 95

Branding & visuals

  • Browser tab favicon redesigned as a saffron-filled circle with the white stamp logo — visible against both light and dark browser tabs
  • iOS home-screen and Android PWA icon: white stamp on saffron background, no longer the old black-and-white version
  • Schick Creative footer attribution logo replaced with crisp 48×48 versions for both light and dark modes
  • Shared-recipe link previews now fall back to the brand stamp when a recipe has no featured photo, instead of showing a broken image preview

Other

  • Meal Planner: renamed the fourth meal slot from "Snack" to "Other" — a catch-all for anything you'd cook outside of breakfast / lunch / dinner
  • Translated "Filter" on the My Recipes page across all 9 supported languages
  • Cross-domain login detection — when you're signed in to the app, the marketing site now recognizes that and shows a "My recipes" link in the header instead of "Log in"
  • Numerous backend stability fixes: guest-recipe migration after registration, magic-link email logo, image deletion no longer leaves stale references, and the recipe edit form now persists icon choices correctly

Version 0.13.0

April 30, 2026

Design

  • Complete visual redesign — new saffron brand color, cream-and-white surfaces, editorial serif typography, and sharp corners throughout the app
  • New Sharp Cooking stamp logo and wordmark in the app header, replacing the Jolly Roger
  • Dashboard, recipe list, recipe detail, shopping list, and meal planner all updated with the new visual system
  • Registration and login pages redesigned with a centered card layout and warm background

Dark Mode

  • Dark mode is now available on both the app and the marketing website — follows your system preference automatically, with a manual toggle in the header
  • Both light and dark modes meet WCAG AA contrast requirements throughout
  • Dark mode persists across sessions via localStorage

Navigation

  • App header redesigned with saffron logo pill, active page underline, and full language names in the language switcher
  • Removed the redundant language switcher from the registration page

Shopping List

  • Checked items now sort by most recently checked, so the things you just bought float to the top
  • Checking items off now works offline — the app queues the change and syncs when you reconnect

Accessibility

  • Primary buttons now meet WCAG AA color contrast (4.8:1 ratio)
  • 29 missing translation keys restored across all 9 supported languages

Version 0.12.8

April 19, 2026

Dashboard

  • Redesigned dashboard with consistent card layout, shadows, and spacing across all sections
  • Dashboard is now accessible from the main navigation on desktop and mobile
  • Dashboard text is now fully translated across all nine supported languages

Improvements

  • Recipe detail page: improved mobile layout — better margins, step indentation, and source line formatting on small screens
  • Sort preference now persists across sessions — the app remembers how you last sorted your recipes

Bug Fixes

  • Fixed shopping list consolidation incorrectly merging items that were already checked off
  • Fixed shopping list items failing to update when optional fields were cleared

Under the Hood

  • Cooking Mode temporarily hidden while being reworked
  • Upgraded to Node.js 22 LTS
  • API rate limiting applied to all routes
  • Various stability and reliability fixes

Version 0.12.7

April 18, 2026

Bug Fixes

  • Fixed an issue where adding a previously purchased item to a shopping list would silently fail — items like "yogurt" that were already checked off now add as fresh entries
  • Fixed offline access — recipes now load correctly without an internet connection after downloading
  • Fixed VoiceOver not announcing search result counts when filtering recipes

Under the Hood

  • Security hardening across all API endpoints
  • Sessions can now be revoked from all devices simultaneously
  • Improved app stability and performance

Version 0.12.6

April 14, 2026

New Languages

  • The app is now available in Italian, Portuguese, and Polish
  • All UI text, accessibility labels, and error messages are fully translated

Bug Fixes

  • Fixed a unit conversion bug where "liters" and "litres" were not correctly converted to imperial — 5 liters now correctly converts to about 5 quarts instead of a fraction of a teaspoon

Version 0.12.5

April 13, 2026

Paprika Import

  • Import your entire Paprika recipe library in one step
  • Two export options: binary .paprikarecipes (works on iPhone, no photos) or HTML export zipped (includes photos, Mac/Windows)
  • Photos are uploaded to your library automatically in the background after import

Bulk Import

  • New Bulk Import wizard step consolidates CSV/Excel, Google Sheets, Excel Online, and Paprika under one entry point
  • Google Sheets and Excel Online share links are now supported directly — no manual export required

Version 0.12.4

April 9, 2026

Shopping Lists

  • Active shopping lists and unpurchased items are never automatically deleted
  • Data retention now applies only to archived lists and purchased items
  • Frequently purchased items now update immediately after checking off an item

Account Settings

  • Clarified data retention descriptions — recipes and future meal plans are never deleted

Version 0.12.3

April 3, 2026

Design

  • Replaced all hardcoded font sizes and weights with design tokens
  • Normalized recipe time display in grid cards
  • Increased spacing after recipe title on detail page
  • Lightened nav links and fixed instructions text size
  • Matched dropdown trigger style to nav links
  • Fixed staging PWA manifest theme color and app name

Version 0.12.2

March 26, 2026

Privacy

  • Anonymized analytics and cost tracking data by removing user identifiers
  • Removed device and location data from ad impression tracking
  • Stripped user agent from feedback submissions
  • EXIF metadata automatically stripped from all uploaded images
  • Automated weekly cleanup of expired tokens and sessions

Communities

  • Improved error messages when creating communities (shows actual issue instead of generic error)
  • Household option grayed out if you already have one
  • Contextual button labels: "Create Household", "Create Group", or "Plan Event"
  • Improved community type selector layout and date picker styling

Recipe Actions

  • New "Add Recipe" button in community view for adding existing recipes
  • New "Add to..." menu on recipe detail page with options for Shopping List, Meal Plan, Community, and Event
  • Consolidated recipe actions into a single dropdown (replaced standalone Shopping List button)
  • Improved ingredient list spacing and readability

Version 0.12.1

March 25, 2026
  • Bug Fix: Improved database connection reliability by consolidating to a single shared connection pool
  • Bug Fix: Fixed email template heading color to match brand styling
  • Website: Added proper 404 page and removed fallback redirect that served the homepage for unknown URLs
  • Website: Fixed help page titles displaying "undefined"
  • Website: SEO improvements including robots meta tags, trailing slash fixes, and sitemap cleanup

Version 0.12.0

March 24, 2026
  • Communities: Create Households, Groups, and Events to share recipes and plan meals together
  • Meal Planning: Plan meals within communities, assign cooks to recipes, and generate per-person shopping lists
  • Event Planning: Plan events from groups, with inline editing of meal name, date, and type
  • Community Conversion: Admins can convert events to groups and vice versa
  • Invitations: Invite anyone by email, even if they don't have an account yet
  • i18n: Full community translations across all 6 supported languages
  • Bug Fix: Fixed bottom navigation overlapping Cooking Mode controls on mobile

Version 0.11.0

March 18, 2026
  • Cooking Mode: Full-screen, distraction-free recipe execution view with sentence-by-sentence navigation through ingredients, instructions, and notes
  • Cooking Mode: Voice commands and text-to-speech read-aloud for hands-free cooking
  • Cooking Mode: Tap-to-pause and keyboard shortcuts (P to pause, V for voice, arrow keys to navigate)
  • Cooking Mode: Ingredient drawer with checkbox tracking accessible from any phase
  • Cooking Mode: Configurable speech speed and voice selection via settings panel
  • Accessibility: Full screen reader support, ARIA live regions, keyboard navigation throughout Cooking Mode
  • i18n: Cooking Mode fully translated into English, Spanish, French, German, Dutch, and Swedish

Version 0.10.10

March 16, 2026
  • SEO: Restructured Guides page as a topical authority hub with renamed clusters, keyword-rich descriptions, and internal linking
  • SEO: Added ItemList structured data to Guides index and fixed FAQPage schema on all guide articles
  • SEO: Automated sitemap submission to Google Search Console on every production deploy
  • SEO: Fixed robots.txt validation errors
  • Navigation: Simplified header to product-focused links (Features, FAQ, Help, About)

Version 0.10.9

March 15, 2026
  • Authentication: Secure cookie-based authentication enables seamless cross-site experience between marketing site and app
  • Website: Header automatically displays "My Recipes" for logged-in users
  • Recipe Import: Guest sessions now properly migrate to user accounts after registration
  • Infrastructure: Production-ready preflight environment for testing before deployment

Version 0.10.8

March 2, 2026
  • Website: New accessibility statement (WCAG 2.2 Level AA compliance)
  • Website: Enhanced footer with organized 4-column layout for better discoverability
  • Website: Accessibility link added to Legal section
  • Website: Footer spacing optimized for improved readability

Version 0.10.7

February 27, 2026
  • Shopping List: Autocomplete dropdown for frequently-used items with keyboard navigation
  • Shopping List: Quick-add chips for recent purchases (top 12 items)
  • Shopping List: Sort options (Default, Name, Category, Recipe)
  • Meal Planner: Add recipe ingredients to shopping list with checkbox selection
  • Bug fix: Fixed retention settings endpoint error

Version 0.10.6

February 25, 2026
  • Website: Published G007: The hidden costs of food delivery apps (Food & Home Cooking hub)
  • Website: Unhid Food & Home Cooking hub section on Guides page
  • SEO: Added FAQ schema (FAQPage) for "People Also Ask" eligibility
  • SEO: Created RSS feed at /guides/rss.xml for instant discovery
  • SEO: Added sitemap priority differentiation (hub: 0.9, spoke: 0.7)
  • SEO: Automated sitemap submission to Google and Bing via Netlify plugin

Version 0.10.5

February 25, 2026
  • Website: Bookshop.org affiliate integration for cookbook recommendations
  • Website: New Editorial Policy page with affiliate disclosure
  • Website: New Contact page with support categories and response times
  • Website: Updated Privacy Policy with comprehensive GDPR/CCPA coverage
  • Website: Updated Terms of Service with clear user rights and responsibilities
  • Website: Footer navigation updated with Editorial Policy and Contact links

Version 0.10.4

February 23, 2026
  • Shopping list: Complete UX overhaul with compact/detailed view toggle
  • Shopping list: Click item names to mark as purchased (strikethrough + fade)
  • Shopping list: Swipe left to edit items
  • Shopping list: Auto-categorization with colored badges (9 categories)
  • Recipe list: Pull-to-refresh functionality for mobile/PWA
  • Navigation: Added Guides and Updates links to navbar
  • Bug fix: Fixed unit converter bug: "e.g." no longer converts to "eNaN oz."
  • Bug fix: Fixed ingredient categorization (tea → beverages, broth → pantry)

Version 0.10.3

February 20, 2026
  • Admin: Content admin dashboard for tracking website articles (Guides and Updates)
  • Admin: Status and type filtering for article management
  • Admin: Real-time article counts and metadata display
  • Admin: Preview links to published content

Version 0.10.2

February 18, 2026
  • Website: Launched Guides section with articles on recipe organization, copyright, accessibility, digitization, and privacy
  • Website: Launched Updates section with product news and announcements

Version 0.10.1

February 16, 2026
  • Minor formatting and bug fixes for mobile displays

Version 0.10.0

February 13, 2026
  • New feature: Community types with household communities featuring automatic recipe sharing
  • New feature: Image rotation tool in recipe editor (rotate photos 90° left/right)
  • Design system: Comprehensive update to design tokens for consistent colors, spacing, and typography
  • Design system: Updated all buttons, modals, and UI components to use new token system
  • Smart Image Extraction: Fixed handling of cropped images (now uploads to Cloudinary immediately)
  • Navigation: Streamlined header menu with direct links to My Recipes, Meal planner, Shopping list
  • Email templates: Updated branding with Jolly Roger logo and pirate color scheme
  • Voice control: Improved modal styling with light background and better readability
  • Wizard: Now redirects signed-in users to /addrecipe (avoids redundant onboarding)
  • Performance: Added pagination to My Recipes page (36 recipes per page)
  • Internationalization: Fixed hard-coded text in RecipeCamera and RecipeReader components
  • Backend: Added analytics rollup and cleanup cron jobs for better data management
  • Branding: New Sharp Cooking logo and favicon throughout the app
  • Bug fix: Service worker no longer intercepts API requests (improves reliability)

Version 0.9.3

January 29, 2026
  • Image improvements: Fixed rotation issues with iPhone photos (EXIF orientation now respected)
  • Image improvements: Automatic alt text generation for uploaded recipe images
  • Image improvements: Guest user recipes now properly migrate images after account creation
  • Accessibility improvements: Enhanced modal focus management for screen readers
  • Bug fixes: Resolved translation file JSON syntax errors affecting non-English languages

Version 0.9.2

January 23, 2026
  • Accessibility improvements: Fixed color contrast issues to meet WCAG AA standards
  • Accessibility improvements: Added user confirmation feedback for all form submissions
  • Accessibility improvements: Enhanced screen reader support with ARIA live regions
  • Bug fixes and performance enhancements

Version 0.9.1

January 22, 2026
  • New help section with initial 8 articles
  • Bug fixes and security upgrades

Version 0.9.0

January 16, 2026

Dashboard Improvements

  • Redesigned Layout: Removed top stat tiles and integrated key metrics directly into section headers for a cleaner, more focused interface
  • Unified Recently Viewed: Updated Recently Viewed section to match Upcoming Meals card style for consistent visual design
  • Better Organization: Reorganized dashboard tiles - Shopping Lists and Communities are now side-by-side, as are Registered Devices and Help Us Improve

In-App Feedback System

  • Report Bugs: Submit bug reports directly from the app with type-specific forms and automatic URL capture
  • Request Features: Share your ideas for new features with detailed descriptions
  • General Feedback: Provide suggestions and feedback to help improve Sharp Cooking
  • Admin Dashboard: Feedback submissions now appear in the admin dashboard for tracking and prioritization

Meal Planner & Grocery Features

  • Upcoming Meals: View your scheduled meals directly on the dashboard
  • Active Shopping Lists: Quick access to your grocery lists from the dashboard

Code Quality & Accessibility

  • Accessibility Improvements: Enhanced modal dialogs with proper ARIA attributes, keyboard navigation, and focus management
  • Rate Limiter Fix: Resolved IPv6 address handling issues that could cause backend crashes
  • Database Optimization: Improved analytics tracking and feedback storage

Version 0.8.3

January 17, 2026
  • PWA Fix: Fixed iOS Progressive Web App offline storage to properly download community-shared recipes, not just personal recipes

For complete release history, visit the app.