0.13
π Features
cpu_set_reset_ideal option: Added new cpu_set_reset_ideal field to ProcessConfig struct with @ prefix syntax to enable ideal processor redistribution after CPU set changes
Process Lasso config conversion: Added -convert CLI flag to migrate Process Lasso .ini configurations to AffinityServiceRust format
Enhanced error reporting: Added ERROR_GEN_FAILURE mapping (Win32 code 31) and standardized unknown error formatting as WIN32_ERROR_CODE_0x
βοΈ Configuration Updates
config/config.ini
CS2 optimization: Updated cs2.exe rule with refined module-level priority handling (nvwgf2umx.dll, tier0.dll)
New application rules:
MouseTester Pro.exe: High priority on P-cores (4-7)
Consolidated parent process group: {explorer.exe:steam.exe:taskhostw.exe:cmd.exe:powershell.exe} with unified handling
Java runtime: Updated javaw.exe/java.exe to support alias references with @ prefix for ideal processor reset
HWiNFO64: Added @ prefix to CPU set field for ideal processor redistribution
Game groups: Updated games_normal and games_passive groups with @ prefix support for ideal processor management
System processes: Expanded protected process list to include services.exe, csrss.exe, MsMpEng.exe with explicit [ACCESS_DENIED]/[INVALID_HANDLE] annotations
config/blacklist.ini
Removed redundant entries for protected system processes now handled via explicit error annotations:
csrss.exe, services.exe, lsass.exe, msmpeng.exe, nissrv.exe, securityhealthservice.exe, zed.exe
π§ Code Refactoring
API Simplification: Changed core functions to accept &mut ProcessEntry instead of &mut ProcessSnapshot for direct data access:
apply_affinity, apply_prime_threads*, apply_ideal_processors, apply_config, reset_thread_ideal_processors, prefetch_all_thread_cycles
Parameter reordering: Standardized function signatures to group related parameters (pid/config β handles β output params β result collectors)
Code organization: Moved ApplyConfigResult struct definition before helper functions in src/apply.rs for better readability
Memory optimization: Implemented buffer caching for ProcessSnapshot::take() using borrowed static buffers
Dead code removal: Removed unused IdealProcessorPrefix internal struct and associated documentation
π Documentation
Complete Chinese localization: Added full docs/zh-CN/ directory with translated documentation for all 11 core modules
Auto-generated API docs: Added 200+ Markdown documentation files for functions, structs, and types across:
apply.rs, config.rs, cli.rs, logging.rs, main.rs, priority.rs, process.rs, scheduler.rs, winapi.rs
Enhanced navigation: Added cross-links between README sections and detailed documentation pages
Type reference improvements: Added explicit type links for ProcessPriority, IOPriority, MemoryPriority, PrimePrefix, IdealProcessorRule
Fixed anchor links: Corrected broken internal references in Overview sections (both EN/ZH)
π Bug Fixes
Fixed incorrect function reference in main.md (update_active_streaks β update_thread_stats)
Corrected CPU set logging output format
Fixed handle extraction logic ordering in get_handles() helper
π§Ή Maintenance
Multiple rustfmt passes for consistent code style
Updated README_src_outline.md to reflect shifted line numbers after refactoring
Removed redundant newline/formatting artifacts in config files