Improvement: Alle Plugin-Strings auf Englisch umgestellt (WordPress i18n-Standard).
New: Schweizerdeutsche Übersetzung (de_CH) wird direkt mit dem Plugin ausgeliefert.
1.2.5
Fix: Zeitzonenfehler in Kanban-Sortierung und Auto-Statuswechsel behoben — strtotime() durch lbite_local_time_to_timestamp() ersetzt (class-order-dashboard.php, Zeilen 192–193 und 531).
Fix: Anzeigefehler «Zuletzt geändert» in Order-Meta-Box korrigiert — strtotime() auf current_time(‘mysql’)-Strings durch lbite_local_time_to_timestamp() ersetzt.
Fix: Heutige Bestellungen im Dashboard-Widget zählten bei abweichender Server/WordPress-Timezone falsch — strtotime(‘today’) durch timezone-bewusstes Mitternacht-Timestamp ersetzt.
Fix: DateTime::createFromFormat() in checkout-location-time.php ohne Timezone-Parameter — auf DateTimeImmutable::createFromFormat() mit wp_timezone() umgestellt.
Improvement: Produkt-Optionen im Warenkorb werden nun als ein gruppierter Eintrag «Optionen» angezeigt statt als separate «Option»-Zeilen pro Auswahl.
1.2.4
Fix: Zeitzonenfehler bei Checkout-Bestätigung, Kanban-Board und E-Mails behoben — lokale Zeit-Strings werden nun korrekt mit lbite_local_time_to_timestamp() in Unix-Timestamps umgewandelt statt mit strtotime() (Doppelkonvertierung).
Fix: Zeitzonenfehler bei POS-Bestellungen behoben (gleiche Ursache wie oben).
Fix: Uhrzeit-Auswahlfelder im Checkout: Text wurde auf iOS/Safari unten abgeschnitten — line-height und height: auto ergänzt.
1.2.3
Improvement: Capability-Dokumentation in class-roles.php erweitert — alle lbite_-Capabilities mit Inline-Kommentaren zur Funktion versehen.
Fix: @fs_premium_only-Header um Tischmodul und zugehörige Assets erweitert — /includes/modules/tables/, /templates/admin/table-plan.php, admin-tables.js, admin-table-plan.js, reservation-board.js, admin-tables.css, admin-table-plan.css, admin-reservation-board.css werden nun korrekt aus der von Freemius generierten Free Version entfernt.
1.2.1
Fix: Freemius-Deployment-Strategie korrigiert — Premium-Code korrekt mit @fs_premium_only-Header und is__premium_only()-Guards markiert, sodass die von Freemius generierte Free Version keinerlei Premium-Code enthält.
Fix: Inline – und -Tags in class-admin.php in bestehende enqueued Stylesheet- und Script-Dateien ausgelagert.
Fix: sanitize_admin_settings() implementiert — alle Felder werden nun mit den passenden WordPress-Sanitize-Funktionen bereinigt.
Fix: add_tip_fee() prüft nun explizit den WooCommerce-Nonce (woocommerce-process_checkout bzw. update-order-review) und extrahiert nur die benötigten $_POST-Felder statt den ganzen Array zu kopieren.
1.2.0
Feature: Reservierungs-Dashboard — neue Tagesansicht (Libre Bite → Reservierungsübersicht) mit Standort-Dropdown, Datums-Navigation, Status-Badge und Tisch-Zuweisung direkt auf der Karte.
Improvement: Aktualisierungsintervall für Reservierungsübersicht in den Einstellungen konfigurierbar (Standard: 60 Sekunden).
Improvement: Benachrichtigungs-Badge im Backend-Menü zeigt jetzt auf die neue Reservierungsübersicht.
Improvement: Gerätkompatibilität und Betriebsmodelle in der Plugin-Beschreibung dokumentiert.
1.1.9
Improvement: Plugin-Beschreibung auf Nutzen statt Features ausgerichtet (Kurzbeschreibung, Description, Why Libre Bite).
Improvement: SEO-Keywords für Schweizer Gastronomie eingebaut (Twint, QR-Code-Bestellung, 5-Rappen-Rundung, provisionsfrei).
Improvement: Tags auf WP.org optimiert.
1.1.8
Feature: Benachrichtigungs-Badge für ausstehende Reservierungen im Backend-Menü ergänzt.
1.1.7
Feature: Benachrichtigungs-Counter im Backend-Menü zeigt Anzahl eingehender Bestellungen an.
Feature: Drucken-Schaltfläche auf der Bestellbestätigung zum Ausdrucken oder als PDF speichern.
Verbesserung: «Bestellübersicht aktivieren» in die Karte «Bestellsystem» verschoben.
Verbesserung: «Hilfe & Support» im Dashboard-Schnellzugriff ergänzt.
1.1.6
Fix: PHP-Warning “Undefined property: WC_Order_Item_Fee::$total_tax” auf der Bestellbestätigungsseite behoben.
Fix: Zahlungsart wird auf der Bestellbestätigungsseite nun als eigene Box angezeigt (nicht mehr als unformatierter Text).
Fix: Vorbestellungen zeigen im Kanban-Board jetzt Datum und Uhrzeit an (nicht mehr nur die Uhrzeit).
Fix: Bestellungen im Kanban-Board werden nach Dringlichkeit sortiert (Sofort: Erstellungszeit, Vorbestellung: Abholzeit).
Fix: «Reservierungen» erscheint im Backend-Menü neu unter «Tischplan» statt ganz oben.
Fix: Reservierungsformular zeigt keine Tischauswahl mehr – Tischzuweisung erfolgt durch das Personal im Backend.
Fix: Sofort-Bestellungen werden blockiert, wenn der gewählte Standort aktuell geschlossen ist.
Fix: Status-Badge auf der Standort-Übersicht zeigt nun den korrekten Öffnungsstatus (robuster Zeitvergleich).
Fix: Nährwerttabelle auf der Produktdetailseite hat nun horizontales Innenabstand.
Improvement: «Produkt-Optionen» ist neu unter WooCommerce → Produkte eingetragen.
Improvement: Hilfe-Bereich um Tab und Inhalt für «Reservierungen» erweitert.
1.1.5
Performance: POS product data cached for 1 hour via transient, invalidated on product and location save.
Performance: Location colors cached via transient (lbite_location_colors), invalidated on location save.
Performance: Admin settings JS now loaded only on the settings page (not on all Libre Bite admin pages).
Improvement: Default dashboard refresh interval increased from 30s to 45s for new installations.
1.1.4
Feature: Visual floor plan — drag-and-drop canvas per location with shape/size controls and live table status (free, occupied, preparing, ready).
Feature: Table reservations — frontend form via shortcode [lbite_reservation_form], email notifications, and admin management view.
Feature: POS table selector shows live occupancy status (free/occupied) for each table.
Improvement: Floor plan link moved under Tables in admin menu.
Improvement: Order board popup links to Order Board instead of individual orders.
Improvement: Help section updated with floor plan documentation.
Fix: Tables without saved order meta are now correctly shown in the floor plan.
1.1.3
Feature: Location colors — color-coded highlight for location dropdowns in POS and Order Board.
Feature: POS blocks product area when no location is selected.
Feature: Seats per table — configurable seat count per table (preparation for reservations).
Feature: Bulk table creation — create multiple tables at once with prefix and numbering.
Feature: Location filter in table list.
Improvement: Help section updated with full table management documentation and location color info.
1.1.2
Improvement: Consolidated settings tabs – Checkout and Checkout Fields merged, Dashboard renamed to Order Board, Features tab shown first.
Improvement: Simplified user roles to two-tier system (administrator + staff), removed legacy role cleanup on migration.
Improvement: Rewrote help documentation to be feature-focused for new users.
Fix: Optimized checkout CSS layout overrides for theme compatibility (Astra and others).
Performance: Pagination in ajax_load_more_completed() switched to true DB pagination (instead of loading all orders and slicing).
Code: Removed redundant cron job registration from module constructors (cron setup only in activation hook).
1.0.7
Security: Added XSS escaping in dashboard.js (item.meta, error message when cancelling).
Security: Added XSS escaping in pos.js (variationName in product modal).
Fix: Corrected wrong capability name in class-product-options.php (manage_lbite_options → lbite_manage_options). Product options are now saved correctly.
Fix: Fixed typo in feature key in class-checkout.php (enable_tip → enable_tips). Tip JS is now loaded correctly for Pro users.
Fix: Status labels in class-order-dashboard.php made translatable via WordPress i18n (WordPress.org compliance).
1.0.6
Fix: Premium override only available in Pro version (WordPress.org compliance).
Fix: Nutritional info, allergens, and sound notifications correctly marked as Pro features.
Fix: Feature list in readme.txt adapted to Free/Pro assignment.
Fix: Plugin description translated to English (WordPress.org guideline).
Fix: Output escaping added to admin notices.
Bump: Version to 1.0.6.
1.0.5
Fix: Replaced Heredoc/Nowdoc syntax with external JS files (WPCS compliance).
1.0.4
Fix: Changed function prefix from lb_ to lbite_ (WordPress.org naming convention).
Fix: Moved inline CSS/JS from templates to separate enqueue files.
Fix: Added nonce checks in checkout and product options.
Fix: Added Freemius parameter is_org_compliant.
Fix: Updated SortableJS to version 1.15.7.
Fix: Corrected contributors field in readme.txt.
1.0.3
Fix: Resolved all WordPress.org Plugin Check errors and warnings.
Fix: Corrected direct file access protection in main plugin file.
Fix: Fixed output escaping in wp_die() calls.
Fix: Replaced strip_tags() with wp_strip_all_tags().
Fix: Added PHPCS ignore comments for legitimate uses.
Fix: Reduced tags in readme.txt to maximum 5.
1.0.2
Fix: Resolved WordPress.org Plugin Check errors (Tested up to tag, text domain loading).
Fix: Removed Domain Path header.
1.0.1
Improved: Freemius integration for better WordPress.org compliance.
Fixed: Uninstallation process adapted for feedback tracking.
Security: Improved security checks and escaping.
1.0.0-beta
First beta version.
Added: Location management module.
Added: Point of Sale (POS).
Added: Kanban order board.
Added: Tipping system and scheduled order time slots.