Files
EverShelf/CHANGELOG.md
T
dadaloop82 9e2a24def4 feat: v1.3.0 — banner notifications, quick-access, swipe navigation, bug fixes
Added:
- Expired/expiring product banner alerts with use, throw, edit, dismiss actions
- Priority-sorted notifications (expired > expiring > suspicious qty > predictions)
- Touch swipe navigation for banner with dot indicators and arrow buttons
- Quick-access buttons on inventory (4 recent + 8 popular products)
- Auto-refresh banner every 5 min on dashboard
- Edit expiry dates directly from expired/expiring notifications

Fixed:
- Ignore negative BLE scale readings
- Banner re-appearing after edit (confirmation now persisted)
- False consumption predictions when inventory was manually edited
- Kiosk overlay no longer blocks web app header
2026-04-18 05:37:03 +00:00

3.4 KiB

Changelog

All notable changes to EverShelf will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.3.0] - 2026-04-18

Added

  • Expired product banner — Dashboard notifications for expired products with use, throw away, edit, and dismiss actions
  • Expiring soon banner — Dashboard notifications for products expiring within 3 days with use, edit, and dismiss actions
  • Priority-sorted notifications — Banner alerts sorted by urgency: expired > expiring > suspicious quantities > consumption predictions
  • Swipe navigation — Touch swipe left/right to browse banner notifications, with dot indicators and arrow buttons
  • Quick-access buttons — Inventory page shows 4 recently used and up to 8 most popular products for quick selection
  • Recent & popular products API — New recent_popular_products endpoint
  • Auto-refresh — Banner notifications refresh every 5 minutes while on the dashboard
  • Edit from expiry banner — Correct expiry dates directly from expired/expiring notifications

Fixed

  • Negative scale values — BLE scale readings with negative weight are now ignored
  • Banner re-appearing after edit — Editing from a banner now persists the confirmation so it doesn't reappear on dashboard reload
  • False consumption predictions — Manual inventory edits (updated_at > last restock) now use the correct baseline for prediction calculations
  • Kiosk overlay blocking header — Removed injected exit/refresh buttons from the web app header in kiosk mode

[1.2.0] - 2026-04-13

Changed

  • Project renamed from "Dispensa Manager" to EverShelf
  • Contact email updated to evershelfproject@gmail.com
  • Docker service, container, and volume renamed to evershelf
  • SQLite database renamed from dispensa.db to evershelf.db
  • All localStorage keys migrated: dispensa_*evershelf_*
  • Apache config file renamed to evershelf.conf
  • CI workflow Docker image/container names updated
  • App name updated in all translations (it, en, de)
  • Navigation title updated to EverShelf across all languages

Added

  • Version badge (v1.2.0) in the app header

Fixed

  • JS file truncation caused by sed in-place edit on large files
  • Browser cache invalidation via bumped asset version strings (?v=20260413a)

[1.0.0] - 2026-04-10

Added

  • Complete pantry inventory management (Pantry, Fridge, Freezer, Other)
  • Barcode scanning with QuaggaJS
  • Open Food Facts barcode lookup
  • Google Gemini AI integration (product identification, expiry reading, recipes, chat)
  • Bring! shopping list integration
  • Smart shopping predictions with cron-based caching
  • Cooking mode with step-by-step guidance and TTS support
  • Opened product tracking with reduced shelf-life calculation
  • Vacuum-sealed product support with extended expiry
  • Waste vs. consumption tracking (30-day chart)
  • Expired product safety assessment by category
  • Weekly meal plan configuration
  • DupliClick online grocery ordering integration
  • PWA support (installable, mobile-first)
  • Local database backup script
  • Multi-device settings sync via SQLite

Security

  • Centralized .env configuration (secrets never in code)
  • Removed all hardcoded credentials and personal data
  • Input validation on inventory operations
  • Parameterized SQL queries throughout