Skip to content

Releases: Mightyiest/TrueHour

v3.3.2 Stable Release

Choose a tag to compare

@Mightyiest Mightyiest released this 22 Jun 05:15

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

v3.3.2-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Mightyiest Mightyiest released this 19 Jun 14:55
c60ae15
  1. 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.
  2. 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 .trashinfo metadata files instead of executing permanent file deletions.
  3. 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.
  4. Performance & Thread-Safety Improvements:

    • Optimized O(N²) directory scanning inside statistics.py and aggregator.py.
    • Debounced disk operations for TagManager configurations in tracker.py.
    • Enforced thread-safe initialization via double-checked locking for the TimeTamperDetector singleton in secure_time.py.

v3.3.2-beta.1

v3.3.2-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Mightyiest Mightyiest released this 19 Jun 03:05
c60ae15

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

Choose a tag to compare

@Mightyiest Mightyiest released this 18 Jun 08:50
d83af15

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.py and programmatically construct the output filename at compile time.

v3.3.1-beta.1

v3.3.1-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Mightyiest Mightyiest released this 17 Jun 13:38
ded9a1d

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

Choose a tag to compare

@Mightyiest Mightyiest released this 16 Jun 02:49
88a2f09

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:00 format), while the bottom footer displays the overall Total Session Time (Xh XXm XXs format).
  • 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

v3.2.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Mightyiest Mightyiest released this 04 Jun 04:30

Added Update Channel

TrueHour v3.1.0 — Stable Release

Choose a tag to compare

@Mightyiest Mightyiest released this 04 Jun 04:21

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 .truehour Backups: Backup entire profiles to a single .truehour ZIP archive containing all databases, session files, QR codes, settings, and custom logos.
  • Seamless Profile Restoring: Import a .truehour file 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 dynamic PathLike wrapper 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 140px with 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

v.3.2.1-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Mightyiest Mightyiest released this 04 Jun 05:54

##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

v3.1.1-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Mightyiest Mightyiest released this 03 Jun 14:00

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