13 August 2026
v0.81.0
The controls hold
- Searching your contracts now treats % and _ as ordinary characters. A search for "50% discount" finds that contract instead of matching everything.
- Renewing a contract can no longer create two follow-on contracts. A double click, or a second click while the first was still going, used to leave you with a duplicate to tidy up.
- The API's contract list now takes limit and offset, so you can page through a long list instead of pulling all of it at once. The limits are documented on the API page.
- Saving a mobile number now checks it looks like a real international number before storing it, rather than failing later when an alert is sent.
- A file upload that is refused now says why. It used to look like it was still in progress.
- The privacy policy now describes our analytics accurately, including what is recorded while you are signed in - an internal account identifier, your plan and your role, and never your name, address, company or contract data.
- Security and stability improvements.
13 August 2026
v0.80.2
Patch fixes
- Fixed: the site and the app failed to load properly in the browser. Everything interactive is working again.
11 August 2026
v0.80.0
The project obeys its own standard
- Browser notifications now work. Switching them on in Settings genuinely subscribes this browser and switching them off removes it - previously the toggle flicked back and nothing was stored, so nobody was receiving them.
- Settings now tell you what happened. Saving a Slack, Teams, Discord or webhook address, sending a test message, changing your alert schedule or updating your profile all confirm the result on screen, and explain it when something is refused. Those messages were being written and never shown.
- WhatsApp alerts are unavailable for now and no longer listed as a channel. The rest of the channels are unchanged, and SMS covers the same need for contracts you cannot afford to miss.
- Security and stability improvements.
9 August 2026
v0.79.0
The clock the customer lives in
- Renewal alerts, the weekly digest and every date in Expiro now follow the timezone set on your account instead of the server's. A contract 30 days from expiry is 30 days on your calendar, so nothing is counted a day early and nothing reads as expired while you still have a working day to renew it.
- The timezone list covers 32 zones instead of 8, including India, Nepal, Bangladesh, Mexico, Chile and the Chatham Islands. Settings now also says what your timezone controls: when alerts are counted from, which day your digest arrives, and how dates appear on screen, in your emails and in your exports.
- Nothing moved for existing accounts. Every account was already on London time and is served on exactly the same day and at the same hour as before.
- Security and stability improvements.
8 August 2026
v0.78.0
Do not lose the customer's data
- Deleting your account can now be undone. It is scheduled instead of destroyed: your data stays exactly as it is for 30 days, and one click in the app puts everything back. Renewal alerts stop straight away, and we email you the date everything goes.
- You can take your data with you. Before a deletion is scheduled, the app offers a full export of your account, contracts, notes and activity, and the email carries the same link. The export names every uploaded file and says plainly that the files themselves have to be downloaded from each contract.
- A scheduled deletion also stops your subscription renewing, so you are never charged for an account you have closed. Change your mind and the subscription carries on as before.
- Security and stability improvements.
6 August 2026
v0.77.0
See what production is doing
- Renewal alerts go out faster on nights when a lot of contracts expire at once.
- Security and stability improvements.
6 August 2026
v0.76.0
Alerts reach the right people
- Renewal alerts now go to everyone who should see them, not just one person. Whoever the contract is assigned to always gets it, account admins are copied on everything, and any team member can opt in for the whole account.
- You choose for yourself in Settings, Notifications, where you can also see exactly who currently receives alerts for the account.
- If you are picked out by more than one of those rules, you still get one alert per contract, not two or three.
- Browser push, SMS and WhatsApp now appear on the contract timeline alongside email and chat, so a text that never arrived is visible instead of silent.
- Browser push notifications work again. They had stopped being able to switch on at all.
- An alert that failed halfway through and is retried no longer emails the people it already reached.
- Security and stability improvements.
6 August 2026
v0.75.0
Alerts you can trust
- Every alert now keeps a record of where it actually went. Open a contract and the timeline shows which channels the reminder reached and which one did not, so a Slack webhook that quietly stopped working is visible instead of invisible.
- An alert whose email went out but whose chat or webhook failed no longer counts as a clean send, and a failed one is picked up again on the next run rather than being written off.
- A stale browser push subscription can no longer interrupt the nightly alert run, so one old device stops costing anyone else their reminder.
- Emails now open with a normal greeting instead of your email address.
- If your connection drops while you are filling in a form, what you typed is restored when it comes back.
- Security and stability improvements.
4 August 2026
v0.74.2
Alerts that fail now get retried
- A renewal alert that could not be sent, for example during a mail provider outage, is no longer marked as sent. Expiro retries it, so the reminder still reaches you instead of being quietly skipped.