#0.8.0
#Minor Changes
- 859debb: The lake store leaves beta. Schema changes now have an upgrade path: a new version gets its own streams and tables (Cloudflare can't alter a stream or share a table between sinks), and queries, your own SQL and erasure read every version through a UNION ALL. The web report and overview count visitors in two exact steps instead of COUNT(DISTINCT), which Basin SQL rejected at tens of millions of events; every query kind now runs at 30 million events in 1–7 seconds.
#0.7.0
#Minor Changes
- 1e69d38: Lake mode can erase people and apply retention.
dataflare person <id> --deletequeues the person's events, and the newdataflare lake maintaindeletes them (and events past--retention-days) with PyIceberg through Basin Catalog; lake deployments' workflow runs it daily.init --laketurns on snapshot expiration and compaction so deleted rows leave R2 within a week. Every read API is now checked against DataFusion in CI, and ranked lists (top pages, referrers, events) break ties by name, so D1 and the lake order them the same.
#0.6.3
#Patch Changes
- fdea56f: Lake mode works against production Cloudflare. Queries no longer fail with "Illegal invocation" in the Worker;
init --lakelists Pipelines resources through the API (Wrangler's list output isn't JSON) and names streams, sinks and pipelines after the deployment, so a second lake deployment in one account gets its own instead of silently reusing the first's; and--lake --euis refused up front, since Basin Catalog doesn't support jurisdiction buckets yet.
#0.6.2
#Patch Changes
- c901828: Fix
npx dataflare-clidoing nothing: the CLI only started when its bin was namedglass, and npm links it asdataflare. It now compares real paths, so it runs under any bin name.
#0.6.1
#Patch Changes
- cf728a9: The CLI is published as
dataflare-cli(npm rejecteddataflareas too close to an existing package):npx dataflare-cli init,npx dataflare-cli@latest upgrade. Installed globally, the command is stilldataflare. Deploy workflows and.mcp.jsonwritten by the CLI usedataflare-cli, and/healthchecksdataflare-clion npm for new versions.
#0.6.0
#Minor Changes
- 8393cf8: Glass is now Dataflare, at https://dataflare.dev. The CLI is published as
dataflare(npx dataflare init,npx dataflare@latest upgrade) and the browser SDK asdataflare-web; the@glassanalytics/cliand@glassanalytics/webpackages get no new versions. Nothing changes in your snippet or deployment:window.glass, thedata-glass-*attributes, the/_glassroute,.glass/and theGLASS_*settings all stay, and the SDK still exportsGlassas an alias of the renamedDataflareclass.dataflare upgraderewrites a deploy workflow generated before the rename so CI installsdataflareinstead of@glassanalytics/cli.
#0.5.0
#Minor Changes
- 19736d1: Session replay can record cookieless visitors. Add
data-replay-cookieless="true"(orreplay: { cookieless: true }) and visitors who haven't consented are recorded too, still with nothing stored on the device: the Worker files each page load's recording under the same daily-rotating visitor and session ids as its events, so the replay joins the visit.glass.consent(false)now stops replay for the rest of the page even if the recorder was still loading, andconsent(true)restarts a cookieless recording under the stored session.
#0.4.0
#Minor Changes
88f0a3a: Reports you can explore, key events and a cost page. Mark events as conversions or important (Events page, or the new
mark_eventMCP tool) and Reports show their rates, overall and per source. Marketing adds channels (search, social, paid, email, AI assistants, referral, direct) and a source table with conversion and bounce. Health adds errors over time, sessions affected, likely 404 pages, the slowest pages and replay frustration. Clicking any source, campaign, page, country or device opens a full report for that segment; source and page segments keep whole visits (newsession.<property>filters). New Usage & cost page (andusage_and_costtool) projects what Glass adds to the Cloudflare bill and recommends ways to cut it. Copyable agent prompts on Reports and in Insights' "New analysis" menu. New MCP toolsquery_sourcesandsite_health. Runglass upgradeto apply migration 0005.Onboarding fixes from rolling Glass out to ten sites: deployments are named
glass-<project>by default (a sharedglassname made a second site take over the first site's Worker);--route acme.comis enough (no shell-sensitive*), and--no-routeremoves one;--retention-dayson init and upgrade; init retries while new Worker secrets propagate instead of failing with "GLASS_ADMIN_KEY is not set"; wrangler failures show the actual error; a CLAUDE.md that imports AGENTS.md no longer gets a duplicate Glass section; init and the agent instructions explain cookie banners (cookieless untilglass.consent(true)), mirroring an existing analytics helper, and loading from the Worker URL on Vercel or Netlify.
#0.3.0
#Minor Changes
- 1449c31: Session replay becomes a debugging tool. Recordings now include console warnings and errors, network requests (method, URL without query string, status, timing) and client-side navigation;
data-glass-maskmasks an element's text. Transcripts label clicks on content rendered after load, add CSS selectors, dead clicks, clicks followed by errors, stack frames, failed requests and console errors. New MCP toolsreplay_snapshot,analyse_replays,annotate_replayanddelete_replay_note;list_replayscan filter by signals, visited URL, events that did or did not happen, cohorts and text. The dashboard gets a full player (timeline markers, speed, skip inactivity, fullscreen, deep links, notes) and a Patterns page. Runglass upgradeto apply migration 0004 and switch the maintenance cron to hourly.