Changelog
Deprecation policy
Section titled “Deprecation policy”Pomelo API follows a minimum 90-day deprecation window for breaking changes:
- Breaking changes are announced in this changelog and in the docs
- Deprecated request parameters return
Deprecation: trueandSunsetheaders - Deprecated response fields are marked in OpenAPI and docs even when per-field headers are not practical
- After the sunset date, deprecated request parameters are rejected with
422 INVALID_PARAMS
v1.2.3 — 2026-04-11
Section titled “v1.2.3 — 2026-04-11”- Published a new Consumer Migration Guide for existing snippet and API consumers
- Clarified that public API deprecations apply to
/v1/*, while the internal dashboard/metrics/*contract follows its own shared contract - Clarified that public
/v1/*now requiresfrom/to, while/v1/me.plan_idand/v1/me.retention_daysremain the only active compatibility mirrors
v1.2.2 — 2026-04-10
Section titled “v1.2.2 — 2026-04-10”Changed
Section titled “Changed”/v1/reports/acquisitionnow serves a strict-safe acquisition-lite slice with channels, host-only referrers, and landing pages/v1/reports/actionsnow serves strict-safe simple actions (ui.click,outbound.click,file.download,form.submit) while keeping advanced families profile-gated/v1/reports/overviewrestores an acquisition-lite preview inStrict
- Mixed routes keep returning
200inStrict; useavailability.readModelfor the strict-safe baseline andavailability.sectionsfor locked attribution or advanced slices UTM, campaigns, goals, tenant drill-down, raw/session logs, andregion/cityremain outside the default Strict envelope
v1.2.1 — 2026-04-04
Section titled “v1.2.1 — 2026-04-04”Changed
Section titled “Changed”/v1/mestill returns top-levelplan_idandretention_days, but they are now explicitly deprecated compatibility mirrors- Canonical runtime product data remains under
product
Deprecated
Section titled “Deprecated”plan_id— useproduct.runtime_plan_idretention_days— useproduct.product_retention.api_retention_days- No removal before 2026-07-03T00:00:00Z
SDK v1.2.0 — 2026-03-06
Section titled “SDK v1.2.0 — 2026-03-06”Privacy hardening
Section titled “Privacy hardening”- Client UA removed: User agent string is no longer sent from the browser; device/browser/OS classification is now server-side only
- Session ID hardened: Uses
browser_family(server-derived) instead of raw UA - Automatic PII sanitization on all captured fields:
el_id,el_scope,form_id: strict charset, 100 char max, PII rejectedel_label: 80 char max, PII rejectedpage_title: 200 char max, PII rejected- Error messages: PII redacted, query strings stripped, 200 char max
- Fixed global regex
lastIndexbug insanitizeText()
data-analytics-labelfor explicit click labelsdata-autocapture-formstoggle controlled by server-side site configuration; not a Strict baseline defaultdata-autocapture-errorstoggle controlled by server-side site configuration; not a Strict baseline defaultdata-autocapture-labels-onlymode for explicit-only UI click trackingel_label,el_label_src, andel_roleonui.clickevents- Label auto-detection cascade:
data-analytics-label>aria-label>aria-labelledby>titletext >
value>alt
Documentation
Section titled “Documentation”- New SDK Integration guide with attribute reference and examples
- Updated Privacy & Opt-Out with data sanitization details
v1.1.0 — 2026-02-28
Section titled “v1.1.0 — 2026-02-28”GET /v1/usage/history— monthly usage history (up to 24 months)X-RateLimit-*response headers on all endpoints- Strict error envelope with stable error codes
- Metering metadata in metrics responses (
meta.units_charged,meta.billable_overage,meta.usage)
Changed
Section titled “Changed”from/tostandardized as canonical date parametersstart/endkept temporarily for backward compatibility (deprecated)- Stricter token authorization (scopes + site allowlist + workspace isolation)
- Hard-cap enforcement made atomic under concurrency
Security
Section titled “Security”- Authorization header forwarding fixed on
/v1*through CloudFront - Token hashing now supports pepper from SSM parameter
- SQL query construction hardened with strict enums and literal escaping
Deprecated
Section titled “Deprecated”start/endquery parameters — usefrom/toinstead