# Changelog of Monitor Przetargów Publicznych PL (BZP + eZamówienia) (`liveclaude/bzp-monitor-pl`) Actor

- **URL**: https://apify.com/liveclaude/bzp-monitor-pl/changelog.md
- **Full Actor documentation**: https://apify.com/liveclaude/bzp-monitor-pl.md

## Changelog — bzp-monitor-pl

### \[Unreleased] — Faza 3 (state + watermark)

- Monitoring między uruchomieniami: nazwany KV store `bzp-monitor-state-{stateKey}` z hashem pól zmiennych.
- Klasyfikacja zdarzeń: `new` / `changed` / `unchanged` / `awarded` / `cancelled`. W trybie `new_only` `unchanged` są pomijane.
- Watermark: awansuje tylko po w pełni udanym przebiegu (błąd zapytania = brak awansu, następny run powtarza okno).
- Cache PDF: TTL zależny od typu (rozstrzygnięcia/unieważnienia 30 dni, postępowania/plany 24 h) + wymuszony refetch przy zmianie pól zmiennych.
- Adaptacyjny limiter (3 req/s, spadek do 1 req/s po 429/timeout, powrót po 60 s).
- Naliczanie (pay-per-event) podpięte dla 6 zdarzeń.

### Migration guide

#### `organizationNationalId` / `contractorNationalId` — DEPRECATED

Od pierwszego wydania identyfikatory są rozdzielone na osobne pola, bo instytucje publiczne często mają wyłącznie REGON (bez NIP):

- **Używaj:** `organizationNip` (10 cyfr), `organizationRegon` (9 lub 14 cyfr), `organizationRawIds` (audyt).
- **To samo dla wykonawców:** `contractorNip`, `contractorRegon`, `contractorRawIds`.
- `organizationNationalId` / `contractorNationalId` są **deprecated** (wypełnione jako `nip ?? regon` dla zgodności wstecznej).

Timeline:

- **v1.0** — dual field: nowe pola + deprecated `*NationalId`.
- **v1.1–v1.9** — `*NationalId` nadal dostępne, oznaczone jako deprecated.
- **v2.0** — `*NationalId` usunięte (breaking change, bump major).
