v0.1.0
Pre-release
Pre-release
Highlights
First public release: a local-first desktop work-time tracker that keeps every entry in a Postgres
database you control.
Added
- Dashboard with start, pause, resume, stop and project switching, day navigation, daily and weekly
targets, a cumulative overtime balance and the time distribution per project. - Retroactive time management through quick-add buttons or durations such as
2h 45m; entries land
in the first free slot of the day and never overlap. - Per-project hour budgets with a due date, including consumption and forecast in
Reports. - Working-time support: breaks as entries of their own, warnings for break, daily maximum and rest
period limits, a monthly CSV or PDF record per employee, and an audit trail of every change. - Absences for a day or a range as vacation, sick leave, unpaid leave or half day; a full-day
absence drops that day's target to zero, a half day keeps half of it. - Settings for the weekly working time and the working days, with working-time limits that default
to the German ArbZG and can be adjusted or restored. - Accounts with a strict password policy, Argon2id hashes, login lockout and per-user data
isolation. - Installers for Windows and macOS plus portable archives for machines where nothing may be
installed.
Upgrade impact
None: this is the first release. Installing it is described in
docs/installation.md.
Commits in this release
a376f90ci(release): resolve tag SHA from local checkout instead of gh api (#147)b68eb57docs: clarify logging behavior and file locations in documentation95f7637fix(logging): make redaction idempotent (#143)5a56f0aci: run release fuzzing beside bundling and gate publication on it (#145)52b1860ci: disable credential persistence in checkout steps (#144)98c5a85ci(release): publish human-readable release notes from the changelog (#141)7074d83docs: describe how to obtain, give feedback, and contribute (#139)3d08734docs(contributing): state the requirements for acceptable contributions (#140)ef70506ci: gate releases on the fuzz targets (#142)6854557feat(db): log each migration step (#136)3a7c8d8chore: add codeowners file (#137)b29999afeat(dashboard): block tracking on days that have not happened yet (#135)3770fcffix(timer): apply the rounding rules when a session is stopped from the entry list (#131)d2d461ffix(timer): keep rounded sessions from blocking the next start (#129)ae43ccffix(dashboard): show full project name as tooltip in Time by Project legend (#133)e781d1dDelete .github/workflows/pr-title.yml0fdc77cci(release): gate publish job on production environment approval (#127)b35939fci: deploy docs/site to github pages via actions (#125)cfdb862fix: remove hard-coded password literals in rust test fixtures (#122)df6a481chore: add overrides for esbuild dependency in package.json (#121)0a15331fix: keep redacted log messages free of secrets (#120)aaa683cbuild(deps): bump codecov/codecov-action from 5.5.5 to 7.0.0 (#119)ed42af9feat(security): enhance security checks with automated scans and reporting (#118)abed3a3feat(security): implement row level security policies and create application role (#117)488d9affeat(ci): integrate Codecov for coverage report uploads (#116)7c9cc1cdocs(architecture): keep the decision records short and unnumbered2c269b1docs: keep every rule in one document4ddd3cbdocs: bundle the installation instructions in one guide5eed58dtest(auth): count dummy verifications per thread147cd7ffeat(portable): ship portable Windows and macOS builds for users without admin privileges (#115)2b71dfefix: surface fatal startup errors in native dialog (#113)1f74102docs: state hosted EU database and author access in the legal texts (#111)7d93fecfeat(docs): add GitHub Pages landing site (#112)fd550barefactor: move postgres tables into wtt schema (#110)c9d79bbtest: speed up unit and e2e setup (#109)222762afeat(projects): archive projects and warn about overdue budgets while tracking (#105)b06a04ffeat: delete account from the settings menu (#107)66c47a8docs(skills): add the code-review-and-quality review skill (#108)75eaeaafeat(ui): add terms of service and privacy policy to the burger menu (#102)d380288docs: audit repository documentation and comments (#101)418fd1dSupport a remote Supabase Postgres for production images (#86)d5304a0fix(db): answer not found when a delete names a foreign record (#94)749aa83fix(auth): end a session at its absolute lifetime (#95)adb7020fix(tauri): keep the devtools out of a release build (#96)2c8cc41fix(auth): bind a session to the webview window that started it (#98)e8bd4dffix(auth): keep the session id out of the storage of the webview (#99)1b0df8ffix(tauri): remove style-src 'unsafe-inline' and state the CSP directives explicitly (#100)1f10646fix(build): bind the dev server to loopback by default (#97)b762785[WIP] Collapse all migration files into a single baseline migration (#84)677908cRecord identity, project, budget and work-settings changes in an append-only security audit trail (#81)5172134Ship release installers only for Windows and macOS (#83)55d855ddocs: add AGENTS.md and conventional commit contribution guidelines (#78)4ece70eUpdate copyright statement in LICENSE (#82)1944b03Add Audit Trails e2e coverage (#76)518ab6cBump the npm group with 3 updates (#79)7939c90feat/prod-container (#75)5a8c23eShip the WorkTimeTracker logo as the application and web icon (#72)8b30f44Add a read-only "Audit Trails" view under a new "Audit" navigation group (#68)4e40866Expand Playwright e2e coverage across uncovered pages and cross-page workflows (#66)f8dd0e4Fix overlapping texts in the Overtime Overview dashboard card (#74)fae654aLeft-align sidebar navigation items on a single icon column (#70)c541f92Update Cargo.toml to remove unnecessary crate types and enhance CONTRIBUTING.md with detailed prerequisites51005ebSpeed upnpm run test:e2efrom 2m29 to 1m07 (#65)4b63b45Add end-to-end tests for the time rounding on timer stop (#62)5135bafRound the captured time to whole minutes when the timer is stopped (#61)a913fe2Add explicit and automatic overtime management (#58)c9ed658Isolate flaky Postgres login-attempt test (#56)9982db8Document the Playwright E2E test cases and add traceability markers (#55)e310e95Centralize email plausibility validation (#52)068e24dImprove sidebar navigation accessibility and discoverability (#48)d2a327eHarden shared dialog modal behavior (#49)2e43a55Harden database access and CSV exports (#51)ff3684eAdd accessible Field wrapper and labelled Checkbox to input primitives; wire up inline validation across forms (#50)eb88724Add an original TimeTrack logo and use it on the auth screens and sidebar (#53)fe3afefFix ten architecture review findings across the Tauri backend and React frontend (#47)e764b48UC-4: Account for absences — vacation, sick leave, unpaid leave and half days (#44)ad47094Preserve input focus in project dialogs and picker (#45)821f189Remove SQLite support and consolidate on Postgres (#41)68239c0Document UI design principles and fix the accessibility, contrast and consistency findings (#42)80e2cb2[WIP] Make database backend configurable for SQLite or PostgreSQL (#39)0a114ecUC-3: ArbZG break/rest compliance, monthly export and audit trail (#36)8deb52cUC-1: audit trail, crash-safe timer recovery, and retroactive start correction (#34)5877719Document glib RUSTSEC-2024-0429 as an accepted, unreachable advisory (#37)a09e2fcAdd a cumulative overtime balance across weeks and months (#35)720080cdocs: add C4-style logical data model of the persistence layer (#30)0c44b0bAdd dedicated Week workspace with editable weekly bookings and read-only month-to-date analytics (#29)128ecfaCut PR CI wall-clock time from ~2m30s to ~2 jobs in parallel by removing redundant work (#28)28ec498Log all backend and frontend errors to a redacted log file (#27)850238bAdd release-scoped third-party license notices (#25)3949fbcPersist development SQLite data in Compose (#26)affb444Add CONTRIBUTING.md and condense the README (#24)b4733datest: raise frontend coverage to ~96% lines and enforce an 80% threshold (#22)ec88400Code-split pages with lazy imports to fix large chunk warning (#23)5181376Harden architecture: typed IPC errors, session expiry, login lockout, and a shared domain rule contract (#21)ed2a6fcSupport multiple users with login, registration, and per-user data storage (#19)2b7f181Add persistent footer with attribution and DB-stored app version (#17)f15ba75Add configurable weekly working time and working days to Settings (#15)bbe446fAdd Time Management page for quick-adding worked time to a project (#13)c71d083Add project hour budgets with consumption tracking and forecast in reports (#11)84b35f1Add the time tracker dashboard (#4)- …and 7 more commits.
The full history is kept in CHANGELOG.md.