forked from allinurl/goaccess
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
411 lines (354 loc) · 19.8 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
Changes to GoAccess 0.9.6 - Tuesday, October 27, 2015
- Fixed segfault when appending data to a log (follow) without virtualhosts.
- Added command line option `--dcf` to view the default config file path.
- Added 'Darwin' to the list of OSs.
- Added the ability to ignore parsing status codes using `--ignore-status`.
Changes to GoAccess 0.9.5 - Thursday, October 22, 2015
- Added major performance improvements to the default storage when parsing and
storing data (~%44 less memory, ~37% faster).
- Added the ability to parse virtual hosts and a new panel to display metrics
per virtual host.
- Added the ability to parse HTTP/2 requests.
- Added the ability to use GNU getline() to parse full line requests.
- Added the ability to output debug info if a log file is specified, even
without `--enable-debug`.
- Added OS X 'El Capitan'.
- Added WebDav HTTP methods and HTTP status from RFC 2518 and RFC 3253.
- Fixed detection of some Googlebots.
- Fixed issue where time served metrics were not shown when loading persisted
data.
- Fixed linker error on OSX: ld: library not found for -lrt.
- Fixed percentage on the HTML output when excluding IPs.
- Removed GLib dependency and refactored storage functionality. By removing
this dependency, GoAccess is able to store data in a more efficient manner,
for instance, it avoids storing integer data as void* (generic typing), thus
greatly improving memory consumption for integers.
Changes to GoAccess 0.9.4 - Tuesday, September 08, 2015
- Fixed inability to parse color due to a missing POSIX extension. ERR: Invalid
bg/fg color pairs
- Added `%~` specifier to move forward through a log string until a non-space
char is found.
- Added the ability to parse static files containing a query string
`--all-static-files`.
- Added the ability to parse native Squid access.log format.
- Added the ability to log invalid requests to a file `--invalid-requests`.
- Added additional overall metric - total valid requests.
- Fixed a few issues in the configuration script.
Changes to GoAccess 0.9.3 - Wednesday, August 26, 2015
- Added the ability to set custom colors on the terminal output.
- Added the ability to process logs incrementally.
- Added a default color palette (Monokai) to the config file.
- Added column headers for every enabled metric on each panel.
- Added cumulative time served metric.
- Added maximum time served metric (slowest running requests).
- Added the ability to parse the query string specifier '%q' from a log file.
- Added CloudFlare status codes.
- Added command option to disable column name metrics --no-column-names.
- Added AWS Elastic Load Balancing to the list of predefined log/date/time
formats.
- Added DragonFly BSD to the list of OSs.
- Added Slackbot to the list of crawlers/browsers.
- Disabled REFERRERS by default.
- Ensure bandwidth metric is displayed only if the %b specifier is parsed.
- Fixed issue where the '--sort-panel' option wouldn't sort certain panels.
- Fixed several compiler warnings.
- Set predefined static files when no config file is used.
- Updated Windows 10 user agent from 6.4 (wrong) to 10.0.(actual)
Changes to GoAccess 0.9.2 - Monday, July 06, 2015
- Added ability to fully parse browsers that contain spaces within a token.
- Added multiple user agents to the list of browsers.
- Added the ability to handle time served in milliseconds as a decimal number
`%L`.
- Added the ability to parse a timestamp in microseconds.
- Added the ability to parse Google Cloud Storage access logs.
- Added the ability to set a custom title and header in the HTML report.
- Added '%x' as timestamp log-format specifier.
- Ensure agents' hash table is destroyed upon exiting the program.
- Ensure 'Game Systems' are processed correctly.
- Ensure visitors panel header is updated depending if crawlers are parsed or
not.
- Fixed issue where the date value was set as time value in the config dialog.
- Fixed memory leak in the hits metrics when using the in-memory storage
(GLib).
Changes to GoAccess 0.9.1 - Tuesday, May 26, 2015
- Added additional Nginx-specific status codes.
- Added Applebot to the list of web crawlers.
- Added Microsoft Edge to the list of browsers.
- Added the ability to highlight active panel through --hl-header.
- Ensure dump_struct is used only if using __GLIBC__.
- Ensure goaccess image has an alt attribute on the HTML output for valid
HTML5.
- Ensure the config file path is displayed when something goes wrong (FATAL).
- Ensure there is a character indicator to see which panel is active.
- Fixed Cygwin compile issue attempting to use -rdynamic.
- Fixed issue where a single IP did not get excluded after an IP range.
- Fixed issue where requests show up in the wrong view even when
--no-query-string is used.
- Fixed issue where some browsers were not recognized or marked as 'unknown'.
- Fixed memory leak when excluding an IP range.
- Fixed overflows on sort comparison functions.
- Fixed segfault when using on-disk storage and loading persisted data with -a.
- Removed keyphrases menu item from HTML output.
- Split iOS devices from Mac OS X.
Changes to GoAccess 0.9 - Thursday, March 19, 2015
- Added ability to double decode an HTTP referer and agent.
- Added ability to sort views through the command line on initial load.
- Added additional data values to the backtrace report.
- Added additional graph to represent the visitors metric on the HTML output.
- Added AM_PROG_CC_C_O to configure.ac
- Added 'Android Lollipop' to the list of operating systems.
- Added 'average time served' metric to all panels.
- Added 'bandwidth' metric to all panels.
- Added command line option to disable summary metrics on the CSV output.
- Added numeric formatting to the HTML output to improve readability.
- Added request method specifier to the default W3C log format.
- Added support for GeoIP Country IPv6 and GeoIP City IPv6 through
--geoip-database.
- Added the ability to ignore parsing and displaying given panel(s).
- Added the ability to ignore referer sites from being counted. A good case
scenario is to ignore own domains. i.e., owndomain.tld. This also allows
ignoring hosts using wildcards. For instance, *.mydomain.tld or www.mydomain.*
or www?.mydomain.tld
- Added time/hour distribution module. e.g., 00-23.
- Added 'visitors' metrics to all panels.
- Added Windows 10 (v6.4) to the real windows user agents.
- Changed AC_PREREQ macro version so it builds on old versions of autoconf.
- Changed GEOIP database load to GEOIP_MEMORY_CACHE for faster lookups.
- Changed maximum number of choices to display per panel to 366 fron 300.
- Ensure config file is read from home dir if unable to open it from
%sysconfdir% path.
- Fixed array overflows when exceeding MAX_* limits on command line options.
- Fixed a SEGFAULT where sscanf could not handle special chars within the
referer.
- Fixed character encoding on geolocation output (ISO-8859 to UTF8).
- Fixed issue on wild cards containing '?' at the end of the string.
- Fixed issue where a 'Nothing valid to process' error was triggered when the
number of invalid hits was equal to the number of valid hits.
- Fixed issue where outputting to a file left a zero-byte file in pwd.
- Improved parsing of operating systems.
- Refactored log parser so it allows with ease the addition of new modules.
This also attempts to decouple the core functionality from the rendering
functions. It also gives the flexibility to add children metrics to root
metrics for any module. e.g., Request A was visited by IP1, IP2, IP3, etc.
- Restyled HTML output.
Changes to GoAccess 0.8.5 - Sunday, September 14, 2014
- Fixed SEGFAULT when parsing a malformed request that doesn't have HTTP
status.
Changes to GoAccess 0.8.4 - Monday, September 08, 2014
- Added ability to handle nginx non-standard status code 444 as 404.
`--444-as-404`
- Added and updated operating systems, and browsers.
- Added excluded IP hits count to the general statistics panel on all reports.
- Added HTTP nonstandard code '444' to the status code list.
- Added the ability 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.
`--4xx-to-unique-count`
- Removed request status field restriction. This allows parsing logs that
contain only a valid date, IPv4/6 and host.
- Fixed issue when excluding IPv4/v6 ranges.
- Fixed compile error due to missing include <sys/types.h> for type off_t (gcc
4.1).
Changes to GoAccess 0.8.3 - Monday, July 28, 2014
- Fixed SEGFAULT when parsing a CLF log format and using --ignore-crawlers.
- Fixed parsing conflict between some Opera browsers and Chrome.
- Fixed parsing of several feed readers that are Firefox/Safari-based.
- Fixed Steam detection.
- Added Huawei to the browser's list and removed it from the OS's list.
Changes to GoAccess 0.8.2 - Monday, July 20, 2014
- Added ability to parse dates containing whitespaces in between, e.g., Jul 15
20:13:59 (syslog format).
- Added a variety of browsers, game systems, feed readers, and podcasts.
- Added a '-V --version' command line option.
- Added missing up/down arrows to the help section.
- Added the ability to ignore crawlers using the '--ignore-crawlers' option.
- Added the ability to ignore multiple IPv4/v6 and IP ranges.
- Added the PATCH method according to RFC 5789.
- Fixed GeoLocation percent issue for the JSON, CSV and HTML outputs.
- Fixed memory leak when excluding one or multiple IPs.
Changes to GoAccess 0.8.1 - Monday, June 16, 2014
- Added ability to add/remove static files by extension through the config
file.
- Added ability to print backtrace on segmentation fault.
- Escaped JSON strings correctly according to [RFC4627].
- Fixed encoding issue when extracting keyphrases for some HTTP referers.
- Fixed issue where HTML bar graphs were not shown due to numeric locale.
- Fixed issue with URIs containing "\r?\n" thus breaking the corresponding
output.
- Make sure request string is URL decoded on all outputs.
Changes to GoAccess 0.8 - Tuesday, May 20, 2014
- Added APT-HTTP to the list of browsers.
- Added data persistence and ability to load data from disk.
- Added IE11 to the list of browsers.
- Added IEMobile to the list of browsers.
- Added multiple command line options.
- Added Nagios check_http to the list of browsers.
- Added parsing progress metrics - total requests / requests per second.
- Added the ability to parse a GeoLiteCity.dat to get the city given an IPv4.
- Change the way the configuration file is parsed. This will parse all
configuration options under ~/.goaccessrc or the specified config file and
will feed getopt_long with the extracted key/value pairs. This also allows the
ability to have comments on the config file which won't be overwritten.
- Ensure autoconf determines the location of ncurses headers.
- Fixed issue where geo_location_data was NULL.
- Fixed issue where GoAccess did not run without a tty allocated to it.
- Fixed potential memory leak on --log-file realpath().
- Fixed Solaris build errors.
- Implemented an on-memory hash database using Tokyo Cabinet. This
implementation allows GoAccess not to rely on GLib's hash table if one is
needed.
- Implemented large file support using an on-disk B+ Tree database. This
implementation allows GoAccess not to hold everything in memory but instead
it uses an on-disk B+ Tree database.
- Trimmed leading and trailing whitespaces from keyphrases module.
Changes to GoAccess 0.7.1 - Monday, February 17, 2014
- Added ability to get real OS names using --real-os. (Android, Windows, Mac)
- Added ability to log debug messages to a file.
- Added ability to parse tab-separated log format strings.
- Added ability to support terminals without colors.
- Added ability to turn off color output by using --no-color flag.
- Added command line option to append HTTP method to request.
- Added command line option to append HTTP protocol to request.
- Added long options to command-line.
- Added missing Win 9x 4.90 (Windows Me) user-agent.
- Added missing Windows RT user-agent.
- Ensure mouse click does not reset expanded module if it is the same.
- Fixed Amazon CloudFront tab-separated log format.
- Fixed "FreeBSD style" ncursesw built into system.
- Fixed HTML report issue where data cell would not wrap.
- Fixed issue when isatty() could not find a valid file descriptor.
- Fixed SymbianOS user-agent and retrieve its version.
Changes to GoAccess 0.7 - Monday, December 15, 2013
- Added a command line option to ignore request query strings.
- Added additional compiler flags & fixed several warnings.
- Added additional static file extensions.
- Added country per IP to HOSTS module (HTML & JSON).
- Added DEBUG mode to Makefile & -O2 to default release.
- Added GEOLOCATION report to all outputs - includes continents/countries.
- Added IP resolver to HTML and JSON output.
- Added module numbers to each module header.
- Added the ability to output JSON and CSV.
- Added Windows NT 6.3 (Win 8.1) to the list.
- Fixed buffer overflow issue with realpath.
- New HTML report - HTML5 + CSS styles.
- Properly split request line into the three request modules.
Changes to GoAccess 0.6.1 - Monday, October 07, 2013
- Added active module indication by name.
- Added additional crawlers to the list.
- Added custom configuration file option.
- Added human-readable string when unable to open log.
- Added missing include when compiling on OSX 10.6.
- Added optional mouse support to the main dashboard.
- Added the ability to select active module by number (keys).
- Added the rest of HTTP methods according to RFC2616.
- Changed referring site sscanf format to process multiple URLs.
- Changed the default color scheme to monochrome.
- Fixed issue where %T was not processing floating-point numbers.
- Fixed percentage issue for browsers and os modules.
- Fixed SIGSEGV when reading from stdin to stdout.
- Improved performance when expanding a module.
- Reduced memory consumption by decreasing number of dns threads.
- Removed ^UP/^DOWN due to a key mapping conflict.
Changes to GoAccess 0.6 - Monday, July 15, 2013
- Moved away from the original pop-up UI to a new expandable dashboard allowing
data to be processed in real-time.
- Added the ability to search across the whole dashboard with the option to use
regular expressions.
- Added the ability to independently sort each module.
- Implemented the ability to parse the time taken to serve the request, in
microseconds and seconds.
- Added a predefined log format/date for the Amazon CloudFront (Download
Distribution).
- Config window now accepts [ENTER] to continue or F10.
- Added parsing/processing indicators.
- Updated the hosts module so it shows the reverse DNS as a sub node.
- Sanitized HTML output with html entities for special chars.
- Fixed issue where Opera +15 was identified as Chrome.
- Fixed a bunch of minor fixes and changes.
- Added and updated list of browsers and operating systems.
- Improved memory usage and better performance in general.
Changes to GoAccess 0.5 - Monday, June 04, 2012
- Added the ability to parse a custom format string.
- Added ability to output a full stats report to a file.
- Added support for IPv6
- Fixed issue on Opera agents where version was not recognized correctly.
- Fixed issue on empty Google query strings.
- Fixed google cache key-phrases.
- Added a new include sys/socket.h - BSD
- Added a key shortcut to scroll top/bottom.
- Fixed other minor fixes and changes.
Changes to GoAccess 0.4.2 - Monday, January 03, 2011
- Fixed a minor bug when adding monthly totals on visitors subwin.
- UTF-8 support has been implemented. Now it should handle properly
wide-character/UTF-8. Run ./configure --enable-utf8
- Since GoAccess does not link to librt, -lrt has been removed. (OS X doesn't
include librt)
Changes to GoAccess 0.4.1 - Monday, December 13, 2010
- Ability to pass a flag to ./configure so GeoIP can be enabled if needed.
- More flexibility when resizing the terminal. Should work fine with the
standard 80x24.
- Implemented a pipeline from stdin, so the input doesn't have to be only a
file.
Changes to GoAccess 0.4 - Tuesday, November 30, 2010
- Rewrote hash tables iterative code to avoid the use of GHashTableIter, this
way it works with all GLib > 2.0.0.
- Implemented list of agents for specific hosts.
- Added graphs to the unique_visitors subwin.
- Various bug fixes and code cleanups (mainly in the subwin modules).
- Bandwidth per day, and host was implemented as well.
Changes to GoAccess 0.3.3 - Monday, September 27, 2010
- Fixed a request size parsing issue. Due to malformed syntax on the HTTP
protocol, bandwidth was reset to 0. Ex. "HEAD /" 400 20392
- Fixed a segfault when goaccess was executed without any options but with an
additional unknown argument.
- Tarball's filename was changed.
Changes to GoAccess 0.3.2 - Thursday, September 09, 2010
- Fixed an agent parsing issue. As a result, operating systems were not
properly counted.
Changes to GoAccess 0.3.1 - Friday, September 03, 2010
- Added a color scheme implementation
Changes to GoAccess 0.3 - Sunday, August 29, 2010
- Fixed invalid entries when parsing status codes
- Implemented a real support for LFS - Handles files larger than 2 GiB on
32-bit systems
- Added a more detailed and comprehensive browser and os report
- Fixed a segmentation fault on pop-up window search if haystack was null
- Added bandwidth details for requested files
- Added percentage details on modules 2, 3, 4, 5, 10, 11
- Implemented support for 'vhost_combined' log format
- Fixed a potential segmentation fault when resizing main window
- Position of data/graphs will change depending on # of hits
- A counter for total requests since initial parse was implemented
- Code cleanups
Changes to GoAccess 0.2 - Sunday, July 25, 2010
- Implemented real-time statistics (RTS). Data will be appended as the log file
grows. Equivalent to 'tail -f' on Unix systems
- Added a keyphrases report coming from Google search engine. This includes,
raw, cache, and translation queries.
- Implemented screen resize functionality
- Various small speed increases & code cleanup
- Fixed a memory leak when invalid entries were parsed
- Simplify the "process_unique_data" function
- Simplify creation of the "unique visitors" hash-key.
- Fix a potential buffer overflow.
Changes to GoAccess 0.1.2 - Monday, July 12 2010
- Fixed a segmentation fault when parsing logs with unusual request type. Ex.
"GET HTTP/1.1 HTTP/1.1"
Changes to GoAccess 0.1.1 - Saturday, July 10 2010
- Added an enhanced error handling
- Added Glibc LFS
- Added an extra macro on configure.ac to check against GHashTableIter.
./configure might not check for glib 2.16 that introduced 'GHashTableIter'.
- Clean up code a little bit
- Fixed a segmentation fault when displaying the help text on x86_64.
- Fixed casts associated with "g_hash_table_iter_next".
- Fixed two format strings. (If the error was ever triggered, it'd most likely
lead to a segfault.)
- Fixed assignments in conditions. In case the assignment is actually intended,
put extra parenthesis around it. This will shut GCC (and others) up.
- Fixed comparison between signed and unsigned integer types.
- Fixed includes.
- Fixed function declarations.
Tuesday, July 06, 21:12:29 2010 Gerardo Orellana (goaccess at prosoftcorp.com)
- Initial release 0.1