# Changelog of Xing Jobs Scraper - DACH Job Listings & Salaries (`haketa/xing-jobs-scraper`) Actor

- **URL**: https://apify.com/haketa/xing-jobs-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/haketa/xing-jobs-scraper.md

## Changelog

### 1.0.0 — 2026-11-01

- **Verified live:** fresh run for `software engineer` across all of DACH returned **450 unique job listings in ~98 seconds with 0 duplicates**. Core-field coverage: `jobTitle`, `company`, `location`, `jobUrl`, `isUrgent` = **100%**, `employmentType` = **98.9%**, `jobId` = **93.3%** (missing only on externally-aggregated listings), `salary` + parsed `salaryMin`/`salaryMax` = **~86%** (shown only where the employer publishes a range).
- **Fixed `postedDate` truncation bug:** the German recency parser used ordered alternation that matched the shorter singular first, so `Vor 2 Tagen` was stored as `Vor 2 Tag` and `Vor 11 Stunden` as `Vor 11 Stunde`. Reordered the pattern (plural forms first) and added an inflection-safe suffix so the full posting-date text is now captured correctly.
- **Confirmed pagination & de-duplication** walk Xing's ~20-jobs-per-page search end to end and key every record by its Xing `jobId` (falling back to `jobUrl` for aggregated listings), so overlapping keywords never produce duplicate rows.
- **Refreshed README** to the current gold standard: output example and field-reference table now match the live fresh-run sample exactly, with honest coverage notes for data-dependent fields (`salary`, `postedDate`).
