Releases: plausible/analytics
v3.0.1
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
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
and91d
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 assd
ande
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
andhas_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 thanlast 28 days
. On the next day, the default changes tolast 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
and30d
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 overXMLHttpRequest
. This will ensure more reliable tracking. Reminder to usecompat
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 of0
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 like30d
,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 forvisitors
andvisits
with atime: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 withoutvisitors
- 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
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
and91d
available on both dashboard and in public API
Changed
- Default period for brand new sites is now
today
rather thanlast 28 days
. On the next day, the default changes tolast 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 like30d
,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
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
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
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
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
and90d
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 assd
ande
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
andhas_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
and30d
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 overXMLHttpRequest
. This will ensure more reliable tracking. Reminder to usecompat
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 of0
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 forvisitors
andvisits
with atime: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 withoutvisitors
- 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
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
Removed
v2.1.5-rc.4
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
Removed
v2.1.5-rc.1
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: