# Changelog of Greenhouse + Lever Job Boards Feed (Unofficial) (`graylabs/job-boards-feed`) Actor

- **URL**: https://apify.com/graylabs/job-boards-feed/changelog.md
- **Full Actor documentation**: https://apify.com/graylabs/job-boards-feed.md

## Changelog

### 0.1.2 (2026-10-17)

- Change tracking is now kept per feed: per saved task, or (for direct runs) per combination of boards and filters. Two tasks watching the same board no longer share history, so each gets every job. The first run after this update reports every job as `new` once; old per-board records are ignored.
- A posting that is still listed but can't be read in a run is no longer reported as `closed`.
- A posting that fails the output check stays in the history instead of being re-reported as `new` later.
- History for large boards is stored in chunks; up to 100,000 jobs per board per feed are remembered (was 20,000).
- The per-board log line now shows postings found, detected changes and rows saved separately. `RUN_SUMMARY.stateFeedId` added.

### 0.1.1 (2026-10-17)

- Full job descriptions are now off by default (`includeDescriptions: false`). Title, company, location, department, links and dates are unchanged. When turned on, emails, phone numbers, profile links and cued names are still removed. Switching the option does not mark jobs as changed.
- The run status message now counts only the rows actually saved (for example when `maxJobs` is reached); `RUN_SUMMARY.savedChanges` added.
- Example inputs in `examples/`.

### 0.1.0 (2026-10-17)

- First version: public Greenhouse job boards and Lever postings in one validated schema, with a link to each original job page.
- Change tracking between runs: `new`, `changed`, `unchanged` and `closed`, with `firstSeenAt`, `lastSeenAt` and `closedAt`; `onlyChanges` and `includeClosed` options.
- Per-board error isolation: a failing board is reported in the run summary and never fails the run or marks its jobs closed.
- Retries with backoff, Retry-After handling, per-source pacing, request cap, `maxJobs`.
- Company and job fields only; descriptions cleaned of emails, phone numbers, profile links and names after contact cues.
- Filters: title keywords, locations, departments or teams, workplace type.
