ViewTouch v25.03.1 Release Notes
Release Date: December 26, 2025
🎯 Major Highlights
Complete Spanish Language Support
- 4,000+ Spanish translations covering ~95% of user-facing text
- Persistent language selection across restarts
- Language toggle via SoftSwitch button (English ⟷ Español)
- All system messages, error dialogs, reports, and UI elements fully translated
Enhanced Report Visual Design
- Sales Report Redesign: Professional formatting with bold headers, color-coded sections, and improved readability
- Closed Checks Report: Optimized for 80mm receipt printers with better column alignment and server name display
- Deposit/Book Balance Report: Enhanced with Executive Summary section showing key financial metrics at a glance
✨ New Features
Editor Settings Reorganization
- Split "Editor Settings" into two distinct buttons:
- Editor Settings: Developer authentication only
- Calculation Settings: Price multipliers and adjustments
- Better organization and clearer purpose for each setting
Language System Improvements
- Removed F8 key language dialog (streamlined UX)
- Added Language/Locale SoftSwitch button for easy language toggling
- Language preference saved to settings file and persists across restarts
- Hardcoded translation arrays for maximum performance and reliability
🔧 Fixed Issues
Build System
- Fixed critical compilation errors from overly strict compiler warnings (12-13-2025)
- Resolved "undeclared 'term' variable" errors in multiple functions
- All 40/40 tests now passing successfully
- Disabled
-Werrorto prevent false-positive build failures
CI/CD Improvements
- Fixed GitHub Actions CI build memory issues (12-12-2025)
- Optimized compilation flags for memory-constrained environments
- Split large translation arrays into manageable chunks
- Applied
-O1optimization with GC tuning for lower memory footprint
Translation & Localization
- Fixed language settings not persisting across restarts (12-12-2025)
- Fixed drawer error messages that weren't translatable
- All error messages now properly display in selected language
Memory Safety
- Replaced unsafe
strcat/strncpywith bounded safe string functions - Fixed socket string overflow vulnerabilities in network code
- Added null pointer safety checks to terminal data reading functions
- Prevented buffer overruns in email, socket, and terminal operations
Performance Optimizations
- String operation caching in dialog rendering
- Texture cache optimization (reduced from 50 to 45 base textures)
- Code deduplication in OpenTabDialog rendering
- Better LRU cache management
🚀 Performance & Optimization
Build Optimizations
- Changed Release builds from
-Osto-O2for better speed - Added aggressive binary stripping for smaller executables
- Enabled
-ffast-math,-ftree-vectorize, and loop optimizations - Expected 5-15% runtime performance improvement
Real-World Metrics (Ubuntu 24.04, 64GB RAM, Intel x86_64):
- vt_main: <1% CPU, 230MB memory (0.4% of system)
- vt_term: <1% CPU, 104MB memory (0.2% of system)
- Combined: <1% total CPU, excellent resource efficiency
- No memory leaks during extended monitoring
📝 Changed Behavior
Order Entry Comment Dialog
- Width increased from 950 to 1800 pixels (near full-screen on 1080p)
- Button height increased from 90 to 110 pixels
- Dialog height increased from 780 to 850 pixels
- Much improved usability for adding order comments
Socket & Network Improvements
- Better EINTR/EAGAIN handling with automatic retries
- Proper EPIPE error handling
- Fixed terminal socket cloning to preserve peer identity
- Remote printer sockets now correctly handle fd 0
🗑️ Removed
- F8 key language selection dialog
- F2 translate term mode
- Non-English PO files (German, Greek, Spanish, French, Italian, Dutch, Portuguese)
- Complex multilingual support infrastructure (simplified to English + Spanish)
📦 Files Modified (Key Changes)
- CMakeLists.txt - Build system optimizations and warning fixes
- terminal.cc - Language system, socket fixes, safety improvements
- check.cc - Translation fixes
- credit.cc - Translation fixes
- system_report.cc - Report redesigns (Deposit/Balance, Closed Checks)
- system_salesmix.cc - Sales report redesign
- settings_zone.cc - Editor Settings split
- button_zone.cc - Language button zone
- socket.cc - Socket safety improvements
- version.cmake - Version bump to 25.03.1
🔄 Upgrade Notes
- Language selection now via SoftSwitch button instead of F8 key
- Spanish translations automatically available for all users
- No database migrations required
- Settings file automatically updated with language preference
- All existing functionality preserved with improved safety and performance
Installation:
chmod +x ViewTouch-Universal-Installer.run
sudo ./ViewTouch-Universal-Installer.runFull Changelog: View on GitHub