feat: expand ingredient-alias seed list to ~137 entries, ignore accents in name matching (v0.86.0)

Ingredient-alias matching (pantry, can-cook, auto-deduct, shopping-list generation) now covers common bilingual EN/FR ingredients across all 8 grocery categories, up from ~10 staples.

Also: matching now ignores accents as well as case (NFD-normalize + strip combining marks) in both the alias resolver (lib/ingredient-match.ts) and the older name-fallback matcher (pantry-shopping-match.ts) — "café"/"Café"/"cafe" and "Épinard"/"epinard" all recognize as the same ingredient without needing every accent variant manually listed as an alias.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Arnaud
2026-07-24 19:07:57 +02:00
parent 4ae0bd580e
commit b243cc3b8b
9 changed files with 206 additions and 39 deletions
+11 -1
View File
@@ -1,5 +1,5 @@
// Mirrors CHANGELOG.md at the repo root — update both together.
export const APP_VERSION = "0.85.0";
export const APP_VERSION = "0.86.0";
export type ChangelogEntry = {
version: string;
@@ -11,6 +11,16 @@ export type ChangelogEntry = {
};
export const CHANGELOG: ChangelogEntry[] = [
{
version: "0.86.0",
date: "2026-07-24 21:30",
added: [
"Ingredient-alias matching now covers ~137 common bilingual EN/FR ingredients across all grocery categories (was ~10) — produce, dairy/eggs, meat/seafood, bakery, frozen, pantry staples, spices/condiments, and beverages.",
],
fixed: [
"Ingredient name matching (pantry, can-cook, auto-deduct, shopping-list generation) now ignores accents as well as case — \"café\"/\"Café\"/\"cafe\" and \"Épinard\"/\"epinard\" all recognized as the same ingredient.",
],
},
{
version: "0.85.0",
date: "2026-07-24 21:00",