# Expense changelog

What changed in the app, newest first, grouped by date. Each entry is something a person using the app can see or do: a capability that did not exist, a fix for something that was wrong, a change to something that already worked. The same list is published as markdown at /changelog.md, so a model reading this site can see what changed and when.

Entries are typed: New for a capability that did not exist, Improved for a change to something that already worked, Fixed for a defect that was corrected. The oldest group is a summary of the nine days of building that followed the first commit on 2026-07-30.

## 2026-09-23

- **Fixed:** Pressing ? now shows the G E keycap above the logo, the control that goes back to the expenses page.
- **Fixed:** A file can be dropped anywhere on the page, not only over the content area: dropping in the margins used to hand it to the browser instead.
- **Improved:** The warranty editor saves with Cmd+Enter and leaves with Escape, like the expense editors, and its Delete button asks first in the same dialog.
- **New:** The home page plays a short demo of the app filing a receipt: the drop, the fields read from the PDF, and the expense on the list.
- **New:** The new Warranties page tracks expiry dates, reads warranty terms from uploaded receipts and PDFs, and reminds you before coverage ends.
- **New:** Warranty terms prefill from a curated merchant policy when the merchant matches, and the prefilled terms stay editable.
- **Fixed:** Merchant warranty and return policy details were corrected, including the Costco return windows and Mattress Firm claims.

## 2026-09-22

- **New:** Confirmation emails show the receipt image inline, so you can check the scan without opening an attachment.

## 2026-09-20

- **New:** The Email page lets you turn off a sender for your workspace without deleting the shared rule, and restore it later.
- **New:** You are emailed when a connected mailbox needs reconnecting because its login stopped working.
- **Fixed:** Emails stranded by a crashed import are retried instead of being left behind.

## 2026-09-18

- **New:** You can connect any JMAP mail server as a receipt source, not only Gmail and FastMail.

## 2026-09-17

- **New:** Insights adds a money checkup of year-to-date findings linked to the rows behind them, and charts for totals, categories and top merchants.
- **New:** The alternatives comparison now says whether each competing app imports receipts from a mailbox, with a source for each claim.
- **New:** A new product facts page covers capture methods, Schedule C lines and pricing.
- **Fixed:** Closing or reopening a report from the Reports page now updates the report you clicked.

## 2026-09-15

- **New:** A support page at /support gives you one address to write to, and what to include.

## 2026-09-14

- **New:** Insights questions can be stopped mid-answer with a Stop button, and the ask box grows to fit questions of up to five lines.
- **New:** Settings lets you change your sign-in email, change your password and close your account.

## 2026-09-13

- **Fixed:** Email connections whose receipt catch-up fails are now flagged in Settings as needing attention.

## 2026-09-12

- **Improved:** Bank statements can be dropped anywhere on the reconcile page, not just the upload box, and it takes CSV and PDF files.
- **Improved:** Expense lists, expense details and receipt images all load faster.
- **Fixed:** Insight totals and breakdowns are summed to the cent, and a receipt captured twice is reported as a duplicate.

## 2026-09-11

- **New:** The Insights chat can log a purchase or a drive you describe: it prices the trip and files the amount and currency you confirm.
- **New:** Mileage trips now default to one way with a round trip option, and you can save named places in Settings to reuse as trip stops.
- **Fixed:** Changing your password now signs out your other sessions and revokes access for connected apps.

## 2026-09-10

- **New:** Insights understands plain time ranges such as this month or last quarter and sizes the chart and totals to them.
- **New:** Expense search accepts after: and before: dates, or since: and until:, to filter by a date range.
- **Improved:** Follow-up questions in Insights can be narrowed by date, category, report, type, or merchant.
- **Fixed:** Insights answers now know today's date, so questions about now give the right answer.

## 2026-09-09

- **Fixed:** The Insights ask box clears after each question, and Enter while an answer is in flight no longer resubmits it.

## 2026-09-08

