# Changelog of SaaS Churn Signal 📉 (competitor win-back intel) (`tagadanar/saas-churn-signal`) Actor

- **URL**: https://apify.com/tagadanar/saas-churn-signal/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/saas-churn-signal.md

## Changelog

### 0.1.2 (2026-09-03)

- **Capterra leg fixed.** Cloudflare retired the TLS fingerprint of the Firefox
  build the vendored Capterra fetcher impersonated, and started answering it
  with a managed challenge from every IP class, which left the Capterra source
  returning nothing. Re-synced from `capterra-reviews` 0.3: a current Firefox
  build (two more held in reserve), fingerprint rotated before the exit, four
  residential countries, and a re-walk of the ladder after a full miss.

### 0.1.1 (2026-08-20)

- Capterra reviews are now read from **capterra.co.uk** first (same review pool and product IDs as capterra.com, plain HTML, no proxy); capterra.com through residential proxy is kept only as an automatic fallback. capterra.com had started challenging every Apify proxy class the same day, which left the Capterra leg blocked on the first platform run.

### 0.1 — first release

Competitor churn-signal join. Pulls recent reviews from Capterra, the Apple App
Store and Google Play, classifies the negative ones (1-2 stars) into five churn
themes (price, support, reliability, missing features, migration) with a
keyword heuristic, and joins them to the competitor's live pricing plans and any
price change since the previous run. Emits one signal row per competitor plus
the underlying review and pricing rows. No LLM, no API key, no browser: the
review and pricing fetch+parse are vendored inline from capterra-reviews,
apple-app-store-reviews, google-play-reviews and saas-pricing-monitor.
