Skip to content

v2.5.0

Latest
Compare
Choose a tag to compare
@arp242 arp242 released this 14 Dec 02:58
· 43 commits to master since this release
ca25fa9

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 in serve -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.