# Changelog of RSS & Atom Feed Reader + Change Monitor (`produkdigitalali/rss-atom-feed-reader-change-monitor`) Actor

- **URL**: https://apify.com/produkdigitalali/rss-atom-feed-reader-change-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/produkdigitalali/rss-atom-feed-reader-change-monitor.md

## Changelog

### 0.1.2 — 2026-08-23

- Added pay-per-event readiness with `feed-checked` and `item-emitted` custom events.
- Added pricing-model detection so private/non-PPE runs remain uncharged.
- Added per-unit item charging and billing counters to `RUN_SUMMARY`.
- Failed feeds and feed-status diagnostics remain free of custom workload charges.
- Added spending-limit handling that stops later feed delivery when the budget is exhausted.
- Deferred monitoring state commits until billing/output decisions are known.
- Added partial-limit state safety: unpaid `NEW_ITEM` and `UPDATED_ITEM` changes are not silently consumed and can be emitted on a later run.
- Added `unprocessedFeeds` and detailed PPE counters to the run summary.
- Added `.actor/pay_per_event.json` plus validation for event names, prices, titles, and descriptions.
- Expanded automated coverage from 162 to 173 tests, including 100-feed PPE accounting.
- Documented successful Apify Cloud functional gates and controlled 10/50/100-feed benchmarks.

### 0.1.1 — 2026-08-23

- Added conservative recovery for illegal XML 1.0 control characters and invalid numeric character references in malformed public feeds.
- Added encoding-aware recovery for UTF-8/UTF-16/UTF-32 BOMs and declared XML encodings, with isolated decode damage handled only after strict parsing fails.
- Added parse warning values for character-only and mixed entity/character recovery.
- Preserved successful HTTP diagnostics (`finalUrl`, status, content type, ETag, response time) when XML parsing fails.
- Added regression coverage matching the first Apify Cloud failure shape (invalid token on line 2 at a late column).
- Expanded automated suite from 155 to 162 tests plus a 5,000-case malformed-XML fuzz run.

### 0.1.0 — 2026-08-23

- Initial RSS / Atom / RDF reader.
- Added item-level persistent change monitoring.
- Added feed health failure/recovery monitoring.
- Added conditional HTTP requests with ETag / Last-Modified.
- Added keyword and regex filters.
- Added SSRF and XML safety controls plus narrow recovery for common malformed XML entities.
- Added bounded state retention, automatic state-window safety, and failure-state preservation.
- Added Store-ready input/output/dataset schemas.
- Added signed-query preservation, IPv6-safe URL normalization, `xml:base` resolution, and dataset-size safety caps.
- Added bounded batch flushing and bulk dataset pushes for lower memory/IO overhead.
