# History of Changes in 2.x

For changes that resulted in the current version see What's New.

## 2.16

### New Features

- Graph 'width,' 'height' and '3d' settings can be specified for each report (Patch provided by Grant McLean)
- `Top_Logo` setting in the [navigation] section allows a logo (or other HTML) to be placed at the top of the navigation page.
- Default settings file can now be either in the current working directory (as before) or in the directory where Report Magic is installed.

### Bugs Fixed

- Fixed a bug where the Windows Edition didn't find script when called as 'rmagic' rather than 'rmagic.exe'. (Reported by Henk Schick, Mike Schwarz, Curt Troutwine, etc. Fix found by Henk Schick)
- Fixed default navigation styles so text doesn't shift under IE when mouse scrolls over Bullet_Image.
- Removed the non-breaking space after bullet image because it's no longer necessary.
- Improved documentation on `GraphType`, `ActiveColumn` and graphing details.
- Added a hyperlink to the Analog logo. (Suggested by Javier Alcobendas)
- Fixed "<b>" that was showing up in graphs. (First mentioned by Heinz Toedter)
- Changed Status code report to point to HTTP/1.1 spec.
- Minor updates to French language files. (From Raphael Goubet)
- Fixed bug where Number of Bytes Transferred in Last 7 Days column was not formatted as a byte value.
- Added Show_Bytes_As setting to allow bytes to be shown in MB (or whatever) in addition to the fully recuded format. (Suggested by conversation with Garrett Bartley)
- Fixed GeneralSummary to use Formatter for byte formatting

## 2.15

### Bugs Fixed

- Fixed '.gif' file names in Install.PL. (reported by David Rogers, Ian Sealy, Thomas Enzeley Conlin, and Herb Schilling)
- Fixed number formatting bug in hierarchical reports.
- Removed <pre> formatting in range reports.
- Fixed bug where dates were double formatted. (reported by Curt Troutwine IV)
- Fixed bug where broken images occurred when `Active_Column` was not present in data set for the report.
- Changed Analog / Report Magic links when `Company_Logo` is present to be less conspicuous.
- Increased default navigation menu text by 1pt for readability on Mac with Netscape. (suggested by Scott Richardson)

## 2.14

### Bugs Fixed

- Fixed wrong location of `Reverse_Time` in rmagic.sample. (reported by Blake Kadatz, Dave Green, Tim Mrock and Andre S. Burton)
- Updated `INSTALL` file in Source Edition to match documentation. (reported by David Simmons)
- Updated download sites and library names in `docs/inst_src.html` and `INSTALL`.
- Added NONE to available 'locations' for the navigation. (requested by Duncan McQueen)
- Fixed bug where non-priviliged users couuld not run Source Edition from a location where they did not have access to walk the directory tree to the root.
- Fixed formatting problems in decimal numbers and other issues. (reported by Joerg Kock)
- Fixed a bug in decimal values and rounding of byte values. Note that previously Report Magic may have over-reported byte values by 100 times.
- Fixed a bug where graphs might not be generated (broken link in reports) under certain circumstances in any edition of 2.13. (reported by Curt Troutwine IV, Doug Hart, and Konrad DeRuttie)
- Fixed bug where numeric search words were formatted as numbers in Quick Summary.
- Added left alignment for all columns for work-around to IE6 bug. (reported by David Phillips)
- Fixed uppercase alignement and other attributes that were not XHTML compliant.
- Fixed a bug where a blank `Bullet_image` setting would cause a broken image icon. (reported by Heinz Toedter)
- Fixed formatting of numbers in graph so large numbers of bytes are listed properly. (reported by Garrett Bartley and others)
- Fixed a bug where a `Stylesheet` setting in the `[navigation]` section of a settings file included with the `Include` setting would not be loaded if there was already a `Stylesheet` defined for the `[reports]` section. (reported by Michael Check)
- Changed Analog and Report Magic logos to PNG format.
- Added a bar chart to the Processing Time report.

## 2.13

### Bugs Fixed

