Changelog

What's changed

Every release, and the reasoning behind it. Latr updates itself — there is nothing for you to install.

  1. Latr is out

    This is the first public release. It works on Chrome, Edge, Brave, Vivaldi, Arc and Opera from the same listing. Since there is nothing before it, everything Latr does ships in this version — what follows is the part worth calling out.

    Save a page four ways. The toolbar, a keyboard shortcut, rem in the address bar, and the one worth learning: highlight a date on any page, right-click, and the time is read straight out of the text. That works in nine languages.

    Organise it however you think. Make your own tags and folders, name and colour them, and filter the queue by status, kind, tag, folder or site. Kind is guessed from the domain and is deliberately narrow — it says nothing rather than guessing wrong.

    Templates. Save a page along with everything you would otherwise pick again for it — how far out, whether it repeats, its tag, its folder — and apply it later from Ctrl+K in one keystroke. A page you keep coming back to is a template with nothing else set.

    Rules for sites you always treat the same way. Tell Latr that github.com/* means “remind me in a day, tagged Work” and the form arrives filled in. It is a default, never a decision: the form is still there and every field can be changed before you save.

    Nine ways to repeat, including two a plain monthly rule cannot express: the same weekday each month — the third Thursday is a different date every month — and the last working day, which steps back off a weekend. Plus plain intervals: every two weeks, 30 days, or 90. Repeats survive the calendar export as a real recurrence rule, so a daily standup handed to your calendar arrives daily.

    Snooze from the notification or the row menu, choosing which two of seven presets sit on the notification. Three of them are times rather than offsets: this evening, tomorrow morning, this weekend. Those beat “+15 minutes”, which is mostly what people press just before ignoring something twice.

    A month calendar in its own tab, showing every reminder on the day it fires — with four numbers above it worth knowing: due today, overdue, repeating, pinned. Not analytics — “you set 14 reminders this month” changes no decision, but “2 overdue” changes what you do next.

    Save a view. Filter the queue however you like — overdue, tagged Work, on GitHub — and keep that combination under a name to come back to in one click.

    It notices when you keep putting something off. A reminder pushed back three or more times says so, and after four Latr offers the two things that actually resolve it: push it properly far out, or admit it is not happening. It asks once and remembers being waved away — it is not going to keep bringing it up.

    Optionally, one reminder can wait for another. Off unless you turn it on, so the queue stays a flat list sorted by time for everyone who does not want that.

    Do it to several at once. Select reminders and tag, file, reschedule or delete them together — deletes undoable, as everywhere else in Latr.

    Bring things in. Import a bookmark folder, or paste a list of links from anywhere: a spreadsheet column, a Markdown list, an export with text around each address. Both spread out however you choose, preview before creating anything, and undo as one action.

    It says when it is late, and it does not shout at 3am. A reminder the browser was shut through arrives when the browser reopens and admits it is late. Quiet hours hold reminders rather than rescheduling them, and a summary of anything missed overnight waits until the window lifts instead of vanishing.

    Nine languages, right to left, and no English hardcoded anywhere. The interface mirrors itself for right-to-left scripts, and plurals are chosen by CLDR category, so languages that distinguish two-to-four from five-and-up decline properly.

    Nothing leaves your device. No account, no server, no analytics. Sync is off by default and uses your browser’s own. A shared reminder rides in the part of a link after the #, which browsers never send anywhere. The settings page shows the figures rather than asking you to trust the policy.

  2. Weekday and monthly repeats, notes, and Outlook

    Repeats that match how people actually work. Every weekday and Monthly joined daily and weekly. A weekday standup no longer fires on Saturday — which was the reason people were turning those reminders off — and a monthly reminder set for the 31st lands on the 28th in February rather than skipping the month entirely.

    A note on any reminder. The stored title is the page’s own, and three days later “Sony WH-1000XM5 | Best Buy” doesn’t tell you whether you meant to check the price or compare it. Your note now shows in the notification in place of the domain, and it’s searchable from both the queue and the command palette.

    Outlook, and a calendar you choose. The one-click calendar handoff was Google only, which left everyone on a Microsoft account doing download-then-import by hand. Settings now offer Google Calendar, Outlook.com, Outlook for work or school, and a plain .ics file for Apple Calendar and everything else.

    Privacy policy and terms are reachable from inside the extension. They existed on the website and were linked from nowhere in the product — an odd gap for something whose entire pitch is that nothing leaves your device.

  3. Nine languages, right-to-left, and the command palette

    Every user-visible string now lives in a translation catalogue, and the product ships in German, English, French, Japanese, Dutch, Portuguese, Russian, Ukrainian and Chinese. The “When” field parses all nine, so a German user can type nächsten Dienstag and have it understood.

    The whole interface mirrors for right-to-left layouts. Not a stylesheet flip — every rule uses logical properties, so the product reverses correctly rather than approximately.

    Ctrl+K opens a command palette over every reminder and every action, using the same matcher as the queue search and the address-bar keyword.

    Plurals are handled properly. Chrome’s message format has none, so it selects a form through Intl.PluralRules. The previous two-form assumption was right for English and wrong for Russian and Ukrainian, which decline 2–4 differently from 5+.

  4. The queue comes first

    The popup was rebuilt around the queue. Chrome caps a popup at 600px and the open composer was taller than that by itself, which put the list of what you’re waiting on entirely below the fold — 461px down, measured. Capture is now a single row that expands.

    Deletes are undoable and nothing is confirmed. A six-second undo is a better trade than a confirmation dialog in a 384px panel.

    Destructive actions are no longer summoned by hover. Row actions live behind one menu with Delete last and separated. The previous four buttons faded in over the countdown, which meant the destructive one appeared under a moving cursor and the information you needed in order to decide vanished exactly when you went to decide.

Following along? The blog covers the reasoning behind the bigger decisions in more depth.