goatcounter

Easy web analytics. No tracking of personal data.

OTHER License

Stars
4.2K
Committers
50

Bot releases are hidden (Show)

goatcounter - v1.3.0

Published by arp242 over 4 years ago

Note: this release contains quite a few database migrations; they make take a minute to run (depending on your table size), and you may want to run a VACUUM afterwards.

  • Remove email auth, replace -auth with -email-from (#263, #270)

    As mentioned in the 1.2 release the email authentication is now removed. You can still reset the password for old accounts.

    Since the email auth no longer exists the -auth parameter no longer makes sense. It's now replaced with -email-from, which can be set to just an email address.

    Action required: if you set the email address with -auth you'll have to change it to -email-from.

  • Add OS stats, improve accuracy of browser stats (#261)

    GoatCounter now tracks the OS/platform in addition to just the browser, and the accuracy of the browser stats should be improved.

    Action required: you'll need to populate the system_stats table:

    $ goatcounter reindex -table system_stats
    

    If you want to process all browser stats with the new logic too, then use this instead:

    $ goatcounter reindex -table system_stats,browser_stats
    
  • Improve performance (#265, #273, #274)

    Increase performance by quite a bit on large sites and time ranges.

  • Remove the per-path scaling (#267)

    Previously GoatCounter would scale the Y-axis different for every path in the dashboard, but this was more confusing than helpful. It's now always scaled to the maximum of all paths in the selected date range and filter, with a field
    to scale it lower on-demand if desired.

  • Add totals overview (#271)

    Add chart with totals for the selected date range and filter.

  • Add goatcounter.url(), goatcounter.filter() (#272, #253)

    Adds two new methods to the count.js script so it's easier to use write own implementation. In addition the script will now issue a console.warn() if a request isn't being counted for some reason.

goatcounter - v1.2.0

Published by arp242 over 4 years ago

There are a number of changes in 1.2, and a few which require a bit of action when updating. Also see: https://www.arp242.net/goatcounter-1.2.html

  • Password authentication (#232)

    The email-based authentication has been deprecated in favour of password authentication.

    Action required Use the interface to set a password (you will get a notification about this). Email authentication still works, but will be removed in the next release, after which updating the password will be tricky.

  • Unique visit tracking (#212)

    GoatCounter now tracks unique visits (without using cookies).

    Technical documentation about the implementation is in doc/sessions.markdown.

    There are two ways to display the older stats:

    1. Do nothing; meaning that "visits" will be 0 for previous date ranges.

    2. Assign a new 'session' to every hit, so that unique visits will be the same as the number of pageviews.

    Doing option 2 is a potentially expensive database operation and not everyone may care so it's not done automatically; instructions for doing this are:

    • SQLite (do not do this on a running system; as far as I can tell there's no good way to get the next sequence ID while incrementing it):

      delete from sessions;
      update hits set session=id, first_visit=1;
      update sqlite_sequence set seq = (select max(session) from hits) where name='sessions';
      
    • PostgreSQL:

      update hits set session=nextval('sessions_id_seq'), first_visit=1;
      

    And then run goatcounter reindex.

  • Improve bot detection (#219)

    The bot detection is now improved; this will be applied to older pageviews in the database with a migration, but the cached statistics aren't updated automatically (as it can take a while for larger sites). Use the reindex command to fully update older pageviews (this is entirely optional).

  • Track events (#215)

    There is now better support to track events; see the updated documentation on the Site Code page for details.

  • Better support for campaigns (#238)

    There is now a "campaign parameters" setting; if the URL matches one of these parameters it will be set as the referrer (overriding the Referer header).

    The default is utm_campaign, utm_source, ref.

  • Better export (#221)

    The export was a quick feature added in the first version, but didn't scale well to larger sites with a lot of pageviews. This now works well for any number of pageviews.

  • Many small improvements and bug fixes

    It's almost 2 months of work, and there have been many small changes, fixes, and improvements. I didn’t keep track of them all 😅

goatcounter - v1.1.2

Published by arp242 over 4 years ago

Fix small issue with the domain not showing correct in the site code 😅

goatcounter - v1.1.1

Published by arp242 over 4 years ago

  • Small bugfix release which fixes some small issues and improves a few small documentation issues. List of changes: https://github.com/zgoat/goatcounter/compare/v1.1.0...v1.1.1

  • The biggest change is that the saas command no longer works (and is no longer documented). It was only ever useful for hosting goatcounter.com, and has a number of assumptions and hard-coded values.

    If you're using saas, then you can migrate to serve by setting a custom domain (sites.cname) for all the sites. The serve command should work after that.

goatcounter - v1.1.0

Published by arp242 over 4 years ago

This list is not comprehensive, and only lists new features and major changes.

  • Incompatible Improve CLI UX (#154, #173, #175, #181)

    The entire CLI has been redone; the original wasn't very user-friendly for
    self-hosting. See goatcounter help for the full docs, but in brief:

    o Use "goatcounter serve" instead of just "goatcounter".
    o Create new sites with "goatcounter create".
    o Good support for TLS hosting and ACME certificates (see -tls flag).
    o Invert -prod to -dev (i.e. just drop -prod for production services, add -dev for development).
    o -smtp flag is no longer required.
    o -dbconnect                 →  -db
    o -pgsql                     →  -db postgresql://...
    o -staticdomain              →  no longer needed, but if you really want it you can
                                    append to domain: -domain example.com,static.example.com
    o -emailerrors               →  -errors mailto:...
    o goatcounter -migrate       →  goatcounter migrate
    o goatcounter -migrate auto  →  goatcounter serve -automigrate
    
  • Action required Show top referrals (#192)

    To populate the ref_stats and size_stats tables for older data, update first
    and then run:

    $ goatcounter reindex -confirm -table ref_stats
    $ goatcounter reindex -confirm -table size_stats
    
  • Charts are displayed in local timezone (#155)

  • Add "IgnoreIPs" setting to ignore your own views (#128)

  • Link to paths by adding a new domain setting (#138)

  • Add configurable data retention (#134)

  • Allow configuring the thousands separator (#132)

  • Allow filtering pages in the dashboard (#106)

  • Improve the integration code (#122)

  • Allow sending emails without a relay (#184)

  • Add get_query() to count.js to get query parameter (#199)

  • Allow viewing the charts by day, instead of only by hour (#169)

goatcounter - v1.0.0

Published by arp242 almost 5 years ago

Initial stable release.