- Changed Brazilian Portuguese langauge file from pt/br to pt-BR (portable to all environments).
- Patched character set conversion to only convert if the character set is iso-8859-1.
- If General Summary lines are missing in report data, then some text may be excluded (like "Statistics generated on...") rather than included with no useful data.
- Fixed a bug where 0 bytes would be formatted as 'B' rather than '0 B.'
- Fixed bug in floor statements where numeric parameters were not replaced.
- Fixed bug where REPORTSPAN times were getting double formatted.
- Fixed bug where 2d graphs didn't include background color, when defined.

## 2.12

### New Features

- Navigation page now rendered with a layout table so that wrapped labels will be indented right of the bullet.
- Changed the hover effect for the links on the navigation page to italic rather than bold so the flow won't change when hovering.

### Bugs Fixed

- Fixed bug in averages where byte totals were off by factor of 10 sometimes.
- Fixed bug where time reports with 1 row and Analog 4.x data would crash.
- Fixed bug where time summary did not count all hours in Hourly Summary.
- Fixed bug where NO ROBOTS tag and Stylesheet were not included in report pages.

## Version 2.11

### New Features

- Reads Analog data files from other platforms.
- Implemented `div` tags in navigation to make it more compliant.
- Stylesheet files for navigation can now define a `navitem` class.
- Added byte formatting in General Summary.
- Bundled derivative licenses for binary versions.

### Bugs Fixed

- Verfied not susceptible to [1]CA-2000-02 and related exploits.
- Fixed charset in `lang/en/lang.ini` and `de` to iso-8859-1.
- Rounded averages in time reports to integer.
- Fixed bug where Frame_Border was producing wrong settings in some cases.
- Fixed bug where HOSTURL without final '/' wasn't linked.
- Patched average bug reported by Bernd Becker -- was dividing by # rows + 1.
- Patched up lots of warnings to improve performance / stability. NOTE to Source Package Users: `Config-IniFiles-2.26` (or later) is needed for warning-free use.
- Patched bug where TTF fonts in graphs were autoloading report section settings and trying to set the point-size to a non-numeric font name.
- Fixed bug in `lang/en/cdata.ini` with non-comment on Width line in [f].
- Fixed bug reported by Michael Guitton where Summaries in TimeSummary were being formatted as data items on column -1.
- Fixed die when there was no data to graph as reported by Christophe Simonin.
- Fixed bug where day of the week in date format was incorrect.
- Source Package Users: Disabled auto-update of CPAN.pm because it loads Perl 5.6.1.
- Changed XHTML flavor to Transitional for frame support.

## Version 2.10

### New Features

- Analog 5 compatability
- Set frameset border width
- Formatting code improvements
- Sample stylesheet included
- GNU Long-style command-line syntax supported
- Portuguese (pt) language files

### Bugs Fixed

- Fixed bug where https://... was not linked in referrer reports.
- Fixed bug where Netscape was not getting style changes for some elements.
- Changed all references from reportmagic.com to reportmagic.org.
- Patched formatter to remove lots of warnings and not format formatted data.
- Fixed missing Analog version from older data files.
- Fixed bug where space after `GraphType` caused space in filenames.
- If no `Active_Column` is set, then it uses the sort order of the report.
- Fixed formatting so that weekdays 'www' can be used in date formatting codes.

## Version 2.05

### Bugs Fixed

- Fixed a bug in the parser that choked on new columns in Analog 4.90Beta1.
- Fixed a bug in the navigation menu that showed extra line for unkown reports.
- Fixed a bug that could cause Report Magic to fail when creating new directories.
- Fixed a bug that caused Report Magic to fail when creating new directories from insertion codes like `-reports_File_In=%yyyymmdd%/`.
- Fixed a bug where the last report wasn't closing in mulit-file mode.
- Source Package `Install.PL` now properly shows the location of documentation when installed with `-only_modules` option. It also supports command line parameters in the format `--only-modules`.
- Updates to English, Swedish, Catalan and Italian lanuage files for the new reports and columns in Analog 4.90Beta1. There are some caveats:

- You will get "Unknown column [*_]" warnings for the new rows in the Analog files.
- Many reports will have a second table at the bottom that corresponds to this new row.
- The Hour of the Week Summary is not formatted, yet.
- The Quarter-Hour and Five-Minute Summaries are not formatted, yet.

