Changelog
v0.11.0
- Process Management Commands: New
status,stop, andrestartcommandsstatuscommand displays current runtime state with JSON output supportstopcommand cleanly terminates running instances with verificationrestartcommand recreates backend with clean stop-wait-start sequence
- Background Operation: New
--backgroundflag for daemon-like operation - Extended Gamma Range: Gamma now supports 10-200% (previously 10-100%) for enhanced brightness control
- IPC Foundation: Unix socket-based IPC for real-time state broadcasting to external applications
- Critical Timing Fixes:
- Eliminated period transition boundary delays (transitions now occur exactly on time)
- Fixed time jump handling for NTP sync, sleep/resume, and manual time adjustments
- Corrected DST boundary handling in status output and transition schedules
- Fixed geo mode timezone mismatch causing delayed transition updates
- Reliability Improvements:
- Session-aware zombie process detection with automatic recovery after logout/reboot
- Test command instance isolation to prevent concurrent instance conflicts
- Multiple preset switching fixes and edge case improvements
- Geographic Data Improvements:
- Added Asia/Kolkata timezone support (Special thanks @acagastya)
- Fixed country/coordinate data accuracy (Special thanks @acagastya)
- Breaking Changes:
reloadcommand deprecated and removed (userestartor rely on automatic hot reloading)
v0.10.0
- Configuration Management Commands: New
getandsetcommands for CLI-based config managementgetcommand reads configuration values with JSON output supportsetcommand modifies configuration fields with validation and safety features
- Enhanced Preset System: Improved preset command with subcommands
preset activeshows the currently active presetpreset listdisplays all available presets
- Native Hyprland CTM Backend: Experimental Color Transformation Matrix support for Hyprland
- Comprehensive Help System: Built-in help command with detailed documentation for all features
- XDG Base Directory Support: Migrated state management to follow XDG specifications
- Improved Error Handling: Consistent error severity levels and better user guidance
- Interactive Configuration Warnings: Safer configuration editing with preset warnings
- Enhanced Logger: Colored severity levels and cleaner output formatting
- Bug Fixes:
- Fixed config directory handling with
--configflag - Resolved smooth transition issues during reload for Hyprland
- Fixed config directory handling with
v0.9.0
- Static Mode: New transition mode for maintaining constant temperature/gamma values
- Preset Management System: Quick switching between configuration profiles with
sunsetr preset - Hot Configuration Reloading: Automatic detection and application of config file changes
- Custom Config Directories: Support for portable configurations with
--configflag - Enhanced Smooth Transitions: Configurable startup/shutdown durations with adaptive algorithm
- Improved D-Bus Handling: Better recovery from system sleep/resume cycles
- Configuration Refactoring: Modular config system with better organization and validation
- CLI Architecture Improvements: Subcommand-based CLI with backward compatibility
v0.8.0
- D-Bus Sleep/Resume Detection: Automatically resumes from sleep using systemd-recommended D-Bus approach
- No Root Scripts: Sleep/resume detection now runs entirely in user space via D-Bus
- Nix Flake Support: Added official flake.nix with reproducible builds and development shell (Special thanks @scottmckendry)
- Display Hotplug Detection: Automatically detects and handles monitor connection/disconnection (Special thanks @scottmckendry)
v0.7.0
- Runtime Simulations: New
--simulatecommand for testing transitions and geo calculations - NixOS/Nix Support: Now available in nixpkgs unstable repository (Special thanks @DoctorDalek1963)
- Enhanced Logging System: Zero-cost abstraction via macros, improved performance and cleaner output formatting
- Progress Bar Improvements: Extracted reusable progress bar component with new EMA smoothing
- Geo Module Refactoring: Improved transition time calculations, fixed nanosecond precision timing bugs
v0.6.0
- Privacy-Focused Geo Configuration: New optional
geo.tomlfile for privately storing coordinates separately from main config - Smoother Startup Transitions: New Bézier curve for startup transitions and new minimum of 1 second
startup_transition_duration
v0.5.0
- Geographic Location Support: Complete implementation of location-based sunrise/sunset calculations
- Interactive City Selection: Fuzzy search interface with 10,000+ cities worldwide (
sunsetr geo) - Automatic Location Detection: Smart timezone-based coordinate detection with 466 timezone mappings
- Enhanced Transitions: Fine-tuned sun elevation angles and Bézier curves for more natural transitions
- Extreme Latitude Handling: Robust polar region support with seasonal awareness
- Comprehensive Timezone System: Multiple detection methods with intelligent fallbacks
- Geographic Debug Mode: Detailed solar calculation information for location verification
- Timezone Precision: Automatic timezone determination from coordinates for accurate times
- Default Geo Mode: New installations use geographic mode by default for optimal experience
- Live Reload Command: New
reloadflag to reload configuration without restarting - Interactive Testing: New
testcommand for trying different temperature/gamma values - Signal-Based Architecture: Improved process communication for reload and test commands
Version History
For the complete version history with all minor releases and patches, see the GitHub Releases page.