Vizoalica v0.6.0 — Every page counted, and what visitors click
Deployment support: this release changes the D1 schema (two new tables for actions in 0001_initial.sql), so it is a fresh-install release: install it on a new, empty database, as with every 0.5 and 0.6 release. Deploy the backend first, then update each website's SDK file. An older SDK file keeps working against the new backend, and a newer SDK file against an older backend never loses page views (it drops the action requests the older backend rejects).
Compatibility: page views keep their contract; a page's path can now include a route fragment (/#/pricing) and identifiers are replaced by :id, so new and old events can name the same page differently until the old ones expire (32 days). Actions are a new event type, com.vizoalica.action.v1. The generated website-workflow reference now points at v0.6.0. This release also includes everything in 0.5.3, which was never published on its own.
Vizoalica 0.6.0 fixes a reporting defect and adds a report.
Every page is counted, not just "/". A site that shows different screens without loading a new address (fragment routes such as #/pricing, or a single-page app) used to be reported as one / page. The SDK now includes the route in the page name and reports a page view when a visitor moves to a different screen, so the Pages report lists each screen. Anchors, sign-in data, and query strings are still never recorded.
One row for pages that differ only by an ID. /orders/8841 and /orders/8842 are one page, /orders/:id. Numbers, UUIDs, long hexadecimal values, ULIDs, random tokens, and email-shaped segments are replaced by :id in the browser and again at the backend, so the identifier itself is never stored. Readable slugs and dates are kept. The rules are documented with examples.
Actions. A new Actions view in the console shows what visitors click, page by page: each row is a page and an action (a button or link), with how many times it was used, by how many visitors, and how often per view of that page. Choose a page to see everything done on it, or an action to see every page it is used on; the selection is kept in the address, so you can bookmark or share it. Nothing on the page changes a setting.
Action collection is always on for a website that runs the 0.6 SDK file, and it begins only when you deploy that file. It records a short name from the control's own label (redacted, at most 80 characters), the page, the kind, and for links the destination's origin and path. It never records anything typed, field values, link queries, click positions, or cookies, and nothing is recorded when consent is explicitly denied. Developers can exclude a control or an area with data-vizoalica-ignore and name a control with data-vizoalica-action. The action collection review records the purpose, retention, and access boundary of every new field.
Under the hood, the SDK now sends actions in their own requests and drops a batch the backend rejects as invalid or too large instead of retrying it forever, which used to be able to stall later events.
Upgrading
- Install this release on a new, empty D1 database (
pnpm vizoalica install, or see the Cloudflare guide). The schema changed, so a running installation cannot be updated in place withpnpm vizoalica backend --update. - Rebuild the SDK (
pnpm browser-sdk:build) and copyvizoalica.jsto each website, as in website activation. Actions and route-level pages start only then. - Read the action collection review and update your privacy notice if it lists what your analytics record.