- Fixed bugs in parsing stylesheets that contained selectors like "class elm."
- Updated formatting tools for better localization support.
- The License has changed. See here for new terms.

## Version 2.04

### Bugs Fixed

- Several language files had wrong file types in Mac edition.
- Source Package The Config::IniFiles module version 2.13 had a bug that caused Report Magic to fail. This is fixed in newer versions. Source package users should make sure to update Config::IniFiles (this will be done automatically by Install.PL).
- Added a check and message to note when the input file is in HTML not COMPUTER format. Previously you would get an out of memory error.
- Improved documentation regarding order of precedence in stylesheets and style settings.
- Some of the Chinese language files were missing. These are now included.
- Fixed several HTML element problems in HTML 3.2 mode that caused strict parsers (like tidy) to produce errors.

## Version 2.03

- You can specify which hierarchical report level to graph with the `Graph_Level` setting in the `[reports]` section of your settings file
- Changed rmagic.sample to Unix line format, not DOS.
- Fixed `docs/inst_src.html` to show `enable_shared` not `with_shared` as the jpeg configuration option.
- Fixed documentation to show `Reverse_Time` in `[reports]` section.
- Fixed a bug in single-file (non-framed mode) where a target was specified for links when it should not have been.
- Added a potential problem in the "Most Active" row to the FAQ.
- (Source Package) Install.PL will now take a destination as the last argument not starting with a '-'. This means you no longer have to edit the file to choose the install location, rather you can simply specify ' `./Install.PL /usr/local/rmagic-$(VERSION)/`.' You can include the `$(VERSION)` key on the command line as well as in the file. If you specify a destination this way, documentation will be installed in `$DEST/docs/` regardless of the settings at the top of Install.PL.
- (Source Package) Install.PL now boostrap updates CPAN.pm if necessary before loading anything else.
- (Source Package) Added HTML::Tagset to the list of modules as it is now a prerequisite for HTML::Parser package.
- (Source Package) Improved error handling and notification in Install.PL. Installation will now quit and notify you if any error occurs while installing a Perl module or one of the source files. This should make it easier to see where the problems are and work on them one at a time.
- Changed alt text on logos so that it's shorter and more to the point.
- Included details on setting Work Hours in the Hourly Summary in the Advanced Settings section of the documentaion.
- Changed the method Report Magic internally uses to determine if you are writing a single file or multiple file report. This has no effect on the use of Report Magic, except that it should be a more accurate guess in the case of sloppy punctuation.
- Fixed a bug where paths with 'top' and other keywords in them did not produce output files. Report Magic no properly distinguishes between keywords and paths or filenames in all instances.
- Changed the font 'Sans Serif' to 'sans-serif' in all files
- Added notes to Advanced Settings to describe how to change linking in reports.
- Font names with spaces in are quoted when written to a stylesheet.

## Version 2.02

- Fixed a bug where Stylesheet setting was overriding style settings.
- Fixed a bug where General Summary and Quick Summary weren't loading some of their defaults properly. This requires the latest version of Config::IniFiles on the source package.
- Fixed more bugs in Install.PL regarding sample files.
- Fixed a bug when Quick Summary was enabled in single file mode.
- Fixed a bug where Rows=ALL was not recognized in General Summary configuration.
- Added notes in inst_src.html in the documentation for building libgd/
- Fixed a file corruption bug in single file mode with Quick Summary.

## Version 2.01

- Fixed a bug in single file mode that caused memory corruption
- Fixed Install.PL on source package with the proper version number and right logo files
- Fixed bug where default styles were set by RM when Stylesheet was set but no style settings were given
- Fixed bug where a blank line in the COMPUTER output made Report Magic think it had reached a FOOTER and stop parsing content
- Improved clarity in documentation regarding the Stylesheet parameter

### Version 2.0

