This release requires Go 1.21.
Features:
-
Quite a few tables are rewritten to a more efficient format. For small to medium instances this will take a few minutes at the most, but if you have very large instances this may take a few hours. It also requires enough free disk space to rewrite the
hits
table.If you want to run steps manually then you can view the migration with:
% goatcounter db migrate -show 2023-05-16-1-hits
Or if you use PostgreSQL:
% goatcounter db migrate -show -db postgresql+dbname=goatcounter 2023-05-16-1-hits
-
The
User-Agent
header is no longer stored; only the browser and system parsed out of there. It's pretty reliable, and especially mobile browser User-Agents are ridiculously unique. It was always stored only "in case the detection got it horribly wrong", but this has never been needed. -
Add
proxy
option inserve -tls
flag, to give a hint that a secure connection will be used, so we know what value to use for the cookie secure/samesite flags. -
Add experimental "dark mode"; this needs to be enabled explicitly in the user settings. I need help to make this decent:
#586 (comment) -
Show difference of pageviews compared to previous period on the dashboard.
-
Make setup of a new installation a bit easier: instead of telling people to use the CLI, display a form when the database is 100% empty.
Fixes:
-
Collecting stats was broken when "sessions" was disabled in the site settings.
-
Use navigator.sendBeacon by default in count.js. This will allow using click events on things like PDF files and external URLs:
<a href="file.pdf" data-goatcounter-event="file.pdf"> <a href="http://example.com" data-goatcounter-event="ext-example.com">
-
Sometimes the order of pages was wrong when using PostgreSQL.
-
Few smaller bugfixes.