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
71 lines
3.4 KiB
Markdown
71 lines
3.4 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to EverShelf will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|