# Changelog of Bulk URL Status and Redirect Chain Checker API (`rowcraft/url-status-redirect-checker`) Actor

- **URL**: https://apify.com/rowcraft/url-status-redirect-checker/changelog.md
- **Full Actor documentation**: https://apify.com/rowcraft/url-status-redirect-checker.md

## Changelog

### 1.0.3 (2026-10-17)

- README: the Use cases section links the two public examples kept on the Store (Apify allows 100 public tasks per account; the third example stays available as a private task spec).

### 1.0.2 (2026-10-17)

- README: the list of other Rowcraft actors now includes the five website and extension tools published on 16.10.2026.
- Shared library: URL-like fields named link or guid (feed items) are no longer flagged as phone numbers; retry log line now reads "retry n/m".
- Shared library: an HTML page where JSON was expected (maintenance or block page, seen on 17.10.2026 at the Polish KRS API and at Workday) is retried and then reported with the page text instead of crashing the run on a parse error.

### 1.0.1 (2026-10-14)

- README: real screenshots of the input form and of a results table from Apify Console.

### 1.0.0 (2026-10-14)

- First release: the HTTP status and the full redirect chain of every URL in a list. Each URL is checked hop by hop (HEAD with a GET fallback, or GET), with DNS and the robots.txt of every host on the way checked first.
- One row per URL: final status code and text, final address, `redirectChain` with the status code, target and type of every hop (301, 302, 303, 307, 308, meta refresh), redirect loop flag, https upgrade, www change and trailing slash change, time to the first byte, content type and length, server, cache control, HSTS, X-Robots-Tag, canonical (page tag or Link header) with a match flag, meta robots, page title and the check time.
- A dead address (no DNS, refused, timeout, TLS failure) or a 404 is a result and a row, with an `error` code: `dns_error`, `timeout`, `tls_error`, `connection_refused`, `connection_error`, `redirect_loop`, `too_many_redirects`, `invalid_redirect`, `private_address`, `request_error`.
- `COVERAGE` lists the URLs that were not delivered (blocked, robots_disallowed, robots_unavailable, private_address, invalid, not_checked); anti-bot pages, 403 and 429 answers, robots.txt refusals, invalid entries, duplicates, `mailto:` and `tel:` links and unchanged URLs are never charged. After three anti-bot answers from one host its other URLs are not requested; ten blocked URLs in a row stop the run.
- Standard Rowcraft automation: `onlyNew` and `stateName` (a URL is delivered again only when its status, final address, chain or error changed), end-of-run notification (`notifyUrl`), charge cap respected, stop with the summary saved 90 seconds before the run timeout, one request per host and second by default (minimum 250 ms), up to five hosts at once, rows in the order of the list.
