Changelog
What's new in Deski, release by release.
0.1.8
3 August 2026Fixed
- A schedule is no longer ignored in Auto mode. You could select Tuesday only, turn on "Start tracking on startup", and Deski would still start tracking on a Monday. Auto records continuously whenever it's selected, and that behaviour predated scheduling — it armed tracking at every launch without ever consulting the days you'd picked. Auto now checks the schedule first, so the days mean what they say. On a day outside your schedule Deski won't begin tracking on its own; start it by hand if you need to, and a session you start yourself is still never stopped by the schedule.
- Beta testers stay signed in offline. Deski caches a signed entitlement so it keeps working without a connection, but the check that opened that cache didn't recognise beta access — so a tester's own valid pass was turned away, and Deski had to reach the server on every launch. Trials and subscriptions were never affected.
- Timesheet totals add up to their own columns. Days printed as 0.59 + 4.28 + 0.67 sat under a total of 5.55 rather than 5.54, because the total was rounded once at the end instead of summing the printed rows. Both the table total and the "hours tracked" line now match what's above them.
Added
- Bill from the timesheet. An optional Rate / hour and Currency add an Amount column to the By day table and a grand total to the sheet. Currency is a free-text box, so a symbol or a code both work. Every figure is derived from the rows printed above it, so whoever adds up the column gets exactly the total shown. Leave the rate blank and the report looks as it always did.
- A weekly cap on billable hours. For a retainer or a contract ceiling: give a maximum per week and the report adds a By week table showing what you tracked next to what may be billed. Each week is capped on its own, so a quiet week never creates room in a busy one, and the weeks follow your start-of-week setting. Hours above the cap are still printed, with a line saying how many weren't billed.
- "Prepared by" is now a box you can fill in, instead of always printing your account email. Signature lines can also prefill your name and the sheet's date, leaving only the signature to add by hand — the Approved by line is never prefilled, since that one belongs to whoever signs it off.
- Remember the details you type. One tick keeps Prepared for, Prepared by, the rate, the currency and your signature-line settings for next time. Off by default, and unticking it erases what was stored rather than leaving it behind.
- The timer says when the schedule is what's stopping it. A line under the clock reads Outside your scheduled hours — or Today isn't a scheduled day — instead of leaving the timer sitting silently at zero. It clears itself the moment tracking resumes, however you resume it.
Changed
- The timesheet has its own header — a generated stamp on the left, the Deski name on the right — and Deski now suppresses the browser's own print header, which used to put a timestamp, the window title and the app's internal address along the edges of a sheet going to a client. The stamp uses a year-month-day date and a 24-hour clock, so it can't be misread: 03/08/2026 means 3 August to one reader and 8 March to another.
- The Daily Activity heatmap starts with today. Both views put the most recent row on top: By day runs today back through the fortnight, By hour starts on today's weekday. Every By hour row is now labelled, and hours that haven't happened yet are left blank.
- The "Check for updates" button is gone (Settings → Account → About). Deski already checks on every launch, so pressing it re-ran a check that had just run. When a newer version exists, a Download button appears there on its own.
0.1.7
2 August 2026Added
- Scheduling (Settings → Startup). Pick the days of the week, then choose whether Deski starts tracking when it opens, between a set From/To time, or both. Everything here is off by default — Deski never starts tracking on its own unless you ask it to. On a day you haven't selected nothing automatic happens, though you can still start and stop tracking yourself. A window that runs overnight belongs to the day it starts on, so a Friday 22:00–02:00 window carries into Saturday morning.
- Create a tag straight from a time block. The + Tag menu now lets you type a name and create it on the spot, so tagging no longer means a trip to Settings.
- Search your tags — in both the block's tag menu and the Settings list, once you have more than a handful.
- Ten saved colour slots (Settings → Tags). Pin the colours you reuse, apply one with a click, and clear a slot without disturbing the others.
Changed
- Settings is now a list of six sections — Tracking, Tags, Startup, Appearance, Data, Account — instead of four pages you flipped between with arrows. The old pager named nothing, so no setting had a fixed home and things drifted between pages every time something was added. Reopening Settings lands on the section you were last in.
- The tag limit is now 100, up from 10, with names up to 30 characters. The limits are stated on the page rather than only appearing when you hit them.
Fixed
- Minimizing and restoring quickly no longer leaves the window the wrong size. Minimizing looks like a window move on Windows, which triggered Deski's fit-to-screen logic against a window that wasn't on screen; the resize it started then fought the restore. Deski now ignores a minimized window and cancels any resize already under way.
0.1.6
30 July 2026Fixed
- The window closes when you click the X. In 0.1.5 it didn't: the click looked like it had reset the open block and the window stayed put. Quitting now works from the X, and still finishes saving the open block first.
- Printed reports are no longer cramped. A report printed from a smaller window came out with tiny text squeezed into part of the page. The printed sheet is now laid out in physical units, so it looks the same whatever size the window is.
Added
- Back up your database (Settings → Data). Writes your whole history to a single file you choose. It's an ordinary SQLite database, not a Deski-only format — open it in any database tool, move it to another machine, or keep it as an archive. It isn't encrypted, so treat it as carefully as the original.
- Restore from a backup. Replaces everything currently in the app, after a confirmation. Deski checks the file is a real Deski backup first and refuses anything else, leaving your data untouched.
- Printable timesheet report (Settings → Data). Pick a date range and get a clean sheet: total hours, a breakdown by tag and by day, and every block listed. Optionally add a "Prepared for" name and a signature block for client sign-off. Print it, or use your system's "Save as PDF" to get a file.
- Support address in Settings → About, so you don't have to go looking for it on the website.
Changed
- Every text field now has a length limit. Block names, tag names and the rest were unbounded, and a long enough paste could break the layout of the row it sat in.
0.1.5
29 July 2026Added
- Full block length. Auto mode now cuts a block once it holds this much tracked time — 10 minutes by default, adjustable from 1 to 60 in Settings → Timing. The timer shows a progress bar towards it.
- Pause button. Pausing keeps your session and its block open, stops the clock, and leaves the break out of the block's duration. Off by default; turn it on in Settings → Timing.
- Delete a block from Insights. Recent Activity had rename and tagging but no delete — it's now on every row.
- Merge blocks anywhere in the day. Merging used to be reachable only after drilling into a single hour, so two blocks in the same day but different hours could never be merged. The day view now has a By hour / All blocks toggle; "All blocks" lists the whole day flat, with the same checkboxes and merge bar.
Changed
- Idle no longer cuts your session in two. One setting used to do two jobs, which is why a stretch of work could end up as a string of 9- and 10-second slivers. They're now separate: the idle gap decides what counts as tracked time, and full block length decides where blocks are cut. Reading or thinking for a minute no longer ends your session — it just isn't counted.
- Block durations exclude idle time. A block records how much idle it holds, and its duration is the span minus that. The efficiency ring accounts for it proportionally. Existing blocks are unchanged.
- The timer's controls are hidden by default. Start/stop and the Auto/Manual switch join pause as opt-in — Auto is how Deski is meant to be used. All three are in Settings → Timing.
- "Check for updates" no longer starts a download by itself. It now only reports: a Download button appears when there's an update, and a failed check says so.
Fixed
- Quitting no longer throws away the open block — Deski finishes saving before it exits.
- The pause button stayed invisible even when switched on.
- The Insights card heading no longer breaks apart in a narrow window.
- The date-format setting no longer splits its preview mid-phrase.
0.1.4
21 July 2026Signing up & signing in
- The welcome screen now offers a clear choice: Sign up or Sign in. New to Deski? "Sign up" starts your free trial. Already a subscriber? "Sign in" takes you to license-key entry, with a more prominent link to sign in by email instead.
- Sign up now always opens the right checkout for your account, so a sign-up never lands on the wrong page.
0.1.3
21 July 2026Account & subscription
- Sign in with your Deski license key instead of an emailed code. Paste the key from your purchase confirmation email to sign in — it proves who you are and unlocks your subscription in one step, with no email round-trip. Your tracking data still never leaves this device.
0.1.2
20 July 2026Fixed
- The timer no longer keeps counting while paused. After the once-a-day subscription re-check (or any moment tracking was disarmed), an open time block could keep running in the background even though the play button was showing. Tracking now finalizes the current block at your last activity and cleanly resumes.
Account & subscription
- Billing is now handled by Freemius as Merchant of Record — checkout, payment, invoices and cancellation. Subscription status in the app is unchanged.
- The free trial is now 14 days (previously 30). A card is collected at checkout and $0 is charged during the trial.
- Invited beta testers with allowlisted accounts get full access without a subscription.
Settings & UI
- Custom tag colors. Beyond the presets, pick any color from a color wheel or type a hex code when creating or editing a tag.
0.1.1
14 July 2026Account & subscription
- Sign in with just your email — a 6-digit code is sent to your inbox, no password. Up to 3 devices per account.
- 30-day free trial and $5/month subscription, handled by Paddle. Subscription status (and days left) shown in Settings → Account and the status bar.
- Cancel any time from inside the app — with a Resume button if you change your mind before the period ends. After cancelling a trial, the end date is shown.
- Optional one-click account-data deletion during cancellation; otherwise account data is removed automatically after 90 days of inactivity.
- Your subscription is verified online once a day; in between, the app starts instantly using a signed offline check and keeps working offline for up to 3 days.
- Welcome card on first sign-in and a short walkthrough of the UI.
Updates
- The app now tells you when a new version is available, with a download link — plus a manual "Check for updates" button in Settings.
Settings & UI
- System/Light/Dark theme mode (follows your OS by default).
- Launch-at-startup and minimize-to-tray options.
- Configurable week start and date format.
- About section with version, changelog and user-guide links.
- Efficiency Score info button explaining how the score is computed.
Privacy
- Mouse positions are no longer stored at all — only the event type and time.
- Cleared data is securely purged from disk, not just marked deleted.
- The sign-in service stores only your email and sessions, in the EU, with automatic expiry. Signing out revokes the session server-side.
0.1.0
19 June 2026 — first releaseTracking
- Background tracking of global mouse activity (clicks + movement) — private by design: no screen positions, ever.
- Auto and Manual modes: Auto opens a time block when activity is detected and closes it after an idle gap; Manual is a simple Start/Stop stopwatch.
- Optional keyboard tracking, stored as a count only — the keys pressed are never recorded.
- Configurable auto-block idle gap (10 seconds to 5 minutes).
Timer page
- Circular timer with status, Start/Stop and discard controls.
- "Today's Sessions" list and a "Total Today" summary.
Insights
- Daily Activity chart with Heatmap/Bar types and hour/day/month granularity, including a GitHub-style contribution calendar and weekday×hour punch cards.
- Efficiency Score ring (focus time vs. breaks).
- Recent Activity drill-down: day → hour → individual blocks.
Organization & appearance
- Color-coded tags (up to 3 per block), per-block rename and delete.
- "Clear all" for today or for all history — securely wiped from disk.
- 8 light/dark themes, persisted across restarts.
Storage & privacy
- All data lives in a local SQLite database on your device. Nothing is uploaded anywhere.
- Frameless window that auto-fits your screen, with sidebar navigation.
Deski follows semantic versioning. New releases appear here as they ship.