Skip to content
Analytik
Esc
↑↓navigate↵open⌘Jpreview
On this page

Changelog

Every release of Analytik, newest first.

The current version is 1.27.0. This page is copied from packages/analytik/CHANGELOG.md at build time, the same file that ships in the npm package.

All notable changes to this project are documented in this file. The format follows Keep a Changelog and the project uses Semantic Versioning.

[Unreleased]

[1.27.0]

Added

  • Accessibility: axe checks of every view in both themes, larger touch targets, a screen reader message after data changes, and a place list for the map.
  • Click a point of a site’s sparkline on All sites to open its Overview for that day.
  • Demo: hints on what to try, a refusal that says how to try writes locally, Core Web Vitals, goal targets and notes in the seed.

[1.26.0]

Added

  • An OpenAPI 3.1 document of the API key routes at GET /v1/openapi.json, and an optional IP address allow list per API key.

[1.25.0]

Added

  • API keys for scripts and tools: several keys, read or write, per site, with roll, disable, delete, expiry, limits and an activity log, each step behind the admin password; also served under /v1, with e-mail notices.

[1.24.0]

Added

  • Outgoing webhooks for goals and payments (signed JSON or a chat line), managed in Settings → Payments and API.
  • Server hooks option (beforeIngest, onEvent, onPayment) and webhooks.fetch to guard outgoing requests.
  • Share links work as a Stats API token: Authorization: Bearer, a header or in the address.
  • Journeys zooms and moves: buttons, Ctrl or ⌘ with the wheel, drag, and the keys +, -, 0 and arrows.

Fixed

  • The Events list loads with an ad blocker on (/event-log, /events still works); a blocked request says so.

[1.23.0]

Added

  • Properties of a goal: break its events down by key and value in the Events view, and filter every view with prop:<key>.
  • /event limits one client to 300 events a minute per site (rateLimit option), answering 429 with Retry-After.

Changed

  • The retention purge runs after the response where the runtime allows it; migrations add three indexes (slower on very large tables).

[1.22.0]

Added

  • Sync from website: Settings reads the site’s own page and takes over its name, icon and colour (you choose which), and says if the tracker is on the page; new sites fill themselves in.
  • The refresh button on All sites turns while it loads.

Changed

  • Site icons are stored by the server and shown from there; the standalone page no longer allows images from other hosts.

[1.21.0]

Changed

  • Dashboard header: a fade and an arrow show on the side where more views are hidden.
  • Setup help: the not-found reply names the base path, /health shows the failure to admins, doctor checks Postgres against its own migrations, and new framework and troubleshooting docs.

[1.20.0]

Added

  • Journeys view (where sessions go after the first page) and Retention view (weekly cohorts of new visitors, Persistent mode), both admin only.

[1.19.0]

Changed

  • Site sparklines start at zero and show a faint dashed baseline for it.

[1.18.0]

Added

  • Share links are made for the Mac menu bar app or as a shared link with a dropdown of views, in Settings → Sharing and Defaults; Select all included.

Changed

  • Share links may read the site icon, so the Mac app shows it.
  • The links made in Defaults stay while you switch settings pages.

[1.17.0]

Added

  • analytik menubar installs the Mac menu bar app; Settings → Sharing shows the command and a Get the Mac app button.

[1.16.0]

Added

  • Settings → Sharing shows a Mac app link next to a new share link, for the Mac menu bar app in apps/menubar.
  • A “Got an idea?” link under the dashboard opens a new GitHub issue.
  • Settings → Defaults sets timezone, currency, privacy, retention and tracking once for new sites, and applies a card to every site after confirming.
  • Pausing tracking asks for confirmation.
  • Settings → Defaults creates read-only share links for several sites at once, with one text that adds them all to the Mac app.

Changed

  • Settings → Payments and API lists only the payment providers you added; add and remove them in place.

Fixed

  • The site name in a shared dashboard’s toolbar is as tall as the other controls.

[1.15.0]

Added

  • Goal targets in Settings → Goals (a number per week, month or quarter) with progress and an estimate in the overview’s Goals block, and GET /api/sites/:id/targets. Run analytik upgrade to add the new column.
  • Core Web Vitals (LCP, INP, CLS), opt in per site and sampled: data-vitals loads a 0.5 kB script for sampled page views only, reports ride on the leave beacon, and the Pages view rates the 75th percentile per page. Run analytik upgrade to add the new table.

Changed

  • Meters in the channel, source, country, browser, OS and device breakdowns show each row’s share of the total; the site switcher is sorted by name; new projects get an analytik:upgrade script (bun upgrade is a Bun command).

[1.14.0]

Added

  • About 50 more browsers recognised (Internet Explorer, UC, QQ, Huawei, Mi, Whale, Waterfox, Falkon, in-app browsers and more), most with a mark in the dashboard.
  • One payment provider account can feed several sites: a webhook ignores payments for another site (analytik_site_id from attribution(), a visitor seen only elsewhere, or a renewal another site sold).

[1.13.0]

Added

  • Share links in Settings → Sharing (named, limited to chosen views, with expiry and revoke, cached by your CDN), read-only shared dashboards, and notes on the charts, also from POST /api/v1/annotations. Run analytik upgrade to add the new tables.
  • Export CSV on every table and breakdown, and Export PNG on every chart.

