github plausible/analytics v2.0.0-rc.0

latest releases: v2.1.4, v2.1.4-rc.2, v2.1.4-rc.1...
pre-release18 months ago

The highlights of this release are:

Upgrading Plausible Analytics to v2.0

⚠️ ⚠️ ⚠️

Upgrading to v2.0 requires performing a data migration.
Please read these notes till the end before deploying v2.0.0-rc.0

Update image tag

In your docker-compose.yml update the image used for plausible to v2.0.0-rc.0

plausible:
- image: plausible/analytics:v1.5.1
+ image: plausible/analytics:v2.0.0-rc.0

and restart the container

$ cd hosting
$ docker compose stop plausible
$ docker compose rm plausible
$ docker compose up -d

This will boot up the new version of the app.

If you open the dashboards now, you wouldn't see any past metrics. This is expected as v2.0 uses new events_v2 and sessions_v2 tables to store analytics data. We need to move data from old tables and for that we perform the next step.

Run data migration

⚠️ ⚠️ ⚠️

You need enough disk space available for x2 current plausible_events_db's event-data volume size. You can use something like docker system df -v | grep hosting_event-data to check how much space the current volume is occupying.

Connect to the running plausible container and start the migration flow

$ cd hosting
$ docker compose exec plausible bin/plausible rpc Plausible.DataMigration.NumericIDs.run

You can attempt this migration multiple times (unless you perform the next step).

Drop v1 tables (optional)

Once you verify the migration went well, the old tables can be dropped. It's easiest to use clickhouse-client for this

$ ch hosting
$ docker compose exec plausible_events_db clickhouse-client
:) \c plausible_events_db
:) show tables;
:) drop table events;
:) drop table sessions;

See https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#max-table-size-to-drop for how to drop tables with more than 50GB of data.

Enable automatic MaxMind GeoLite2 updates (optional)

In your plausible-config.env set MAXMIND_LICENSE_KEY environment variable and get an automatically updated GeoLite2 City geolocation database. The database edition is configurable with MAXMIND_EDITION environment variable and defaults to GeoLite2-City.

+ MAXMIND_LICENSE_KEY=LNpsJCCKPis6XvBP
+ MAXMIND_EDITION=GeoLite2-City

Now you can remove any other volumes and services used to download, store, and update geolocation databases.

Changelog

Following changes have been made since v1.5:

Added

  • Ability to use '--' instead of '=' sign in the tagged-events classnames
  • 'Last updated X seconds ago' info to 'current visitors' tooltips
  • Add support for more Bamboo adapters, i.e. Bamboo.MailgunAdapter, Bamboo.MandrillAdapter, Bamboo.SendGridAdapter #2649
  • Ability to change domain for existing site (requires numeric IDs data migration, instructions will be provided separately) UI + API (PUT /api/v1/sites)

Fixed

  • Make goal-filtered CSV export return only unique_conversions timeseries in the 'visitors.csv' file
  • Stop treating page filter as an entry page filter
  • City report showing N/A instead of city names with imported data #2675
  • Empty values for Screen Size, OS and Browser are uniformly replaced with "(not set)"
  • Fix more pageviews with session prop filter than with no filters
  • Cascade delete sent_renewal_notifications table when user is deleted #2549
  • Show appropriate top-stat metric labels on the realtime dashboard when filtering by a goal
  • Fix breakdown API pagination when using event metrics #2562
  • Automatically update all visible dashboard reports in the realtime view
  • Connect via TLS when using HTTPS scheme in ClickHouse URL #2570
  • Add error message in case a transfer to an invited (but not joined) user is requested #2651
  • Fix bug with showing property breakdown with a prop filter
  • Fix bug when combining goal and prop filters #2654

Changed

  • Treat page filter as entry page filter for bounce_rate
  • Reject events with long URIs and data URIs #2536
  • Always show direct traffic in sources reports #2531
  • Stop recording XX and T1 country codes #2556
  • Device type is now determined from the User-Agent instead of window.innerWidth #2711
  • Add padding by default to embedded dashboards so that shadows are not cut off #2744
  • Update the User Agents database (https://github.com/matomo-org/device-detector/releases/tag/6.1.1)

Removed

  • Remove Firewall plug and IP_BLOCKLIST environment variable
  • Remove the ability to collapse the main graph #2627

Don't miss a new analytics release

NewReleases is sending notifications on new releases.