# Changelog of UFCStats Scraper | Fight & Round Statistics (`danthedataman/ufcstats-fight-round-stats`) Actor

- **URL**: https://apify.com/danthedataman/ufcstats-fight-round-stats/changelog.md
- **Full Actor documentation**: https://apify.com/danthedataman/ufcstats-fight-round-stats.md

## Changelog

### Unreleased

- Shorten `eventUrls` help text to 500 characters or fewer, keeping its empty-input and charge statements. Prefills are unchanged.

### Released updates

- 2026-10-07: Refresh public listing and README copy in a docs-only rebuild; preserve runtime, schemas, prefills and pricing.

### 0.1 — 2026-09-13

First release: public UFCStats fight pages as flat typed dataset rows, one row
per fight, fighter and round.

#### What it does

- **One row per (fight, fighter, round)**, plus one optional fight-level
  `scope: "total"` row per fighter, with 45 typed columns. A value the source
  does not carry is `null`; `0` appears only where the page prints a genuine
  zero, so `0 of 0` stays `0` and `---` stays `null`.
- **Two ways to name targets.** Put an `event-details` URL or a bare 16-hex
  event id in `eventUrls` and every fight the card lists becomes a target, in
  the card's own order; or name fights directly in `fightUrls`, in which case
  the event card each one is listed on is read once per event so that
  `eventDate` and `eventLocation` are joined on rather than invented.
- **Raw counts only.** Landed and attempted counts are emitted as the page
  prints them; the percentages the page computes from them are read and
  dropped rather than re-derived.
- **Every outcome is named.** A target that produces no rows is recorded in the
  run's `ERRORS` record with its own class and a safe reason, never as a
  dataset row, and a malformed input is reported by field name before any
  request is made.
