What's new
Every released version of the report, newest first. Corrections to the numbers are listed here the same as new features, because a figure you may already have acted on changing is the thing you most need to see.
2.2.0
Added
- Reports now show what the neighbors are taxed on: a small table of nearby parcels' assessed values and assessed dollars per square foot, framed as a Prop 13 tax-basis comparison. Two identical houses on one block can be taxed on figures that differ several times over purely because of when each last changed hands, and that gap is what your own bill closes when you buy. It is deliberately not a valuation comparison: the county parcel data publishes no sale prices at all. Each row shows its measured distance from your parcel, because assessor parcel numbers do not reliably run along a street (#127).
- An Expected close date field on the generator. Leave it blank and the report assumes the first of next month, as before. Fill it in and the supplemental tax forecast is split across the fiscal years you will actually own the home in, which matters most if you close near the end of a fiscal year (#128).
- A line under the address field saying what the report actually pulls: Mello-Roos, surprise supplemental taxes, and the hazard designations most listings never mention (#118).
- A What's new page at
/changelog, so you can see what changed between releases and, in particular, which figures were corrected (#131). - Community guides for Bonita, Lakeside, Alpine, Rancho San Diego and Poway.
Fixed
- Supplemental tax bills are now described as arriving 6-9 months after closing, not 3-9. The county issues the supplemental only after the reassessment is processed, which rarely lands inside a quarter. The claim now carries a dated source in the report's receipts.
- The report no longer tells you to "pass
--close-date" to refine the assumed closing date. That is a command-line flag, so the instruction pointed at something a reader of the website could not do. It now explains what the assumption changes, and the new Expected close date field on the generator gives you a way to set it. - Source footnote numbers no longer run into the word before them anywhere in the report. Copied or read aloud, "Supplemental forecast" had been coming out as "Supplemental forecast3" and "Zone AE" as "Zone AE1".
- The sample report at
/samplewas regenerated. It had been serving the pre-correction copy.
Security
nanoidbumped 3.3.16 to 3.3.18 to clear the dependency audit gate (#133).
2.1.0
The state that shipped as "landing v2.1", adopted as the semver anchor. See docs/versioning.md for why numbering starts here.
Added
- Report history: every report you generate is findable again by address.
- Google consent management, including a consent-withdrawal control.
Fixed
- The engine no longer produces a confident report for an address outside San Diego County. An out-of-coverage address returns an honest error rather than a neighbouring parcel's facts presented as verified.
- A lone leading five-digit house number is no longer mistaken for a ZIP code when deciding whether an address is in coverage.
- Save-to-compare confirmations reflect what was actually saved.
Security
- Per-IP throttling on the address-suggest endpoint, with a regression test pinning it.