• 0.10.0 988f294e94

    Citron Release 0.10.0 Pre-release

    Zephyron released this 2025-11-02 04:26:39 +00:00 | 43 commits to main since this release

    Citron Emulator v0.10.0 Changelog

    This release focuses on mobile enhancements, input improvements, and critical bug fixes while expanding game compatibility and platform stability.


    Acknowledgments & Credits

    Cross-Emulator Collaboration

    • TSRBerry (Ryujinx Developer): Initial Implementation for Skyline dependent mod support
    • JPikachu (Eden Developer): CTGP-DX compatibility implementation - mip level clamping support that enables the No. 1 Mario Kart 8 DX mod to run perfectly
    • Maufeat (Eden Developer): CTGP-DX compatibility

    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!

    A Note on Attribution

    We continue our commitment to transparent development and proper attribution. This release includes contributions adapted from the Eden emulator project, properly credited above. We believe the entire emulation ecosystem thrives when teams collaborate and acknowledge each other's work.


    Major Features

    Network & Multiplayer Services

    Enhanced online functionality based on official SwitchBrew documentation:

    • Complete Account service implementation - Proper user account handling
    • LDN (Local Network) services - Local multiplayer support for compatible games
    • Newer firmware stubs - Better compatibility with latest games
    • Improved network stability - More reliable online connections

    Windows Auto-Updater Overhaul

    Completely redesigned update system for Windows:

    • Fixed file locking issues - Updates no longer fail due to locked files
    • Deferred update helper - Updates apply after Citron closes
    • TLS support - Secure update downloads
    • Enhanced logging - Better diagnostics for troubleshooting
    • Qt6 TLS plugin integration - Proper HTTPS support

    Major Improvements

    Game Compatibility

    CTGP-DX Support (Thanks to JPikachu/Maufeat from Eden & TSRBerry from Ryujinx)

    • CTGP-DX mod now runs! - Added mip level clamping support
    • Popular Mario Kart 8 DX custom track pack is fully playable
    • Proper texture handling for modded content

    Skyline Compatibility

    • 32-bit code offset support - Enables Skyline-compatible homebrew and mods
    • Improved homebrew ecosystem compatibility
    • Better support for community-developed content

    User Interface

    Theme System Overhaul

    • System theme integration - Automatically respects Windows/Linux light/dark theme
    • In-app theme choice - Override system theme if desired
    • Configuration dialog theming - All dialogs now properly adapt to selected theme
    • Properties window fixes - Corrected display issues in light and dark modes
    • Consistent experience across all UI elements

    Input & Controls

    Hotkey System Improvements

    • Fixed hotkey persistence - Your hotkey configurations now save correctly
    • Controller overlay toggle hotkey - Added dedicated hotkey for overlay
    • Memory leak fixes - Resolved crashes related to hotkey handling

    Bug Fixes

    Critical Fixes

    • std::bad_alloc crash: Fixed memory allocation error causing crashes with controller overlay
    • Windows updater file locking: Completely resolved update failures on Windows
    • Hotkey saving bug: Settings now persist correctly between sessions
    • Properties window display: Fixed rendering issues in various themes

    Platform-Specific Fixes

    Windows

    • Auto-updater file locking completely resolved
    • Qt6 TLS plugin properly integrated for secure downloads

    Android

    • Storage configuration and migration working flawlessly
    • Better support for diverse GPU hardware

    UI Fixes

    • Configuration dialogs now respect both system and in-app themes
    • Properties window displays correctly in all theme modes
    • Improved dialog consistency across platforms

    Build System Fixes

    • FFmpeg issues resolved - Proper compilation on all platforms
    • title_ids.h fixes - Corrected compilation errors
    • CMake improvements - Better external binary handling
    • DownloadExternals - Platform-specific branch selection (Android ABI)

    Technical Details

    Architecture Changes

    Code Organization

    • TitleID utility class - Refactored game title ID handling into dedicated utility
    • main.cpp refactoring - Improved maintainability and structure
    • Cleaner codebase - Better separation of concerns

    Build System Improvements

    • External binaries as submodules - Better version control (implemented, tested, reverted for alternative approach)
    • Qt6 TLS plugin copying - Added to CopyCitronQt6Deps function
    • Platform-specific downloads - Android ABI-specific binary selection
    • CMake modernization - Improved build configuration

    New Files Added

    src/citron/updater/
      ├── Enhanced updater_service.cpp with deferred updates
      └── Improved error handling and logging
    
    Android storage configuration implementation
    Controller overlay system files
    Theme adaptation logic
    Hotkey persistence fixes
    

    Known Issues

    • Controller overlay is optimized but may need refinement for edge cases
    • Some Android devices with very old GPU drivers may still experience compatibility issues
    • Auto-updater on Linux/macOS remains basic (Windows significantly improved)

    Game Compatibility Highlights

    Now Playable

    • CTGP-DX - Custom track pack for Mario Kart 8 DX now fully functional

    Improved Compatibility

    • Better support for Skyline-compatible homebrew
    • Games requiring newer firmware network services
    • Titles using 32-bit code offsets

    Community Notes

    This release demonstrates continued cross-emulator collaboration. We're proud to acknowledge JPikachu's work from Eden that enabled CTGP-DX compatibility based on TSRBerry's work from Ryujinx.

    Citron remains committed to:

    • Proper attribution for all contributions, regardless of source
    • Community collaboration over territorial behavior
    • Professional development practices
    • Stability and accuracy as our core values

    We're the emulator that does things the right way, every time.


    Statistics

    • Commits: 70+ commits since v0.9.0
    • Files Changed: 100+ files modified/added
    • Bug Fixes: 20+ critical and minor fixes
    • New Features: 4 major user-facing features
    • Platform Support: Desktop (Windows/Linux/macOS) and Android
    • Cross-Project Credits: 1 (Eden - JPikachu)

    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!


    Full Changelog: v0.9.0...v0.10.0

    Download: Latest Release


    Enjoy better mobile support, controller overlay, and game compatibility!

    Special thanks to JPikachu/Maufeat from Eden & TSRBerry from Ryujinx, our community, testers, and all contributors who continue to help Citron

    Downloads