Releases: arp242/goatcounter
v2.4.1
v2.4.0
-
Add a more fully-featured API that can also retrieve the dashboard statistics. See https://www.goatcounter.com/help/api for documentation.
This is still as "v0" because some details may still change.
-
Default API ratelimit is now 4 requests/second, rather than 4 requests/10 seconds. You can use the
-ratelimitflag to configure this. -
Can now also merge paths instead of just deleting them (the "Settings → Delete pageviews" tab was changed to "Manage pageviews").
-
Add
goatcounter dashboard, which uses the new API to display the dashboard in the terminal (only a basic non-interactive overview for now). -
Add a "Show fewer numbers" user setting; this is intended to still give a reasonably useful overview of what happens on your site but prevent an “obsession” over the exact number of visitors and stats.
-
No longer store or display "pageviews": always store and display "visitors" instead.
The visitor count is the only thing that's interesting in pretty much all cases; the "raw" pageviews are still stored for some future purposes (such as "time on page"), but are no longer stored in most other contexts.
-
Add infrastructure for "dark mode".
This is not yet enabled by default because all "dark mode" themes look "bad" on my eyes, and I'm not really sure what works well for people who do like it.
So some help is needed here. See: #586 (comment)
v2.3.0
2022-10-17 v2.3.0
-
Expand campaigns: the
utm_campaignorcampaignparameter now is tracked separately, and add a dashboard panel for campaigns. See: https://www.goatcounter.com/help/campaignsOld data isn't backfilled as this information wasn't stored.
-
There are now binaries for Windows, macOS, {Free,Open}BSD, and illumos.
-
WebSockets are now disabled by default, as it turned out a lot of people had trouble proxying them. You can enable it with
goatcounter serve -websocket. -
Add
-dbconnflag forserveto allow setting the maximum number of connections. The default is also lowered from 25 to 16 for PostgreSQL. -
Add
-store-everyflag to control how often to persist pageviews to the database. -
Add "Sites that can embed GoatCounter" setting to allow embedding GoatCounter in a frame.
-
Add "Hide UI for public view" setting to allow hiding the UI chrome and display only the charts.
-
Quite a few bugfixes and minor additions.
v2.2.3
v2.2.0
-
The database connection string changed; you now need to use
-db engine+connect stringrather thanengine://connect string:-db sqlite+[sqlite connection string] -db postgresql+[sqlite connection string]Various aliases such a
sqlite3,postgresalso work.The previous "url-like" strings conflicted with PostgreSQL's URL connection strings, causing confusion.
://-type strings without a+will be rewritten, but will issue a warning. -
GoatCounter can now collect language statistics as well, from the
Accept-LanguageHTTP header. This is disabled by default, but can be enabled in the site settings. -
Charts are now drawn as a line chart by default; you can choose to use bar charts in the widget settings menu by selecting the "chart style" for the "Paths overview" and/or "Total site pageviews"
Both charts are also completely reïmplemented by drawing on a canvas instead of aligning divs in a flexbox because rendering thousands of divs in a flexbox is actually fairly slow.
-
The "View as text table" button in the header moved to the "Chart style" section mentioned above; this checkbox was added before the configurable dashboard feature, and especially now that you can set a chart style it makes more sense to set it there.
-
Data is now sent over a WebSocket, rather than rendering everything. The upshot of this is that the perceived performance is better: it only needs to calculate the data that's initially visible, and it's okay to wait a bit for the data that's not. The downside is that you need JavaScript, but that was already the case to render the charts.
-
There is a "server management" tab in the settings which allows viewing and editing some server internals. This page is only available to users with the (new) "server management" access.
All sites with just one user have this user's permissions automatically "upgraded"; sites with more than one user since I don't know which user should have which permissions.
To prevent updating users, you can use (before running migrations):
% goatcounter db query "insert into version values ('2021-12-13-2-superuser')"To update an existing user, you can use:
% goatcounter db update users -access superuser -find=martin@arp242.net -
Add
-ratelimitflag to configure the built-in ratelimits (the default values are unchanged). Seegoatcounter help servefor details. -
New translations: Italian, Spanish (Chilean), Turkish.
v2.1.1
v2.1.0
Aside from a number of small fixes and improvements, major changes include:
-
Support for translations; see https://www.goatcounter.com/translating for details how to translate GoatCounter.
-
The import path is now updated to use "zgo.at/goatcounter/v2" so that e.g. "go install zgo.at/goatcounter/v2" works. This should have been done with the 2.0 release, but I didn't realize how this all worked.
-
The visitor counter now supports the
startandendparameters and the JSON endpoint returnscountas well, to get the total pageview count. -
You can now make the dashboard viewable to anyone who has a secret token (e.g. https://mystats.example.com?access-token=5g4..)
This release requires Go 1.17 to build.
v2.0.4
- Deal with duplicate entries in the
user_agentstable in the migration instead of erroring out; mostly fixes a situation that could happen if you ran the broken migrations in 2.0.0 or 2.0.1.
Be sure to read the release notes for 2.0.0 as there are some incompatibilities and manual actions!
v2.0.3
-
Fix if you had already run the broken migrations in 2.0.0 or 2.0.1.
-
Handle failures in
goatcounter importa bit more gracefully.
Be sure to read the release notes for 2.0.0 as there are some incompatibilities and manual actions!
v2.0.2
-
Fix migration order.
-
Don't display the expected "Memstore.Init: json: cannot unmarshal number / into Go struct field storedSession.paths of type int64" error log on startup; this got displayed once, but was a bit confusing.
-
Display a message on startup after the first update to direct people towards the 2.0 release notes and "goatcounter reindex".
Be sure to read the release notes for 2.0.0 as there are some incompatibilities and manual actions!