What changed in RoadKept
One section for every day something shipped, written by hand from the release record the team keeps for itself. Each line is a change a driver could notice — a figure that moved, a rule that relaxed, a screen that stopped asking for something. Engineering detail, incident notes and rollback targets stay in the repository; this is the part that is yours.
549 changes have shipped to production since August 12, 2026, on 31 days. A merge to the main branch is a deployment here — there is no release train and no quarterly bundle — so the record is dated by the day the change reached drivers, not by when it was announced.
Start free — the product this describes
No card. Log a week and see your own figure.
September 13, 2026
1 change shipped. The notes for this day are not written yet.
September 10, 2026
3 changes shipped. The notes for this day are not written yet.
September 9, 2026
5 changes shipped. The notes for this day are not written yet.
September 8, 2026
13 changes shipped
- A deleted shift came back from a phone that had been away a season, into a year the driver may have filed.
- A lifecycle notice had one chance, and a missed tick took it away for good.
- Two controls on the sending domain, both shipped dark.
- The phone's path to a store is written down, and two defects were found by reading it.
- A public page for the tax professional a driver names.
- The push sent a driver's whole history every two seconds of quiet.
- Every driver downloaded a websocket client for channels RoadKept has never opened.
- Max_job_attempts gains its reader, and queued rows keep the ceiling they were born with.
September 7, 2026
11 changes shipped
- An odometer gap was valued at the wrong month's rate, and high.
- The Safe-Harbor tracker kept last year's due dates when a phone driver switched tax year.
- The receipt queue's "oldest first" handed over the newest.
- Two sweeps shipped OFF, and one control has a driver-visible consequence once it is on.
- The release log rebuilds /changelog in its own commit.
- The phone gains the background task and the screen that names a drive, and none of it has run on a device.
- Housekeeping.
September 6, 2026
18 changes shipped
- An expense with a second decimal point deducted nothing while the field showed the amount.
- A legacy flat save no longer aborts the driver's entire backup.
- A shift with a date RoadKept cannot file is no longer stranded.
- Driver 401 gets their deadline warning.
- A cron that did not fire is detected from outside the cron.
- RoadKept may now ask for background location.
- Six guides, a hub, and a public changelog.
- Housekeeping.
September 5, 2026
8 changes shipped
- California stops being withheld.
- Without an account the Copilot dock offers the account instead of a form that cannot answer.
- The account overlay carries the brand and says what an account adds, and the odometer gap reads as a task rather than a verdict.
- An unusable vehicle or business reference no longer costs the driver the whole shift.
- Report has its own destination again.
- The uptime probe had been answering 401 and calling it "provider status unknown", so Stripe was never once read.
- The landing page gets a clock.
September 4, 2026
18 changes shipped
- Three ways a driver's own records were silently refused by the sync push, all one shape.
- The app opens without an account, which is the largest change to what a stranger sees since the landing page went static.
- Twenty-nine new public pages, and the first honest count of what the site covers.
- Two gates that had never actually run.
September 3, 2026
9 changes shipped
- A deduction a driver had already recorded rendered as an empty row while the total still spent it.
- The app now opens with no network at all.
- A receipt photographed with no signal used to lose the photograph.
- Two changes to what the public site says and records.
- Three that moved an operational control.
September 2, 2026
12 changes shipped
- One driver-visible rule moved, in the direction of less typing.
- Two sync defects that could lose a driver's records, both from one shape.
- A vehicle cost could read as zero while the field showed the figure.
- Two operational controls on the public site.
September 1, 2026
17 changes shipped
- One driver-visible figure moved, and it moved DOWN to what the driver actually spent.
- Two exports stopped labelling a fleet total as a per-car line.
- Four day-one empty states reached drivers for the first time.
- One operational control changed: a backup that fails partway is now a failed backup.
August 31, 2026
21 changes shipped
- Two driver-visible figures moved, both toward showing less than the driver had assumed.
- Every driver's session got shorter, and that is the intended correction.
- Npm run typecheck had never opened a .ts file under src/.
- Caching became a control rather than a default.
- The marketing page now asks whether it can offer an account before offering one seven times.
- Accessibility: #663
- A performance programme ran across the day and moved no figure.
- The gate that guards documentation figures lost a row silently and got it back.
- One thing had been broken for a day and nothing said so:
August 30, 2026
10 changes shipped
- One driver-visible number moved, and the direction is the one that matters: a driver could be shown a tax estimate that UNDERSTATED what they owed.
- A receipt could be photographed and thrown away with the error message.
- Two dialogs never had modal behaviour, while declaring that they did.
- Two acquisition surfaces pointed at the wrong place.
- One operational control gained a measurement rather than a fix.
August 29, 2026
5 changes shipped
- One of the five changed a figure a driver could act on.
- Two changed what a driver could reach, without changing a number.
- Two changed an operational control rather than the product.
August 28, 2026
14 changes shipped
- Addresses.
- The first page.
- Operational controls.
- No tax figure moved.
August 27, 2026
12 changes shipped
- Written a day early, deliberately.
- One driver-facing surface is new, and one privacy defect is closed.
- Two operational controls tightened, and one of them was CI lying about its own coverage.
- Shipped the login rate limiter's CODE. Its SQL is NOT on production — measured 2026-08-28.
- Nothing is broken today and the ordering is the whole point.
- Nothing would have caught this.
August 26, 2026
14 changes shipped
- One driver-visible number moved, and the direction matters: a preparer following the form would have OVERSTATED the deduction.
- Two driver-facing controls changed.
- The privacy policy gained a subprocessor.
- Two operational controls tightened.
- One cosmetic fix, listed because of where it was.
August 25, 2026
9 changes shipped
- One change reached a driver as a different number, and it had been wrong in both directions at once.
- The homepage was rebuilt, and the figure in it is now computed rather than typed.
- Two changed what the product can do without changing what anyone receives yet.
- One operational control was found switched on and not running.
- The rest hardened what the gates can see.
August 24, 2026
16 changes shipped
- One of the sixteen changed a tax figure, and it changed it in the direction nobody questions.
- Two changed what a driver is told about money without changing the arithmetic.
- The rest of the driver-facing half was time and copy.
- The other eight were the machinery, and three of them had been reporting the wrong thing.
August 23, 2026
3 changes shipped
- No tax figure moved, no operational control changed, and nothing a driver can see was touched.
- The correction is the part worth reading.
- The other two fixed the same defect, three seconds apart, in two different ways, and both are on main.
- The outcome is the stronger of the two, and it leaves one sentence stale.
August 22, 2026
15 changes shipped
- No tax figure moved and no operational control changed.
- The other twelve were the machinery that watches the product, and two of them were watching the wrong thing.
- Added 2026-08-24: one of that day's fixes carried a defect of its own, and it reached drivers.
August 21, 2026
38 changes shipped
- And #496 close the 2026-08-20 CPA review, and both change a figure a driver may already have seen.
- Caught the local-date rule from the other side.
- And #521 are two QA passes against the live product, and four of their findings were things a driver could see.
- And #522 are about reaching the legal pages, which is not the same as having them.
- And #499 are the signup pause as a control rather than a banner.
- Is the day's largest operational finding, and it had been silent.
- Corrected a constraint twenty-seven documents had wrong.
- The accessibility floor moved on the surfaces that had been outside it.
- Everything else changed what would be noticed, not what a driver sees.
- Rollback targets are the deployment under each merge above.
August 20, 2026
21 changes shipped
- Is the only driver-visible change, and it moved no number.
- And #482 rebuild the operator console.
- , #470, #472, #480 and #484 are one thread: the database's own controls, and the checks that were not checking them.
- Stops staging racing itself.
- Rollback targets are the deployment under each merge above.
August 19, 2026
39 changes shipped
- Figures a driver reads.
- Is the public one.
- Between 768px and 1179px a driver could not reach their settings or sign out at all.
- Is the operational control of the day.
- Errored two production builds
August 18, 2026
17 changes shipped
- Shipped Tax Pro Access:
- Is the other half of that question and the operator's side of it
- Is a near miss worth keeping.
- Caught a thirteenth serverless function
August 17, 2026
10 changes shipped
- Corrected a privacy promise the code could not keep.
- Is the operational one, and it is the sharpest kind.
August 16, 2026
7 changes shipped
- The grace window existed and no driver could reach it.
- Is the operational one.
August 15, 2026
18 changes shipped
- Is the one to remember.
- State tax, on screen.
- Records.
- Money, and what a driver is told about it.
- Operational.
August 14, 2026
59 changes shipped
- Tax figures a driver sees.
- Records that did not reach the account, or left it.
- Billing.
- Crashed the app the moment a driver became Pro
- Operational controls.
- Is worth its own line:
August 13, 2026
62 changes shipped
- And #239 are the day.
- Tax figures that moved.
- Moved the audit vault's Pro gate into the database
- Records a driver would have lost.
- Sign-in became a code rather than a link
- The native client arrives here
August 12, 2026
44 changes shipped
- The day's worst class is a driver reading a number that was quietly a prefix.
- Stopped the engine estimating income tax for twenty-seven states
- Every email link fell back to a domain that returns 404
- Operational controls, and two that were describing a world that no longer existed.
- Is why this file has blocks at all:
About this page
The record it is drawn from is RELEASES.md in the RoadKept repository: a generated manifest of every pull request merged each day, with a narrative added by hand wherever a change touched a driver-visible number or an operational control. This page publishes the first sentence of each narrative and the count of merges, and nothing else. It is regenerated whenever the record changes, and the build refuses to publish a line that names a deployment, a commit or an internal action.