- **New:** The Insights ask box is now a conversation: each question joins a transcript and is answered from your own totals.
- **Fixed:** Asking Insights about AI spending no longer pulls in hosting and other infrastructure.

## 2026-09-07

- **New:** A new Insights page charts your expenses over time, lists the matches in a table, and takes a filter you can type in plain English.
- **New:** Search takes bare amount comparisons and ranges, so >100, <=50 or amount:100-110 narrow the list on the home page and in Insights.
- **New:** Search knows shorthand (from:, store:, cat:, in:) and everyday words (food, gas), and completes values as you type.

## 2026-09-05

- **New:** Settings has an Emails section where you can unsubscribe, and every marketing email carries a one-click unsubscribe link.

## 2026-09-04

- **Improved:** The app, marketing pages and sign-in screens share a new palette: warm paper in light mode and green-tinted graphite in dark mode.
- **Fixed:** Receipts forwarded from a verified address or redirected inside Fastmail are now imported instead of rejected as unverified.

## 2026-09-03

- **New:** Gmail and Google Workspace can be connected as a mailbox, so Expense pulls receipts from Gmail the way it does from Fastmail.
- **Fixed:** The landing page no longer crashes in browsers that block cookies.

## 2026-09-02

- **New:** A /schedule-c-categories page explains each IRS Schedule C expense line in plain language.
- **New:** A /mileage-rates page lists the IRS standard rates for business, medical, moving, and charitable driving.
- **Fixed:** Timestamps in email review, reconcile, settings, and the email list now show your local timezone.
- **Fixed:** Forms and the home navigation fit small screens instead of overflowing.

## 2026-09-01

- **New:** A /connect page walks you through connecting an MCP client, with per-client steps and copy buttons.
- **New:** You can rotate a receipt left or right in the editor, and the rotation is saved.
- **Fixed:** The previous/next buttons in the expense editor now follow the same order as the main expense list.

## 2026-08-31

- **New:** In-page browser agents can read expenses, expense summaries, and reports from the app.
- **Fixed:** Report PDF exports no longer fail when the report name contains non-ASCII characters.

## 2026-08-30

- **New:** Connecting FastMail no longer means pasting an API token: you sign in with FastMail instead.
- **Fixed:** Receipt confirmation emails are sent again for FastMail accounts.

## 2026-08-29

- **New:** The landing page shows how many of the first 100 free accounts have been taken.

## 2026-08-28

- **New:** Foreign-currency receipts convert to USD at the ECB reference rate for the expense date, keeping the original amount and rate.

## 2026-08-27

- **New:** Expense search filters on report:, category:, merchant:, and description:, suggests known values, and shows an exact total.
- **Improved:** Email review scans the last 90 days of your inbox instead of the 50 most recent messages.
- **Improved:** Bank notification emails no longer land in auto-import, but charge alerts stay available in inbox review.
- **Fixed:** A receipt you import twice, by any route, no longer becomes a second expense, and a failed import retries once.

## 2026-08-26

- **New:** Bank charge alerts that an imported receipt already covers are skipped on the email review page and listed for reference.
- **Fixed:** Exporting a report as PDF no longer fails.

## 2026-08-24

- **New:** Confirmation emails include the original receipt: the body text quoted, or the image or PDF under its original filename.

## 2026-08-23

- **Fixed:** Receipts that arrive by email keep the sender's local date instead of moving to the next day.

## 2026-08-22

- **New:** A Cmd+K command palette adds keyboard navigation, expense search, new-expense shortcuts, and report PDF export.

## 2026-08-21

- **New:** Sign-up now offers a Connect FastMail button that skips the verification email, and there is a password reset flow.
- **New:** A new email review page lists receipt-like emails from a connected mailbox, so each one can be turned into an expense or ignored.
- **Improved:** Apple receipts now name the app or subscription plan in the expense.

## 2026-08-20

