September 2026
Added
- Review changes. Compare your unsaved edits to a variation’s JavaScript, CSS and libraries with the saved code before you save, and save straight from the comparison. Also in the experiment editor as Compare with saved, and in the recovery banner for a recovered draft.
- Code history. Every saved version of each variation’s code, kept in full for the life of the experiment. Compare any two versions, jump to what changed since launch or since the last reset, and restore an older version into the editor as an unsaved draft. The two read endpoints behind it are in the REST API reference.
Changed
- Activity log code changes corrected. The page said a variation’s JavaScript and CSS were cut to 200 characters per side. The log keeps the full before and after up to 32 KB per file and 128 KB per event, shows them as a comparison, and purges them with the other workspace changes after 6 months. The Global JS redaction was corrected too: the log keeps its size and a fingerprint, not only the word “edited”. Affected Activity log.
- Site settings now opens for Devs. Each Dev sees the tabs their keys unlock on that site, settings only an Admin can change show read only, and the Danger zone tab stays with Admins. Affected Permissions catalog.
- Team and access availability corrected to match what ships. These pages said the permissions grid was on Business and above, counted twenty keys, and said every member below Business was effectively an admin. Seats decide whether a workspace has teammates at all (2 on Starter, so you plus one). Roles, site scope and the four access presets work on every plan with a second seat. Picking any of the twenty five per site keys by hand is on Pro and above; below Pro the drawer locks the switches and keeps the presets live. The key groups and what each preset holds were corrected too. Affected Members and roles, Permissions catalog, Plans, REST API and Trust and compliance.
- Raw end-user event retention corrected to 24 months, the window the nightly purge job has actually enforced since 2026-07-17. These pages had said 90 days since 2026-08-01, a figure no code ever honoured. The per-visitor ledger behind that archive is not on a timer at all: it persists for the life of the experiment and is removed when the site is deleted. Affected Exact ledger, Refunds and Trust and compliance.
- Team activity log retention split in two, because the log runs on two clocks. Workspace changes (experiment creates and edits, publishes, goal and audience changes) are kept for 6 months, then purged nightly. Access and billing records (invitations, role and permission changes, site access granted or revoked, billing events) are exempt from that purge and kept for the life of the workspace. Both pages had stated a flat 24 months, which was four times too long for the first half and wrong in the opposite direction for the second. Affected Activity log and Trust and compliance.
- Snippet size corrected everywhere to about 30 KB gzipped for the runtime, measured 2026-09-06 at 29,922 bytes. The inline loader is unchanged at about 0.9 KB. The previous “about 27 KB” was measured on 2026-08-03 and had drifted; the runtime has now grown roughly five and a half times since its first release, so treat any size you read here as true on the date beside it. Affected Introduction, How it works and The snippet.
August 2026 — coverage sweep
This month closed the gap between what ABTestly ships in the product and what the docs actually describe. Twenty-one areas got real pages.Added
Variation code check
- Code check. A static review of your variation JavaScript and CSS on every publish, save, and resume. Two tiers, Issues and Suggestions, grouped by variation and shown per line. Warn only: it never blocks a publish.
Documentation site map + trust page + REST API
- Documentation index. One-page site map, linked from Getting started, for readers who know what they want and do not want to scan the sidebar.
- Trust and compliance. Subprocessors, retention grid, security posture, GDPR/CCPA rights, uptime commitment. Sourced from privacy.html and terms.html so nothing overclaims.
- REST API reference. Every
/api/*endpoint behind api.abtestly.com, extracted from worker source. Auth is Clerk JWT; there is no long-lived API key today. - Sample-size calculator cross-links from reading a result and time to decision.
Ledger, results, and integrations deep dives
- The three statistics engines. Frequentist, sequential, Bayesian. Method IDs. When to pick which.
- Revenue metrics. CR, RPV, AOV, OPV. Each with a proper CI. Refunds and orderId dedup handled.
- Exact Experiment Ledger. The canonical event store your final numbers come from. Not a sample.
- Sample Ratio Mismatch. Chi-square on every experiment. Warns before a bad split becomes a false winner.
- Speed guardrail. Per-device p75 LCP. Ship a winner, not a broken page.
- Business impact projection. Turn a lift into currency at your current traffic.
- Time to decision. Honest runway estimate; not a promise.
- Baseline. Compare treatments head-to-head.
- Segments. Slice the whole report by device, source, geo.
- Exports. CSV for a stakeholder deck, or async raw-event dump.
Full developer reference track
- window.abtestly API. trackGoal, onApply, onCleanup, waitFor, activate, debug.
- Beacon protocol. Wire format for every public endpoint the snippet hits.
- Bucketing. MurmurHash3, two-step allocation, per-experiment salt. Reproducible in Node.
- Runtime bindings. Every name available inside variant JS.
- SPA lifecycle. Cleanup, re-eval, apply. ApplyContext, routeRevision.
- Errors and telemetry. What lands in /err, first-occurrence dedup, where to see it.
- Rate limits. 100 requests per minute per authenticated user on /api. Beacons are not rate-limited.
Mutual exclusion groups get their own section
- Overview. Why groups exist, when to reach for one.
- How allocation works. The 10,000-slot math, the salt, the generation counter.
- Long-term holdouts. Measure the cumulative effect of every test you have shipped.
- Managing membership. Add, retire, reorder. What generation bumps do to running experiments.
Team and access, in the depth this feature deserves
- Members and roles. Admin, Dev, Viewer. Per-site scope. Twenty per-site permission keys per member. Four presets. Companion enforcement rules. Common team shapes.
- Permissions catalog. Every key, what it unlocks, which role it requires.
- Activity log. Every meaningful change, grouped by day.
Site settings, assets, targeting, preview and QA
- Site settings: general, snippet panel, analytics adapters, SPA panel, Global JS, Blocked IPs, Danger zone.
- Assets: upload, serving, recycle bin.
- Targeting: overview, URL rules, audiences, geo, saved lists, activation triggers.
- Preview and QA: preview modal, forced variation, QA overlay, dev debugger.
Changed
Retention alignment across docs and privacy policy
- results/exact-ledger and billing/refunds corrected from 24 months to 90 days for raw events, matching the privacy policy commitment. Summary numbers (verdicts, per-day rollups) still persist for the life of the experiment.
- trust-and-compliance added a row for the 24-month team activity log retention window, and corrected support conversations to 3 years to match privacy policy §7.
- The public privacy policy at abtestly.com/privacy gained an explicit bullet for team activity log retention.
Snippet size and cryptographic wording, corrected
- Introduction now cites the actual snippet sizes. (Corrected again on 2026-08-03 to the real gzipped sizes measured from the build output: about 0.9 KB inline loader plus about 27 KB runtime. The earlier “15 KB runtime” figure was outdated.) Cold-edge first-fetch caveat added.
- Quickstart rewrote the “cryptographically tied to one domain” line to the honest version: the snippet carries a site-specific key and is validated against its configured domain at runtime.
- exports corrected a stale reference to a nonexistent long-lived API key.
Look and feel
Reading-comfortable theme
- Light background moved from stark white to a warm cream (#f2ede1).
- Dark background moved from near-black to a softer blue-gray (#262935).
- Both meant to be less harsh for long documentation reads.
Older entries
This changelog started in August 2026. Before that, the docs were a smaller flat set. Nothing older is worth re-listing here; the current documentation index is the canonical map.Something missing or wrong
Emailsupport@abtestly.com with the URL and what you expected to
see. That is the fastest way for us to fix it.