• 0.12.25 01c0420481

    Zephyron released this 2025-12-26 08:17:48 +00:00 | 0 commits to main since this release

    Citron Emulator v0.12.25 Changelog

    This release focuses on major UI/UX enhancements, improved update system, Android game file extraction, custom save management, and significant stability improvements across all platforms.


    Acknowledgments & Credits

    Contributors

    Special thanks to all contributors who made this release possible:

    • Collecting
    • sylveondeko
    • Zephyron

    Testing & Quality Assurance

    • The Citron Discord Community: Continued invaluable testing, feedback, and support

    The Citron Team

    • A massive thank you to all Citron contributors who made this release possible through development, testing, and refinement!

    Major Features

    PC Setup Wizard

    New platform-specific setup experience:

    • Platform-specific paths - Automatic detection and configuration of game directories based on your operating system
    • Streamlined first-run experience - Guided setup process for new users
    • Improved boot manager - Enhanced game booting workflow with better path management

    Update Channel System

    Flexible update management with channel selection:

    • Stable/Nightly channels - Choose between stable releases and nightly builds
    • Update channel selector - Easy switching between update channels in UI
    • Improved Update Manager - Rebranded updater with enhanced automation and SCM logic
    • Update channel information - Clear display of current update channel
    • Linux AppImage backup support - Automatic backup of AppImages before updates with customizable paths
    • Backup disable option - Option to disable automatic backups on Linux

    Android Game File Extraction [WIP]

    Enhanced Android functionality for game analysis:

    • RomFS dumping support - Extract RomFS file systems from games on Android
    • ExeFS dumping support - Extract ExeFS file systems from games
    • Custom dump location selection - Choose where to save extracted game files
    • Game file analysis tools - Better support for game modding and analysis workflows

    Custom Save Path Management

    Advanced save file management:

    • Per-game custom save paths - Configure individual save directories for each game
    • Backup saves for custom paths - Automatic backup functionality when using custom save locations
    • Save path migration - Easy management of save file locations

    New Autoloader & Update Manager

    Completely redesigned update system:

    • Modern autoloader - New automatic update loading system
    • Update Manager rebrand - Redesigned update interface with better UX
    • Automated update logic - Improved SCM (Source Control Management) integration
    • Better update reliability - Enhanced Windows update reliability with read-only file handling

    Enhanced Theme System

    Major theme architecture improvements:

    • Rainbow Mode overhaul - Complete architectural redesign of rainbow theme system
    • RGB Mode - New RGB color mode for dynamic theming
    • Improved theme stability - Fixed infinite recursion issues on Arch Linux
    • Better theme adaptation - Enhanced theme switching and animation system

    Game List Enhancements

    Improved game library interface:

    • Toggle Online column - Show/hide online status column in game list
    • Progress bar for library scanning - Visual feedback during game list repopulation
    • Accent color progress bar - Themed progress indicators matching your color scheme
    • NCA scanning toggle - Option to include/exclude .nca files in game scanning
    • Optimized JSON handling - Faster game list loading and updates

    Major Improvements

    User Interface

    Loading Screen Redesign

    Completely revamped loading experience:

    • Game icons on loading screen - Visual game identification during boot
    • Improved UX - Modern, polished loading interface
    • Better visual feedback - Clear indication of loading progress

    Configuration Dialog Improvements

    Enhanced settings interface:

    • Mouse wheel scrolling - Improved scrolling experience in configuration dialogs
    • UI positioning options - Customizable dialog positioning
    • Responsive layout - Better adaptation to different screen sizes
    • Tab switch animations - Smooth transitions between configuration tabs

    Hotkey & Input Management

    Better input handling:

    • Exit fullscreen hotkey refactor - Improved fullscreen exit handling moved to GRenderWindow
    • Mouse panning hotkeys - Enhanced mouse panning controls
    • Hide cursor during panning - Automatic cursor hiding during mouse panning
    • Controller input blocking - Block controller input only during loading screen (not entire session)

    Multiplayer Interface

    Improved multiplayer experience:

    • Fixed duplicate games in rooms - Resolved issue with duplicate game entries when creating rooms
    • Chat room signal fixes - Fixed signal disconnection and cleanup issues
    • Better room management - Improved multiplayer room functionality

    Discord Integration

    Enhanced Discord support:

    • Warning dialogs for Discord help - Helpful dialogs explaining Discord support
    • Updated Discord links - Redirect to help tab for better user guidance

    Performance

    Game Library Optimization

    Significant performance improvements:

    • Directory scanning fixes - Resolved crashes and performance issues with NTFS directory scanning on Linux
    • NAND & SDMC scanning improvements - Better handling of system directory scanning
    • JSON optimization - Faster game list parsing and updates
    • Configuration change debouncing - Reduced unnecessary updates during configuration changes
    • Progress bar feedback - Visual indication during long scanning operations

    Memory & Resource Management

    Better resource handling:

    • Memory pressure handling - Vulkan pipeline eviction under memory pressure
    • Pipeline cache management - Improved GPU resource management
    • DMA multisized components support - Better handling of Direct Memory Access operations

    Networking & Multiplayer

    Network Stability

    Improved network reliability:

    • ZSTD compression improvements - Better error handling for compressed network packets
    • Legacy packet format support - Reverted to legacy format for better emulator compatibility
    • Packet validation - Enhanced packet validation and debug logging
    • Lobby API URL configuration - Migrated from web_api_url to dedicated lobby API configuration
    • Web service thread safety - Create client per request for better thread safety

    Audio System

    Audio Processing Fixes

    Major audio improvements:

    • Reverb effect fix - Resolved extreme noise issues on Windows
    • Biquad filter v2 support - Proper validation and coefficient conversion
    • Buffer underrun handling - Fixed buzzing caused by buffer underruns
    • ParameterVersion2 refactor - Improved structure matching ParameterVersion1
    • Better filter processing - Enhanced biquad filter validation and processing

    Video & Graphics

    Vulkan Rendering Improvements

    Enhanced graphics rendering:

    • MirrorOnceClampOGL wrap mode - Proper implementation of OpenGL wrap mode
    • RGBX render target formats - Correct handling of RGBX texture formats
    • Integer texture format fixes - Resolved SPIR-V format mismatches
    • Viewport transformation fixes - Proper viewport handling when transformations are disabled
    • Query cache optimizations - Removed redundant segment notifications
    • Texture format validation - Better handling of invalid texture formats in lookup table
    • Shadow map artifacts fix - Resolved square artifacts in shadow maps (Metroid Prime 4) [WIP]

    Host1x & Video Core

    System-level graphics improvements:

    • VIC warning suppression - Suppress warnings for small dimension mismatches
    • MCI boot fixes - Improved boot process
    • GPU-modified texture handling - Proper handling of ignored textures modified by GPU
    • Fermi2D improvements - Replaced assertions with warnings for better stability

    Bug Fixes

    Critical Fixes

    • Infinite recursion in UpdateUITheme() - Fixed crash on Arch Linux caused by theme update recursion
    • Network settings crash on Android - Resolved crash when accessing network settings
    • Socket assertion crashes - Fixed crashes and added Nex service stub
    • Module 56 error support - Added proper error handling for unknown error module 359
    • Audio reverb noise on Windows - Fixed extreme noise caused by reverb effect
    • Directory scanning crashes - Resolved NTFS directory scanning issues on Linux
    • SMMU infinite loop - Prevented infinite loop when SMMU address space is exhausted
    • Duplicate games in multiplayer rooms - Fixed duplicate game entries when creating rooms
    • Read-only file updates - Improved Windows update reliability with read-only file handling

    Platform-Specific Fixes

    Windows

    • Update reliability improvements - Better handling of read-only files during updates
    • Audio reverb fix - Resolved extreme noise issues specific to Windows
    • ZSTD decompression safety - Added safety checks for compressed data handling

    Linux

    • NTFS directory scanning - Fixed crashes when scanning NTFS drives on Linux
    • Arch Linux theme fix - Resolved infinite recursion in theme system
    • GuiPrivate requirement - Fixed build issues requiring GuiPrivate on Linux
    • AppImage backup - Improved backup handling for Linux AppImages
    • ZSTD decompression safety - Added safety checks for compressed data handling

    macOS

    • Build fixes - Resolved compilation issues on macOS
    • MoltenVK improvements - Enhanced Vulkan support through MoltenVK
    • ZSTD decompression safety - Added safety checks for compressed data handling

    Android

    • Network settings crash - Fixed crash when accessing network settings
    • Compilation errors - Resolved dump function compilation issues
    • Game file extraction - Improved RomFS/ExeFS dumping reliability
    • ZSTD decompression safety - Added safety checks for compressed data handling

    UI Fixes

    • Horizontal UI issue - Resolved weird horizontal layout problems
    • Placeholder removal - Removed placeholder text from UI elements
    • Game list repopulation - Fixed display issues during library scanning
    • Style.qss path issues - Fixed colorful theme style sheet loading
    • UpdateUITheme recursion - Prevented infinite loops in theme updates
    • Cursor visibility - Proper cursor hiding during mouse panning

    Kernel & System Fixes

    • Dispatch count management - Fixed scheduler dispatch count handling
    • Memory state checking - Improved CheckMemoryStateContiguous usage
    • DMA pipelined transfers - Allowed pipelined transfers to prevent assertion failures
    • SMMU address space - Prevented infinite loops when address space is exhausted
    • MCI boot process - Fixed Media Control Interface boot issues

    Input & Controller Fixes

    • Hotkey configuration restore - Fixed restore functionality and empty key sequence handling
    • Controller input blocking - Block input only during loading screen, not entire session
    • EmulatedController destruction - Added safety callback for pointer management
    • Input processing safety - Added defensive checks for input handling

    Network & Multiplayer Fixes

    • Chat room signals - Fixed signal disconnection and cleanup
    • Packet validation - Improved packet validation and debug logging
    • ZSTD error handling - Better compression/decompression error recovery
    • Legacy packet format - Reverted to compatible packet format
    • Lobby API migration - Migrated from web_api_url to dedicated configuration

    Technical Details

    Architecture Changes

    Code Organization

    • TitleID utility enhancements - Continued improvements to game title ID handling
    • Update system refactoring - Complete overhaul of update manager architecture
    • Theme system architecture - Redesigned rainbow mode and RGB mode systems
    • Save path management - New infrastructure for custom save path handling
    • Android extraction system - New game file extraction framework

    Build System Improvements

    • PGO indicator - Profile-Guided Optimization status shown in window title and about dialog
    • Build type system - New build type system (Stable/Nightly) with UI indicators
    • macOS build fixes - Improved build system for macOS compatibility
    • Linux build improvements - Better handling of platform-specific requirements

    API & Service Updates

    • HOS version constants - Updated Horizon OS version constants
    • NintendoSDK version - Updated Nintendo SDK version constants
    • Nex service stub - Added proper stubbing for Nex network service
    • VOTE_vtg stub - Implemented VOTE service stub with warning log
    • Module 56 error handling - Added support for error module 359

    System Service Improvements

    • ISettingsServer enhancements - Continued improvements to settings service
    • Network service stubs - Better stubbing of network-related services
    • Error module support - Expanded error handling for various system modules

    Known Issues

    • Rapid theme switching may briefly flash during system theme changes
    • Large game libraries may take time to scan on first run with NCA scanning enabled
    • Network packet format compatibility may vary between different emulator versions

    Game Compatibility Highlights

    Improved Compatibility

    • Metroid Prime 4 - Fixed shadow map square artifacts
    • Games requiring latest HOS versions now fully supported with updated constants
    • Better compatibility with games using advanced audio effects
    • Improved support for games with complex texture formats
    • Enhanced compatibility with games using GPU-modified textures

    Community Notes

    This release represents a major step forward in user experience and system stability. The new update system provides users with more control over their update experience, while the Android game file extraction features open new possibilities for game analysis and modding.

    The comprehensive UI improvements, from the redesigned loading screen to the enhanced theme system, make Citron more polished and user-friendly than ever before.

    Citron remains committed to:

    • User experience excellence - Continuous improvements to UI/UX based on community feedback
    • Platform support - Maintaining excellent support across all platforms
    • Stability and reliability - Fixing bugs and improving system robustness
    • Performance optimization - Making Citron faster and more efficient
    • Game compatibility - Ensuring the best possible experience for all supported titles

    Statistics

    • Commits: 200+ commits since v0.11.0
    • Files Changed: 150+ files modified/added
    • Bug Fixes: 50+ critical and minor fixes
    • New Features: 10+ major user-facing features
    • Platform Support: Desktop (Windows x86_64/ARM64, Linux, macOS) and Android
    • HOS Support: Updated to latest version constants

    Building Citron

    For build instructions with optional PGO (Profile-Guided Optimization), see our documentation.

    PGO can provide 10-30% performance improvements based on your usage patterns!

    The build type (Stable/Nightly) is now indicated in the main window title and about dialog.


    Full Changelog: v0.11.0...0.12.25

    Download: Latest Release


    Enjoy the new update system, Android extraction, and enhanced UI!

    Special thanks to our community, testers, and all contributors who continue to help Citron grow and improve

    Downloads