GoatCounter v1.4.0 Release Notes

Release Date: 2020-08-24 // over 3 years ago
  • Major changes:

    ๐Ÿ”„ Change defaults for -listen (#336)

    0๏ธโƒฃ The default for the -listen flag changed from localhost:8081 to :443, which is probably a better and less confusing default for most people. There is also some more detailed docs available in goatcounter help listen.

    Set Cache-Control header for static files (#348)

    โšก๏ธ The Cache-Control header is now set for static files. Since the "cache busting" happens based on the goatcounter version it's now recommended to set this if you're compiling GoatCounter yourself. See the updated README for instructions.

    โž• Add multi-factor auth (#306)

    ๐Ÿ‘ TOTP-based multi-factor auth is now supported.

    ๐Ÿ‘ Better export, export API, add import feature (#316, #318, #329)

    ๐ŸŒ You can now import the CSV exports, useful for migrating from self-hosted to goatcounter.com or vice versa, or for migrating from other systems. There is a web interface and a goatcounter import command.

    ๐Ÿ”€ The export now supports a "pagination cursor", so you can export only rows you didn't previously export. This is especially useful with the new export API. which should make it easy to sync GoatCounter data with another external platform.

    ๐Ÿ‘€ See http://goatcounter.com/api for details on the export API.

    API for sending pageviews (#357)

    Doing that with the regular /count is actually quite painful, as you quickly run in to ratelimits, need to set specific headers, etc. Adding an API endpoint for that makes things much easier.

    API for creating and editing additional sites (#361)

    Some redesigns (#324, #315, #321 #320)

    The "Totals" is now placed below the Pages; I think it makes more sense there. The Y-axis for the totals is now also independent. There's also been a quite a few restylings.

    โž• Add "text view" mode (#359)

    View your data as a simple table without too much graphics; only the main "Pages" overview is implemented for now.

    ๐Ÿ‘‰ Make it easier to skip your own views (#290)

    ๐Ÿ’ป Previously this required adding custom code, but now loading any page with #toggle-goatcounter added will enable/disable the GoatCounter tracking for that browser.

    Can now manage "additional sites" from self-hosted GoatCounter (#363)

    This wasn't possible before for no other reason than laziness on my part ๐Ÿ™ƒ

    public/count.js is now ISC licensed (#309)

    Previously the EUPL applied, which is fairly restrictive and may prevent people from including/self-hosting the count.js script.

    โž• Add goatcounter db command

    ๐Ÿš€ This is mostly useful for writing deploy scripts: goatcounter db schema-sqlite prints the SQLite schema, schema-pgsql prints the PostgreSQL schema, and goatcounter db test tests if the database exists.

    Session hashes are no longer persisted to the database

    This is kind of an internal change, but session hashes are now stored in memory only and never recorded to the database. There's no real reason to persistently store this information, and this is a (small) privacy/GDPR compliance improvement.