Skip to content

Releases: ViewTouch/viewtouch

ViewTouch v25.03.1

27 Dec 03:52
8c9f3d9

Choose a tag to compare

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 -Werror to 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 -O1 optimization 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/strncpy with 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 -Os to -O2 for 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.run

Full Changelog: View on GitHub

ViewTouch v25.03.0

26 Oct 03:48
b60aace

Choose a tag to compare

πŸ“‹ GitHub Release: ViewTouch v25.03.0

πŸ“Š Release Summary

Release Date: October 25, 2025
Previous Version: v25.02.0
New Version: v25.03.0

Statistics:

  • Total commits: 16
  • New features: 3
  • Bug fixes: 1
  • Documentation: 1
  • Code changes: +1,010 / -184 lines

πŸ“ What's New

πŸ”₯ Major Features

1. DataPersistenceManager System

  • Comprehensive data integrity management system
  • Singleton-based manager with thread-safe operations
  • Intelligent auto-save (only saves dirty data, respects user workflow)
  • Critical data monitoring for checks, settings, archives, terminals, CUPS
  • Error recovery with automatic CUPS restart and failure tracking
  • Performance metrics and data integrity verification
  • Training check filtering from persistence operations
  • Enhanced logging with component-based categorization
  • New files: src/core/data_persistence_manager.{hh,cc}

2. Editor Settings Separation

  • Split "Editor Settings" into two distinct buttons
  • Editor Settings: Developer authentication and calculation settings
  • Revenue Groups: Food category revenue group settings
  • New zone type: ZONE_REVENUE_GROUPS with RevenueGroupsZone class
  • Updated all translation files with "Revenue Groups" localizations

3. Video Display Timing System Improvements

  • Enhanced flashing readability for kitchen displays
  • Changed flashing from hiding text to alternating colors
  • Orders flash between alert color and white instead of disappearing
  • Maintains visual urgency while keeping text readable

πŸ”§ Fixes & Improvements

4. Jekyll Build Error Fix

  • Fixed Jekyll build error by wrapping C++ JSON code with raw tags
  • Improved documentation rendering

5. Documentation Update

  • Added XServer XSDL configuration guide
  • Enhanced setup documentation for mobile displays

πŸ“‹ Commits Included

363dcaf Release v25.03.0
242e5ce Merge pull request #239 from No0ne558/master
27bf9c2 docs: add XServer XSDL configuration guide
c67102c Merge pull request #238 from No0ne558/master
fdb480a Merge branch 'ViewTouch:master' into master
169f4fc feat: Add comprehensive DataPersistenceManager system
e1586ef Merge pull request #237 from No0ne558/master
04c5481 feat: Separate Editor Settings into Editor Settings and Revenue Groups buttons
042f674 feat: Improve flashing readability in Video Display Timing System
f963926 Merge pull request #236 from No0ne558/master
97a7cd8 Fix Jekyll build error: wrap C++ JSON code with raw tags
1580f32 Merge pull request #235 from No0ne558/master
f303d4d Update documentation version references to 25.02.0
f0bdf98 Update universal installer version to 25.02.0
08ad36b Update changelog for v25.02.0 release
ae1ca78 Bump version to 25.02.0

πŸ“ Files Changed

Core Files:

  • config/version.cmake
  • docs/changelog.md
  • src/core/data_persistence_manager.{hh,cc}

UI Components:

  • zone/pos_zone.{hh,cc}
  • zone/settings_zone.{hh,cc}
  • main/ui/labels.cc

Business Logic:

  • main/business/check.cc

Translations:

  • assets/data/po_file/*.po (all language files)

🎯 Technical Details

  • Release Type: Minor (new features)
  • Compatibility: Fully backward compatible
  • Architecture: x86_64 and ARM64
  • Package Size: ~15MB universal installer

πŸ“¦ Download

Universal Linux Installer: ViewTouch-Universal-Installer.run

Supported Distributions:

  • Ubuntu, Fedora, CentOS, Arch Linux, openSUSE
  • Debian, Linux Mint, Pop!_OS, Elementary OS
  • Red Hat-based, SUSE-based, and other Linux distributions

Installation:

chmod +x ViewTouch-Universal-Installer.run
sudo ./ViewTouch-Universal-Installer.run

πŸš€ Impact

This release introduces significant improvements to ViewTouch's data integrity, user interface organization, and kitchen display functionality while maintaining full backward compatibility.

Key Benefits:

  • Better Data Safety: DataPersistenceManager prevents data loss
  • Improved UX: Separated settings for better organization
  • Enhanced Kitchen Workflow: Better visual alerts for order management

For support, visit: https://github.com/ViewTouch/viewtouch
Documentation: https://github.com/ViewTouch/viewtouch/wiki


Made with ❀️ by the ViewTouch community

πŸš€ ViewTouch v21.05.2 Release

29 Aug 09:12
6983bbb

Choose a tag to compare

Pre-release

This release introduces significant improvements to rendering quality, a new universal installer for broader Linux support, and important bug fixes in Accounting.

✨ New Features & Improvements

  • Embossed Text Option
    Added a new option under System Variables to enable embossed text.

  • Improved Shadows & Anti-Aliasing Control
    Fine-grained control over text shadows and anti-aliasing for sharper, more customizable visuals.

  • Scalable Fonts
    We are no longer using Bitfonts. ViewTouch now uses scalable fonts for improved readability and flexibility across all display sizes.

  • Universal Installer

    • Installs all required dependencies automatically.
    • Works across nearly all Linux distributions.
    • Tested successfully on:
      • Fedora
      • Raspberry Pi 4 & 5

🐞 Bug Fixes

  • Accounting
    • Fixed issue where Suppress Zero Values was not working as intended.
    • Fixed issue where users could not settle checks under certain conditions.

πŸ›  Notes

  • Existing installations can update normally, but new users are encouraged to try the universal installer for a seamless setup experience.
  • Feedback and testing on additional Linux distributions are highly encouraged.

v21.05.1

18 May 19:49

Choose a tag to compare

Added

Changed

  • update external copy of Catch2 to v2.13.4

Fixed

  • fix double line after header in some report tables #115
  • fix Segfault in Page 13 of 16 in "Customize Job Title, Families, Phrases" #117