# Changelog of Zhaopin Scraper — China Job Listings (`blackfalcondata/zhaopin-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/zhaopin-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/zhaopin-scraper.md

## Changelog

### 0.2.0 — 2026-04-25

#### Added — Output fields

- `salaryCurrency: "CNY"`, `salaryPeriod: "month"` — structured salary fields populated when min/max present
- `extractedEmails: string[]` — regex-extracted emails from description (HTML)
- `extractedPhones: string[]` — defensive phone-number extraction (strict/lenient mode)
- `extractedUrls: string[]` — URLs in description (excluding self-referential zhaopin.com)
- `socialProfiles: { linkedin, twitter, instagram, facebook, youtube, tiktok, github, xing }`
- `applyUrl` — alias of `portalUrl` for cross-actor consistency
- `postedAt` — alias of `postedDate`
- Incremental lifecycle: `firstSeenAt`, `lastSeenAt`, `previousSeenAt`, `expiredAt`
- Repost detection: `isRepost`, `repostOfId`, `repostDetectedAt`

#### Added — Inputs

- `emitUnchanged`, `emitExpired`, `skipReposts` — incremental emission policy
- `telegramToken`, `telegramChatId` — Telegram notifications
- `discordWebhookUrl`, `slackWebhookUrl` — Discord/Slack notifications
- `whatsappAccessToken`, `whatsappPhoneNumberId`, `whatsappTo` — WhatsApp Cloud API
- `webhookUrl`, `webhookHeaders` — generic JSON webhook
- `notificationLimit`, `notifyOnlyChanges`, `phoneExtractionMode`

#### Changed

- **Full incremental classification** — `changeType` emits `NEW`/`UPDATED`/`UNCHANGED`/`EXPIRED`/`REAPPEARED` (uppercase, was lowercase).
- **State-lock** — concurrent runs on same `stateKey` get `Actor.fail` instead of state corruption.
- **`stateKey` required** when `incrementalMode: true` (was optional with auto-default).

#### Compliance

- Migrated from hand-rolled `simpleHash()` djb2 to canonical `_lib/incrementalState.ts` (SHA-256-based content hash via `buildTrackedHash`).

### 0.1.x — 2026-04-14

- Added: `descriptionHtml`, `descriptionMarkdown` output fields (triple-format descriptions for RAG/LLM pipelines)
- Added: `contentHash` output field

### 0.1.0

- Initial release
