Releases: DRYTRIX/TimeTracker
Release v5.1.1
- Update setup.py (Dries Peeters)
- fix(telemetry): use embedded config and add stable install identifiers (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v5.1.0
- version Bump (Dries Peeters)
- feat(telemetry): migrate analytics pipeline from PostHog to OTLP (Dries Peeters)
- fix(email-templates): prevent silent no-op on create submit (Dries Peeters)
- fix(inventory): harden purchase-order creation and stock idempotency (Dries Peeters)
- feat(invoices): add fully configurable invoice number patterns (Dries Peeters)
- fix(invoices): widen quantity fields in edit form layout (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v5.0.0
- Version Bump v5.0.0 (Dries Peeters)
- docs: sync CHANGELOG and implementation status; add CODEBASE_AUDIT (Dries Peeters)
- feat(offline): store method, headers, and body in queue for correct POST/PUT replay (Dries Peeters)
- fix(settings): redirect /settings and /settings/preferences to user.settings (Dries Peeters)
- fix(invoices): handle and surface PEPPOL compliance check exceptions (Dries Peeters)
- feat(client-portal): add report date range and CSV export (Dries Peeters)
- feat(api): add read:inventory and write:inventory scopes for inventory-only access (Dries Peeters)
- fix(activity-feed): validate date params and return 400 for invalid API input (Dries Peeters)
- feat(jira): add optional webhook signature verification (HMAC-SHA256) (Dries Peeters)
- chore: update CHANGELOG for unreleased documentation and i18n audit (Dries Peeters)
- i18n: remove orphaned bulk-task translation strings across locales (Dries Peeters)
- test: add and update tests for client portal, shortcuts, Jira, inventory API (Dries Peeters)
- docs: align documentation with current implementation (Dries Peeters)
- chore(ui): update static JS and base template (Dries Peeters)
- chore(app): routes, utils, and bootstrap updates (Dries Peeters)
- chore(integrations): update Jira and GitHub integration modules (Dries Peeters)
- feat(settings): keyboard shortcut overrides and developer documentation (Dries Peeters)
- feat(client-portal): activity feed, report service, dashboard widgets and preferences (Dries Peeters)
- feat(models): add ClientPortalDashboardPreference and update user/audit/link models (Dries Peeters)
- feat(db): add migrations for keyboard shortcuts overrides and client portal dashboard preferences (Dries Peeters)
- chore: stop tracking gitignored files (Dries Peeters)
- test(telemetry): consent gate, base first_seen/heartbeat, install_id (Dries Peeters)
- docs(telemetry): two-layer architecture, privacy, and PostHog dashboard guide (Dries Peeters)
- feat(telemetry): clarify two-layer telemetry in settings and admin dashboard (Dries Peeters)
- feat(telemetry): add daily base heartbeat and trigger opt-in ping on enable (Dries Peeters)
- feat(telemetry): gate product analytics on opt-in and send base first_seen at startup (Dries Peeters)
- feat(telemetry): add install_id UUID and consent-aware telemetry service (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.23.1
- Version Bump 4.23.1 (Dries Peeters)
- fix: CI tests, code quality, and duplicate DB indexes (Dries Peeters)
- chore: update root config, Dockerfile, README, and GitHub workflows (Dries Peeters)
- chore: move invoice template and tests; remove obsolete root files (Dries Peeters)
- chore: move scripts to scripts/ (Dries Peeters)
- chore: move Docker config to docker/ (Dries Peeters)
- chore: move documentation and assets to docs/ (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.23.0
- Version Bump 4.23.0 (Dries Peeters)
- test: extend fixtures and add scope, auth, recurring, reports tests (Dries Peeters)
- feat(app): recurring invoices, gantt/reporting services, license UI (Dries Peeters)
- docs: update README and guides, add audit and strategy docs (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.22.2
- Update setup.py (Dries Peeters)
- docs: document manual entry worked time recalculation fix (#559) (Dries Peeters)
- docs(inventory): document return/waste devaluation usage (#385) (Dries Peeters)
- fix(timer): recalculate worked time after date/time commit (fixes #559) (Dries Peeters)
- feat(inventory): show devaluation requirements by stock item (#385) (Dries Peeters)
- Fix Xero integration for apps created after March 2026 (#567) (Dries Peeters)
- docs(oidc): document JWE limitation and Authentik Encryption Key (fixes #566) (Dries Peeters)
- fix(oidc): surface clear error when IdP sends JWE-encrypted ID tokens (fixes #566) (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.22.1
- Update setup.py (Dries Peeters)
- fix: resolve duplicate timer.resume_timer endpoint on startup (Dries Peeters)
- feat(mileage,per_diem): add CSV/PDF export and filter-aware export (Issue #564) (Dries Peeters)
- fix(time-entries): apply date filter and export by current filters (Issue #555) (Dries Peeters)
- feat(workforce): add delete for periods, time-off, leave types, and holidays (fixes #562) (Dries Peeters)
- docs: add break time feature documentation and changelog (Issue #561) (Dries Peeters)
- feat(break-time): add Pause/Resume and break UI (Issue #561) (Dries Peeters)
- feat(break-time): add pause/resume routes, timer status, manual and edit break (Issue #561) (Dries Peeters)
- feat(break-time): add pause_timer/resume_timer and break_seconds to service (Issue #561) (Dries Peeters)
- feat(break-time): add break_seconds and pause support to TimeEntry and schemas (Issue #561) (Dries Peeters)
- feat(break-time): add migrations for break_seconds, paused_at, and default break rules (Issue #561) (Dries Peeters)
- docs(overtime): accumulated YTD and take as paid leave (Issue #560) (Dries Peeters)
- test(overtime): YTD helpers and overtime-as-leave validation (Issue #560) (Dries Peeters)
- feat(migration): seed Overtime leave type for take-as-paid-leave (Issue #560) (Dries Peeters)
- feat(workforce): overtime overview and take as paid leave (Issue #560) (Dries Peeters)
- feat(overtime): show accumulated overtime (YTD) on dashboard and in API (Issue #560) (Dries Peeters)
- feat(overtime): add get_overtime_ytd and get_overtime_last_12_months helpers (Issue #560) (Dries Peeters)
- fix: restrict subcontractors to assigned projects/clients when starting timers (fixes #558) (Dries Peeters)
- Fix(web): prevent mobile browser freeze on Log Time page (Issue #557) (Dries Peeters)
- Fix #563: correct route for post-timer toast after Stop & Save (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.22.0
- Update setup.py (Dries Peeters)
- fix(time-entries): add Apply filters button and make export use current filters (Dries Peeters)
- refactor: split API v1 into sub-blueprints, slim bootstrap, move dashboard to AnalyticsService (Dries Peeters)
- docs: add UI guidelines and update README, architecture, changelog (Dries Peeters)
- feat(ui): dashboard hero block and streamlined recent entries (Dries Peeters)
- feat(ui): base layout and sidebar navigation improvements (Dries Peeters)
- feat(ui): consolidate components and extend design tokens (Dries Peeters)
- docs: update README, CHANGELOG, ARCHITECTURE for product value release (Dries Peeters)
- feat: product value improvements (dashboard, reports, timer, reminders) (Dries Peeters)
- docs: update docs index and PROJECT_STRUCTURE with new root docs (Dries Peeters)
- docs: standardize CHANGELOG (Keep a Changelog, remove TBD placeholders) (Dries Peeters)
- docs: update README with version, installation, and doc links (Dries Peeters)
- docs: add PR template and improve bug report template (Dries Peeters)
- docs: add root API.md quick reference (Dries Peeters)
- docs: add INSTALLATION.md and DEVELOPMENT.md (Dries Peeters)
- docs: add ARCHITECTURE.md with system overview and diagrams (Dries Peeters)
- docs: add root CONTRIBUTING.md and fix env.example reference (Dries Peeters)
- feat: TimeTracker polish and production readiness (plan implementation) (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.21.2
- Update setup.py (Dries Peeters)
- fix(pdf): show decorative images in export when they overflow the page (Dries Peeters)
- feat(overtime): allow overtime calculation by weekly hours (Issue #551) (Dries Peeters)
- feat(docker): configurable nginx host ports via HTTP_PORT and HTTPS_PORT (Dries Peeters)
- fix(admin): resolve database error when deleting user (#552) (Dries Peeters)
- Update tests (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success
Release v4.21.1
- Update setup.py (Dries Peeters)
- fix(dashboard): remove cache to fix ORM detachment on second visit (Issue #549) (Dries Peeters)
π¦ Build Status
Desktop Applications
β
Windows build: Success
β
Linux build: Success
β
macOS build: Success
Mobile Applications
β
Android build: Success
β
iOS build: Success