# Changelog of Cambridge Dictionary Scraper (`alvaraaz/cambridge-dictionary-actor`) Actor

- **URL**: https://apify.com/alvaraaz/cambridge-dictionary-actor/changelog.md
- **Full Actor documentation**: https://apify.com/alvaraaz/cambridge-dictionary-actor.md

## Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### \[2.0.0] - 2026-03-20

#### Changed

- **Input Format**: Changed from single word to array of words
  - Before: `{ "word": "bear" }`
  - After: `{ "words": [{ "url": "https://..." }] }`
- **Architecture**: Refactored to follow clean architecture patterns
  - Added `src/schemas/` for Zod validation
  - Added `src/constants/` for configuration
  - Added `src/utils/` for shared utilities
  - Removed `src/dtos/` (replaced by Zod schemas)
- **Concurrency**: Added parallel processing with configurable concurrency (max 5)
- **Validation**: Implemented Zod schema validation for input and output data
- **Dependencies**: Added `zod` for type-safe schema validation

#### Fixed

- Retry logic now uses proper exponential backoff
- Graceful abort handling with proper `Actor.exit()` call

### \[1.1.0] - 2026-03-19

#### Added

- Basic retry mechanism for failed network requests
- Graceful abort handling

#### Changed

- Updated to Apify SDK v3.5.2
- Improved logging with Apify log package

### \[1.0.0] - 2026-03-19

#### Added

- Initial release
- Single word lookup capability
- UK and US phonetic transcription
- Audio pronunciation URLs
- Definition extraction by part of speech
- Usage examples
- CEFR level indicators (A1-C2)
- Cheerio-based HTML parsing
- Bun.js runtime
