Release Notes
Here's the list of features, changes and fixes for each release…
Here's the list of features, changes and fixes for each release…
--restore` that contained GEOLOCATION data generated in versions ≤ v1.9.4 and loaded with v1.10.
--concat-vhost-req
--no-column-names` in favor of a unified TUI dashboard.
'apple-touch-icon' for improved iPhone home screen support, enabling quick access to reports directly from the home screen.
'aria-*' attributes to HTML report for better accessibility, ensuring that the report is more inclusive for screen readers and other assistive technologies.
'theme-color' '<meta>' tag to the HTML report for better integration with mobile devices, allowing the browser's address bar to match the report's theme color.
'--enable-asan' to the configure options for debugging purposes.
'--restore'.
'%z' on strptime for non-glibc systems, such as musl libc in Alpine Linux (Docker container), enabling the use of '--tz'
'--hide/ignore-referrer' options to filter by hostname directly without the use of wildcards, e.g., '--ignore-referrer=wiki.google.com'.
'# goaccess access.log -c'.
'remote_ip' with 'client_ip' for Caddy's JSON format, allowing the use of trusted proxies.
'--jobs=<num>' for a boost in parsing speed, achieving an improvement ranging from 1.26 to 3.65x faster.
'SEARCH' method to the list of HTTP request methods.
'--output-format'; now, only the '--output' option is permissible.
'--external-assets' command line option to output external JS+CSS files. Great when used with Content Security Policy (CSP).
'Windows' if it appears on the user-agent.
'--ws-url' and '--port'.
'--disable-nls'.
'inlang' for easy localization (i18n) updates. https://inlang.com/editor/github.com/allinurl/goaccess
'%n' specifier. Great for parsing 'Traefik' JSON logs duration field.
'amd64'}.
'--unknowns-as-crawlers' where it did not process them as such.
--unknowns-as-crawlers`.
--geoip-database=<path>` can be used multiple times to support different databases.
'--fname-as-vhost=<regex>'.
'Unknown'.
'%h' specifier was already set.
'--html-custom-css' and '--html-custom-js' by allowing valid filenames.
--ping-interval=<secs>` in an attempt to keep the WebSocket connection opened.
--datetime-format=<format>` and `--tz=<timezone>`.
'cleaning up resources' message is displayed if `--no-progress` is passed.
--date-spec=min`.
--anonymize-level=<1|2|3>` option to specify IP anonymization level.
--date-spec=min`.
'monotone'. This should avoid the issue where the interpolated curve has a bend into the negative space.
'\0' could be reached early when parsing a log line.
--log-format=AWSALB.
'macOS 12' to the list of OS.
'Init. Proc. Time' to 'Log Parsing Time'.
'4096' chars.
'--with-getline' in order to support request lines longer than 4096.
'q' on TUI.
'512' to '3072'.
'CFNetwork' to 'iOS' when applicable.
'--hide-referer' to '--hide-referrer'.
'--ignore-referer' to '--ignore-referrer'.
'CADDY' log format.
'BSD' OS could be displayed as Linux with certain user-agents.
'35%'.
'AWS Elastic Load Balancing' log format.
'--unknowns-log' to log unknown browsers and OSs.
'Referer' to the pre-defined 'Caddy JSON' log format.
'%s' with 'strptime(3)' under musl libc. This addresses mostly the Docker image.
'Dockerfile' image to use 'alpine:3.13' instead of edge due to compatibility issue with the GNU coreutils.
'Caddy' to the list of pre-defined log formats.
'--no-strict-status' to disable status validation.
'%*'.
'uint64_t' data.
'8192' req/s.
'%x' as date/time specifier.
'--html-refresh=<secs>'.
'%K' for the TLS version and '%k' for the Cypher.
'tail -f' a remote access log.
'Encryption Settings' such as 'TLSv1.2' and Cipher Suites on its own panel.
'MIME Types' such as 'application/javascript' on its own panel.
'2560px'.
'Android 11' to the list of OSs.
'macOS 11.0 Big Sur' to the list of OSs.
'average' to each panel overall metrics.
'.dmg', '.xz', and '.zst' to the static list.
'308'.
'get_home ()' to return NULL on error, instead of terminating the process. Great if using through systemd.
'--log-format=COMBINED' or '--log-format=combined'.
'/tmp'.
'--ignore-referer' to use whole referrer instead of referring site.
'--keep-last' if used by truncating accordingly.
'mmap' on 'Win'/'Cygwin'/'MinGW'.
'--keep-last'.
'--date-spec'.
'--num-test' value.
'MAX.TS'.
'Docker' due to a bad allocation when generating FIFOs.
'Unknown' Operating Systems with 'W3C' format.
'%sysconfdir%'.
'Android 10' to the list of Android codenames.
'widescreen' layout to the HTML report (e.g., 4K TV/KPI Dashboard).
'Beaker', 'Brave', and 'Firefox Focus' to the list of browsers
--user-name=username to avoid running GoAccess as root when outputting a real-time report.
'DuckDuckGo' and 'MSNBot' browsers to the browsers.list.
'facebookexternalhit' to the default crawler list.
'macOS Catalina' to the list of OSX codenames.
'<sys/socket.h>' to fix FreeBSD build
'Edg' token to the list of browsers.
'--no-ip-validation' command line to disable client IP validation
'--persist' and '--restore' options to persist to disk and restore a dump from disk.
'--persist' and '--restore'.
'--max-items' for the static HTML report to allow no limit on output entries.
'gettext' version to 0.19
'SIGPIPE' with 'SIG_IGN'
'macOS Catalina'.
'LIBMAXMINDDB'.
'-Wcast-qual' warnings.
'MAX_LINE_CONF' so a JSON string can be properly parsed from the config file.
'--geoip-city-data' from config file.
'--accumulated-time' command line option.
'Android 8 Oreo' to the list of OSs.
'Android Pie 9' to the list of OSs.
--anonymize-ip command line option to anonymize ip addresses.
--browsers-file command line option to load a list of crawlers from a text file.
'%h' date specifier to the allowed date character specifiers.
"HeadlessChrome" to the list of browsers.
--hide-referer command line option to hide referrers from report.
"Mastodon" user-agent to the list of crawlers/unix-like.
--no-parsing-spinner command line option to switch off parsing spinner.
--real-os.
--pidfile command line option to the default config file.
"WhatsApp" user-agent to the list of crawlers.
--db-path is required now when using --load-from-disk.
'hits' to be right-aligned on TUI.
'Bandwidth' to the proper term 'Tx. Amount'.
'Yandex' crawlers are properly parsed.
%~ specifier in certain parsing cases.
--daemonize command line option to run GoAccess as daemon.
--process-and-exit command line option to parse log and exit.
"-" single dash per convention to read from the standard input.
"tail -f access.log | goaccess -"
"goaccess access.log access.log.1" while maintaining real-time output.
"window.location.hostname" is used as the default WS server host. In most cases, this should avoid the need for specifying "--ws-url=host". Simply using "--real-time-html" should suffice.
"unique" count on each panel to the JSON/HTML outputs.
--crawlers-only command line option to display crawlers/bots only.
--fifo-in and --fifo-out command line options to set websocket FIFO reader/writer.
--no-html-last-updated command line option.
--num-tests command line option.
--html-prefs command line option to to set default preferences for the HTML report.
"Amazon S3" Log Format to the list of predefined options.
"Android 7.1 Nougat" to the list of OSs.
"Android Marshmallow 6.0.1" to the list of OSs.
"Android Nougat 7.0" to the list of OSs.
"Feed Wrangler" to the list of feeds.
"Go-http-client" to the list of browsers.
"MicroMessenger" (WeChat) to the list of browsers.
"SemrushBot" to the list of crawlers.
"Remote User" panel to capture HTTP authentication requests. Use %e within the log-format variable to enable this panel.
"X-Forwarded-For" field in a reverse proxy setup.
--ws-url.
"Darwin" OS was reported to display AppName instead.
%q specifier.
%U specifier.
--ws-url.
--http-method/protocol values on the config file.
--real-os, e.g., "Lollipop 5.1".
%F or %T.
--enable-panel=<PANEL> command line option to display the given module.
--json-pretty-print command line option to output pretty json.
--log-format=<format> command-line shortcuts for standard log formats.
--origin command line option to match the origin WebSocket header.
--output=<file.[html|csv|json]> as a shortcut to --output-format.
"Vivaldi" to the list of browsers.
"Android 6.0 Marshmallow" to the list of OSs.
--no-tab-scroll command line option to disable scroll through panels on TAB.
"Squid native" log format to the config file.
"Virtual Hosts" menu item wasn't shown in the HTML sidebar.
--dcf command line option to view the default config file path.
--ignore-status the ability to ignore parsing status codes.
"Darwin" to the list of OSs.
%44 less memory, ~37% faster).
--enable-debug.
"El Capitan".
--all-static-files command line option to parse static files containing a query string.
--invalid-requests command line option to log invalid requests to a file.
"%~" specifier to move forward through a log string until a non-space char is found.
"ERR:Invalid bg/fg color pairs"
--no-column-names command line option to disable column name metrics.
"DragonFly" BSD to the list of OSs.
"Slackbot" to the list of crawlers/browsers.
"%q" from a log file.
%b specifier is parsed.
--sort-panel option wouldn't sort certain panels.
"Windows 10" user agent from 6.4 (wrong) to 10.0.(actual)
%L`.
"%x" as timestamp log-format specifier.
"Game Systems" are processed correctly.
--hl-header command line option to highlight active panel.
"Applebot" to the list of web crawlers.
"Microsoft Edge" to the list of browsers.
--no-query-string was used.
"unknown".
--geoip-database command line option for GeoIP Country/City IPv6.
"Windows 10 (v6.4)" to the real windows user agents.
"Android Lollipop" to the list of operating systems.
"average time served" metric to all panels.
"bandwidth" metric to all panels.
"visitors" metrics to all panels.
%sysconfdir% path.
"?" at the end of the string.
"Nothing valid to process" error was triggered when the number of invalid hits was equal to the number of valid hits.
--444-as-404 command line option to handle nginx non-standard status code 444 as 404.
--4xx-to-unique-count command line option to count client errors (4xx) to the unique visitors count. Now by default it omits client errors (4xx) from being added to the unique visitors count as they are probably not welcomed visitors. 4xx errors are always counted in panels other than visitors, OS & browsers.
"444" to the status code list.
--ignore-crawlers.
--version command line option.
--ignore-crawlers command line option to ignore crawlers.
"Jul 15 20:13:59" (syslog format).
"\r?\n" thus breaking the corresponding output.
--log-file realpath().
--no-color command line option to turn off color output.
--real-os command line option to get real OS names, e.g., "Android, Windows, Mac".
"Win 9x 4.90" (Windows Me) user-agent.
"FreeBSD style" ncursesw built into system.
%T was not processing floating-point numbers.
--enable-utf8
"HEAD /" 400 20392
"vhost_combined" log format
"tail -f" on Unix systems
"unique visitors" hash-key.
"process_unique_data" function
"GET HTTP/1.1 HTTP/1.1"
"GHashTableIter".
"g_hash_table_iter_next".