# Changelog of US Building Permits Monitor: Daily Construction Leads by Trade (`optimistprime/us-building-permits-monitor`) Actor

- **URL**: https://apify.com/optimistprime/us-building-permits-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/optimistprime/us-building-permits-monitor.md

## Changelog

### 1.0.0 — 2026-10-05

- Initial public release.
- 9 jurisdictions (NYC, LA, SF, Seattle, Austin, Cincinnati, Baton Rouge, New Orleans, Montgomery County MD) via official Socrata SODA 2.1 open-data APIs.
- Chicago excluded from v1 (portal indemnity / mandatory disclaimer / stop-right).
- Trade tags (approximate keyword heuristics), valuation and ZIP filters, monitor mode (new + changed).
- Privacy-safe output: no owner/applicant/contractor person names, phones, licence numbers or contractor addresses.
- PPE: $0.0015/permit (FREE), start $0.002, min max charge $0.02.

### 1.0.4 — 2026-10-05

- Always cast valuation filters with `::number` (NYC text-typed costs).
- Monitor first run primes with `max(issuedWithinDays, lookbackDays)` so lookback expansion does not flood run 2.
- Ready-to-run examples section.

### Console prefill cap (2026-10-05)

- Input: `maxItems` Console prefill lowered so a first one-click run from the Store costs at most $0.02 including the start fee. The default for API callers who omit `maxItems` is unchanged. No code or pricing changes.

### 1.0.7 (2026-10-13)

- Monitor: new input `firstRunLookbackDays` (default 3): the first run of a new monitorId loads only that many days instead of the full lookback.
- Monitor: later runs return only permits new since the previous run; `lookbackDays` still catches late-published permits but never reaches back before the monitor's first run (per-source cursor in the monitor state).
- Monitor: a run capped by `maxItems` or the spend limit resumes next run from the next permit not yet returned. Already-returned permits never count toward the cap and are never charged twice.
- Capped runs end with "Returned X of Y\[+] new permits. Raise maxItems or your spend limit." (normal mode: "matching permits"); "+" is dropped only when every source was read to the end.
- Pricing, sources (Chicago still excluded) and privacy filters unchanged.

### 1.0.8 (2026-10-13)

- Capped runs (`maxItems`) now take rows round-robin across cities, newest first within each city, so an all-city run returns a mix of cities. Uncapped runs are still sorted newest first.
- Monitor resume from 1.0.7 unchanged: permits not returned because of the cap come on the next run; nothing is skipped or charged twice.
