All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning
- Portable standalone Windows build pipeline via Nuitka
requirements.txtfor reproducible build environmentbuild_xtimer.batfor repeatable release packaging- Translation asset consistency validation
- Release-facing regression coverage for:
- entrypoint
- single-instance path
- logging setup
- translation assets
- startup failure handling
- Update system positioning clarified:
- scheduled/manual version checks remain available
- GitHub Releases is the active update source
- update flow is notification-based, not auto-installing
- Release packaging model standardized as:
- standalone
- portable folder
- Windows-focused distribution
- README and release documentation aligned with actual runtime behavior
- Preset menu positioning logic rewritten around real snap-side behavior
- Preset menu control row layout aligned with preset grid sizing
- Timer border rendering model reworked for cleaner and more stable visuals
- Tray/menu/settings/update startup regressions during production hardening
- Controlled degraded startup when tray is unavailable or invalid
- Safe shutdown of update checker, tray, media player and dialog lifecycle
- Topmost policy reassertion and shutdown cleanup edge cases
- Preset menu placement issues on:
- left edge
- right edge
- top edge
- bottom edge
- Asymmetric preset control button sizing in horizontal menu layout
- Border corner rendering artifacts (“triangle” edge artifacts)
- Visual border asymmetry between dark and light themes
- Progress-bar rendering issues after border rendering refactor
- Runtime asset handling for icons / sounds / localization in packaged build
- This release is the final stabilization release of the 1.1.x line.
- Focus of this version: hardening, visual cleanup, packaging, and release readiness.
- Next planned version branch: 1.2.0 for new features and product expansion.
- System tray integration with:
- Tray icon
- Context menu (Show/Hide, Settings, Exit)
- Clickable update notifications
- Full internationalization (i18n) system:
- English and Russian language support
- Language persistence via QSettings
- Fallback translation mechanism
- Customizable time presets stored in QSettings
- Sound notifications on timer completion:
- WAV playback via QSound
- MP3/OGG/FLAC/M4A playback via QMediaPlayer
- Anti-abuse limits for sound file size
- Visual border blinking animation on timer completion
- Count-up and count-down timer modes
- DPI-aware positioning and sizing (125% / 150% scaling support)
- Centralized logging system with file output and exception tracking
- Major UI/UX redesign of the timer and context menu
- Reworked tray menu with theme-aware styling (dark / light)
- Improved timer positioning logic using Qt screen geometry instead of raw WinAPI metrics
- Unified UI metrics and layout constants across the project
- Improved “Always on Top” behavior with WinAPI-level enforcement
- Enhanced preset handling with safe loading and fallbacks
- Improved timer behavior when adding time (auto-start / pause logic)
- Default application language set to English
- Internal project structure prepared for executable (.exe) packaging
- Incorrect timer sizing on high-DPI displays
- Unstable window z-order when losing application focus
- Menu positioning issues near screen edges
- Potential crashes caused by invalid or missing sound files
- Inconsistent tray tooltip and menu text updates after language change
- This release represents a functional and architectural upgrade rather than a simple patch.
- Backward compatibility with existing settings has been preserved.
- Verified compatibility and adapted project to Python 3.13.5.
- First public release of XTimer.
- Taskbar-style timer with two orientations (horizontal/vertical).
- System tray icon with context menu.
- Time presets support (1S, 5S, 1M, etc.).
- Appearance settings: theme (light/dark), progress bar color, font and time size.
- Notifications: sound on finish, flashing border.
- Auto-update capability from server and GitHub Releases.
- Drag & drop with automatic snapping to screen edges.
- Quick add-time menu.
- Support for “Always on Top” mode.
- Corrected menu positioning in vertical orientation.
- Stabilized behavior when moving the timer to screen corners.
- Optimized resource usage (separated logic and UI of the timers).
- Improved timer text rendering with outline for different themes.