# Changelog of Federal Contract Recompete Radar (Unofficial) (`saiberops/federal-contract-recompete-radar`) Actor

- **URL**: https://apify.com/saiberops/federal-contract-recompete-radar/changelog.md
- **Full Actor documentation**: https://apify.com/saiberops/federal-contract-recompete-radar.md

## Changelog

### 1.0 review fixes (2026-10-25, before first release)

- Contracts whose recipient name looks like a person's (no business word such as LLC, Inc, Corp, Co or Services) are dropped and not charged; the run summary counts them.
- Descriptions that look like they name a person (case captions, honorifics, IPA, personal-services, tuition, employee, witness or fellowship awards) are blanked; new `descriptionSuppressed` field. Phone removal no longer touches contract numbers.
- Max cost: each row's full cost (contract plus its possible incumbent-history entries) is checked before the history lookup, so the run stops cleanly instead of part-way through a row; only rows actually saved are counted and remembered by "only contracts not returned before".
- "Only contracts not returned before" now re-lists a contract whose end date changed (for example, an extension). Cursors from earlier runs keep working.
- If USAspending refuses the end-date search, the run fails with a clear message and no charge instead of returning nothing; temporary 5xx errors are retried with backoff. Next pages use the keyset USAspending reports.
- A 403/429 part-way through keeps the contracts already returned (and charged), saves the cursor and ends with a summary.
- Incumbent history amounts rounded to cents; a past "End date to" is ignored with a warning; rows without an award link are skipped.

### 1.0 (2026-10-24)

- First release: federal contracts whose current period of performance ends in a chosen window, from the USAspending.gov API v2. NAICS, PSC, agency, place-of-performance state, set-aside, extent-competed, contract-type, value and keyword filters; competition and vehicle details per contract; "only contracts not returned before" cursor; optional incumbent award history add-on. Charged per returned contract; filtered-out contracts and failed runs are free.
