9e2a24def4
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
3.4 KiB
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_productsendpoint - 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.dbtoevershelf.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
sedin-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
.envconfiguration (secrets never in code) - Removed all hardcoded credentials and personal data
- Input validation on inventory operations
- Parameterized SQL queries throughout