README*, config: Removed the version number from these files.
[yaala.git] / CHANGELOG
1  yaala - CHANGELOG 
2 ===================
3 http://yaala.org/
4
5   0.8.0 - Contributed Sendmail-parser
6  =====================================
7  - qMax has contributed a sendmail-parser. Thank you very much :)
8
9
10
11   0.7.3 - More bugs fixed
12  =========================
13  - A bug in the debug-system has been fixed: Data::Dumper would not be
14    loaded, though it might be neccessary in the selected debug-level.
15  - A bug with the disabling of persistency has been fixed. Thanks to qMax.
16
17
18  
19   0.7.2 - Potential bug fixed
20  =============================
21  - The modules have been moved and rename, since a conflict with other
22    installed modules could appear in old versions of perl (<= 5.005).
23
24
25  
26   0.7.1 - Bug fixed
27  ===================
28  - A bug in the persistency-code has been fixed: If the persistency-file
29    had to be created no checksum was included causing it to be overwritten
30    with the next run. The second run did set the checksum which is
31    propably why noone complained about this..
32
33
34
35   0.7.0 - Persistent data is here
36  =================================
37  - yaala now dumps it's data into a file and may use it in subsequent
38    runs. This way you don't have to keep all your old logfiles.
39
40  - A tiny fix allows yaala to run under Microsoft Windows.
41
42
43
44   0.6.8 - Workaround implemented
45  ================================
46  - A workaround for what seems to be a bug in some versions of Perl 5.8
47    has been added.
48  
49  
50
51   0.6.7 - Some more cosmetics
52  =============================
53  - yaala now changes into it's own directory before execution. This is
54    useful for cron-scripts and the like.
55
56  - The config option ``print-graphs'' has been added for two reasons:
57    a) People who have GD::Graph installed can prevent yaala from
58       generating graphs now.
59    b) People who do neither have GD::Graph installed nor read the readme
60       will hopefully find this option and will get a detailed error
61       message.
62
63
64
65   0.6.6 - Bug fixed
66  ===================
67  - A bug which would not let ``host_width'' to be set to zero (infinite
68    length) has been fixed. Thanks to Rafael Santiago for reporting it.
69
70
71
72   0.6.5 - More aggregations
73  ===========================
74  - More than one aggregation can be selected. This works with both, the
75    Combined and the Classic output module.
76
77  - Elapsed time (from the squid logfiles) is now being printed in
78    hh:mm:ss.f format.
79
80  - The y-Axis of graphs is plotted in percent of the total now.
81
82
83
84   0.6.4 - Don't die on me, man!
85  ===============================
86  - yaala doesn't die anymore, if you select more than three fields with
87    the combined output module. An error message is printed instead.
88
89  - Empty cells are not printed any longer by default when using the
90    Classic output. You can re-enable this behavior with a config-option.
91
92
93
94   0.6.3 - ...
95  =============
96  - Chimera has been renamed to Camino; MultiZilla and Safari have been
97    added.
98
99  - The sub-indizes in the Classic output now provide a bit more
100    information..
101
102  - A robots-metatag has been added to prevent search engines from indexing
103    yaala's reports.
104
105
106
107   0.6.2 - New/Old parser and bugfixes
108  =====================================
109  - The (old) bind9 parser has been fixed and works fine.
110
111  - A parser for the "xferlog" (used by wu-ftpd, proftpd and maybe other
112    FTP-Daemons).
113
114  - Selections with where-clauses should work better now.
115
116
117
118   0.6.1 - The return of the graphs
119  ==================================
120  - Support for GD::Graph is finally back again. yaala checks wether
121    GD::Graph is installed or not and behaves accordingly. You don't have
122    to do anything.
123
124  - All tables now print percentages as well.
125
126  - A parser for postfix entries in the maillog has been added.
127
128  - A bug in Data::Setup has been fixed. It wasn't possible to select more
129    than three keys with the Classic output module, which is perfectly
130    legal..
131
132    
133
134   0.6.0 - New code, less bugs, less features
135  ============================================
136  - Huge parts of yaala's internals have been rewritten. The data-storage
137    is completely new and works better than in the 0.5.x line.
138
139  - General code cleanup. A lot of variables have been renamed.
140
141  - The debug-system has been unified.
142
143  - The Classic-output plugin emulates the ``old'' (0.4.x) output.
144
145
146
147   0.5.4 - Patches by qMax
148  =========================
149  - Input Module for method file:// has been added.
150  
151  - Fixes in Format.pm
152
153  - Changes in qmax.css
154
155
156
157   0.5.3 - Reverse lookups
158  =========================
159  - Ability of reverse lookups has been added.
160
161  - Browsers and OSes are recognized better. The code should also be faster
162    now.
163
164
165
166   0.5.2 - Now comes the command line
167  ====================================
168  - Every option from the config file has been made available from the
169    command line.
170
171  - The recognition of Windows 2000 has been fixed.
172
173
174
175   0.5.1 - Changes in config-reading and -parsing
176  ================================================
177  - config-reading and -parsing have been moved out of the main program and
178    into lib/Config.pm. Modules have been updated.
179
180  - The config syntax has changed slightly. See POD in lib/Config.pm
181
182  - webserver.config has been created.
183
184  - A bug in lib/parser/Ncsa.pm has been fixed.
185
186  - WebserverTools::detect_referer has been rewritten.
187
188
189
190   0.5.0 - yaala in the metamorphosis
191  ====================================
192   Changes by octo
193  -----------------
194  - Modules use the Exporter mechanismn now to import subroutines and
195    variables. Renamed modules in the process.
196
197  - Output is nearly XHTML kompliant. I'm working towards total XHTML 1.1
198    compatibility.
199
200  - Added logo.png, dot-dark.png, dot-light.png
201
202  - Removed logo.gif, dot0.gif, dit1.gif
203
204  - Added new stylesheet and set as default. The old stylesheet has been
205    renamed to "qmax.css"
206
207  - Graphics cannot be generated with this release. This option might come
208    back in some later release.
209
210  - Recognition of nimbda/codered attacks has been removed.
211
212  - few obvious bugs found but not yet fixed. See TODO.
213  
214   Changes by qMax
215  -----------------
216     * yaala
217       Added new config options, removed old for backward incompatibility;
218       Changed some defaults;
219       Removed 'color' options - and defined them in html/style.css;
220       Made preserving spaces, semicolons and capital letters in quoted
221       config parameters (for date/time formats and filenames);
222       Added 'is_list' options to preserve order of parameter appearence
223       (for 'select' directive).
224       Added 'configtest' run mode to test configuration.
225       Added some debugging.
226       Wrote dependences for all my modules in top comment.
227
228     * config
229       Changed to use new options, added sections HTML and i18n.
230       User level comments about new options.
231       Fixed some typos, have made new :)
232
233     * README.grouping
234       Description of grouping expressions used in 'select' directive.
235
236     * contrib/
237       Several supplemental scripts. Like that, simulating passing
238       comand line parameters to yaala, processing batch reports,
239       ome testing.
240
241     * html/
242       Contains *.gif and style.css - a thin cyan document style.
243
244     * reports/
245       Default directory for reports.
246       I suggest to do not use html to avoid occasional remove of
247       *.gifs and style.css.
248       Actually, 'reports' should be symlink to some www directory.
249
250     * lib/
251       Placed all (new) modules here.
252
253     * /dev/null
254       Placed all old modules there.
255
256     * lib/parser/*
257       Directory for parser modules.
258       TODO: parsers should pass month/date/time as UNIX-time
259             to make them properly sorted and formated.
260             Currently they should work w/out i18n handling
261             dates and times.
262
263     * lib/html.pm
264       A pair of common output utilities.
265       Only to generate common HTML head and foot.
266       Common header contains stylesheet link
267       and optional META http-equiv with charset.
268       Footer contains copyright notice and advertisements.
269       Top-page index is report-dependant.
270
271     * lib/utils.pm
272       Some common utilities kinda cmp_arrays.
273
274     * lib/setup.pm
275       Setup-parsing utilities. To keep them all in single place.
276       Includes index calculator for grouping expressions and all
277       that stuff.
278
279     * lib/debug.pm
280       A pair of debugging and profiling utils.
281       Enabled with $main::debug|=32;
282
283     * lib/data.pm
284       Data storage module.
285       Supports random key grouping, several functions:
286       SUM, MAX, MIN, AVG, COUNT(*), COUNT(field).
287       Allows association of function with separate index.
288       Incapsulates all access to data hash.
289
290     * lib/i18n/format.pm
291       Localized data formatting.
292       Formats date, time, datetime, bignumbers, elapsed time,
293       properly sorts host and domain names.
294       POD documented to use.
295
296     * lib/i18n/trans.pm
297       Enhanced translating module.
298       POD documented.
299       There also dictionary description in en.pm.
300
301     * lib/i18n/en.pm
302       English template dictionary.
303       Contains all messages from reports, data labels from all parsers
304       and labels of extra info.
305       Used to translate internal data labels to printable titles.
306       There're translation suggestions in comments inside.
307
308     * lib/i18n/ru.pm
309       Russian translation with several variations of words.
310       Makes reports to look as they were natively russian and
311       natively for selected configuration.
312       Really.
313
314     * lib/report/core.pm
315       Common part for report modules. Namespaced.
316       Contains setup and table-generation subroutines.
317       Features for crossreferenced tables.
318       POD documented inside.
319
320       NB: all tables generated, except top-page index,
321           contain borders to be viewable in links the browser.
322           Lynx takes a rest anyway.
323
324     * lib/report/combined.pm
325       Generates combined reports: 1D, 2D, 3Dimentional.
326       POD inside.
327
328     * lib/report/top.pm
329       Generates usual top-N report, but with key grouping.
330       POD inside.
331
332
333
334   0.4.2 - Added BIND9 support
335  =============================
336  - David Augros sent me a parser for BIND9 logfiles which I added.. Easy
337    tasks get done quick ;)
338
339
340
341   0.4.1 - security hole fixed
342  =============================
343  - An exploidable "bug" was fixed: It was possible to fake the referer to
344    contain HTML and/or JavaScript code which would show up in the generated
345    file(s) and eventually would be interpreted by the browser.
346    Thanks to Liviu Daia (Liviu.Daia@imar.ro) for the hint :)
347
348
349
350   0.4 - netacct and wnserver support
351  ====================================
352  - Two new parsers provide netacct and wnserver support.
353    Thanks to M. Feenstra for the wnserver support.
354
355  - The parser modules now have to initialize their data structure before they
356    start parsing. This allows for different types of logfiles to be supported.
357    The data-structures understood are:
358    count: Count each appearance of a unique value (eg. Browser, Date, etc)
359    sum:   Build the sum of all the (numeric) values. (eg. Package Count)
360    byte:  Basically the same as sum, but print as a byte-value
361
362  - Use of CSS (Cascading Style Sheets) in the HTML output. Results are smaller
363    files and the source is easier to read.
364
365  - You can specify a directory to create the output files in.
366    Be sure to copy logo.gif, dot0.gif and dot1.gif into this directory!
367
368
369
370   0.3 - Clean(er) code and squid support
371  ========================================
372  - The modules are now a lot cleaner and easier to understand. Various routines
373    have been moved and renamed so the namespaces are used in a more organizing
374    maner.
375
376  - There's a new input (parse) module for squid logfiles.
377
378  - The routines which save the data in a huge hash have been altered so they
379    don't depend on the type of data that is parsed at all. This was neccessary
380    in order go get squid to work.
381
382  - The graph module now generates PNG graphics; it's configuration hash was
383    moved into the main configuration.
384
385  - The main page has some stats about CodeRed and and Nimba attacks now. You may
386    choose to not include these requests in your stats..
387
388  - Correction of some regexps and therefore (hopefully) a better performance.
389
390
391
392   0.2 - More modules - more comfort
393  ===================================
394  - The structure is now _very_ modular
395
396  - A config file makes customization really easy
397
398  - Apache's access-logs and NCSA-conform logfiles now understood
399
400  - Another module provides another look (Top10)
401
402  - CHANGELOG looks nicer ;)
403
404  - Some changes in the makegraph.pm make the graphs look a lot better now.
405
406
407
408   0.1 - Initial version
409  =======================
410  - No config-file
411
412  - Parsing of multiple files
413
414  - Support for apache's combined-log-format
415
416  - Modular structure provides an easy way to code support for other formats.