Skip to content

v1.2.0

Choose a tag to compare

@PabloViniegra PabloViniegra released this 05 Jan 21:29
· 4 commits to master since this release

Release Notes - win_opt

v1.2.0 (2026-01-05)

πŸŽ‰ Major Features

🌍 Internationalization (i18n)

  • Dual Language Support: Complete Spanish and English translations
  • Runtime Language Switching: Press L to toggle between languages instantly
  • 100+ Translated Strings: All UI elements, messages, and descriptions
  • Persistent Preference: Language choice saved in configuration file

πŸ“ Structured Logging System

  • Multi-Level Logging: Debug, Info, Warning, and Error levels
  • Dual Output:
    • File logging with daily rotation in %APPDATA%\win_opt\logs\
    • Real-time UI feedback during operations
  • Tracing Integration: Built on tracing ecosystem for structured events
  • Configurable Retention: Automatic log cleanup based on retention policy

βš™οΈ Configuration System

  • TOML-Based Settings: User preferences stored in %APPDATA%\win_opt\config.toml
  • Auto-Save: Configuration persists automatically on exit
  • Configurable Options:
    • Appearance: Theme selection (Dark/Light) with memory
    • Language: Preferred language with persistence
    • Logging: Level, file logging toggle, retention days
  • Example Configuration: Included config.example.toml with documentation

🎨 Modern UI Redesign

Color Palettes
  • Dark Theme: Cyberpunk neon aesthetic

    • Vibrant purple (#8B5CF6), pink (#EC4899), and emerald (#34D399) accents
    • Deep dark blue background (#0F172A)
    • High contrast for better readability
  • Light Theme: Modern vibrant design

    • Saturated colors on pure white background
    • Blue (#2563EB), orange (#F97316), and teal (#14B8A6) palette
    • Clean and professional appearance
Visual Components
  • Modern ASCII Banner: Block character logo with decorative borders

  • Categorized Menu:

    • 3 visual categories: CLEANUP, OPTIMIZATION, SYSTEM
    • Colored category headers with separator lines
    • Selection indicator (β–Ά) for better UX
  • Horizontal Stats Cards:

    • Replaced vertical lists with 3 side-by-side cards
    • Bordered containers with centered icons
    • Underlined numbers for emphasis
    • Shows: Files Deleted, Skipped, Space Freed
Animation System
  • Progress Indicators: Unicode-based animated progress bars

    • Smooth gradient with characters: β–ˆ β–‰ β–Š β–‹ β–Œ ▍ β–Ž ▏ β–‘
    • Percentage display with color-coded visualization
  • Spinners: Multiple animation styles

    • Rotating characters for operations in progress
    • Dots animation using Braille patterns
    • Block-based loading indicators
    • Circular progress animations
  • Visual Graphs:

    • Memory Usage: Animated progress bars showing RAM utilization
    • Disk Usage: Visual bars for each drive's space consumption
    • Sparklines: Mini line graphs using characters β–β–‚β–ƒβ–„β–…β–†β–‡β–ˆ
    • Bar Charts: Vertical bars for data visualization
  • Pulse Effects: Smooth opacity animations for attention-grabbing elements

πŸ”§ Technical Improvements

New Dependencies

tracing = "0.1"                    # Structured logging
tracing-subscriber = "0.3"         # Log formatting and filtering
tracing-appender = "0.2"           # File appender with rotation
serde = { version = "1.0" }        # Serialization
toml = "0.8"                       # Configuration format
directories = "5.0"                # Cross-platform paths

Code Architecture

  • Modular Design: New modules for clear separation of concerns

    • src/logger.rs: Logging infrastructure
    • src/i18n.rs: Translation system
    • src/config.rs: Configuration management
    • src/animation.rs: Animation utilities
  • Type-Safe Translations: Enum-based i18n keys prevent typos

  • Centralized Configuration: Single source of truth for user preferences

  • Testable Animations: Complete unit test coverage for animation functions

πŸ“Š Testing

  • 37 Total Tests: All passing
  • New Test Coverage:
    • Animation functions (progress bars, spinners, sparklines)
    • Configuration serialization/deserialization
    • i18n language switching and translations
    • Theme consistency and color palettes
    • Logger initialization and formatting

πŸ› Bug Fixes

  • Fixed Unicode character byte length calculation in sparkline tests
  • Removed unused imports flagged by clippy
  • Improved error handling in file operations with structured logging

πŸ“ Documentation

  • Added config.example.toml with comprehensive comments
  • Updated CLAUDE.md with new architecture details
  • Improved inline documentation for public APIs
  • Added RELEASE_NOTES.md (this file)

πŸš€ Performance

  • Optimized UI rendering with efficient widget reuse
  • Minimal allocation in hot paths (animation frame generation)
  • Lazy loading of system information to reduce startup time

πŸ”„ Migration Guide

From v1.1.0 to v1.2.0

No breaking changes - v1.2.0 is fully backward compatible.

New Features to Explore:

  1. Press L in any view to switch languages
  2. Press T in any view to toggle theme (Dark/Light)
  3. Configuration file created automatically at %APPDATA%\win_opt\config.toml
  4. Logs available at %APPDATA%\win_opt\logs\win_opt.log with daily rotation

Optional Configuration:
Copy config.example.toml to %APPDATA%\win_opt\config.toml and customize:

[appearance]
theme = "Dark"              # or "Light"
remember_theme = true

[language]
language = "Spanish"        # or "English"
remember_language = true

[logging]
level = "info"              # debug, info, warn, error
file_logging = true
retention_days = 7

v1.1.0 (Previous Release)

Features

  • Windows 11 optimization CLI tool
  • System maintenance utilities:
    • Clean temporary files
    • Flush DNS and reset Winsock
    • System file verification (SFC/DISM)
    • System information display
  • TUI interface with ratatui
  • Basic theme support
  • Administrator privilege detection
  • Spanish language interface

Technical Stack

  • Rust 2024 edition
  • ratatui 0.29 for TUI
  • crossterm 0.28 for terminal control
  • sysinfo 0.30 for system information
  • Optimized release profile for minimal binary size

Contributing

Found a bug or have a feature request? Please open an issue at:
https://github.com/PabloViniegra/win_opt/issues

License

MIT License - See LICENSE file for details