# Changelog of 104 Taiwan Jobs (`stone_jadex/job104-taiwan-jobs`) Actor

- **URL**: https://apify.com/stone_jadex/job104-taiwan-jobs/changelog.md
- **Full Actor documentation**: https://apify.com/stone_jadex/job104-taiwan-jobs.md

## Changelog

### Unreleased

- Split capped searches using all eight area roots × eighteen job categories,
  recursively refining sub-areas/sub-categories when total exceeds pagination
  capacity. Deduplicate by jobNo and log per-slice and global dedupe totals.
- Add coverage for capacity boundaries, 4,000-job sliced runs, differing URL
  codes for one jobNo, final-page stopping and maxItems within a slice.
- Save each list page in one deduplicated array push, bounded by remaining
  maxItems; account for SDK budget trimming and per-item charges, and retain
  completed detail results when a later request fails or reaches the deadline.
- Log list HTTP status, response bytes, elapsed time and gap waits, with final
  summaries and separate save/page timings.
- Wait only the remaining one-second request start gap, including retries;
  cache robots rules and warn once per run.
- Stop 15 seconds before the Actor deadline, abort pending target requests,
  retain saved items and persist run counters on clean exit.
- Add regression coverage for slow responses and graceful deadline shutdown.

### 1.0.0 — 2026-10-14

- Initial Node.js ESM Actor for public 104 listings and optional details/contacts.
- Serial 1/s requests, capped-query splitting, global deduplication and bounded retries.
- Input/dataset schemas, 128 MB default, Docker build, fixtures and automated tests.
- Temporary `job` pay-per-event integration without setting prices.
