Releases: middaysan/cpu-affinity-tool
Releases · middaysan/cpu-affinity-tool
CPU Affinity Tool v1.1.7
Full Changelog: v1.1.6...v1.1.7
CPU Affinity Tool v1.1.6
Fix bug in thread scheme saving
CPU Affinity Tool v1.1.5
CPU Affinity Tool v1.1.5 - Changelog
Core & OS Integration
- Process Priority Management: Added support for setting the priority of the current process.
- Improved Background Execution: The application now automatically sets its own process priority to "Below Normal" to minimize interference with high-load applications.
- Linux Enhancements: Implemented process search by name and better process management for Linux systems.
- Windows API Improvements: Enhanced Windows process priority handling and process information retrieval.
CPU Presets & Detection
- Regex-based Matching: Migrated CPU detection logic to use regular expressions for more flexible and accurate hardware identification.
- Multi-rule Support: CPU presets now support multiple matching rules per configuration, allowing a single preset to cover more hardware variations.
- New Hardware Support: Updated and optimized
cpu_presets.jsonwith improved rules for modern Intel (including Core Ultra/Arrow Lake) and AMD (Ryzen) processors. - P-Core/E-Core Logic: Refined handling of Performance and Efficient cores, including support for P-cores without Hyper-Threading (e.g., Arrow Lake).
App State & Stability
- State Backup Rotation: Improved data safety by implementing a rotating backup system for
state.json(keeping.old1and.old2versions). - Application Monitoring: Added
settings_matchedtracking to monitor whether running applications maintain their assigned CPU affinity and priority settings. - Repaint Optimization: The UI now requests repaints more efficiently when background monitoring detects changes.
Testing & Technical
- Expanded Test Suite: Added comprehensive unit tests for CPU preset matching and state storage management.
- Dependency Updates: Updated
Cargo.lockwith necessary library improvements. - Code Quality: Refined internal models for
AppStateandRunningAppfor better maintainability and status tracking.
CPU Affinity Tool v1.1.2
[1.1.2] - 2026-01-28
Added
-
CPU Presets system:
- Added configuration file
assets/cpu_presets.jsonwith support for popular Intel models (12th–14th gen) and AMD Ryzen (CCD architecture). - New automatic CPU architecture detection (P-cores, E-cores, Hyper-Threading, CCD).
- Preset format documentation in
CPU_SCHEME_INSTRUCTION.
- Added configuration file
-
Improved visualization in the Group Editor:
- Core grouping by clusters (e.g., Performance Cores, Efficient Cores, CCD 0, CCD 1).
- Color indication for different thread types (P-cores, E-cores, HT threads).
- Core labels display (e.g., P0, E8, C0).
-
Infrastructure:
cpu_presets.rsmodule for parsing and matching presets.CpuSchemamodel to represent a hierarchical CPU structure.- Support for test CPU models to debug the UI via
meta.rs.
Changed
-
Group Editor:
- Completely rewrote the core selection UI in
group_editor.rsto support hierarchical schemas. - Improved core selection logic: now accounts for physical core and cluster membership.
- Completely rewrote the core selection UI in
-
State storage:
AppStateStoragenow automatically selects the best CPU schema on load.- Improved configuration save logic in
state.json.
-
OS API:
- Added stubs and extensions for topology handling in
libs/os_api.
- Added stubs and extensions for topology handling in
Fixed
- Fixed display of occupied cores when editing groups.
- Optimized rendering performance for large numbers of cores in the UI.
CPU Affinity Tool v1.1.0
What's Changed
Changes in Version 1.1.0
User Interface (UI/UX)
- Design unification: Introduced a new “glass” panel style (
glass_frame). All primary UI elements (logs, group settings, app settings) now use a consistent visual style with transparency and blur. - App management refactor: The app removal button (“Remove from group”) was moved from the main list into the app settings window (
⚙ Edit App Settings). This reduces clutter in the main UI and helps prevent accidental deletions. - Improved navigation: In the app settings window, the delete button is now highlighted in red to make destructive actions more visible.
Internal Logic and Stability
- Centralized tips logic: The mechanism for toggling helpful tips in the header was moved from the view layer into
AppState. This provides more reliable state handling when switching between windows. - Group handling optimization: Added helper methods for safely retrieving group and program data, reducing the risk of state access errors.
- Borrow checker fix: Refactored
run_settings.rsto eliminate potential borrowing conflicts when rendering the UI and modifying state at the same time.
Technical Changes
- Added
src/app/views/shared_elements.rsto host shared UI components. - Updated the
AppStatestructure to support tip rotation intervals. - Removed unused imports and obsolete
Framedefinitions across the project.
CPU Affinity Tool v1.0.8
Full Changelog: v1.0.7...v1.0.8
CPU Affinity Tool v1.0.7
v1.0.7 (2026-01-07)
This release focuses on improving system integration, enhancing code quality, and preparing the codebase for future Rust standards.
✨ Features
- System Tray Integration: Added initial system tray support for Windows, providing better application lifecycle management and accessibility.
- Enhanced UI Tooltips: Running applications now show a hover tooltip containing their Process IDs (PIDs), making it easier to identify and manage specific instances.
🛠️ Refactoring & Improvements
- Windows API Refinement: Extensive overhaul of the
os_apifor Windows. This includes modularizing utilities, improving process management logic, and extracting reusable helpers to reduce code duplication. - Modern Rust Standards: Applied safety annotations and updated code patterns to adhere to upcoming Rust 2024 standards.
- Tray Interaction Logic: Simplified tray commands and refined double-click behavior for a more intuitive user experience.
- Localization: All internal comments in core modules (
app.rs,tray.rs) have been translated to English for better community collaboration. - Code Consistency: Improved overall code readability and formatting across the project.
🚀 Performance
- Memory Allocation: Integrated
mimallocas the default allocator to improve performance and memory efficiency.
📦 Chore & Dependencies
- Dependency Update: Updated
windowscrate to version0.62.2. - Platform Support: Added platform-specific dependencies to ensure smoother builds and runtime behavior.
For more details on changes, see the full diff.
CPU Affinity Tool v1.0.6
Full Changelog: v1.0.5...v1.0.6
CPU Affinity Tool v1.0.5
Full Changelog: v1.0.4...v1.0.5
CPU Affinity Tool v1.0.4
Full Changelog: v1.0.3...v1.0.4