# Changelog of World Turf Pulse (`0xgollum/world-turf-pulse`) Actor

- **URL**: https://apify.com/0xgollum/world-turf-pulse/changelog.md
- **Full Actor documentation**: https://apify.com/0xgollum/world-turf-pulse.md

## Changelog

### 0.2.8 — Relative movement rule (09/09/2026)

**Added**

- **Outsider steamers are now caught.** The signal used to fire only on an
  absolute move of `movement_threshold_pct` implied-probability points, which
  is blind to the classic outsider steam: 50/1 → 20/1 is only +3 points but
  +150 %. A second rule now fires when the implied probability moves by at
  least `movement_relative_pct` (default 30 %) of its previous value; moves
  on 200/1+ shots are ignored as noise. Signal rows carry `trigger`
  (`absolute` | `relative`) and `relative_change_pct`. Set
  `movement_relative_pct: 0` to keep the old behaviour.

### 0.2.7 — Cold review (09/09/2026)

**Fixed**

- **The steamer was the row `max_results` cut.** Snapshots were emitted
  first; with the default cap (15) and up to nine markets × 15 races, a run
  with one genuine steamer delivered 15 snapshots and no signal. Signals now
  come first.
- **A market whose source failed lost its whole odds history** for the next
  run — with nine sources, one of them failing on a given run is common, and
  every such run reset that market's baseline to zero. Horses not seen this
  run are now carried forward for 12 h.

**Changed**

- History entries carry a `seen_at` timestamp; the pre-upgrade flat layout
  is still read for one run.

### 0.2.0 — 2026-08-28

**Reliability fix — every run now returns a result.**

- Racing has long dead windows (overnight, between meetings, off-season per
  country) where no race has open win odds yet, and on a quiet run nothing
  moves. Previously the Actor pushed nothing in those cases, which made the
  run look like a failure. It now returns a single lightweight `status` row
  with a clear message (*"No upcoming races with open win odds right now"* or
  *"Scanned N races — no significant odds movement right now"*) so every
  scheduled run comes back clean.

### 0.1.x — 2026-07 → 2026-08

- Multi-market horse-racing odds movement (steamers & drifters): JP, FR, UK,
  IE, US, AU, DE, ZA, NZ.
- Hardened input parsing and history storage so a bad optional input or a
  key-value store hiccup can no longer fail a run.