[1.12.0]

Added

  • Bots view: which crawlers (AI answers, indexing, training) request which pages, reported by your server with POST /api/v1/bots. Run analytik upgrade to add the new table.
  • Email notifications: payment alerts, a daily or weekly summary and a tracker-down warning, set up in Settings → Email with a sender from analytik/email and a schedule (scheduled() or POST /api/v1/cron). Run analytik upgrade to add the new tables.
  • Payment webhook adapters for Paddle, Polar, Razorpay, Creem and Gumroad, with their logos.
  • “Import from another tool” in the site switcher.

Security

  • Login attempts are counted before the password check, identify() no longer rewrites a stored email, name or user id, and API responses are sent with no-store and nosniff.

[1.11.1]

Fixed

  • The 1.11.0 release build failed on a currency-order test and never reached npm; 1.11.1 has the same features.

[1.11.0]

Added

  • Ignore your own visits: IP ranges (CIDR), “Add my current IP”, an “ignore this browser” link and an option to ignore signed-in admins. Run analytik upgrade to add the new column.
  • All sites: a trend line and the change on each card, with a 24 hours / 7 / 30 days picker and Refresh.
  • Sessions: show, hide and reorder the table’s columns.
  • The dashboard remembers your period, comparison and breakdown tabs between visits.
  • Brand logos in the Site integration prompt and Import data pickers, a “Copied” toast, and pickers in alphabetical order.

Fixed

  • The Sessions table no longer makes the whole page scroll sideways.
  • Correct GoatCounter, Matomo and Dodo Payments logos.

[1.10.0]

Added

  • Data import from Matomo, GoatCounter, Google Analytics 4 (BigQuery export) and PostHog, next to Umami and Simple Analytics; platform logos in the import dialog and sample files in Debug.
  • analytik upgrade prints the Worker size next to Cloudflare’s limit; new projects get an upgrade script.

[1.9.2]

Fixed

  • The 1.9.1 release build failed on a slow end-to-end test and never reached npm; 1.9.2 has the same features.

[1.9.1]

Fixed

  • The 1.9.0 release build failed on two flaky tests and never reached npm; 1.9.1 has the same features.

[1.9.0]

Added

  • Data import from Umami and Simple Analytics: Settings → Data → Import data, or analytik import. Repeat-safe, removable, kept apart from tracked visits.
  • All sites: “Add website” is now a menu with New website and Import from another tool (platform choice, drag and drop, preview, confirmation).
  • Copy button for page URLs in Pages, Events, Visitor timeline and the live feed.
  • Debug: downloadable sample import files.

Changed

  • Migration 0002_imported adds an imported column to sessions and events (also in exports).
  • Average visit duration ignores imported visits with unknown duration.
  • Toolbar and dialogs get a divider and shadow only while content scrolls beneath them; dialog headings and buttons stay in view.
  • Pause tracking in the site menu is amber, Resume is green; buttons have a hover state.

Fixed

  • Long URLs no longer overflow the live feed.

[1.8.1]

Fixed

  • 1.8.0 failed its release checks and never reached npm; 1.8.1 has the same features.

[1.8.0]

Added

  • Command palette (⌘K) and keyboard shortcuts.
  • Saved filter segments.
  • Compare periods in the toolbar, charts and breakdowns.
  • Changelog section in Settings.
  • Dashboard translated into 18 languages, with a locale prop and a messages override.
  • With urlState, the address also keeps the Settings section, range, interval and filters.

Changed

  • Country flags are round SVG flags (Circle Flags) instead of emoji.
  • New default number format, “The language’s own”.

Fixed

  • No more scrolling past the end of the standalone dashboard.

[1.7.0]

Changed

  • A shorter Add a website dialog: domain and name first, other options in a collapsible row; a new site starts with the newest site’s settings.

[1.6.0]

Changed

  • The tracker is served at /js/analytik.js; the old /analytik.js still works in withDashboard.

[1.5.0]

Added

  • Privacy modes explain what they store and whether they need a cookie banner.
  • Tracking code: mode descriptions and a prompt for coding assistants.

Fixed

  • Site icon edge in the dark theme.

[1.4.1]

Changed

  • The Live map follows the dashboard theme.

Fixed

  • Padding of empty and loading states.

[1.4.0]

Added

  • urlState keeps the open site and view in the address.

Changed

  • Smaller footer; no page jump when switching views.

[1.3.0]

Added

  • Add several overview blocks at once; theme switch in the header.

Changed

  • Debug section only with debug: true; spacing and badge fixes.

[1.2.0]

Added

  • Update notice, analytik upgrade, Dependabot config in the templates and server-fetched site icons.
  • Theme switch on the login screen.

Changed

  • New login screen and error notes; pause and delete styled as warning and danger.

[1.1.0]

Added

  • analytik/standalone (withDashboard), the analytik create command and Cloudflare and Vercel templates.
  • Dashboard theme setting.

[1.0.0]

Added

  • Hono server with strict, enriched and persistent privacy modes.
  • D1, Postgres, SQLite and in-memory storage.
  • Tracker script, ESM client, React bindings and an embeddable dashboard.
  • Payments API with Stripe, Dodo and Lemon Squeezy.
  • All sites view, pause and delete sites, request savings and debug tools.

Was this page helpful?