Repository navigation
Releases
Releases · jacquesfize/cocotteapp
[0.2.0] "Lasagna" 🍝 - 2026-10-03
✨ Added
- Recipe list: active filters now also show as removable pills next to the Filters button
(one pill per selected ingredient/allergen), so you can clear a single filter without opening
the filters panel. - Recipe list: the Exclude allergens filter lets you choose individual allergens to hide,
instead of the all-or-nothing "Hide recipes containing my allergens" checkbox. Your own
allergies and intolerances are still selected by default, and Add my allergies and
intolerances puts them back after removing some. - The Random recipe page's filters (diet, in-season ingredients, and a new allergen
exclusion filter) are now hidden by default behind a filter toggle button next to Another
one, with a badge showing how many are active. The new allergen filter is pre-filled from
the signed-in user's own allergies/intolerances, like the main recipe list already does. - Shopping-list export now offers a Share option (using the device's share sheet) on devices
that support the Web Share API, so a list can be sent directly into a notes or to-do app (Apple
Notes, Google Keep, Reminders, Todoist, etc.) instead of only downloading a.txtfile. On
browsers without the Web Share API (most desktop browsers besides Windows/Safari), the button
now copies the list to the clipboard instead, ready to paste into any app; downloading a.txt
file remains the last-resort fallback. - Two new instance-level settings, both off by default:
PLANNING_SNACK_ENABLEDshows or hides
the Snack meal slot in the weekly planner, andNUTRITION_ALERTS_ENABLEDshows or hides
the nutrient-deficiency alerts in the planner's nutritional intake summary. See the admin
guide's Configuration page. - The seeded ingredient library now includes "Tomates concassées" (canned crushed tomatoes), which the
documentation demo data relies on. - GDPR tooling for instance administrators: explicit consent to the processing of health-related
data (diet, activity level, allergies) is now required at sign-up and can be withdrawn or given
again from My account; withdrawing it erases that data. - Legal notice and Privacy policy pages (linked in the footer and on the sign-up form),
filled from the newLEGAL_*,PRIVACY_CONTACT_EMAILandPRIVACY_POLICY_VERSIONsettings. - When deleting their account, users can now keep their public recipes under an anonymous author
("Utilisateur supprimé") instead of deleting them; staff can do the same through the API and
purge_inactive_users --keep-recipes. - Export my data now also contains the agenda shares, the user's comments and ratings, and the
consent date and policy version. purge_inactive_usersmanagement command (with--dry-run): emails then deletes accounts with
no login forINACTIVE_ACCOUNT_RETENTION_DAYSdays (default 730; staff accounts are never
touched). See the new "GDPR compliance" page of the admin guide.- The app version is now shown discreetly at the bottom of the My account page.
- Recipe cover images and individual recipe steps can now carry an image license and credit (CC
BY, CC BY-SA, public domain, personal photo, used with permission, or not specified) — required
for a new or changed image, shown as attribution wherever the image appears, and never
retroactively required for images that already existed. - Each recipe step can optionally have its own photo, added via an "Add an image" button and
viewable by tapping a small photo icon next to the step (on the recipe page and in cook mode).
🔄 Changed
- The weekly planner's Nutritional intake button is now hidden entirely when
NUTRITION_ALERTS_ENABLEDis off (the default), instead of only hiding the deficiency list
inside its dialog. - Paste Cooklang now understands full Cooklang files, such as those downloaded from
recipes.cooklang.org: metadata (title, servings, prep/cook times, source link, description),
multi-word ingredient names, fractions (1/2,½), preparation notes (@café{30%g}(moulu)),
sections (used to group ingredients) and notes (added to the description). Title and servings
are now optional in the form when the file's metadata provides them. Pasted ingredients are
matched against the library like a URL import (by translation and close spelling too), and
cl/dl/mgquantities are converted. Parsing now relies on thecooklang-pylibrary. - Recipe list redesign: on a computer the filters now sit in a column on the left of the list
(always visible) and recipes are shown two per row; on a phone the Filters button opens the
panel above the list instead of a bottom sheet. Ingredients are picked from a searchable
multi-select shown as pills, the diet is a list of radio buttons, max prep/cook times are
sliders, carbon impact is a colour-coded slider (green / orange / red), and the in-season
checkbox is now an In season leaf toggle. The New recipe and Import buttons are
merged into a single New recipe menu (Create manually / Import from a URL). - The "pièce" (piece) unit now accepts decimal quantities on a recipe (e.g. 0.5 for half a
camembert); shopping lists still round up to a whole piece when aggregating. - Cook mode's button now uses a chef's hat icon instead of a generic expand icon, and reaching the
last step and pressing "next" now exits cook mode instead of doing nothing. - Images imported from a URL are credited as "Not specified" with a note citing the source,
editable before saving. - Adding a recipe to a planner slot now opens in a dialog instead of an inline form squeezed into
the calendar cell, which also fixes the recipe-search dropdown being clipped in narrow agenda
cells. - The planner's calendar grid now has a white background, and page titles across the app now show
a small icon next to them for quicker visual scanning. - Form fields now have a white background with a subtle colored border and less rounded corners.
- Shopping-list items are now grouped under a heading per ingredient category (vegetable, fruit,
dairy, etc.) instead of a single flat list, and a ticked item can now be unticked again by
clicking its checkbox a second time (previously it was stuck checked once ticked — generating a
new list from the planner was the only way to undo a mistaken tick). - Shopping lists got a visual refresh: each category heading now has an icon, a progress summary
("x/y bought") with a progress bar sits above the list, each category shows its own "done/total"
count, and quantities are shown as a small pill badge for easier scanning. The Shopping
overview page got the same treatment (an icon, date and progress bar per list, on a clickable
card), and the list detail page now has a "Back to my lists" link. - On the homepage, "New recipe" and "Import" are now a single "New recipe" button that opens a
menu offering "Create manually" or "Import from a URL", and the "Browse recipes" button was
removed since the main navigation already links to the recipe list. - In cook mode, a step's photo now fills most of the available height instead of a small fixed-size
crop, with the instruction text anchored to a band at the bottom (around 20% of the height by
default, growing to fit longer instructions instead of ever clipping them). - The homepage got a visual refresh. The latest-recipes carousel is replaced by a "today's pick"
hero: the most recent recipe in a large photo card (with a decorative stack of cards behind
it), its diet/time/servings, a View recipe and a Plan for later button. It auto-advances
through your 5 latest recipes, with dots below to jump to one directly (on mobile, the title and
CTAs sit over the photo instead of above it); the "New recipe" quick action now sits at the top
of that same hero instead of floating in its own row above an unrelated section, and is now
styled as a card matching the Latest shopping list button next to it (an icon over a label)
instead of a stretched pill. That Latest shopping list card (showing its bought/total
progress) sits in its own box next to, rather than inside, the "This week" card, which floats
over the hero's bottom edge and lists Today/Tomorrow side by side: each meal slot (Breakfast,
Lunch, Dinner, Snack) is the same size, either a photo tile (recipe picture, meal, title) when
planned or a + button to add one when empty, instead of one plain text line or a single
"Plan a meal" prompt per day. Further down, Explore and In season now are now two
matching cards side by side instead of two plain headed sections stacked vertically, with larger
Explore photo avatars (a row of round photo avatars instead of square tiles, so a page without
its own photo shows its icon on a plain accent-tinted circle instead of a flat saturated-color
card) to fill the roomier card. - The weekly/monthly planner now tints today's column (week view) or day cell (month view) so
it's easy to spot, and the "Today" button that jumps back to the current period (shown once
you've navigated away) got a reset icon and a visible border so it reads as a button rather
than a label. - In cook mode, clicking a highlighted ingredient name now shows its quantity in a small popover
anchored next to it instead of a full modal dialog; on a mouse, the popover also appears just by
hovering over the name.
🐛 Fixed
- Recipe list: a long recipe title no longer runs under the owner's actions (⋮) menu button —
the title now clamps to two lines (hover to see the full title) and the button no longer
overlaps the text. - On a phone, the page footer no longer gets hidden behind the bottom tab bar.
- Form validation errors (recipe details, ingredients, planner entries) are now shown consistently
via inline...
Cocotte 0.1.0 "Tiramisu" 🍰
First release of Cocotte — a recipe app with weekly meal planning, nutrition and carbon tracking, and shopping lists.
Highlights
- 🌱 Eco-conscious cooking: every ingredient carries a carbon footprint estimate, shown per recipe and for the whole week's plan; search and filter by season, browse a seasonal-produce carousel on the home page, and a dedicated "Seasonal produce" thematic page
- Recipes: create by hand, import from a URL, paste Cooklang, or generate from a YouTube video
- Cook mode: full-screen, swipeable step view with built-in ingredient popups and timers
- Weekly planner with nutrition tracking, agenda sharing, and calendar (.ics) export
- Auto-generated shopping lists with offline check-off
- PDF export (single recipe or full week)
- Allergy/intolerance-aware filtering and warnings
- French/English interface, installable PWA with offline reading
- Admin tools: user management, ingredient library, recipe library import/export
See the full changelog for the complete list.