Repository navigation
Releases: Rem7474/AutoLedger
Release list
v1.51.2
This release fixes three security issues in how access is checked and corrects the cost per kilometre shown on trips reported by Home Assistant. Updating is recommended.
Bug fixes
- Trip costs: tires, maintenance and insurance are now spread over the distance actually covered according to the odometer, not only over the recorded drives, so trips reported by Home Assistant no longer show absurd per-km costs. (#791)
- Security: an access token is now refused on every route once its session has been revoked ("sign out everywhere", expired session), instead of staying valid until it expires. API tokens are not affected. (#796)
- Security: a vehicle's creator who was removed from it or demoted no longer keeps owner access to the vehicle and its documents; access follows the current members only. (#794)
- Security: read-only members no longer see the reminder webhook URL, which can contain a secret. Owners who shared a vehicle with viewers while a webhook was set may want to rotate that URL. (#795)
Documentation
- The security advisory workflow is described in the contributor notes. (#793)
Maintenance
- Built with Go 1.26.10 to pick up a standard library security fix. (#792)
Full Changelog: v1.51.1...v1.51.2
v1.51.1
This release removes figures the carpool detail and recap said twice.
Improvements
- The carpool recap no longer draws the split of the cost as a bar: the passengers' and the driver's shares are already in the tiles above it. (#789)
- In the carpool detail, the route card no longer repeats the leg and passenger counts of the sections below, and the "received / fair share" caption of each passenger moves to a tooltip; the line under a passenger only says how far they are above or below their share. (#789)
- The route card of the carpool detail only appears when the title was changed or the carpool has notes, since the default title already is the route; the distance now sits next to the date. (#790)
Full Changelog: v1.51.0...v1.51.1
v1.51.0
This release finishes the carpool rework: the editor shows who is on board on each leg, the drives and legs show their costs and where they stand, and the carpools of a drive show what is left to the driver.
New features
- The detail of a drive or a trip lists its carpools with what they cost, what was received and what is left to the driver (or the surplus). (#784)
- The passengers step opens on an overview of the route: the driver over the whole route, one bar per passenger over the legs they ride, and under each leg the number of people on board with what each of them pays. A tap on a bar selects the passenger. (#785)
Improvements
- The drive picker shows the actual cost of each drive, the leg number of the ticked ones, and the cost and distance of the selection; the badges no longer squeeze the route on a phone. (#786)
- A leg made from a drive says whether it is synced, adjusted or frozen, and one button puts every amount back to what the drives cost, after showing the difference. (#787)
- The carpool detail is rebuilt around the recap, with colour for the cost, what was received, the passengers' shares and the driver's share; the unlabelled cost bar of each leg and the "Copy summary" buttons are removed. (#781, #782)
Bug fixes
- A finger resting on the route strip no longer blocks the scroll of the editor on a phone. (#783)
- A carpool left without legs (a failed estimate, every drive unticked) goes back to the drives instead of showing an empty strip. (#783)
- On a wide screen the switch between recorded drives and manual entry stays reachable after the legs are typed, and the drive picker opens on the latest drives. (#783)
Maintenance
- An end-to-end test covers the three-step carpool editor on a phone. (#788)
Full Changelog: v1.50.0...v1.51.0
v1.50.0
This release reworks carpooling: a carpool now follows what its drives cost, entering a passenger takes a few taps, and the carpool editor is rebuilt around the route.
New features
- A carpool made from drives takes the cost of each drive and follows it when the drive changes (tolls added later, new rates). An amount can be adjusted on a leg and put back to the drive's value, and a carpool can be frozen to keep its amounts as entered. Carpools saved before this release stay frozen. (#779)
- Drives that belong to a carpool are marked in the drives list, can be filtered, and open their carpool; the drive picker shows which carpool a drive is already in. (#777)
- Entering a passenger is quicker: an "Exact amount" button fills the fair share, recent passenger names are offered as chips, and a "Copy summary" button on each passenger gives a text recap ready to paste into a message. (#778)
Improvements
- The carpool editor is redone: a strip of the route where each passenger's ride is set by dragging two handles (or with the arrow keys, or a tap on a stop), a recap that stays in view with the split of the cost and what was received against the fair shares, costs folded into one line per leg, and one card per passenger. On a phone it goes through three steps (drives, passengers, recap). (#780)
- The drive picker of the carpool editor lists drives by day, suggests drives that chain into one journey, and hides drives under 1 km until asked. (#780)
Bug fixes
- A passenger left without a name is no longer saved as "Passager"; the name stays empty and is shown as "Passenger N". (#778)
Full Changelog: v1.49.0...v1.50.0
v1.49.0
This release turns the optional MCP endpoint into a full read-only view of the account: an assistant can now answer questions about trips, charging places, carpooling, tires, reminders, ownership costs and the electric-versus-combustion scenarios, not only about the cost totals.
New features
- An assistant connected through MCP can read much more: the cost of each month, maintenance reminders, the economic cost of owning a vehicle (contract, depreciation, resale estimate), how a vehicle uses and pays for its energy, the entries behind the costs (with whether a receipt is attached), every vehicle of the account side by side, cost by drive tag, carpool trips with their stops and named passengers, trip groups, charging places and what charging away from home cost, tire wear, the odometer on a given day, where the records come from and how fresh they are, and the saved electric-versus-combustion comparisons. Names and addresses you recorded (trips, stops, charging places, drivers, passengers) are shared with the assistant so it can talk about them. (#754–#768, #770)
- The data gaps an assistant reads are ranked by what completing them is worth, and entries that look mistyped (an expense far above the usual, a price far outside the usual range) are reported. (#749, #760)
- The MCP endpoint offers a glossary, the account's settings and each vehicle as resources, five ready-made prompts (monthly review, what is missing, lease check, receipt check, tax year) and completion of the vehicle name. (#769)
- The trips of a vehicle can be listed with their addresses and drivers through the read API and MCP. (#747)
- The dashboard flags mistyped expenses and energy prices. (#742)
Improvements
- Every field of every MCP tool is described, tools have a readable title, a vehicle can be given by name instead of its identifier, and an answer says how many months it covers. (#748, #750, #751)
- The MCP endpoint limits requests per access token and logs one line per tool call (tool, account, outcome, duration; never the arguments or the answers). (#752)
- The authorization page states that names and places are shared with the assistant and that VINs, plates, GPS positions and documents never are. (#771)
- A drive reported without a distance is stored as unknown instead of 0 km. (#743)
Bug fixes
- The household budget kept the wrong currency when it was set in another one, and a new vehicle defaulted to euros. (#746)
- Automatic tolls were recorded for vehicles whose currency is not the one of the toll dataset. (#741)
Documentation
docs/mcp.mdanddocs/mcp.fr.mdlist every tool, resource and prompt;docs/ingestion-api.mdlists the matching read API routes; the authorization page is described indocs/oauth.md.
Maintenance
- Dependency updates (GitHub Actions, npm, chi).
Full Changelog: v1.48.2...v1.49.0
v1.48.2
This release fixes the connection of an assistant to the optional MCP endpoint.
Bug fixes
- Adding the MCP endpoint to a client that runs in a browser (a web connector, for example) failed with "cannot verify the server": the server answered its first request with a refusal it could not read instead of the authorization challenge. The MCP endpoint and the OAuth endpoints it relies on now accept requests from any origin, without credentials. The rest of the API is unchanged. (#740)
- With Docker Compose,
AUTOLEDGER_MCP_ENABLEDset in.envwas ignored. It now reaches the container. (#739)
Documentation
- The OAuth page describes which endpoints are open to browser-based clients. (#740)
Full Changelog: v1.48.1...v1.48.2
v1.48.1
This release fixes how the optional MCP endpoint answers a client that is checking the server.
Bug fixes
- An assistant adding the MCP endpoint could report that it could not verify the server: probing the endpoint or the standard discovery addresses returned the web app's page instead of an authorization challenge or a "not found". They now answer correctly. (#735)
Documentation
- The MCP page explains how to check the three addresses a client needs, and the public address and reverse proxy settings that make them work. (#735)
Full Changelog: v1.48.0...v1.48.1
v1.48.0
This release lets an assistant such as Claude or Cursor read your vehicle costs through an optional, read-only MCP endpoint, and makes vehicle currencies explicit everywhere.
New features
- An assistant can ask for read-only access to your account from an authorization page and then answer questions about what your vehicles cost: list vehicles, costs over the last 12 months and since purchase, and what is missing from the records. It cannot change anything and never sees VINs, plates, addresses or documents. The access appears in your API tokens and can be revoked there at any time. Off by default: set
AUTOLEDGER_MCP_ENABLED=true. (#731, #732, #733, #734) - API tokens have a scope, chosen at creation: "Send and read" (Home Assistant) or "Read only". A read-only token cannot push events. Existing tokens keep their current behaviour. (#731)
- A read API under
/api/integrations/v1gives scripts and reports the costs and data gaps of each vehicle, with amounts in the vehicle's currency. (#732)
Improvements
- A vehicle, tariff or preset must have a currency; the application no longer assumes the euro when none is given. (#730)
Documentation
Full Changelog: v1.47.0...v1.48.0
v1.47.0
This release gives the cost pages a period and a monthly history, tidies the figures of the main pages, protects the stored TeslaMate credentials with a stronger key derivation, and fixes several pricing and session issues reported by a contributor.
New features
- Tolls, maintenance and fixed-cost pages open on a period selector (1, 3, 6 months, 1 year, all, or a range of days) with the total paid, the monthly average, a 12-month average and a monthly chart. The unbounded totals of the lists are gone. (#728, #714)
- The credentials stored for TeslaMate are encrypted with a key derived by Argon2id and a per-value salt. Existing values are rewritten at start-up; a release older than this one cannot read the rewritten values. (#720)
Improvements
- The energy, fleet, month detail, carpool and dashboard pages use the same figure cards and name the period they cover; savings keep their green tile and small cards keep readable labels on a phone. (#712, #713, #715, #717, #718)
- The drives list no longer presents page totals as the filter's, and drive cards are shorter on a phone. (#716)
- Lists open on a summary row, and tires and odometer open on their headline figures. (#714)
- The demo data includes a home place, a public fast charge and a second driver. (#726)
Bug fixes
- Charge costs computed from a tariff in another currency are left unknown instead of being stored under the vehicle's currency. (#722)
- The vehicle detail keeps its default driver, tariff plan and home-charger setting. (#721)
- Two browser tabs renewing the session at the same time no longer end it. (#723)
- Estimated electricity prices in local currencies are accepted instead of being capped at 5 or 10. (#724)
Documentation
Maintenance
Full Changelog: v1.46.3...v1.47.0
v1.46.3
A patch release that gives a drive one cost everywhere: the drive list, the Pro/Perso totals and the carpool now agree, and a later charge no longer rewrites the cost of earlier drives. The cost pop-ups, empty lists and period selectors also look the same across the app.
Improvements
- Same look for headline figures and totals. The vehicle comparison results use the shared figure card, the drive and carpool cost pop-ups share one total bar, every empty list shows a title, a sentence and an action, and the period presets read shortest first on every selector. (#708, #709, #710, #711)
Bug fixes
- A drive had two different costs. The drive list priced every drive at today's electricity rate, so recording a new charge changed the cost of drives made weeks earlier, while the carpool page kept the amounts saved at its last recalculation. Each drive is now priced with the rates in force when it ended (the price per kWh of the last charges before it, the tire and maintenance cost per km known by then), and the drive list, the cost by tag and the carpool give the same figure. A price entered later for a charge dated before a drive updates that drive; a charge dated after it does not. Costs per drive and per tag change once on upgrade, and drives from before your first priced charge show an unknown electricity rate instead of a price. Carpool trips keep their saved amounts until you press Recalculate. (#725)
Full Changelog: v1.46.2...v1.46.3