Skip to content

v0.3.0-beta.1 — Bot visibility, split charts, and mobile navigation

Pre-release
Pre-release

Choose a tag to compare

@al3xg0r al3xg0r released this 19 Aug 09:31
· 16 commits to main since this release

AG Analytics v0.3.0-beta.1

A UI/UX-focused update since v0.2.0-beta.1 — a new bots-visibility panel, a
split views/visitors chart, drag-and-drop dashboard customization, and a
proper mobile experience, alongside a handful of small correctness fixes.

Added

  • Bots & crawlers panel. Known crawlers, uptime monitors, and scripted
    HTTP clients are no longer just silently dropped — they're recorded as a
    distinct event (never touching visits/sessions, so pageview/visitor counts
    stay clean) and named individually (Googlebot, Bing, AhrefsBot, curl,
    headless browsers, etc.) in their own dashboard panel.
  • Search queries panel, breaking down visits by the actual search phrase
    when the referring search engine exposes it. Note: Google has withheld the
    query string from organic search referrers since 2013 — this fills in
    mainly from Bing, DuckDuckGo, Yandex, and Brave Search; that's an
    industry-wide limitation, not specific to this tool.
  • Split views/visitors chart. The main chart now plots page views and
    unique visitors as two separate, independently toggleable lines instead of
    one, so a peak is never ambiguous about which metric it belongs to.
  • Drag-and-drop panel reordering — breakdown panels can be dragged into
    whatever order you prefer, saved per browser.
  • Site favicon shown next to the site name in the dashboard header.
  • Refresh button next to the site name for an on-demand data reload,
    independent of the periodic background refresh.
  • Mobile navigation. The sidebar is now a proper slide-out drawer with a
    hamburger toggle and overlay on narrow screens, instead of being dumped
    inline above the dashboard content.
  • Selected site persists across reloads (previously always reset to the
    first site in the list after a refresh).
  • Version tag in the sidebar footer now links directly to its GitHub release.
  • Hover-revealed custom-styled scrollbar on breakdown panels (row limit
    raised from 8 to 25 so there's actually more to scroll through).

Fixed

  • Deleting a site left its custom events behind. deleteSite() cleaned
    up visits and sessions but not events — orphaned rows with no
    matching site. All three tables are now cleared together.
  • Countries panel showed raw pseudo-codes for non-real countries.
    Cloudflare's T1 (Tor exit node traffic) and XX (undeterminable
    location) values now get their own icon and label instead of appearing as
    bare, unflagged codes.
  • Non-page requests polluting Top pages. Requests with a non-http(s)
    url (e.g. a locally saved/opened file:// copy of a page, common with
    AV sandboxes and link-checker tools) no longer create garbage entries in
    Top pages — they're recorded as a distinct event instead.
  • Removed the now-unused /tracker.js alias (all snippets, including
    already-deployed ones, have migrated to /widget.js); README updated to
    match.
  • Incomplete last row of breakdown panels used to leave visible empty gaps
    on non-3-column-friendly screen widths — panels now stretch to fill the
    row instead.

Changed

  • The sidebar's "⚙ Customize" button moved from the header into the
    sidebar itself, under the site list.
  • "Done" buttons across modals restyled to match the rest of the UI
    (previously unstyled system buttons).
  • Version tag no longer shows the release date, only the (now-linked)
    version number.

Known limitations

  • Single admin account per deployment (no multi-user roles yet).
  • No CSV/JSON export yet.
  • No long-lived API token for external integrations — only the short-lived
    (12h) dashboard login token exists today.
  • No automated test suite yet.
  • Demo-mode / read-only public instance is not implemented yet.

Upgrading from beta.1

No database migration needed — the schema is unchanged from v0.2.0-beta.1
(bot and non-web-request tracking reuse the existing events table). Just
deploy the new Worker code and static assets as usual.

Full Changelog: v0.2.0-beta.1...v0.3.0-beta.1