What changed on this site, when, and why. Newest first; the entries below come from the repository's own change log, not from a marketing calendar.
Pages are rebuilt from the generator, so a change here means a change to the code or the data behind it. For the sources each page is checked against, see the methodology page; to report a wrong fact, see corrections.
— Provenance pages, a verification line and a named author
Added /examples/vin-decode/: three public VINs sent to the NHTSA vPIC API, with the responses archived.
Every content page now carries a dated "Last verified" line with its sources and a link to report an error; guides carry the line "By Shangyi Duan · Reviewed against …", naming the source that page is checked against.
Rewrote /about/ around who runs the site, how the data works and what it cannot do; the footer now links Methodology, Changelog and Contact.
Why: A reader could see a number but not where it came from, when it was checked, or who was accountable for it.
The page now states that most ranking results are not plate lookups at all, and names the three kinds of site that rank.
The unit test was updated to 30 rows.
Why: Twelve sites were too small a sample to describe a results page that mixes plate lookups, VIN-first report sellers and people-search sites.
— Temporary tags by state, and a mixed-character format fix
Added /temporary-tags/ and pages for Texas, California, Florida, New York and Pennsylvania, each with validity, renewal, issuer, printed fields, verification steps and a "what we could not verify" section.
Patterns for the mixed-character states (NV, OR, CO, UT, NE, NJ) now exclude I, O and Q, so a string such as IIIIIII no longer matches; the tool also explains why when the input contains them.
Texas issuer text now records the verified HB 718 detail: from 1 July 2025 dealers issue metal plates at sale, and county offices issue temporary registration metal plates for 30-Day and One-Trip permits.
Why: Temporary-tag rules differ by state and were the question the single temporary-tag page could not answer.
— Plate formats, the DPPA tool and a rewritten homepage
Published /plate-format/ and 18 state format pages, and /dppa/ with the 14 permitted uses in plain language.
Added formats.py (the per-state patterns used by the pages and the validator) and the client-side format check for 18 states.
Rewrote the homepage and the plate tool so they no longer imply that a free lookup returns a vehicle record; a format check now says what it is.
Sitemap 36 → 56 URLs; 20 URLs added to the URL lock, none renamed or removed.
Why: The site was implying that a plate lookup returns a vehicle record. It does not: a plate gives a state and a pattern, and the record needs a licensed provider.
Two node:test cases added: per-page SEO, JSON-LD, sitemap and URL-lock assertions, and cross-link assertions.
Three URLs added to the lock; no existing URL, title, H1 or redirect changed.
Why: Readers asked which fields are actually free, why a lookup returns nothing, and what the DPPA permits — three questions the existing pages only half answered.
What has not changed
No URL has been renamed or removed since the URL lock was created; new pages are appended. The plate tool still runs in the browser and the site still does not provide owner names, addresses or any DPPA-protected personal information. Back to the plate lookup or about this site.