# Changelog of Pricing Monitor BR — Alertas de Mudança de Preço (`joaosbp/competitor-pricing-page-monitor`) Actor

- **URL**: https://apify.com/joaosbp/competitor-pricing-page-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/joaosbp/competitor-pricing-page-monitor.md

## Changelog

### 0.2.5

- Added `pricePointChanges.added`, `removed`, and `unchanged` to every Dataset result.
- Persisted current price points in snapshots while remaining compatible with legacy snapshots through normalized-text fallback extraction.
- Added price changes to the Pricing overview and Diff details Dataset views.
- Corrected the output schema title inherited from the generic Website Change Monitor.

### 0.2.4

- Fixed the Actor lifecycle so fatal validation or startup errors preserve Apify run status `FAILED`.
- Kept `Actor.exit()` only on the successful completion path.
- Added regression coverage preventing `Actor.exit()` from returning to a fatal `finally` block.

### Documentation strategy update

- Repositioned the Actor around reliable price-point changes, snapshots, and page diffs.
- Added a field-level reliability table and five-page production evidence.
- Added recommended baseline, selector, schedule, browser, and snapshot-store defaults.
- Kept `pricingPlans` explicitly documented as best-effort on complex catalogs.

### 0.2.3

- Filtered unnamed price fragments out of `pricingPlans` while retaining them in `pricePoints` for monitoring.
- Canonicalized common commercial plan names and deduplicated nested DOM candidates by plan name.
- Reduced real-world plan noise: Notion 16→6, Vercel 26→3, Apify 13→4, and Stripe 50→5 candidates.
- Documented that `pricingPlans` is best-effort on complex usage-based pricing catalogs; price points and text diffs remain authoritative.
- Validated five live pricing pages with zero errors on remote build `0.2.5`.

### 0.2.2

- Improved Store visual presentation for conversion.
- Updated README first screen with badges, `At a glance`, buyer personas, and workflow summary.
- Renamed visible title to `Competitor Pricing Page Monitor & SaaS Price Tracker` while keeping the Actor unique name stable.
- Added dedicated pricing-monitor visual assets: `assets/competitor-pricing-store-icon.png` and `assets/competitor-pricing-preview-banner.png`.

### 0.2.1

- Improved pricing extraction heuristics after a 10-URL real-world pricing-page sample.
- Reduced FAQ/free-text false positives by requiring concrete price signals or explicit non-priced sales-plan signals for standalone plans.
- Inferred currencies from global page price points even when plan cards are incomplete.
- Filtered noisy question-like CTA text from extracted CTAs.
- Published build `0.2.2` and created a daily Apify Task/Schedule smoke monitor.

### 0.2.0

- Added competitor-pricing-specific extraction instead of generic page monitoring only.
- Extracts plan names, raw prices, normalized numeric prices, currencies, billing periods, features, CTA text, free-trial signals, free-plan signals, and discount signals.
- Enriched Dataset rows with pricing-specific fields: `hasPricing`, `planCount`, `pricePoints`, `currencies`, `billingPeriods`, `hasFreeTrial`, `hasFreePlan`, `hasDiscount`, `ctaTexts`, and `pricingPlans`.
- Updated Dataset schema with `Pricing overview` and `Extracted plans` views.
- Rewrote README for SaaS competitor-pricing monitoring use cases.
- Added TDD tests for pricing extraction and result enrichment.

### 0.1.0

- Generated Competitor Pricing Page Monitor from the reusable Apify Actor factory.
- Added production project structure, schemas, README, commercial documentation, tests, Docker, CI workflow files, and validation scripts.
