# Changelog of Sitemap URL Delta Monitor (`stellar_ballet_0bu/sitemap-delta-monitor`) Actor

- **URL**: https://apify.com/stellar\_ballet\_0bu/sitemap-delta-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/stellar\_ballet\_0bu/sitemap-delta-monitor.md

## Changelog

### 0.2.1 — 2026-07-07

- Re-tagged source `package.json` to `0.2.1` to match live Apify build tag (no code changes from `0.2.0`; Apify auto-bumped build to `0.2.1` because `0.1.7` already existed under the `0.1` actor-spec version).

### 0.2.0 — 2026-07-07

- **Robots.txt sitemap discovery**: new `discoverSitemaps` boolean input. When true, the actor fetches `/robots.txt` for every start URL and enqueues any `Sitemap:` directives it finds. Brings the Actor to feature parity with `tri_angle/sitemap-change-detector` (68 users, 447 runs) on the most-requested onboarding step.
- **URL filter regex**: new `urlFilterRegex` textfield. JavaScript-compatible regex applied to discovered URLs; non-matches are excluded from both the output and the persisted snapshot. Useful for narrow-monitoring patterns (e.g. `^https://example\\.com/blog/\\d{4}/`).
- **Change types selector**: new `changeTypes` enum (`new_url | updated_url | removed_url | unchanged`) replaces the implicit-only `onlyChanged` boolean. Users can now opt in to `updated_url` rows and explicitly include or exclude `unchanged`. The previous `onlyChanged` flag is preserved as a backward-compat alias.
- **Removed URLs to KVS**: new `addRemovedUrlsToKvs` boolean. When true, the actor writes a `REMOVED-URLS` key to the state key-value store with the full list of URLs that disappeared since the last snapshot, in addition to emitting `removed_url` dataset rows.
- **Status rename**: `updated_url` rows now use `status: "updated"` (was `changed`); legacy `event: "lastmod_change"` is preserved.
- **AbortController timeouts**: every request now uses an `AbortController` driven by the new `requestTimeoutMs` input (default 30 000 ms). Replaces the previous implicit timeout.
- **Output schema**: new fields `event_severity` is unchanged, but `status` is now one of `new | updated | unchanged | removed | error`. Backward-compatible.
- **New keywords**: `robots.txt`, `robots`, `url change`, `lastmod`, `slack`, `discord`, `webhook` added to the Actor's keyword list (Store SEO).
- **New test**: `test/robots.test.mjs` (5 cases) for the robots.txt Sitemap parser.
- **No PPE schema changes** — still `apify-actor-start $0.0005` + `delta_result $0.001`. v0.3+ will introduce the new pricing events under the one-month cooldown.

### 0.1.6 — 2026-07-07

- Added "Run it from Claude / Cursor / VS Code via MCP" section to README with copy-paste `claude_desktop_config.json` snippet and a realistic prompt example.
- Bumped source `package.json` version to match live Apify build tag (closes source/live drift).
- No code changes; no impact on schema, output, or Pay Per Event pricing.

### 0.1.0 — 2026-07-07

- Initial public Sitemap URL Delta Monitor.
- Supports sitemap indexes and regular URL sitemaps.
- Emits stateful deltas for new URLs, lastmod changes, removed URLs, unchanged rows if requested, and errors.
- Adds `event_severity` and Pay-Per-Event hooks.
- Adds parser and delta regression tests.
