Skip to content

Releases: plausible/analytics

v3.0.1

11 Apr 10:07
cdf27e6
Compare
Choose a tag to compare

This release contains a patch for the migration procedure (fixes #5319).
Functionally it is equivalent of https://github.com/plausible/analytics/releases/v3.0.0

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.1
     restart: always
     command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
     depends_on:

and restart the containers

v3.0.0

11 Apr 08:23
96ebd01
Compare
Choose a tag to compare

Warning

Please use 3.0.1 patch that contains fix for #5319

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", [<segment ID>]] 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

v3.0.0-rc.6

10 Apr 08:30
Compare
Choose a tag to compare
v3.0.0-rc.6 Pre-release
Pre-release

Another follow-up to pre-release 3.0.0-rc.0

On top of original rc.0 this contains all the Community Edition upgrade/startup fixes + latest changes, namely:

Added

  • Ability to sort by and compare the exit_rate metric in the dashboard Exit Pages > Details report
  • Two new shorthand time periods 28d and 91d available on both dashboard and in public API

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)
  • Always set site and team member limits to unlimited for Community Edition
  • Stats API now supports more date_range shorthand options like 30d, 3mo.

Full changelog: v2.1.5...v3.0.0-rc.6


Warning

ClickHouse upgrade is necessary. See below.

Use the following diff to test the pre-release:

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-rc.6
     restart: always
     command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
     depends_on:

v3.0.0-rc.4

09 Apr 11:22
Compare
Choose a tag to compare
v3.0.0-rc.4 Pre-release
Pre-release

Another follow-up to pre-release 3.0.0-rc.0

This one should address issue with "disappearing sites" for people trying out previous release candidates.

Warning

ClickHouse upgrade is necessary. See below.

Use the following diff to test the pre-release:

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-rc.4
     restart: always
     command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
     depends_on:

v3.0.0-rc.3

08 Apr 14:53
Compare
Choose a tag to compare
v3.0.0-rc.3 Pre-release
Pre-release

This is a follow-up to pre-release 3.0.0-rc.0

Tries to address issues with Cloak Vault during migrations.

Upgrade

Update the image used for plausible

compose.yml

plausible:
- image: ghcr.io/plausible/community-edition:v2.1.5
+ image: ghcr.io/plausible/community-edition:v3.0.0-rc.3

and restart the containers

console

$ docker compose up -d

v3.0.0-rc.2

08 Apr 09:54
Compare
Choose a tag to compare
v3.0.0-rc.2 Pre-release
Pre-release

This is a follow-up to pre-release 3.0.0-rc.0

Contains faulty migrations patch.

Upgrade

Update the image used for plausible

compose.yml

plausible:
- image: ghcr.io/plausible/community-edition:v2.1.5
+ image: ghcr.io/plausible/community-edition:v3.0.0-rc.2

and restart the containers

console

$ docker compose up -d

v3.0.0-rc.0

08 Apr 08:57
de1bde4
Compare
Choose a tag to compare
v3.0.0-rc.0 Pre-release
Pre-release

Warning

In order to test the pre-release, please use https://github.com/plausible/analytics/releases/tag/v3.0.0-rc.4 patch.

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

plausible:
- image: ghcr.io/plausible/community-edition:v2.1.5
+ image: ghcr.io/plausible/community-edition:v3.0.0-rc.0

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

  • Add top 3 pages into the traffic spike email
  • Two new shorthand time periods 28d and 90d 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", [<segment ID>]] 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

  • 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.

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

v2.1.5

03 Feb 12:00
Compare
Choose a tag to compare

This release focuses on enhancing email functionality, including improved error logging, the addition of plain text emails, and the removal of trial and billing-related messaging in the Community Edition.

Upgrade

Update the image used for plausible

compose.yml

plausible:
- image: ghcr.io/plausible/community-edition:v2.1.4
+ image: ghcr.io/plausible/community-edition:v2.1.5

and restart the containers

console

$ docker compose up -d

This will boot up the new version of the app.

Changelog

Following changes have been made since v2.1.4:

Added

  • Add text version to emails #4674
  • Add error logging when email delivery fails #4885

Removed

  • Remove Plausible Cloud contacts #4766
  • Remove trial mentions #4668
  • Remove billings and upgrade tabs from settings #4897

v2.1.5-rc.4

20 Jan 15:11
Compare
Choose a tag to compare
v2.1.5-rc.4 Pre-release
Pre-release

This release focuses on enhancing email functionality, including improved error logging, the addition of plain text emails, and the removal of trial and billing-related messaging in the Community Edition.

Upgrade

Update the image used for plausible

compose.yml

plausible:
- image: ghcr.io/plausible/community-edition:v2.1.4
+ image: ghcr.io/plausible/community-edition:v2.1.5-rc.4

and restart the containers

console

$ docker compose up -d

This will boot up the new version of the app.

Changelog

Following changes have been made since v2.1.4:

Added

  • Add text version to emails #4674
  • Add error logging when email delivery fails #4885

Removed

  • Remove Plausible Cloud contacts #4766
  • Remove trial mentions #4668
  • Remove billings and upgrade tabs from settings #4897

v2.1.5-rc.1

17 Jan 12:58
Compare
Choose a tag to compare
v2.1.5-rc.1 Pre-release
Pre-release

This release focuses on enhancing email functionality, including improved error logging, the addition of plain text emails, and the removal of trial and billing-related messaging in the Community Edition.

Upgrade

Update the image used for plausible

compose.yml

plausible:
- image: ghcr.io/plausible/community-edition:v2.1.4
+ image: ghcr.io/plausible/community-edition:v2.1.5-rc.1

and restart the containers

console

$ docker compose up -d

This will boot up the new version of the app.

Changelog

Following changes have been made since v2.1.4:

Added

  • Add text version to emails #4674
  • Add error logging when email delivery fails #4885

Removed

  • Remove Plausible Cloud contacts #4766
  • Remove trial mentions #4668
  • Remove billings and upgrade tabs from settings #4897