# Changelog of ASDA UK Product & Price Scraper (`dromb/asda-uk-product-price-availability`) Actor

- **URL**: https://apify.com/dromb/asda-uk-product-price-availability/changelog.md
- **Full Actor documentation**: https://apify.com/dromb/asda-uk-product-price-availability.md

## Changelog

### 1.5 — Legacy alias default-injection repair

- Removed Console schema defaults from public fields that alias legacy API fields: `productId`, `productIds`, `storeId`, `limit`, and `page`.
- Prevented Apify from injecting public defaults that conflict with explicitly supplied `cin`, `cins`, `commerceStoreId`, `maxItems`, or `pageStart` values.
- Preserved examples and all runtime defaults, including the empty-input public search workflow.

### 1.4 — Legacy API default-injection repair

- Removed the Console-level default from `operation` so Apify does not inject `operation=search` into legacy `task` API calls.
- Preserved the runtime default: an empty input still resolves to public search for `milk` with a limit of 8.
- Preserved all public operations, legacy aliases, schemas, output fields, Dataset views, and source behavior.

### 1.3 — Apify editor compatibility repair

- Changed only the enumerated legacy `task` Console field from the unsupported `hidden` editor to the platform-compatible `select` editor.
- Added buyer-readable legacy enum titles and a clearly separated compatibility section.
- Preserved all runtime behavior, legacy aliases, schemas, Dataset views, and customer output contracts.

### 1.2 — Apify schema compatibility repair (private candidate)

- Removed unsupported conditional and composition keywords from the Apify Console input schema while preserving strict operation-specific and proxy validation in the runtime contract and internal input schema.
- Removed the embedded `latest` build tag from the Actor definition; private builds must select their tag explicitly through the build request.
- Added Output-tab links for all five Dataset views.
- Typed the legacy-compatible Dataset `label` field as a nullable string.
- Added Apify-specific schema-dialect regression coverage without changing scraping, request, normalization, service, or business runtime logic.

### 1.1 — Coles-style customer contract (local candidate)

- Added a buyer-facing `operation` selector: `search`, `product`, `products`, `category`, `shelf`, and `suggestions`.
- Preserved all legacy `task`, `cin`, `cins`, `commerceStoreId`, `maxItems`, and `pageStart` API inputs as hidden aliases.
- Reduced the public default from 20 to 8 rows while preserving the 20-row default for legacy task calls.
- Added flat export-friendly product fields without removing the original nested v1 contract.
- Added `recordType` while retaining legacy `rowType`.
- Added Products, Pricing & availability, Taxonomy, Suggestions & issues, and Legacy details Dataset views.
- Added concise customer-facing issue status and timestamps while retaining legacy diagnostics.
- Rewrote README and Store copy around buyer workflows, output semantics, pricing, and honest feature boundaries.
- Explicitly withheld full specials, store locator, postcode mapping, product URL, image URL, and barcode claims until separately proven.

### 1.0 — 2026-07-26

- Released six bounded retrieval tasks: keyword search, category, shelf, exact CIN, CIN batch, and query suggestions.
- Added regional price and promotion selection for England, Scotland, Wales, and Northern Ireland.
- Added manual store-scoped availability with hard in-stock filtering.
- Added normalized prices, unit prices, promotions, taxonomy, ratings, identifiers, availability, provenance, and warnings.
- Added deterministic pagination, deduplication, bounded retries, repeated-page detection, and structured source failures.
- Added Actor input, Dataset, output schemas, buyer documentation, and a non-branded Store icon.
- Updated the production runtime to Apify Python SDK 4 with current Requests and JSON Schema compatibility floors.
- Added the standard Python package entrypoint required by current `apify run` auto-detection.
- Prevented the search-query UI default from narrowing category, shelf, exact-CIN, or batch tasks.
- Prevented credential-bearing proxy URLs from appearing in structured network errors.

This Actor is independent and unofficial. It is not affiliated with or endorsed by ASDA.
