# Changelog of nexxt-change German Businesses for Sale Scraper (`webdesigndetail/nexxt-change-company-extractor`) Actor

- **URL**: https://apify.com/webdesigndetail/nexxt-change-company-extractor/changelog.md
- **Full Actor documentation**: https://apify.com/webdesigndetail/nexxt-change-company-extractor.md

### 1.0 — 2026-08-24

- Added user-controlled nexxt-change sales-offer search criteria.
- Added robust pagination by following the live server-rendered **Weiter** link.
- Restored the live page link's unescaped `&gtp=` separator after HTML parsing so page 2 receives the exact dynamic token instead of a malformed `>p=` parameter.
- Added deterministic detail parsing and flat Apify dataset output.
- Added retries, sequential requests, a one-second minimum delay, and run limits.
- Retried HTTP 408/429/500–504 responses and truncated response bodies up to five total attempts with visible exponential-backoff logs.
- Preserved records from completed pages when a later search page remains unavailable, and exposed typed `searchPageFailures` plus `isPartial` in `RUN_SUMMARY`.
- Added a regression test for the full browser-style page-2 URL, including dynamic form identifiers, hidden time token, hierarchy filters, and the double-encoded `gtp` value.
- Added Actor input, output, and dataset schemas for public Store release.
- Required source attribution fields in the dataset schema and exposed third-party images as links instead of embedding them in the Store table.
- Added Terms of Service, Privacy Notice, release checklist, and minimal regression tests.
- Added a hash-locked dependency set and GitHub build-validation workflow.
- Added an explicit manual, production-environment-gated GitHub Actions path for deploying an accepted `main` commit to the `latest` build tag.
- Made the production container explicitly run as the non-root `myuser` account.
- Added copy-ready Store display, SEO, pricing, category, support, and logo assets.
- Switched the Actor unique name and Store title to brand-neutral wording while retaining a prominent unofficial/no-affiliation disclosure.
- Capped public runs at 1,000 listings and 100 search pages to keep the simple, non-checkpointed crawler bounded.
- Persisted partial `RUN_SUMMARY` statistics when a crawl exits with an error or is gracefully interrupted.
- Deliberately excluded AI, database, notification, browser, and exposé-download features.
