TimeTracker logo

TimeTracker

Self-hosted time tracking and invoicing for freelancers and teams

Alternative to: toggl, harvest, clockify


About Versions (104)

v5.5.6

2026-05-14
  • feat(ai): gate helper by default; add uninstall docs and release 5.5.6 (Dries Peeters)
  • test(dashboard): assert against split stats/chart cache keys (Dries Peeters)
  • test(project_costs): set updated_at explicitly instead of patching datetime (Dries Peeters)
  • test(keyboard): update asset assertions for advanced shortcuts script (Dries Peeters)
  • test(currency): detach ORM objects across app_contexts and harden Settings test (Dries Peeters)
  • test(webhook): use naive datetime for next_retry_at assertion (Dries Peeters)
  • test(supplier): use supplier_items relationship API (Dries Peeters)
  • test(models): create Client/User rows to satisfy FK enforcement (Dries Peeters)
  • test(client_portal): centralise portal access setup and drop retry shims (Dries Peeters)
  • test(fixtures): enable SQLite FK enforcement and seed baseline roles (Dries Peeters)
  • chore(api): re-export _get_client_id_from_session helper (Dries Peeters)
  • fix(client_portal): tolerate non-JSON dashboard preferences body (Dries Peeters)
  • fix(audit): reuse session connection when checking audit_logs table (Dries Peeters)
  • fix(inventory): soft-delete suppliers via HTML delete route (Dries Peeters)
  • feat(pdf-designer): multi-select, text alignment, guides, layers (#619) (Dries Peeters)
  • fix(ci): harden security pytest lane and Safety report output (Dries Peeters)
  • chore(deps-test): pin safety==3.7.0 for Typer compatibility (Dries Peeters)
  • chore(typing): resolve mypy errors and harden type checking (Dries Peeters)
  • style: apply black 24.8.0 and isort across app/ (Dries Peeters)
  • chore(ci): add local comprehensive CI script mirroring GitHub Actions (Dries Peeters)
  • test: re-enable skipped suites and align auth/fixtures with CI (Dries Peeters)
  • fix(nginx): use http2 on; and lazy-resolve app upstream in Docker (Dries Peeters)
  • refactor(quotes): structure quote create POST with stepped validation (Dries Peeters)
  • fix(telemetry): quiet OpenTelemetry during pytest unless opted in (Dries Peeters)
  • fix(settings): unwrap scoped session when detecting flush state (Dries Peeters)

📦 Build Status

Desktop Applications

✅ Windows build: Success ✅ Linux build: Success ✅ macOS build: Success

Mobile Applications

✅ Android build: Success ✅ iOS build: Success