Skip to content

Release history

goatcounter releases

Easy web analytics. No tracking of personal data.

All releases

2 shown

v2.7.0 New feature
⚠ Upgrade required
  • Database migration required: `sizes` table is dropped and `hits.size_id` is replaced with `hits.width`.
  • Automatic cookie `secure`/`sameSite` detection now relies on the proxy sending `Scheme: https` or `X-Forwarded-Proto: https` headers. Verify your reverse proxy sets these before removing any `-tls` flag workarounds.
  • PostgreSQL compose.yaml updated to version 17 with revised settings; review if using the provided compose setup.
Breaking changes
  • The `sizes` table has been removed; `hits.size_id` is replaced by `hits.width`. Upgraders must run database migrations.
  • The `translate-to` query parameter is no longer appended — any tooling or downstream processing relying on it will stop receiving it.
  • The `-websocket` flag is now a no-op; WebSocket support is auto-detected.
Notable features
  • Automatic secure/sameSite cookie detection from proxy headers
  • `-geodb` supports `maxmind:account_id:license` for automatic database updates
  • smtps:// TLS support and SMTP debug tooling added
v2.6.0 New feature
⚠ Upgrade required
  • Go 1.21 or newer is required to compile GoatCounter.
  • Default SQLite DB path changed to ./goatcounter-data/db.sqlite3; old path ./db/goatcounter.sqlite3 is used automatically if it still exists — no action needed for existing installs.
  • Default ACME secrets path changed to ./goatcounter-data/acme-secrets; old path ./acme-secrets is used automatically if it still exists — no action needed for existing installs.
Breaking changes
  • Default -listen and -tls flags changed from :443/tls,rdr,acme to :8080/none — affects deployments that relied on built-in TLS without explicit flags
  • Removed support for legacy window.goatcounter.vars and window.counter in count.js (deprecated 5+ years ago)
  • Individual pageviews no longer stored in hits table by default — CSV export of raw pageviews no longer possible unless re-enabled in settings
Notable features
  • Official Dockerfile and DockerHub images
  • CLI flags can now be set via GOATCOUNTER_«FLAG» environment variables
  • GeoIP database auto-loaded from ./goatcounter-data/*.mmdb

Beta — feedback welcome: [email protected]