# Changelog of CFTC Commitments of Traders (COT) Report Scraper (`devilscrapes/cftc-commitments-of-traders-scraper`) Actor

- **URL**: https://apify.com/devilscrapes/cftc-commitments-of-traders-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/devilscrapes/cftc-commitments-of-traders-scraper.md

## CFTC Commitments of Traders (COT) Report Scraper — Changelog

### 0.1 — 2026-09-24

Fixes for defects found from today's real cloud runs:

- **Sort order.** Every page request now sends `$order=report_date_as_yyyy_mm_dd
  DESC, id DESC`. Previously, a `maxResults` cap smaller than the date window
  silently returned the OLDEST reports in range instead of the most recent one.
- **Disaggregated / TFF position fields.** Those two report-type families don't
  use the Legacy dataset's `noncomm_`/`comm_` column names, so every position
  field came back null for 4 of the 6 report types while customers were billed
  per row. Added explicitly named `ResultRow` fields per family (producer-
  merchant/swap-dealer/managed-money for Disaggregated; dealer/asset-manager/
  leveraged-funds for TFF) mapped from the real Socrata columns.
- **`pct_of_open_interest_all` dropped.** It always read `100.0` — the all-OI
  row, not a meaningful percentage — and has been removed from the output
  contract and README rather than ship a misleading constant.
- **README/CHANGELOG accuracy.** Fixed the README's example `commodity_name`
  (was `WHEAT-SRW`, the market name; the real `commodity_name` value is
  `WHEAT`). This changelog no longer describes `src/scraper.py` as a
  placeholder stub — it's been a real Socrata client since 0.1.0's actual
  implementation.

### 0.1.0 — 2026-09-22

- Initial scaffolded release.