- Changed bar graphs so that all bars a labelled.
- `[graphs] Format` is now correctly case insensitive.
- `[graphs] Format` JPEG and JPG are eqivalent.
- `[statistics] Log_File` now properly support date insertion and `${infile}` insertion. It DOES NOT support other `${XX}` insertions. It also uses the current system date for date insertions (as the `[statistics] File_In` does) not the end date of the data.
- Fixed bug where most active summary was not formatted right.
- Graphs can be individually set to '`lines2d`' to force just that report to use 2d graphs. '`line2d`' or '`line3d`' specifies an absolute. '`line`' is determined by the `[graphs] 3d` setting.
- Bundle now include `rmagic.sample` and `sample.dat`. This will run with default settings and produce a report in `reports/`. You can customize this by copying it to rmagic.ini and adjusting your settings as desired.
- Several rendering bugs and improvements were made to the graphing modules
- Fixed bug in missing active column for pie charts. No longer warns if data in unavailable.
- Directory report is no longer linked by default. If you want to have directories linked for some reason, add "`[DIRECTORY]IncludeLinks = */,[root directory]`" to your settings file.

### Version 1.99Beta2

- Moved sanity check in File_In/%infile% to Settings.pm.
- Fixed where ${infile} could slip through sanity checks.
- Fixed bug in detecting and returning errors on invalid settings files.
- Fixed bug where Stylesheet settings weren't loaded properly.
- Fixed a bug where new Bullet_Image setting wasn't being read.
- Fixed several bugs in STDOUT mode.
- Put header and prefix back in message function, rather than formatMessage.

### Version 1.99Beta1

