SI-KDS Release Notes
These release notes highlight the latest updates for SI-KDS (Kitchen Display System), showcasing key improvements, bug fixes, and feature enhancements across various areas, including ticket display, order management, recipe integration, session playback diagnostics, and API connectivity for seamless SI 360 POS integration.
What’s New:
Version 2026.6.25
(Published: July 21, 2026)
BUG FIXES
SI KDS Counts as a Valid Order Route
Send Order now treats a successful SI KDS route as a valid kitchen/order destination.
The “no order-printer” warning is shown only when an item has neither a standard Order Printer route nor a successful SI KDS route.
KDS bump printer setup remains separate from initial order routing and does not block sending orders to KDS.
Version 2026.6.3
(Published: June 23, 2026)
ENHANCEMENTS
Installer Download Links
Added zip download links for installers on Upload Installer and the Home latest-installer banner.
Deployment Audience Labels
Added QA/Production audience labels to Recent version activity using the saved ForQA deployment flag.
Sortable Partner Table
Added sortable Home partner table columns for SiteID, name, application, audience, version, installer, deploy mode, time, and force update.
BUG FIXES
Installer Download Failures
Fixed installer download failures by packaging installer downloads as zip files.
Recent Version Activity Labels
Corrected Recent version activity so QA entries display as ForQA instead of always showing ForProduction.
Partner Table Navigation
Improved long partner list navigation by preserving search and pagination while sorting table columns.
Version 2026.6.2
(Published: June 23, 2026)
ENHANCEMENTS
Deployment Dashboard Pagination
Added pagination to Upload Installer > Available installers with selectable page sizes.
Added pagination to Recent version activity so older deployment changes can be browsed from the dashboard.
Kept pagination controls aligned with the existing partner and application list experience.
BUG FIXES
Upload Installer Page Layout
Prevented long installer lists from stretching the Upload Installer page.
Replaced the fixed six-item activity preview with page navigation across the full version history.
Version 2026.6.1
(Published: June 5, 2026)
ENHANCEMENTS
Bulk Bump Admin Actions & API Endpoints
Added new admin tools and API endpoints to bulk bump active KDS orders from previous days or across all time. Enables administrators to quickly clear stale or orphaned orders from the queue without manual, one-by-one bumping.
SignalR Bulk Bump Synchronization
Bulk bump updates now refresh the hub queue in a single operation. Connected displays synchronize immediately without requiring hundreds of individual bump calls, reducing network traffic and ensuring all screens stay in sync.
Local API Bulk Bump Efficiency
Local API bulk bump updates order rows in one transaction. Displays refresh once instead of per-order, reducing database overhead and improving overall system performance during bulk cleanup operations.
Supervised Support Endpoints
Added supervised support endpoints for PreviousDays and AllTime bulk bump cleanup, giving support teams safe, controlled access to clear accumulated orders with proper oversight.
Version 2026.1.9
(Published: January 30, 2026)
CRITICAL BUG FIX
Bug Fix: Duplicate Key Exception on Startup
Resolved a critical crash that prevented the application from starting when the database contained multiple customer marker rows for the same seat number. The MapToDisplayOrder method now uses GroupBy to handle duplicate seat keys gracefully, taking the first customer name per seat and returning an empty dictionary for null input.
Files Modified: OrderRepository.cs (line 759-762), AppVersion.cs
Version 2026.1.8
(Published: January 30, 2026)
DIAGNOSTIC BUILD
Hotfix: Root Cause Identification
Intermediate diagnostic build that identified the exact location of the startup crash in OrderRepository.cs MapToDisplayOrder method. This build provided stack trace analysis leading to the v2026.1.9 fix.
Version 2026.1.7
(Published: January 29, 2026)
CRITICAL BUG FIXES
Bug Fix: Orders Not Persisting Across Restarts – Active and bumped tickets now persist and reload correctly when the application restarts. Added GetBumpedOrdersAsync() to IOrderRepository and updated OrderManagerService.InitializeAsync() to load existing orders from the database on startup.
Bug Fix: Added Items Not Displaying on Main Screen – Items added to existing orders via POS now immediately appear on the KDS display. Updated UpdateTicketProperties() to sync SeatGroups, ReceivedTime, TableName, and GuestCount in addition to the Items collection.
Bug Fix: Multi-Part Ticket Splitting – Large orders spanning multiple columns no longer show duplicate seats. Rewrote BuildTicketColumns() to split by SeatGroups rather than Items, ensuring each column displays only its assigned seats.
Bug Fix: Customer Names Not Displaying – Customer names now appear correctly beside seat badges instead of showing ‘Guest 1’. Added separate SQL query to retrieve ParsedCustomerName from customer marker items.
UI BUG FIXES
Bug Fix: Item/Modifier Font Colors – Removed redundant DataContext prefixes from XAML binding paths that prevented color styling from applying correctly.
Bug Fix: Color Picker Selection – Replaced ItemsControl with ListBox and added checkmark highlight to show selected color in the color palette popup.
Bug Fix: Release Notes Window Crash – Simplified XAML structure and removed accordion pattern that caused crashes due to missing BoolToVisibility resource.
Bug Fix: Modifier Text Visibility – Changed modifier text to Bold with increased font size (13-14px main, 12-13px recall) for better visibility in kitchen environments.
Bug Fix: Header Display Consistency – All tickets now consistently show ‘Table X – Y Guests’ format instead of varying between customer name and table info.
NEW FEATURE
User Story: Ticket Zoom Controls – Added zoom in/out buttons to the bottom toolbar allowing kitchen staff to scale ticket size from 50% to 200% (default 80%, 10% increments). Zoom setting persists across application restarts via settings.json. Scales ticket cards, text, badges, headers, and BUMP button while leaving toolbars unchanged.
Version 2026.1.6
(Published: January 2026)
MAJOR FEATURE RELEASE: RECIPE MODULE
User Story: Recipe Library – Full-screen recipe browsing with touch-optimized card-based layout, real-time search, category filtering (Breakfast, Lunch, Dinner, Snacks, Beverages), IDDSI texture level filtering, diet type filtering, and allergen exclusion filters.
User Story: Recipe Builder – Five-tab interface for comprehensive recipe management including Basic Info, Ingredients (280+ USDA ingredients), Instructions (with HACCP CCP marking), Texture & Diet (IDDSI compliance), and Review (auto-calculated nutrition).
User Story: Favorites & Recent Recipes – Per-device tracking of favorite recipes with heart icon toggle and recent recipes view showing timestamps with relative time display.
User Story: Recipe Print – Kitchen-friendly printouts with two-column ingredients, checkboxes, CCP highlighting, and FDA nutrition facts table.
User Story: Menu Cycle Integration – Shows today’s planned recipes by meal period with day navigation for browsing full cycle.
User Story: Contextual Recipe Lookup – Long-press on KDS ticket items (600ms) triggers context menu with View Recipe, View Allergens, and View Diet Info options.
Enhancement: Auto-Calculated Nutrition – Per-serving values calculated from USDA ingredient database including calories, protein, carbs, fat, sodium, and fiber.
BUG FIXES
Bug Fix: Recipe Module Connection String – Fixed AppSettings.Load() calls that used hardcoded defaults instead of AppSettings.Instance singleton, causing connection failures in production deployments.
Version 2026.1.5
(Published: January 18, 2026)
MAJOR FEATURE RELEASE: SESSION PLAYBACK PHASE 2
User Story: UI State Snapshots – Periodic snapshots (every 30 seconds) plus event-triggered capture on startup, shutdown, bump, recall, order received, and errors. Full ticket details serialized as JSON.
User Story: Automatic Error Capture – Exception hooks automatically capture unhandled exceptions from WPF Dispatcher, AppDomain, and TaskScheduler with full context including current view, active ticket count, and related check number.
User Story: Event Correlation – Playback events linked to OrderActivityLog and OrderApiLog entries for comprehensive diagnostic analysis. Check number tracking enables filtering by specific orders.
Enhancement: Rich Context JSON – Each captured interaction event includes current view, connection status, visible check numbers, and target control information.
Version 2026.1.4
(Published: January 17, 2026)
ENHANCEMENTS
User Story: Ticket Activity Audit Trail – Complete lifecycle tracking for every ticket including TicketReceived, TicketResent, TicketUpdated, ItemVoided, TicketBumped, TicketRecalled, TicketCancelled, and TicketArchived activities with timestamps.
User Story: API Request Logging – Every API request from SI 360 POS logged with complete JSON payload for audit trail, troubleshooting, and compliance. Includes timestamp, endpoint, HTTP method, check/course/item numbers, success status, and processing time.
User Story: End-of-Day Automatic Reset – Configurable automatic archive of all active and bumped tickets at end of business day (default 2:00 AM). Tickets removed from display with sound notification. Archived tickets remain in database for historical queries.
User Story: Re-Sent Check Handling – When manager re-sends a check from POS, ticket correctly reappears on display even if previously bumped. Timer resets and items updated to reflect new payload.
Version 2026.1.3
(Published: January 17, 2026)
MAJOR FEATURE RELEASE: LOCAL API MODE
User Story: Local API Mode – Self-hosted Kestrel web server on port 5080 enables direct communication between SI 360 POS terminals and KDS displays without requiring a SignalR hub. Simpler deployment for smaller installations.
User Story: REST API Endpoints – POST /Pos/Checks (new order), POST /Pos/Checks/{id}/Courses/{id}/Items (add items), PATCH /Pos/Checks/{id}/Courses/{id}/Items/{id} (void item), POST /Pos/Checks/{id}/Courses/Cancellations (cancel order), GET /Pos/System/Ping (health check).
User Story: Live UI Updates – Real-time ticket updates when items are added or voided without requiring page refresh.
User Story: Elapsed Timer – Each ticket displays time since order received, counting up in M:SS format.
User Story: Color-Coded Tickets – GREEN for new orders, RED for aged orders based on configurable thresholds.
User Story: Allergy Alerts – [ALLERGY] tag displayed prominently on tickets with guest allergies, highlighted in yellow for visibility.
User Story: Status Bar – Shows connection mode (Local API or SignalR) with visual indicator. Green dot with ‘Local API (Port 5080)’ confirms active local mode.
Version 2026.1.2
(Published: January 2026)
INITIAL RELEASE
User Story: Initial KDS Application – First release of SI-KDS Kitchen Display System for senior living and restaurant environments.
User Story: Real-Time SignalR Communication – Dual-hub failover architecture for reliable order transmission between POS and kitchen displays.
User Story: Ticket Display – Color-coded status indicators (Red/Yellow/Green) for order aging and priority.
User Story: Bump and Recall – Touch-friendly BUMP button to complete orders and Recall screen to restore accidentally bumped tickets.
User Story: Demo Mode – Testing mode for demonstrations without server connection.
User Story: Connection Status Indicator – Real-time display showing Primary/Secondary hub connection status.
User Story: Version Control & Release Notes – Version numbering using YYYY.Q.VersionReleased convention. Clickable version hyperlink opens full-screen release notes window.
User Story: Touch-Optimized UI – Dark theme design optimized for 17-inch touchscreen displays in kitchen environments with minimum 48px button heights and 16px fonts.
ServingIntel Kitchen Display System
Target Framework: .NET 8.0 | Database: SQL Server Express | Architecture: Local API Mode