- **New:** PDF bills with a text layer in a connected mailbox are imported automatically instead of being skipped.
- **Improved:** Recurring billers such as Shopify, Conservice, Spectrum, and Verizon are recognized as receipts out of the box.
- **Fixed:** Date defaults and the future-date check now use your local day.
- **Fixed:** Inbox scanning no longer stops at a batch of already-seen emails, so newer bills behind them are imported.

## 2026-08-19

- **New:** Connecting a FastMail account imports its receipts automatically, moves them to Trash, and sends you a confirmation email.
- **Improved:** Expense descriptions from email receipts now include the receipt number, so you can tell which email it came from.
- **Improved:** Expenses imported from a connected mailbox are parsed locally, without sending your mail to an LLM.

## 2026-08-17

- **New:** Forwarding a receipt and getting the reply now use one address, receipts@labnotes.org, and replies are sent from the app's mailbox.
- **New:** Emailed receipts are picked up the moment they arrive instead of on a scheduled check.
- **Fixed:** A confirmation reply that fails to send is retried once, so senders don't re-forward the receipt and duplicate the expense.

## 2026-08-16

- **New:** The confirmation reply for an emailed receipt now includes the receipt image and the description read from it.

## 2026-08-15

- **New:** Expenses can be dated in the future, on the web editor and through MCP.
- **Improved:** Signing in locks for 15 minutes after five failed attempts.
- **Fixed:** An expense with only a receipt image is no longer counted as complete, and mileage expenses now need a category.

## 2026-08-14

- **New:** The expense list shows each expense's description, not just its date and distance.
- **New:** You can drop a receipt file on the expense editor to replace the image and re-read its fields.

## 2026-08-13

- **Fixed:** Excel bank statements whose date column uses real date formatting now import instead of skipping those rows.

## 2026-08-12

- **New:** Emailing or forwarding a receipt now gets a confirmation reply naming the amount and report, with the report's new count and total.

## 2026-08-11

- **New:** The Reports page lists open and closed reports with their counts and totals, and you can add, rename, close, reopen and delete them.
- **New:** Expenses in a closed report are read-only, with the editor fields disabled and the Save button hidden.

## 2026-08-10

- **New:** The app follows your system dark mode setting, including the marketing pages and the map.
- **Fixed:** The app no longer answers messages from its own inbound address, which caused an endless email reply loop.

## 2026-08-08

- **New:** Receipts arrive as a photo, a dragged file or a PDF, with the merchant, amount and category read from the image.
- **New:** Forward a receipt email to your own address and it becomes an expense, once the sender confirms a verification link.
- **New:** Accounts with signup, invite-code joining and isolated data; signing in requires confirming your email first.
- **New:** Mileage trips are mapped stop to stop, priced at the IRS rate for the drive's date and type, and drawn on a map in the report PDF.
- **New:** Reports hold the year's expenses and export as a PDF with the receipts attached or a ZIP with the images and CSV.
- **New:** Reconcile matches an uploaded card statement (CSV, Excel, QuickBooks, OFX/QFX, PDF) against the expenses you logged.
- **New:** Assistants connect over MCP to capture receipts, log mileage, read expenses and build reports.
- **New:** The expense list searches by merchant, description, category, amount or mileage address, and flags possible duplicates.
- **Improved:** The app works with a keyboard or a screen reader: landmarks, labeled sections, focus held in dialogs, announced messages.

Expense (https://expense.labnotes.org) is an expense tracker for individuals filing taxes: receipts arrive by photo, screenshot, pasted image, PDF or forwarded email and are read with OCR, categories come from the IRS Schedule C lines, mileage is priced at the IRS rate for the drive date and type, a bank statement reconciles against what was logged, a year exports as a PDF per report or a ZIP with everything, warranty documents become records grouped by what is still covered, and an assistant connects over MCP at https://expense.labnotes.org/mcp. This file lists what changed in the app, with the date of each release. Questions go to assaf@labnotes.org.

[Create a free account](https://expense.labnotes.org/login?mode=create).