- Added [d], "Date of last access", to cdata.ini file.
- Added units to the General Summary.
- Moved formatting of date items in GeneralSumary to their field specs in cdata.ini.
- Changed date formatting codes to use date of last request rather than current date EXCEPT for the input file. [statistics]File_In, if it contains date formatting codes, will be interpreted with the date the program is run on.
- Comlpeted total rewrite of Report Magic so it is object oriented. This should improve performance significantly and make future enhancements easier to implement.
- Now recognizes unparsable date values in D and d columns and refuses to format or parse them, but does so gracefully.
- Localized the decimals in the Processing Time Report
- Now tries to properly handle undefined or null date columns in Analog 4.1 and earlier.
- Object oriented approach makes ReportTypes extensible; however, they are also, now, case sensitive. ReportType values can be a single word (in which case it's searched for in the wadg::rm::Report or root namespace) or it can be a fully qualified perl class (e.g. company::reports::InternalReport). All valid reports must subclass wadg::rm::Report.
- General Summary no longer needs to be first report; however, Report Magic still requires the General Summary to be included or it won't be able to parse the data file.
- Report Magic now understands and parses Analog HEADER and FOOTER content. This content is added to the top and bottom of the report file or files.
- Added additional filter information to handle 'all' (0r) and 'single' (1b) cases.
- Filters are formatted more cleanly (less HTML overhead).
- Rearranged report information order to put filter info first, then do graphs, then data tables.
- Moved Active_Column to [reports] and it's derivative section so that it can be set for each one.
- Added average summaries to time reports.
- Handle N and l columns more portably by settings in cdata.ini e.g. [N]Type=Number; [l]Type=Level.
- Added NumberFormat to cdata.ini to specify which columns show percent data.
- Implemented a bunch of new options in new [graphs] section including 2d/3d, fg color, bg color, width, height.
- Add support for outputing in JPEG (though the file will be large...) in the [graph]Format setting. This can also be gif, but that's not supported without Image::Magick on your system and you're on your own installing that.
- Wrote Config:IniFiles update (from InoConf.pm) to support a tied hash interface and importing settings from an existing object.
- Wrote wadg::HTMLWriter object to allow encapsulation of HTML output methods regardless of output spec type (e.g. HTML 3.2, 4.0 or XHTML 1.0).
- Deprecated 'conf' and 'cfg' file formats. Report Magic now only accepts and understands 'ini' file formats and the command-line interface.
- Convert to CSS (XHTML 1.0/Strict) with option for older HTML 3.2implemented through the [statistics]Format setting. In HTML 3.2 output, all styles are conveted to equivalent, valid elements to achieve (almost) the same display.
- Added new 'stylesheet' setting to 'reports' and 'navigation' to allow complete control over the styles used in the output of the pages.
- Created a new [graphs] section
  - Moved Graph_Font for [graphs]Font
  - Ability to specify graph size with Width and Height
  - Selectable 2d/3d graphs: 3d is default 3D = 0 is off.
  - Set graph colors (foreground, background) (Font_Color,BG_Color)
  - Set graph colors for set/data palette (Palette)
  - Cycle colors on or off (cycle_Colors)
  - Shadows on or off {Drop_Shadows}
  - Differentiate graph and image background: BG_Color in [graphs] vs [reports]
- Added FONT and FONT_COLOR items to Data_* settings [ST]. WARNING: Use of this with the HTML 3.2 output option can cause RM to create HUGE files!
- If no [website]Title is given then a default message like "Website statistics for HOST NAME" is used.
- Added inheritance to rdata/cdata/lang files. First place is the default (. or lang/en/), then whatever language is added then site. This should make maintaining language files easier.
- Summary rows in daily and hourly summaries are now defined in rdata.ini rather than hard-coded [ST]. This is implemented with a simple matching mechanism and appropriate label for the row.
- For boolean settings, the following case-insensitive settings are equivalent (YES,ON,TRUE,[non-zero value]) == 1 and (NO,OFF,FALSE,NONE) == 0.
- The insertion code and %infile% has been renamed ${infile}. Old codes will still work, but please start using the new format. It makes more sense...
- Insertion codes have been expanded to include the folowing values, in addition to date formatting:

      	${infile}	This is the new way to specify the name of the input file.
      	${XX}	Where XX is the any field on the General Summary
      	${GenerationTime}	This is the Analog PS field, but formatted with lang.ini value [Text]O0008
      	${DataStart}	This is the Analog FR field, but formatted with lang.ini value [Text]O0008
      	${DataEnd}	This is the Analog LR field, but formatted with lang.ini value [Text]O0008
      	${AnalogVersion}	This a synonym for the Analog VE field

- The Header and Footer from Analog are now parsed for insertion codes.
- Added a pie chart for the OS, Organization, and Domain Reports. Removed the bar chart from the Status Code report.
- NOTE: When using XHTML 1.0 output, any styles defined in the stylesheet settings or created with conventional settings will be applied to imported HEADER and FOOTER context. This will not happen in HTML 3.2 output.
- PERFORMANCE NOTES: Running XHTML output is about 40% faster and uses 40% of the disk space of HTML 3.2. (Of course this depends on the number of settings for fonts and colors, the more settings the largers the HTML 3.2 becomes and the longer it takes to create it. XHTML is hardly affected by additional colors and fonts.)
- Changed default palette to 9999CC, CCCC66, 339900, 990000, FFCC33, 996699, 6699FF, 0066CC, FF9900, 666699
- NOTE: Using TTF in graphs significantly affects performance!
- Added [MONTHLY], [DAILY], [FULLDAILY], etc. report section capabilities to rmagic.ini to allow rdata.ini settings to be set in rmagic.ini under corresponding report section.
- Allowed [reports] values to be overidden in each report section (e.g. [GENERAL], [MONTHLY], [FULLDAILY], etc.)
- Filter and TimeReport summaries are written in 'smallfont' class.
- Added support for elm.class (and elm#id) in HTMLWriter::HTML_3_2.
- Added HTMLWRiter::HTML_3_2 support for span class= or id= .
- Added HTMLWRiter::HTML_3_2 support for background-image.
- Directory report now links [Root Directory] to '/'.
- Added "other" bar to the end of bar charts if too many bars. [ST]
- Moved [statistics]Summary_Rows to [QUICK]Rows and [statistics]General_Rows to [GENERAL]Rows.
- No longer numbers or charts the [not listed] rows.
- Improved handling of date floors a little more with a better regexp and matches.
- [navigation]File_Out can be keywords 'LEFT', 'RIGHT', 'TOP', 'BOTTOM' or 'NONE'.

For changes that resulted in versions 1.X see Changes 1.X.

[Introduction] [Documentation map] [Index] [Frequently Asked Questions] [License]
Send questions or comments to Wadsack-Allen Digital Group Support.
Report Magic 2.21 Documentation. Copyright © 1999-2003 Wadsack-Allen. All Rights Reserved.