# Plausible Analytics changelog
> Simple, lightweight, privacy-friendly web analytics without cookies.
- Vendor: Plausible
- Category: Productivity
- Official site: https://plausible.io
- Tracked by: What's New (https://whatsnew.fyi/product/plausible)
- Harvested from: GitHub (plausible/analytics)
- Entries below: 10 (newest first)
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
## Releases
### v3.2.1
- Date: 2026-05-15
- Version: v3.2.1
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.2.1
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.2.1
- **security** — Remove HTTP "/storybook" endpoint that allowed remote code execution under certain conditions
#### Security related update
This patch release **fixes a security vulnerability**[`CVE-2026-8467` / `GHSA-55hg-8qxv-qj4p`](https://github.com/phenixdigital/phoenix_storybook/security/advisories/GHSA-55hg-8qxv-qj4p) affecting the following versions of Plausible Community Edition (image: ghcr.io/plausible/community-edition):
Tags:
- v3.2
- v3.2.0
- v3
- v3.2.0-rc.0
- v3.1
- v3.1.0
- v3.1.0-rc.1
- v3.1.0-rc.0
- v3.0.1
- v3.0
- v3.0.0
- v3.0.0-rc.6
- v3.0.0-rc.5
- v3.0.0-rc.4
- v3.0.0-rc.3
- v3.0.0-rc.2
- v3.0.0-rc.1
- v3.0.0-rc.0
The affected versions expose a `HTTP "/storybook"` endpoint which, under certain conditions, allows remote code execution with privileges of system user running the application.
This release v3.2.1 of Plausible Community Edition completely removes that endpoint.
##### Who is affected?
All deployments of Plausible Community Edition running the following versions:
- v3.2
- v3.2.0
- v3
- v3.2.0-rc.0
- v3.1
- v3.1.0
- v3.1.0-rc.1
- v3.1.0-rc.0
- v3.0.1
- v3.0
- v3.0.0
- v3.0.0-rc.6
- v3.0.0-rc.5
- v3.0.0-rc.4
- v3.0.0-rc.3
- v3.0.0-rc.2
- v3.0.0-rc.1
- v3.0.0-rc.0
where `HTTP "/storybook"` endpoint is exposed to a public or other untrusted network.
##### Mitigation
All affected versions of Plausible Community Edition should be updated to v3.2.1 as soon as possible.
As an immediate mitigation, it is recommended to block access to HTTP "/storybook" endpoint in your reverse proxy configuration or via other applicable means.
##### Changes in this release
- Remove `HTTP "/storybook"` endpoint along with the associated logic
No other changes are included in this release.
### v3.2.0
- Date: 2026-01-26
- Version: v3.2.0
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.2.0
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.2.0
- **added** — Add limit to segment feature for shared links
- **added** — Show visitor percentage breakdown on all reports in dashboard and detailed breakdown
- **changed** — Make segment filters visible to anyone who can view the dashboard with that segment applied, including personal segments on public dashboards
- **fixed** — Fix shared link auth cookie not being set in internal stats API requests for password-protected shared links
- **fixed** — Fix site guests in Editor role and team members in Editor role not being able to change the domain of site
- **fixed** — Fix direct dashboard links using legacy dashboard filters containing URL encoded special characters
- **fixed** — Fix tracker script config cache bug that caused requests for certain cached scripts to return error 500
- **fixed** — Fix Clickhouse low-memory settings that were not actually applied
This release
- adds "[Limit to segment](https://plausible.io/docs/shared-links#limit-to-segment)" feature for shared links
- fixes a bug requesting tracker scripts in v3.1.0 ([issue 5901](https://github.com/plausible/analytics/issues/5901))
- fixes Clickhouse low-memory settings that weren't actually applied (https://github.com/plausible/community-edition/pull/265)
- ...contains a few other fixes and changes, full details below
##### Upgrade
Checkout the branch `plausible/community-edition:v3.2.0`. Needed because Clickhouse profile settings in the [community-edition](https://github.com/plausible/community-edition) repository have changed.
console
```console
$ git fetch origin v3.2.0:v3.2.0
$ git checkout v3.2.0
```
Re-apply any local changes to tracked files in the repository. If all configuration changes were in `.env` and `compose.override.yml`, this step isn't necessary.
console
```console
$ docker compose up -d
```
This will boot up the new version of the app.
##### Changelog
###### Added
- A visitor percentage breakdown is now shown on all reports, both on the dashboard and in the detailed breakdown
- Shared links can now be limited to a particular segment of the data
###### Changed
- Segment filters are visible to anyone who can view the dashboard with that segment applied, including personal segments on public dashboards
###### Fixed
- To make internal stats API requests for password-protected shared links, shared link auth cookie must be set in the requests
- Fixed issue with site guests in Editor role and team members in Editor role not being able to change the domain of site
- Fixed direct dashboard links that use legacy dashboard filters containing URL encoded special characters (e.g. character `ê` in the legacy filter `?page=%C3%AA`)
- Fix bug with tracker script config cache that made requests for certain cached scripts give error 500
### v3.2.0-rc.0
- Date: 2025-12-29
- Version: v3.2.0-rc.0
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.2.0-rc.0
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.2.0-rc.0
- Labels: Pre-release
- **added** — A visitor percentage breakdown is now shown on all reports, both on the dashboard and in the detailed breakdown
- **added** — Shared links can now be limited to a particular segment of the data
- **changed** — Segment filters are visible to anyone who can view the dashboard with that segment applied, including personal segments on public dashboards
- **fixed** — To make internal stats API requests for password-protected shared links, shared link auth cookie must be set in the requests
- **fixed** — Fixed issue with site guests in Editor role and team members in Editor role not being able to change the domain of site
- **fixed** — Fixed direct dashboard links that use legacy dashboard filters containing URL encoded special characters
- **fixed** — Fix bug with tracker script config cache that made requests for certain cached scripts give error 500
This release
- adds "[Limit to segment](https://plausible.io/docs/shared-links#limit-to-segment)" feature for shared links
- fixes a bug requesting tracker scripts in v3.1.0 ([issue 5901](https://github.com/plausible/analytics/issues/5901))
- ...contains a few other fixes and changes, full details below
##### Upgrade
Update the image used for `plausible`
compose.yml
```diff
plausible:
- image: ghcr.io/plausible/community-edition:v3.1.0
+ image: ghcr.io/plausible/community-edition:v3.2.0-rc.0
```
and restart the containers
console
```console
$ docker compose up -d
```
This will boot up the new version of the app.
##### Changelog
###### Added
- A visitor percentage breakdown is now shown on all reports, both on the dashboard and in the detailed breakdown
- Shared links can now be limited to a particular segment of the data
###### Changed
- Segment filters are visible to anyone who can view the dashboard with that segment applied, including personal segments on public dashboards
###### Fixed
- To make internal stats API requests for password-protected shared links, shared link auth cookie must be set in the requests
- Fixed issue with site guests in Editor role and team members in Editor role not being able to change the domain of site
- Fixed direct dashboard links that use legacy dashboard filters containing URL encoded special characters (e.g. character `ê` in the legacy filter `?page=%C3%AA`)
- Fix bug with tracker script config cache that made requests for certain cached scripts give error 500
### v3.1.0
- Date: 2025-11-13
- Version: v3.1.0
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.1.0
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.1.0
- **added** — Custom events can now be marked as non-interactive in events API and tracker script; events marked as non-interactive are not counted towards bounce rate
- **added** — Ability to leave team via Team Settings > Leave Team
- **added** — Stats APIv2 now supports `include.trim_relative_date_range` option allowing trimming empty values after current time for day, month and year date_range values
- **added** — Properties are now included in full site exports done via Site Settings > Imports & Exports
- **added** — Google Search Console integration settings support dynamically seeking properties
- **added** — Weekly/monthly e-mail reports now contain top goal conversions
- **added** — Newly created sites are offered a new dynamic tracking script and snippet specific to the site
- **added** — Old sites that go to Review installation flow are offered the new script and snippet, along with a migration guide from legacy snippets
- **added** — The new tracker script allows configuring `transformRequest` function to change event payloads before they're sent
- **added** — The new tracker script allows configuring `customProperties` function hook to derive custom props for events on the fly
- **added** — The new tracker script supports tracking form submissions if enabled
- **added** — The new tracker script automatically updates to respect site domain if it's changed in Change domain flow
- **added** — The new tracker script automatically updates to respect configuration options available in New site flows and Review installation flows: whether to track outbound links, file downloads, form submissions
- **added** — The new tracker script allows overriding almost all options by changing the snippet on the website with the function `plausible.init({ ...your overrides... })`
- **added** — A new `@plausible-analytics/tracker` ESM module is available on NPM with near-identical configuration API and identical tracking logic as the script
- **added** — Ability to enforce enabling 2FA by all team members
- **added** — Support for a new optional `interactive` property on events
- **changed** — A session is now marked as a bounce if it has less than 2 pageviews and no interactive custom events
- **changed** — All dropmenus on dashboard are navigable with Tab and no two dropmenus can be open at once on the dashboard
- **changed** — Special path-based events like 404 don't need `event.props.path` to be explicitly defined when tracking; it is set to be the same as `event.pathname` in event ingestion
- **changed** — Main graph no longer shows empty values after current time for day, month and year periods
- **changed** — Include `bounce_rate` metric in Entry Pages breakdown
- **changed** — Dark mode theme has been refined with darker color scheme and better visual hierarchy
- **changed** — Configuring shared links is now in a modal
- **fixed** — Make clicking Compare / Disable Comparison in period picker menu close the menu
- **fixed** — Do not log page views for hidden pages until pages are viewed
- **fixed** — Password-authenticated shared links now carry over dashboard params properly
- **fixed** — Realtime and hourly graphs of visit duration, views per visit no longer overcount due to long-lasting sessions, instead showing each visit when they occurred
- **fixed** — Fixed realtime and hourly graphs of visits overcounting
- **fixed** — When reporting only `visitors` and `visits` per hour, count visits in each hour they were active in
- **fixed** — Fixed unhandled tracker-related exceptions on link clicks within svgs
- **fixed** — Remove Subscription and Invoices menu from CE
- **fixed** — Fix email sending error Mua.SMTPError 503 Bad sequence of commands
- **fixed** — Make button to include / exclude imported data visible on Safari
This release
- Introduces the new dynamic and more configurable tracking snippet and script (legacy scripts and snippets will still continue to work). See [this doc](https://plausible.io/docs/script-update-guide) for more details
- Supports a new optional property on events: `interactive`. See [this doc](https://plausible.io/docs/events-api#request-body-json-parameters:~:text=interactive%20optional) for more details.
- Revamps dark theme
- ...other fixes and improvements listed below
##### Upgrade
Update the image used for `plausible`
compose.yml
```diff
plausible:
- image: ghcr.io/plausible/community-edition:v3.0.1
+ image: ghcr.io/plausible/community-edition:v3.1.0
```
and restart the containers
console
```console
$ docker compose up -d
```
This will boot up the new version of the app.
##### Changelog
###### Added
- Custom events can now be marked as non-interactive in events API and tracker script: events marked as non-interactive are not counted towards bounce rate
- Ability to leave team via Team Settings > Leave Team
- Stats APIv2 now supports `include.trim_relative_date_range` - this option allows trimming empty values after current time for `day`, `month` and `year` date_range values
- Properties are now included in full site exports done via Site Settings > Imports & Exports
- Google Search Console integration settings: properties can be dynamically sought
- Weekly/monthly e-mail reports now contain top goal conversions
- Newly created sites are offered a new dynamic tracking script and snippet that's specific to the site
- Old sites that go to "Review installation" flow are offered the new script and snippet, along with a migration guide from legacy snippets, legacy snippets continue to function as before
- The new tracker script allows configuring `transformRequest` function to change event payloads before they're sent
- The new tracker script allows configuring `customProperties` function hook to derive custom props for events on the fly
- The new tracker script supports tracking form submissions if enabled
- The new tracker script automatically updates to respect site domain if it's changed in "Change domain" flow
- The new tracker script automatically updates to respect the following configuration options available in "New site" flows and "Review installation" flows: whether to track outbound links, file downloads, form submissions
- The new tracker script allows overriding almost all options by changing the snippet on the website, with the function `plausible.init({ ...your overrides... })` - this can be unique page-by-page
- A new `@plausible-analytics/tracker` ESM module is available on NPM - it has near-identical configuration API and identical tracking logic as the script and it receives bugfixes and updates concurrently with the new tracker script
- Ability to enforce enabling 2FA by all team members
###### Removed
###### Changed
- A session is now marked as a bounce if it has less than 2 pageviews and no interactive custom events
- All dropmenus on dashboard are navigable with Tab (used to be a mix between tab and arrow keys), and no two dropmenus can be open at once on the dashboard
- Special path-based events like "404" don't need `event.props.path` to be explicitly defined when tracking: it is set to be the same as `event.pathname` in event ingestion; if it is explicitly defined, it is not overridden for backwards compatibility
- Main graph no longer shows empty values after current time for `day`, `month` and `year` periods
- Include `bounce_rate` metric in Entry Pages breakdown
- Dark mode theme has been refined with darker color scheme and better visual hierarchy
- Configuring shared links is now in a modal
###### Fixed
- Make clicking Compare / Disable Comparison in period picker menu close the menu
- Do not log page views for hidden pages (prerendered pages and new tabs), until pa
_[Truncated at 4000 characters — full notes: https://github.com/plausible/analytics/releases/tag/v3.1.0]_
### v3.1.0-rc.1
- Date: 2025-11-03
- Version: v3.1.0-rc.1
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.1.0-rc.1
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.1.0-rc.1
- Labels: Pre-release
- **fixed** — Fixed issue with backfilling tracker script config
- **changed** — Configuring shared links is now in a modal
This release fixes [v3.1.0-rc.0](https://github.com/plausible/analytics/releases/tag/v3.1.0-rc.0), see the notes of that release for the full picture.
##### Upgrade guide from last stable release
Update the image used for `plausible`
compose.yml
```diff
plausible:
- image: ghcr.io/plausible/community-edition:v3.0.1
+ image: ghcr.io/plausible/community-edition:v3.1.0-rc.1
```
and restart the containers
console
```console
$ docker compose up -d
```
##### Changes (since [v3.1.0-rc.0](https://github.com/plausible/analytics/releases/tag/v3.1.0-rc.0))
###### Fixed
- Fixed issue with backfilling tracker script config
###### Changed
- Configuring shared links is now in a modal
### v3.1.0-rc.0
- Date: 2025-11-03
- Version: v3.1.0-rc.0
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.1.0-rc.0
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.1.0-rc.0
- Labels: Pre-release
- **added** — Custom events can now be marked as non-interactive in events API and tracker script, with non-interactive events not counted towards bounce rate
- **added** — Ability to leave team via Team Settings > Leave Team
- **added** — Stats APIv2 now supports include.trim_relative_date_range option to trim empty values after current time for day, month and year date_range values
- **added** — Properties are now included in full site exports done via Site Settings > Imports & Exports
- **added** — Google Search Console integration settings now allow properties to be dynamically sought
- **added** — Weekly and monthly email reports now contain top goal conversions
- **added** — Newly created sites are offered a new dynamic tracking script and snippet specific to the site
- **added** — Sites in Review installation flow are offered the new script and snippet along with a migration guide from legacy snippets
- **added** — New tracker script allows configuring transformRequest function to change event payloads before they are sent
- **added** — New tracker script allows configuring customProperties function hook to derive custom props for events on the fly
- **added** — New tracker script supports tracking form submissions if enabled
- **added** — New tracker script automatically updates to respect site domain if changed in Change domain flow
- **added** — New tracker script automatically updates to respect configuration options for tracking outbound links, file downloads, and form submissions
- **added** — New tracker script allows overriding options by changing the snippet with plausible.init() function for page-by-page customization
- **added** — New @plausible-analytics/tracker ESM module available on NPM with near-identical configuration API and identical tracking logic
- **changed** — A session is now marked as a bounce if it has less than 2 pageviews and no interactive custom events
- **changed** — All dropmenus on dashboard are navigable with Tab and no two dropmenus can be open at once
- **changed** — Special path-based events like 404 do not need event.props.path to be explicitly defined when tracking
- **changed** — Main graph no longer shows empty values after current time for day, month and year periods
- **changed** — Include bounce_rate metric in Entry Pages breakdown
This release
- Introduces the new dynamic and more configurable tracking snippet and script (legacy scripts and snippets will still continue to work). See [this doc](https://plausible.io/docs/script-update-guide) for more details
- Supports a new optional property on events: `interactive`. See [this doc](https://plausible.io/docs/events-api#request-body-json-parameters:~:text=interactive%20optional) for more details.
- Revamps dark theme
- ...other fixes and improvements listed below
##### Upgrade
Update the image used for `plausible`
compose.yml
```diff
plausible:
- image: ghcr.io/plausible/community-edition:v3.0.1
+ image: ghcr.io/plausible/community-edition:v3.1.0-rc.0
```
and restart the containers
console
```console
$ docker compose up -d
```
This will boot up the new version of the app.
##### Changelog
###### Added
- Custom events can now be marked as non-interactive in events API and tracker script: events marked as non-interactive are not counted towards bounce rate
- Ability to leave team via Team Settings > Leave Team
- Stats APIv2 now supports `include.trim_relative_date_range` - this option allows trimming empty values after current time for `day`, `month` and `year` date_range values
- Properties are now included in full site exports done via Site Settings > Imports & Exports
- Google Search Console integration settings: properties can be dynamically sought
- Weekly/monthly e-mail reports now contain top goal conversions
- Newly created sites are offered a new dynamic tracking script and snippet that's specific to the site
- Old sites that go to "Review installation" flow are offered the new script and snippet, along with a migration guide from legacy snippets, legacy snippets continue to function as before
- The new tracker script allows configuring `transformRequest` function to change event payloads before they're sent
- The new tracker script allows configuring `customProperties` function hook to derive custom props for events on the fly
- The new tracker script supports tracking form submissions if enabled
- The new tracker script automatically updates to respect site domain if it's changed in "Change domain" flow
- The new tracker script automatically updates to respect the following configuration options available in "New site" flows and "Review installation" flows: whether to track outbound links, file downloads, form submissions
- The new tracker script allows overriding almost all options by changing the snippet on the website, with the function `plausible.init({ ...your overrides... })` - this can be unique page-by-page
- A new `@plausible-analytics/tracker` ESM module is available on NPM - it has near-identical configuration API and identical tracking logic as the script and it receives bugfixes and updates concurrently with the new tracker script
###### Removed
###### Changed
- A session is now marked as a bounce if it has less than 2 pageviews and no interactive custom events
- All dropmenus on dashboard are navigable with Tab (used to be a mix between tab and arrow keys), and no two dropmenus can be open at once on the dashboard
- Special path-based events like "404" don't need `event.props.path` to be explicitly defined when tracking: it is set to be the same as `event.pathname` in event ingestion; if it is explicitly defined, it is not overridden for backwards compatibility
- Main graph no longer shows empty values after current time for `day`, `month` and `year` periods
- Include `bounce_rate` metric in Entry Pages breakdown
- Dark mode theme has been refined with darker color scheme and better visual hierarchy
###### Fixed
- Make clicking Compare / Disable Comparison in period picker menu close the menu
- Do not log page views for hidden pages (prerendered pages and new tabs), until pages are viewed
- Password-authenticated shared links now carry over dashboard params properly
_[Truncated at 4000 characters — full notes: https://github.com/plausible/analytics/releases/tag/v3.1.0-rc.0]_
### v3.0.1
- Date: 2025-04-11
- Version: v3.0.1
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.0.1
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.0.1
- **fixed** — Fix migration procedure
This release contains a patch for the migration procedure (fixes https://github.com/plausible/analytics/issues/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
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
- Date: 2025-04-11
- Version: v3.0.0
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.0.0
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.0.0
- **added** — Ability to create teams and manage users and permissions
- **added** — Average scroll depth metric
- **added** — Scroll Depth goals
- **added** — Dashboard shows comparisons for all reports
- **added** — Two new shorthand time periods 28d and 91d available on both dashboard and in public API
- **added** — UTM Medium report and API shows (gclid) and (msclkid) for paid searches when no explicit utm medium present
- **added** — Support for case_sensitive: false modifiers in Stats API V2 filters for case-insensitive searches
- **added** — Add text version to emails
- **added** — Acquisition channels report
- **added** — Filter is not for goals in dashboard
- **added** — Segments feature to group filters into persistent, named presets
- **added** — Support ["is", "segment", []] filter in Stats API
- **added** — Time on page metric is now sortable in reports
- **added** — Plausible tracker script reports maximum scroll depth reached and time engaged with the site in an engagement event with sd and e integer parameters
- **added** — Plausible tracker script reports the version of the script in the v parameter sent with each request
- **added** — Support behavioral filters has_done and has_not_done on the Stats API to allow filtering sessions by other events
- **added** — Introduce billing team role for users
- **added** — Introduce editor role with permissions greater than viewer but lesser than admin
- **changed** — Default period for brand new sites is now today rather than last 28 days
- **changed** — Increase decimal precision of the Exit rate metric from 0 to 1 decimal place
> [!WARNING]
> Please use [3.0.1 patch](https://github.com/plausible/analytics/releases/tag/v3.0.1) that contains fix for https://github.com/plausible/analytics/issues/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
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
```console
$ docker compose up -d
```
This will boot up the new version of the app.
##### Changelog
The following [changes](https://github.com/plausible/analytics/compare/v2.1.5...v3.0.0) 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 plausible/analytics#4674
- Add acquisition channels report
- Add filter `is not` for goals in dashboard plausible/analytics#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
_[Truncated at 4000 characters — full notes: https://github.com/plausible/analytics/releases/tag/v3.0.0]_
### v3.0.0-rc.6
- Date: 2025-04-10
- Version: v3.0.0-rc.6
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.0.0-rc.6
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.0.0-rc.6
- Labels: Pre-release
- **added** — Ability to sort by and compare the exit_rate metric in the dashboard Exit Pages > Details report
- **added** — 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, changing to last 28 days on the next day
- **changed** — Increase decimal precision of the Exit rate metric from 0 to 1 decimal place
- **changed** — Always set site and team member limits to unlimited for Community Edition
- **changed** — Stats API now supports more date_range shorthand options like 30d and 3mo
Another follow-up to pre-release [3.0.0-rc.0](https://github.com/plausible/analytics/releases/tag/v3.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: https://github.com/plausible/analytics/compare/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
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
- Date: 2025-04-09
- Version: v3.0.0-rc.4
- Original notes: https://github.com/plausible/analytics/releases/tag/v3.0.0-rc.4
- Permalink: https://whatsnew.fyi/product/plausible/releases/v3.0.0-rc.4
- Labels: Pre-release
- **fixed** — Address issue with disappearing sites for users trying out previous release candidates
- **changed** — Upgrade ClickHouse to version 24.12-alpine
Another follow-up to pre-release [3.0.0-rc.0](https://github.com/plausible/analytics/releases/tag/v3.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
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:
```