# Changelog of Walmart Scraper: Products, Prices, Sellers (`automation_craft/walmart-scraper`) Actor

- **URL**: https://apify.com/automation_craft/walmart-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/automation_craft/walmart-scraper.md

## Changelog

### 0.1 (2026-10-31)

- First release: Walmart products from walmart.com, walmart.ca and walmart.com.mx by category id or link, brand page, Walmart's
  keyword landing pages, department, shelf and home pages, product links and product ids; Walmart's sorts, price, brand, other
  and in store filters on walmart.com listing pages; depth past Walmart's 10 pages in price bands; the location Walmart priced each
  row at; Product details, Reviews and Seller profile add-ons; free status, coverage, filter options and summary rows.
- Build 0.1.2: the code of the Codex gate's closing PASS (round 18, commit 52fe058): every listing page read once as served; review
  statuses from one rule at the end; review rows written before their product row; the seller profile on every row of the seller,
  charged once per seller per run (`sellerProfileCharged`); misses and inputs not walked listed by position on one free row per reason.
- Build 0.1.3 (after the independent audit): seller rows from seller links and ids (`sellerIds`), one Seller profile charge per seller
  per run across seller rows and the add-on; every other seller's offer of a product in Product details (`details.otherOffers`); the
  products view shows the seller instead of the brand.
- Build 0.1.4 (after a health run of the real actor failed on a first request with no answer for 35 s): one 15 s header deadline on
  every attempt, a stall retried at once on a fresh exit, HTTP/1.1 through one connection per attempt that is closed whatever ends the
  attempt, the caller's own proxy links as http:// only. Codex gate closing PASS at round 27 (commit 7547581).
- Build 0.1.5 (after the real actor's margin run m6 m-reviews-1000 delivered 200 of 1,000 reviews: a product's review rows were held until
  its product row, so the add-on pot's base alone paid its review pages): review rows are written and billed page by page as they are read,
  each before its product row, and credit the add-on pot only once the platform confirmed them; memory holds one review page per read.
  The charge limit leaves room for every product row in progress and the details it holds. Regression tests `live_m6_reviews.test.js`,
  `codex_round28.test.js`. README: Walmart's page now and then counts other offers without listing them (`otherOffers` empty for that read).
  Then (Codex round 29): the add-on pot admits on confirmed credit only (no pending credit of the groups in hand, no lend of a row's details
  to its seller read), and a review page's lease books the writes of the reviews its read still wants, drawn when the page is settled;
  regression tests `codex_round29.test.js`. On a single product page slower than about 15 s a listing row's seller profile can now be left
  off (`not_read_unpaid_work`); pages of the measured size read every add-on (the allowance mirror tests).
  Then (step back before Codex round 31): a review page's rows are booked with its first attempt's request and drawn once (a retry books
  only its request), a page keeps at most the rows booked for it, and every add-on refusal waits for a delivery already running;
  regression tests `codex_round30.test.js`.
  Then (Codex round 32): the add-on gate schedules each candidate's add-on reads behind the sets already started, so concurrent rows with
  details and reviews no longer leave reviews off before the first confirmation; regression test `codex_round32.test.js`.
  Then (Codex round 33): review row keys are held only while their product's read is open (none in the run wide set, a restart keeps the
  stored review keys only of products whose own row is not stored); 1,000,000 reviews in one run under the 180 MB heap; regression tests
  `codex_round33.test.js`.
