{% extends "base.html" %} {% block title %}Changelog — KitchenCrate{% endblock %} {% block content %}

Changelog

Feature history and improvements for KitchenCrate.

{{ app_version }}
{# ── v1.0.2 ── #}
v1.0.2 Hot Fix — April 2026 Current Build

Batch import improvements, modifier audit, pipeline gaps filled.

  • Content-based duplicate detection — title + 80% ingredient overlap prevents re-imports
  • Batch dry folder: pending recipes sorted first, orange badge for product-review flags
  • Zest added as Suffix modifier — displays as "Lemon Zest" not "Lemon · zested"
  • New canonicals: Fiddlehead, Semi-Sweet Chocolate, Almond Extract, Citron
  • Aliases: ramen noodles, semisweet chocolate, bird chili, makrut lime leaves
  • Import logs now deleted when recipe is deleted
  • Product flag detection improved — catches fallback pipeline products
  • AI model switched to Haiku 4.5 (3x cheaper, same accuracy)
{% if current_user.is_authenticated and current_user.role in ('admin', 'moderator') %}
Admin — Technical Notes (v1.0.2)
  • Retroactive modifier audit: 380 missing modifiers backfilled from AI extraction data
  • Corrected: removed divided/room temperature modifier errors, restored legitimate uses
  • Heavy Cream+crushed, Clam+juiced, Vanilla Extract+instant incorrectly added — removed
  • Smoked Paprika canonical removed (R6 violation) → alias to Paprika + smoked modifier
  • Instant Espresso, Candy Cane removed as canonicals (OFF products)
  • Product/ingredient dupes resolved: Almond Extract, Semi-Sweet Chocolate x2
  • Smoketest product count threshold updated to 400
  • 41 pass / 0 fail / 1 pending after all fixes
{% endif %} {# ── v1.0.1 ── #}
v1.0.1 Hot Fix — April 2026

Pipeline improvements, modifier display, and import stability fixes.

  • Color modifiers now prepend to ingredient name (Red Bell Pepper, Black Olive)
  • Modifier text inline with bullet separator on recipe view
  • Ingredient pipeline: trailing word strip (linguine pasta → Linguine, garlic cloves → Garlic)
  • ALWAYS_STRIP now captures modifier words (unsalted butter → Butter + unsalted)
  • Pasta canonicals renamed to include "Pasta" suffix (Penne → Penne Pasta, etc.)
  • 253 missing ingredient modifier mappings added from recipe usage
  • New canonicals: Ice, Apple Pie Spice, Apple Cider, Smoked Paprika, Green Chile, Light/Dark Brown Sugar
  • Dynamic AI vocabulary — rebuilds from DB on each import
{% if current_user.is_authenticated and current_user.role in ('admin', 'moderator') %}
Admin — Technical Notes (v1.0.1)
  • recipe_backup FK bug fixed on 6 tables — was causing all imports to fail silently
  • passenger_wsgi.py on live was pointing to dev directory — fixed
  • Recipe delete now cleans up orphaned pending products
  • Batch results comparison link fixed (was passing recipe_id instead of log_id)
  • Data hub batch link redirects to Recipe Hub batch
  • Modifier API route format fixed for edit recipe modal accordion
  • Wrong aliases removed: green chile→Cayenne, whole grain mustard→Mustard, smoked paprika→Paprika
  • 12 redundant aliases removed — now handled by ALWAYS_STRIP pipeline
  • Fettuccine/Vermicelli moved from Pre-Packaged → Grains
  • Plural fruit variants consolidated: 21 entries → singular aliases
  • Modifier gap audit: 253 mappings added from real recipe ingredient usage
{% endif %}
{# ── v1.0.0 ── #}
v1.0.0 First Production Release — April 2026

Phase 0 complete. Gallery + AI import live.

  • Phase 0 foundation remediation complete — clean ingredient database
  • 1,806 canonical ingredients across 20 categories, 1,140 aliases
  • USDA SR Legacy filtered: 1,684 → 449 clean entries (74% reduction)
  • 146 modifiers across 12 categories including dedicated Bone and Skin categories
  • AI prompt rebuilt with current vocabulary and item_type classification rules
  • 7-tier ingredient pipeline — prep-word stripping, alias resolution, compound decompose
  • Recipe Hub — import log, flagged queue, PDF comparison panel, batch import UI
  • Automated smoketest — 40 checks across data integrity, pipeline, toggles, infrastructure
  • R6 violations resolved — no prep words encoded in ingredient names
  • Schema audit clean — no model/DB drift
{# ── PRE-RELEASE ── #}
v0.9.0-alpha Pre-Release — March 2026

Active development build. Not yet pushed to stable live release.

  • Unified notification system — kcToast (top-right, auto-dismiss, hover-pause) replacing 3 separate implementations
  • Notification bell — unread badge, history panel, per-item dismiss, clear all, timestamped entries
  • Meal planner — scoped Clear Meals (Today / This Week / Future / Custom Range / All upcoming)
  • Meal planner — remove button on all meal chips including Today card
  • Recipe gallery — 4 view modes (List, Big, Small, Horizontal), pagination, per-page selector
  • Recipe search — typeahead suggestions dropdown, GO still submits full filtered search
  • Admin settings — single scrollable multi-column page, granular feature toggles per sub-feature
  • Admin settings — Alert Banner, Footer, AI Providers as pop-open modals
  • Admin settings — cascading feature dependencies (disabling pantry auto-disables deduct)
  • Admin footer — version badge and changelog link on all admin pages
  • Account settings — timezone selector, saves correctly for meal planning accuracy
  • Profile — Meal History rebuilt with weekly grouping, progress bars, expandable weeks
  • All browser confirm/alert dialogs replaced with custom kcConfirm/kcAlert modals
  • Template audit — orphaned templates archived, error page created
  • Versioning system — VERSION file, CHANGELOG.md, roadmap v2
{% if current_user.is_authenticated and current_user.role in ('admin', 'moderator') %}
Admin — Technical Notes (v0.9.0-alpha)
  • DB cleanup — 25 orphaned PlannedMealRecipe records removed, 2 empty ShoppingList records removed
  • Admin stats — total_mealplans and with_mealplans now read from PlannedMeal (not deprecated MealPlan)
  • PlannedMeal/PlannedMealRecipe added to admin imports, recipe and user deletion cascades updated
  • Profile meal history API rebuilt to use PlannedMeal instead of deprecated MealPlan
  • RaciPi fallback replaced with KitchenCrate in all site name references
  • SECRET_KEY reads from environment variable with dev fallback
  • APP_VERSION exposed via app.config and context processor to all templates
  • Backup infrastructure — instance/backups/, backup_db.sh, RESTORE.md
  • ROADMAP_v2.md created — chapter-based structure with versioning scheme
{% endif %}
{% endblock %}