Releases: Mightyiest/TrueHour
Release list
v3.3.2 Stable Release
True Hours v3.3.2 Stable Release
This stable release introduces several enhancements, optimizations, and security improvements:
✨ What's New
- Three-Theme UI & Stylesheet Caching: Select between "Light", "Modern Dark", and "Classic Dark" themes from the settings dropdown. Theme switches are cached for instant styling.
- Encrypted Profile Backups: Secure settings and sensitive banking details in backups using password-derived encryption via PBKDF2HMAC (100,000 iterations).
- Asynchronous Startup Optimizations: Deferred heavy database operations and auto-exclusion file parsing, and implemented background incremental app icon loading to resolve startup UI freezes.
- Enhanced Cryptographic Key Derivation: Replaced direct SHA-256 password hashing with a secure KDF workflow to satisfy CodeQL security guidelines while retaining fallback decryption support for older backups.
- Bug Fixes & Refactoring: Converted the cryptography test suite to standard TestCase format and added integration test coverage for legacy compatibility.
📝 Feedback & Support
If you have any suggestions or run into any issues, please submit your feedback here:
v3.3.2-beta.2
-
PBKDF2 + Fernet Cryptography Upgrade (
crypto.py):- Upgraded banking details encryption to use AES (via
cryptography.fernet.Fernet) with PBKDF2HMAC key derivation. - Built a backward-compatible legacy XOR decryption fallback for seamless transition of existing user profiles.
- Upgraded banking details encryption to use AES (via
-
Cross-Platform Linux Trash Fallback (
config.py):- Implemented a native-Python fallback on Linux that moves deleted files to
~/.local/share/Trash/files/and generates standard.trashinfometadata files instead of executing permanent file deletions.
- Implemented a native-Python fallback on Linux that moves deleted files to
-
Zip Slip Protection (
backup_manager.py):- Secured the backup restoration workflow (
import_settings) by validating all zip member paths before extraction to prevent path traversal vulnerabilities.
- Secured the backup restoration workflow (
-
Performance & Thread-Safety Improvements:
- Optimized O(N²) directory scanning inside
statistics.pyandaggregator.py. - Debounced disk operations for TagManager configurations in
tracker.py. - Enforced thread-safe initialization via double-checked locking for the
TimeTamperDetectorsingleton insecure_time.py.
- Optimized O(N²) directory scanning inside
v3.3.2-beta.1
Important Changes in Development branch:
- Encrypted Backups: Implement password-protected encrypted backup support, extract shared crypto module, and optimize XOR ciphers for Unicode compatibility.
- Theme Caching & Optimization: Optimize theme changing by introducing QSS stylesheet caching and removing duplicate settings save operations.
- UI & Theme fixes:
- Fix settings dialog theme style propagation to support correct styling for child EmailChipWidgets.
- Fix settings dialog theme fallback bug by passing theme_style to SettingsDialog.
- Configure build.sh to enable telemetry during packaging and update compiler documentation.
- Remove deprecated sample_report.html.
v3.3.1
v3.3.1 (2026.06.18)
- App-Specific Distraction Auto-Pause: Automatically pauses tracking when switching to a designated distracting application (e.g. Chrome, games, Spotify) and auto-resumes when returning to a productive task.
- App List Context Menu: Right-click any application in the live tracking list to quickly mark or unmark it as distracting.
- Manage Distraction Apps: Added a dedicated checklist dialog in Settings to manage, search, and manually add custom application executables.
- Dynamic Build Naming: Updated the unofficial build script to query both version and build number from
version.pyand programmatically construct the output filename at compile time.
v3.3.1-beta.1
Release Notes - v3.3.1-beta.1 (Build 30)
This pre-release introduces the App-Specific Distraction Auto-Pause feature alongside several UX improvements:
New Features & Improvements
- App-Specific Distraction Auto-Pause: Automatically pauses tracking when switching to a designated distracting application (e.g. Chrome, games, Spotify) and auto-resumes when returning to a productive task.
- App List Context Menu: Right-click any application in the live tracking list to quickly mark or unmark it as distracting.
- Manage Distraction Apps: Added a dedicated checklist dialog in Settings to manage, search, and manually add custom application executables.
- Telemetry OFF: Telemetry is disabled by default for this unofficial build.
- About Settings Fix: Resolved dark mode text rendering and visibility issues in the About settings dialog.
Tests & Stability
- Added core unit tests validating distraction auto-pause transitions and name-matching logic.
True Hours v3.3.0 Stable Release
True Hours v3.3.0 Stable Release 🚀
True Hours v3.3.0 is a massive release that marks a major milestone. We have expanded True Hours from a passive time logger into a complete, self-hosted productivity suite.
This release aggregates all the key features, optimizations, and security patches developed during the v3.3.0 beta cycle—introducing a local web server, Focus Goals dashboard, interactive heatmaps, interactive invoice drafts, revamped dark themes, and anti-tamper tracking mechanics.
📊 1. New Focus Goals Dashboard & Web Server
We have integrated a lightweight, local HTTP web server (core/reporting/web_server.py) that hosts an interactive productivity dashboard locally on your machine.
- Weekly Target Goals: Set daily or weekly targets for hours or earnings and monitor your progress via animated circular rings and gauges.
- GitHub-Style Contribution Heatmap: View a beautiful, color-coded daily activity grid showing your tracking intensity over the past weeks and months.
- Local Web Server (Secured): Served locally on a dynamically assigned port. Hardened with localhost-only binding (
127.0.0.1) to ensure it cannot be reached by other devices on your local network.
🧾 2. Live Invoice Drafting & Browser Save Flow
Invoicing has been completely re-engineered to support draft previews and live in-browser updates.
- HTML Invoice Preview Server: True Hours now launches a secure browser preview for draft invoices.
- Direct Save-to-Database: Customize your invoice headers, client addresses, and direct banking details directly in your browser, then save the finalized draft back to the SQLite database with a single click.
- A4 Print Layout Refinement: All templates have been redesigned for clean single-page compatibility with standard A4 desktop printing and PDF outputs.
🎨 3. Revamped Dark Theme & Sync
- Polished Desktop Dark Mode: Complete style revamp for all desktop Qt widgets, status cards, and action buttons, utilizing rich, comfortable grays and clean whites to reduce eye strain.
- Cross-Environment Sync: Toggling dark mode inside the desktop GUI instantly syncs the theme to the local web goals dashboard in real-time.
- Print Styling Guards: Fixed CSS styling rules so that backgrounds, progress badges, and high-resolution direct bank QR codes render perfectly in both light and dark print output.
🕒 4. High-Priority Counted Time Tracking & Smart Idle Deduction
- Swapped Timer Focus: By popular request, the main large clock display now shows your productive Counted Work Time (
00:00:00format), while the bottom footer displays the overall Total Session Time (Xh XXm XXsformat). - Retroactive Idle Deduction: When the idle auto-pause triggers (e.g. after 2 minutes of inactivity), the 2-minute threshold period is retroactively deducted from your active app logs and overall session duration. Your timer freezes exactly at the moment you walked away.
🛡️ 5. Process-Level Self-Exclusion
- Ignore Self-Focus: True Hour now automatically matches the active window process ID against its own PID (
os.getpid()) on both Windows and macOS. - Pretend Mode: Opening the TrueHour window to review stats or update categories will no longer halt or register "TrueHour" as an active app. The tracker continues counting time in the background to your last active application (e.g., Illustrator).
🔧 6. Under-the-Hood Cleanup
- Complete codebase refactoring to remove dead code, unused imports, and redundant thread logs.
- Clean separation of UI styles into theme modules to prepare for future extension support.
📦 Assets to Download
TrueHours.exe: Download the precompiled standalone official executable below.
v3.2.0-beta.1
Added Update Channel
TrueHour v3.1.0 — Stable Release
We are excited to announce the stable release of TrueHour v3.1.0! This release introduces robust multi-profile support, fully isolated profile environments, encrypted local storage, optimized single-page invoicing, and critical stability fixes for file locking.
Here is a summary of what's new in this major release:
👥 Multi-Profile Environments & Isolation
Manage separate projects, clients, or team members with ease.
- Dedicated User Profiles: Create, select, rename, and delete multiple distinct profiles (e.g., Personal, Client A, Freelance) directly from the settings interface.
- Strict Database & Config Isolation: Each profile operates inside its own secure sandbox with isolated SQLite databases, customized app categories, session logs, and personal settings.
💾 Portable Backups & Easy Migration
- Compressed
.truehourBackups: Backup entire profiles to a single.truehourZIP archive containing all databases, session files, QR codes, settings, and custom logos. - Seamless Profile Restoring: Import a
.truehourfile to restore or clone your workspace onto any machine with built-in overwrite safety checks.
⚙️ Path Binding & System Stability
- Dynamic Path Resolution (
DynamicPath): Real-time path binding via a custom dynamicPathLikewrapper resolves all settings, QR code locations, and time-integrity hashes instantly when switching profiles. - Windows File Lock Resolution: Moved application lock files (
truehour.lock) and active logging streams (truehour.log,TrueHour_active.log) to the global root AppData directory, allowing seamless renaming, deletion, or modification of profile folders at runtime without permission conflicts.
🧾 Compact Invoicing & Print Compliance
- A4 Single-Page Compliance: Re-engineered print layouts, margins, cell paddings, and header heights for a ~38% reduction in vertical space, guaranteeing that standard invoices print beautifully on a single A4 page.
- Side-by-Side Payment Info: Created a dynamic flex-row layout that positions bank details and direct-payment QR codes side-by-side, adapting responsively as contents change.
- Enlarged High-Resolution QR Codes: Enlarged scan codes to
140pxwith optimized high-contrast borders for flawless mobile scanning. - Print Color Preservation: Added CSS rules (
print-color-adjust) to ensure visual gradient backgrounds, status badges, and table themes retain their color fidelity when saving/printing to PDF.
🔒 Security & Privacy Options
- Machine-Bound Encryption: Highly sensitive payment details and banking tokens are now encrypted locally using hardware-signature-derived keys (XOR-Base64) combined with SHA-256 seeding.
- Privacy-First Invoicing Toggle: Instantly hide or show your bank transfer details on generated HTML invoices with a single checkbox toggle in settings.
How to Upgrade
- If you're running the prebuilt executable, download the latest version from the GitHub Releases Page.
- If running from source, pull the latest changes from the main branch and restart the application:
git checkout main git pull python app.py
v.3.2.1-beta.2
##Whats new
- Refactored Animation Signal Connections
- Guarded GitHub API Response
- More Permissive Tag Parsing
- Added a Unit Test Suite
Full Changelog: 94383cf
v3.1.1-beta.2
PUBLIC BETA RELEASE FOR TESTING
For Non Github Users use https://forms.gle/Rn5LGVHk6B81pA5z9 for
Github Users use Issues and check develop and release branch
- Added Bug report, bottom footer #73
Full Changelog: https://github.com/Mightyiest/TrueHour/commits/v3.1.1-beta.2