v3.0.0

The highlights of this release are:

  • Create teams, manage users and permissions
  • Scroll depth, engagement time and (reworked) time on page metrics
  • Segments feature: group filters into persistent, named presets

Upgrade

Update the image used for plausible

compose.yml

diff --git a/compose.yml b/compose.yml
index f5a0a7e..3e03415 100644
--- a/compose.yml
+++ b/compose.yml
@@ -11,7 +11,7 @@ services:
       start_period: 1m
 
   plausible_events_db:
-    image: clickhouse/clickhouse-server:24.3.3.102-alpine
+    image: clickhouse/clickhouse-server:24.12-alpine
     restart: always
     volumes:
       - event-data:/var/lib/clickhouse
@@ -27,12 +27,14 @@ services:
       nofile:
         soft: 262144
         hard: 262144
+    environment:
+      - CLICKHOUSE_SKIP_USER_SETUP=1
     healthcheck:
       test: ["CMD-SHELL", "wget --no-verbose --tries=1 -O - http://127.0.0.1:8123/ping || exit 1"]
       start_period: 1m
 
   plausible:
-    image: ghcr.io/plausible/community-edition:v2.1.5
+    image: ghcr.io/plausible/community-edition:v3.0.0
     restart: always
     command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
     depends_on:

and restart the containers

console

$ docker compose up -d

This will boot up the new version of the app.

Changelog

The following changes have been made since 2.1.5:

Added

  • Ability to sort by and compare the exit_rate metric in the dashboard Exit Pages > Details report
  • Add top 3 pages into the traffic spike email
  • Two new shorthand time periods 28d and 91d available on both dashboard and in public API
  • Average scroll depth metric
  • Scroll Depth goals
  • Dashboard shows comparisons for all reports
  • UTM Medium report and API shows (gclid) and (msclkid) for paid searches when no explicit utm medium present.
  • Support for case_sensitive: false modifiers in Stats API V2 filters for case-insensitive searches.
  • Add text version to emails #4674
  • Add acquisition channels report
  • Add filter is not for goals in dashboard #4983
  • Add Segments feature
  • Support ["is", "segment", []] filter in Stats API
  • Time on page metric is now sortable in reports
  • Plausible tracker script now reports maximum scroll depth reached and time engaged with the site in an engagement event. These are reported as sd and e integer parameters to /api/event endpoint respectively. If you’re using a custom proxy for plausible script, please ensure that these parameters are being passed forward.
  • Plausible tracker script now reports the version of the script in the v parameter sent with each request.
  • Add support for creating and managing teams owning multiple sites
  • Introduce “billing” team role for users
  • Introduce “editor” role with permissions greater than “viewer” but lesser than “admin”
  • Support behavioral filters has_done and has_not_done on the Stats API to allow filtering sessions by other events that have been completed.
  • time_on_page metric is now graphable, sortable on the dashboard, and available in the Stats API and CSV and GA4 exports/imports

Removed

  • Internal stats API routes no longer support legacy dashboard filter format.
  • Dashboard no longer shows “Unique visitors” in top stats when filtering by a goal which used to count all users including ones who didn’t complete the goal. “Unique conversions” shows the number of unique visitors who completed the goal.

Changed

  • Default period for brand new sites is now today rather than last 28 days. On the next day, the default changes to last 28 days.
  • Increase decimal precision of the “Exit rate” metric from 0 to 1 (e.g. 67 -> 66.7)
  • Increase decimal precision of the “Conversion rate” metric from 1 to 2 (e.g. 16.7 -> 16.67)
  • The “Last 30 days” period is now “Last 28 days” on the dashboard and also the new default. Keyboard shortcut T still works for last 30 days.
  • Last 7d and 30d periods do not include today anymore
  • Filters appear in the search bar as ?f=is,page,/docs,/blog&f=… instead of ?filters=((is,page,(/docs,/blog)),…) for Plausible links sent on various platforms to work reliably.
  • Details modal search inputs are now case-insensitive.
  • Improved report performance in cases where site has a lot of unique pathnames
  • Plausible script now uses fetch with keepalive flag as default over XMLHttpRequest. This will ensure more reliable tracking. Reminder to use compat script variant if tracking Internet Explorer is required.
  • The old /api/health healtcheck is soft-deprecated in favour of separate /api/system/health/live and /api/system/health/ready checks
  • Changed top bar filter menu and how applied filters wrap
  • Main graph now shows revenue with relevant currency symbol when hovering a data point
  • Main graph now shows - instead of 0 for visit duration, scroll depth when hovering a data point with no visit data
  • Make Stats and Sites API keys scoped to teams they are created in
  • Remove permissions to manage sites guests and run destructive actions from team editor and guest editor roles in favour of team admin role
  • Time-on-page metric has been reworked. It now uses engagement events sent by plausible tracker script. We still use the old calculation methods for periods before the self-hosted instance was upgraded. Warnings are shown in the dashboard and API when legacy calculation methods are used.
  • Always set site and team member limits to unlimited for Community Edition
  • Stats API now supports more date_range shorthand options like 30d, 3mo.
  • Stop showing Plausible footer when viewing stats, except when viewing a public dashboard or unembedded shared link dashboard.

Fixed

  • Fix fetching favicons from DuckDuckGo when the domain includes a pathname
  • Fix visitors.csv (in dashboard CSV export) vs dashboard main graph reporting different results for visitors and visits with a time:minute interval.
  • The tracker script now sends pageviews when a page gets loaded from bfcache
  • Fix returning filter suggestions for multiple custom property values in the dashboard Filter modal
  • Fix typo on login screen
  • Fix Direct / None details modal not opening
  • Fix year over year comparisons being offset by a day for leap years
  • Breakdown modals now display correct comparison values instead of 0 after pagination
  • Fix database mismatch between event and session user_ids after rotating salts
  • /api/v2/query no longer returns a 500 when querying percentage metric without visitors
  • Fix current visitors loading when viewing a dashboard with a shared link
  • Fix Conversion Rate graph being unselectable when “Goal is …” filter is within a segment
  • Fix Channels filter input appearing when clicking Sources in filter menu or clicking an applied “Channel is…” filter
  • Fix Conversion Rate metrics column disappearing from reports when “Goal is …” filter is within a segment
  • Graph tooltip now shows year when graph has data from multiple years

 

Source: https://github.com/plausible/analytics/releases/tag/v3.0.0

More From Author

Leave a Reply

Recent Comments

No comments to show.