AWStats Changelog
-----------------


***** 8.0 *****

Better CSS
Update robots.pm
Fixes #248
Update Traditional Chinese translation and migrate it to UTF-8
Sorting tree: Check if the key exists. Do not care about its value.
Allow processing logs in json
Fix default setup for NotPageList
Add report about request time
Fix bad link into doc
Remove native Android and native iOS/OSX Browser's User Agents from robots.pm
GPTBot not being properly identified due to error in robots.pm
Incorrect encoding for Ukrainian Translation

AWStats 8.0 will be the last version maintained by original author (Laurent Destailleur - eldy@users.sourceforge.net).


***** 7.9 *****

Add Windows 11 and Android 13 operating systems
Update Hungarian translation and migrate it to UTF-8.
fix cross site scripting
Replace hard coded text with $Message ( Monthly, Daily, Hourly )
Android 11 + 12, MacOS 11 ( Big Sur ) + 12 ( Monterey )
Catch up german translations
Change the substitution that replaces newlines with BR elements so that the syntax works for both HTML and XHTML.
Added a few robots and 1 phone browser. Also corrected some errors in devlop robots.pm
Only look for configuration in dedicated awstats directories
Unwrap SRS e-mail addresses
Fixes #195/CVE-2020-35176
As geoip2_country doesn't have AddHTMLGraph_geoip2_country, it should only generate subpage for geoip2_city.
added support for HaikuOS and Safari based WebPositive browser
Adding missing td-tag opening
Tajik Language Support


***** 7.8 *****

NEW Add SelectBox for DatabaseBreak Mode: month,day and hour.
Update http status codes
Add more file types
Update README.md
Fix geoip2 formatting problem
corner case 99
Fix some incoherent entries in search_engines.pm
Fix geoip2 plugin on windows by renaming it
Update robots.pm with PR118 data. Add:
    - PiplBot bot
    - um-IC & um-LN bot
    - arcemedia
    - bit.ly
    - bidswitchbot
    - bnf.fr_bot
    - contxbot
    - flamingo
    - getintent (variant)
    - laserlikebot
    - mappy
    - mojeek (variant)
    - serendeputy
    - trendiction
    - yak (linkinfluence)
    - zoominfobot
Fixes #104
Change markdown to better readability
Update Copyright year
Change to https links
Fix links for perl download
NEW add %time6 tag in log format to support some IIS log format
geoip2: Fix table formatting error. Missing "<td>" item tag.
Changes to robots.pm
Add support for macOS DMG and PKG files
Fix browser detection with HTTP 206 status code
Support for macOS 10.13/10.14 + improved image compression of icons
Fix use the 5 top hits as base 100 for graph to show the top 5 hits.
Clean up geoip2 and geoip2 city modules
    * Correctly convert dns names to ip4 and ip6 address using getaddrinfo
      (fixes #120, #121, obsoletes #115)
    * Only lookup if the IP is of type public (fixes #122)
      and catch further lookup errors (obsoletes #123)
    * Store and display the GeoIP City output HTML escaped (fixes #127)
    * Code to perform and cache the actual lookup is consolidated
    * General code improvement and readability
Losslessly reduced size of PNG images by about 33% using zopfli, pngout and oxipng. Also added os icons for macOS 10.13 and 10.14.
Add Robot: The Knowledge AI
Fix Error: Not same number of records of RobotsSearchIDOrder_listx
Robots, Search Engine and Web Page Tracking Modifications
Optimize OptimizeArray
Added UptimeRobot https://uptimerobot.com/
Fix a few grammar errors in the model config
Ignore search phrases longer than 80 characters.
Fix 404 detail page not updating
Decode RFC 3986 "unreserved chars" in URLs.
Fix #80
Disable nested includes warnings for Perl > 5.6.
Update domains.pm
Fix two invalid entries in search_engines.pm
Format Tera Bytes
Fix "Illegal division by zero" error.
Fix #79
Improving error handling in awstats_buildstaticpages.pl
FIX #90
Exclude private IP addresses since GeoIP2::Reader doesn't support them
Ignore search phrases longer than 80 characters.
Only purge data for the saved section.
Make city plugin more functional
Fix issue with ShowHost section when address is resolved.
Initial implementation of GeoIP2 City lookup.
Fix a few issues with Country lookup.
Initial implementation. Looksup only Country code for IPv4 and IPv6
Update hebrew file
Quite a few additions and modifications. Especially yahoo detection.
Added device pixel ratio ( dpr ) to awstats_misc_tracker.js.
added 37 new robots to robots.pm file using v 7.7 robots.pm file as base file.
Move oBot entry lower as to not incorrectly get picked for other *obot robots.
Decode RFC 3986 "unreserved chars" in URLs.  This makes awstats treat "/foo" and "/%66%6f%6f" as equivalent.
Missing Sint Maarten  flag
Wrong label cf. https://dev.maxmind.com/geoip/legacy/codes/iso3166/
Fix Issue #76 - country name not correct
Fix utf bom files
Fix another vulnerability reported by cPanel Security Team (can execute arbitraty code)
Add more tests


***** 7.7 *****

Security fix: CVE-2017-1000501
Security fix: Missing sanitizing of parameters
Fix LogFormat=4 with url containing spaces.
Fix to window.opener vulnerability in external referral site links.
Add methodurlprot in key to define log format.
Add Dynamic DNS Lookup.
Fix edge support.


***** 7.6 *****

- Security fix: "|" not allowed into DirLang parameter.
- Security fix: More restrictive rule for using AWSTATS_ENABLE_CONFIG_DIR.
- Update robots database.
- Fix OS database.
- Update/fix of documentation.
- Add missing country flag for "el".
- Add partial support for pure-ftpd stats format in method field.
- Add support for macOS Sierra.
- Add web fonts to default NotPageList, add support for GPX and JSON files


***** 7.5 *****

- Compatibility with Perl 5.22
- Support detection of Edge browser with detail of version.
- Update robots database
- Add eot/woff/woff2 to mime.pm as fonts
- Add .svgz to image list
- Exclude groups.google from search engines
- Add %time5 tag to support log format with iso time with timezone.
- Add option DynamicDNSLookup to make DNS lookup during output instead
  of during log analysis processing. 
- Increase default value for MaxRowsInHTMLOutput


***** 7.4 *****

New features:
- Add debian patch debian-patches-1019_allow_frame_resize.patch to add
  option nboflastupdatelookuptosave on command line.
- #199 Added geoip6 plugin with support for IPv4 AND IPv6.
- Work with Amazon AWS log files (using %time5 tag). 

Fixes:
- Fixes permission on some .pl scripts.
- #205 GetResolvedIP_ipv6 does not strip trailing dot.
- #496 tools scripts should print warnings and errors to STDERR.
- #919 Referrals not getting tracked due to improperly getting flagged as a search.
- Add debian patch 0007_russian_lang.patch.
- Add debian patch 2001_awstatsprog_path.patch.
- #921 Failure in the help text for geoip_generator.pl
- #909 awstats_buildstaticpages.pl noisy debug output.
- #680 Invalid data passed to Time::Local causes global destruction.
- #212 Fix CVE-2006-2237


***** 7.3 *****

New features:
- Add command line option -version
- Better error management of geoip modules.
- Update domains, robots and search engines database:
- #877 Windows 8 + iOS Support in AWStats
- Detection of 8.1 and IE11.

Fixes:
- When using builddate option of script awstats_buildstaticpages,
  static link is wrong.
- Restore detection of Opera browsers versions.
- #838 GeoIP Cities page doesnt work.
- Add missing icons.
- #881 Avoid warning mixed http/https with module graphgooglechartapi.
- #918 $MinHit{'Host'} rather than $MinHit{'Login'} used in sub HTMLShowLogins.
 
Other:
- Move version system to sourceforge Git instead of CVS.


***** 7.2 *****

New features:
- Upgrade licence to GPL v3+.
- Update documentation.
- Support modCloudFlareIIS.

Fixes:
- Since updating Webmin to 1.53, the Add New Config File screen layout is
  totally messed up and unusable.
- Update broken links to maxmind.


***** 7.1.1 *****

New features:
- Add windows 8 detection
- Add support of %time5 for iso date times.
- Fix problems with Perl 5.14


***** 7.1 *****

New features/improvements:
- Update translations.
- Update browsers list.
- Add example of nginx setup.
- Add some patches from debian package.
- Rename domain name into documentation to awstats.org
- Can allow urls with awredir without using md5 key parameter.
- Usage of databasebreak option possible with awstats_buildstaticpages.
- Add rel=nofollow on links.
- Add option AddLinkToExternalCGIWrapper to add link to a wrapper script
  into each title of Dolibarr reports. This can be used to add a wrapper
  to download data into a CSV file for example.

Fixes:
- Security fix into awredir.pl
- Fix: Case of uk in googlechart api.
- Fix: Compatibility with recent perl version.


***** 7.0 *****

New features/improvements:
- Detect Windows 7.
- Can format numbers according to language.
- More mime types.
- Added geoip_asn_maxmind plugin.
- Geoip Maxmind city plugin have now override file capabilities to complete
  missing entries in geoip maxmind database. 
- Added graphgooglechartapi to use online Google chart api to build graph.
- Can show map of country to report countries when using graphgooglechartapi.
- Part of codes was change to use more functions and have a cleaner code.
- Added parameter to ignore missing log files when merging for a site on 
  multiple servers where a single server may not have created a log for a given day.
- Update robots database.
- Added Download tracking where certain mime types are defined as downloads
  and HTTP status 206 is tracked as download continuation
- Can use wrapper with parameters in WrapperScript parameter.
- Change to allow usage of AWStats inside a plugin
  for Opensource Dolibarr ERP & CRM software (https://www.dolibarr.org).
  
Thanks to Chris Larsen (author of most thoses changes).

Fixes: 
- Webmin module works with new version of webmin.
- Security fix (Traverse directory of LoadPlugin)
- Security fix (Limit config to defined directory to avoid access to external
  config file via a nfs or webdav link).


***** 6.95 *****

New features/improvements:
- Fix security in awredir.pl script by adding a security key required by
  default.
- Enhance security of parameter sanitizing function.
- Add name of config file used to build data files inside data files header.
- Added details of version for Chrome, Opera, Safari and Konqueror browsers.
- Add AdobeAir detection.
- Major update of browsers, robots and search_engines databases (among them,
  the Bing search engine).
- Increase seriously bot detection.
- Add Brezhoneg language.
- Add a better way to detect Safari versions.
- Added subpages for geoip maxmind modules in awstats_buildstaticpages.
 
Fixes:
- Fix typo in polish language file
- awstats emmits ton of warnings with new geoipfree - ID: 2794728
- Fix: can detect robots with robots.txt url even if file is not root.
- Other minor fixes.


***** 6.9 *****

New features/improvements:
- With postfix that support DSN (Delivery Status Notifications) we exclude 
  some lines to avoid counting mails twice in maillogconvert.pl script.
- Logresolvemerge.pl support FreeRADIUS logs or anything else using (the
  fixed length!) ctime format timestamp.
- Add option stoponfirsteof in logresolvemerge tool.
- Add patch to support host_proxy tag in LogFormat (for Apache LogFormat
  containing %{X-Forwarded-For}i)
- Renamed Add to favourites on "Hit on favicon".
- Increase robots, search engines database (Added Google Chrome browser,
  better Vista, WII, detection, ...)
- Update languages files.
- Added a lot of patch from sourceforge.

Fixes:
- Fixed broken maxmind citi, org and isp plugins.
- Remove &nbsp; in name html tag to have HtmlHeadSection first.
- Fix: [ 2001151 ] Security fix.
- Fix: [ 2038681 ] missing <br _/_> in plugins/geoip_org_maxmind.pm
- Fix: [ 1921942 ] html footer is missing from the allextraN report.
- Fix: [ 1943466 ] error geoip_city_maxmind Can't locate object method "record_
- Fix: [ 1808277 ] Incorrect function call in geoip_isp_maxmind.pm
- Fix: Full list of extrasections was not ordered correctly
- A lot of other fixes.
- Added missing icons

Other/Documentation:
- None


***** 6.8 *****

New features/improvements:
- Added OnlyUsers option.
- Can track RPC request.
- HTMLHeadSection can accept \n in string.
- Add option MetaRobot.
- Increase seriously bot detection.
- Better detection of windows OS.
- Add condition HOSTINLOG in extra sections.
- Can show a full list for extrasection.

Fixes:
- Fixed pb in xml output for history files.
- Fixed a bug in awstats_configure.pl script.

Other/Documentation:
- Updated some language files.
- Updated documentation.
- Updated browsers database and added following patches:
  775988 The lastest: minor Chinese search engine patch
  1735647 Chinese search engines for awstats 6.6
  1735646 robots patch: feedsky, contentmatch crawler, twiceler, yodao
  1735639 Browser patch for Lilina/potu reader
  1735637 Chinese translation file for awstats 6.6
  1533028 WordToCleanSearchUrl for baidu.com
  1384243 minor Chinese spider and search engine patch
  1569151 TOP 8 Chinese local search engines
  745359 Chinese(Simp) update: 6.5 awstats-cn.txt
  1569201 top Chinese browser and robot update: TT is not a robot
  1569229 Simplified Chinese language file update
  1569208 Browser update on potu rss reader and lilina rss reader
- Added a more complete xslt example.
- Remove some deprecated code.
- Update status of GeoIP City plugin database. A free version is
  now available like GeoIP Country database.


***** 6.7 *****

New features/improvements:
- Full support for -day option. To build different report for each day
- Added virtualenamequot tag
- Added option NotPageList
- Addes .jobs and .mobi domains

Fixes:
- Minor bug in awstats_configure.pl

Other/Documentation:
- Updated some language files.
- Updated browsers database.


***** 6.6 *****

New features/improvements:
- All geoip plugins support the PurePerl version.
- Possible use of vhost in extra section.
- Support IPv6 in AllowAccessFromWebToFollowingIPAddresses parameter.
- Added svn family to browsers detection.
- Support for IE7.

Fixes:
- Remove some Perl warnings.
- Remove lc() on translation strings.
- Not sanitized migrate parameter.
- Not sanitized urlxxx parameters that could be used for XSS attacks.

Other/Documentation:
- Added AWStats version in stdout outputs.
- Updated some language files.
- Updated browsers database.



***** 6.5 *****

Note:
If you used the geoip plugin, you must edit your AWStats config file
to change the line
 LoadPlugin="geoip GEOIP_STANDARD"
into
 LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"

New features/improvements:
- Tuning: logresolvemerge.pl is 30 times faster when merging a lot of log
  files (1000) at same time (Thanks to Dan Armstrong).
- Added detection of linux and bsd distributions (redhat, mandriva, ...)
  Thanks for idea to Sean Carlos.
- Added option SkipReferrersBlackList to exlude records from SPAM referrers.
- New: RSS catcher/readers in robot database
- New: Add option databasebreak to force awstats to use a different database
  history file for eache day or hour instead of month.
- New: geoip_cities plugin report the region when available.
- New: LevelForBrowsersDetection can accept value 'allphones' to use file
  browsers_phone.pm instead of browsers.pm file for AWStats database. This
  file is specialized in phone/pda browsers.
- Qual: geoip plugin now uses open instead of new to allow use of different
  path for datafiles instead of default. This allow use of personalised path
  for database file.
- New: LogFormat=2 can now change its value dynamically if logformat change.
- New: Add way to set ArchiveLogRecords with same tags than LogFile to add
  suffix to archive log files.
- New: Add option SectionsToBeSaved (to ask AWStats to save only particular
  sections).
- Added detection of epiphany and a lot of other new search engines and
  robots (Thanks to http://www.antezeta.com/awstats-contact.html)
- awredir support any protocols (ftp, https...) not only http.
- Support in/out method in ftp detection.
- Update xsd files and fix xml support to have now a full support of xslt
  transformations and xml validations.
- Added javabestart to browsers.

Fixes:
- Fixed: No more increase of Google search engine count when click came
  from Gmail.
- Fixed: [ 1193698 ] Flash detection wrong ?
- Fixed: [ 1225425 ] Shiira gets recognized as Safari
- Fixed: [ 1232317 ] Missing javaws png file
- Fixed: [ 1236547 ] Acrobat 7 PDF detection
- Fixed: [ 1239677 ] Incorrect XML output
- Fixed: [ 1280667 ] Custom StyleSheet not used
- Fixed: [ 1301317 ] Patch for hashfiles plugin to work
- Fixed: [ 1305959 ] awstats-6.5 : awstats.pl parsing conf
- Fixed: [ 1306075 ] GNUTLS from Lynx mistaken for GNU Hurd
- Fixed: [ 1315969 ] German: message153
- Fixed: referer changes to referrer
- Fixed: [ 1111530 ] Missing description for %host_r in config file
- Fixed: [ 1124711 ] env __AWSTATS_CURRENT_CONFIG__ not expanded for include
- Fixed: [ 1172485 ] Invalid header characters for DOCTYPE
- Fixed: [ 1172494 ] Invalid XHTML in awstats.pl
- Fixed: [ 1173816 ] Config file mis-feature
- Fixed: [ 1218832 ] XML Strict error (with GeoIP plugin)
- Fixed: keyword detection for "advanced" search on google
- Added style="display:none;" to image link for misc tracker.
- Changed stored permission in tar.gz file
- Fixed: Better support for gz and bz2 files
- Fixed: Added xhtml in mime types.
- Fixed: [ 1163590 ] XML parsing error
- Fixed: [ 1174728 ] version 6.4: XML parsing error
- Fixed: [ 1186582 ] Authentication problem in Windows NT/AD Domains
- Fixed: [ 1191805 ] Missing Bot: Add generic detection for user agent
  bot bot/ and bot-
- Avoid bad cells if geoip country does not exists.
- Better compatibility of misc_tracker with firefox.
- Fixed: Dying process with geoip_city plugin when IP is unknown by plugin.
- Fixed: Add error message if option buildpdf option is used with parameter
  BuildReportFormat=xhtml.

Other/Documentation:
- Added Spanish translation for webmin module by Patricio Mart�nez Ros.
- Added croatian language.
- Update russian language file.
- Renamed european union by european country.
- Review of AWStats documentation.


***** 6.4 *****

New features/improvements:
- Add option ShowSummary.
- If Geoip plugin is enabled, add a column in Host report.
- Other minor changes on geoip and hostinfo plugins to enhance look.
- If LogFormat is 2, AWStats autodetect log format change.
- Add a way to set ArchiveLogRecords with same tags than LogFile to
  add suffix to archived log files.

Fixes:
- Fix security hole that allowed a user to read log file content even
  when plugin rawlog was not enabled.
- Fix a possible use of AWStats for a DoS attack.
- Fix errors for setup to analyze media servers.
- If there is no referer field in the log format, do not use them in the
  errors reports.
- Label of real player ("media player", not "audio player")
- configdir option was broken on windows servers (Pb on Sanitize function
  on windows local use).
- Minor fixes.
- Fix: [ 1094056 ] Bad html-output for maillogs
- Fix: [ 1094060 ] More bad html/xml output
- Fix: [ 1100550 ] Missing flag icon for euskera
- Fix: [ 1111817 ] AllowToUpdateStatsFromBrowser defaults to 1 contrary
  to docs

Other/Documentation:
- DebugMessages is by default set to 0 for security reasons.
- Updated documentation.
- Updated some language files.
- Remove deprecated LogFormat 5.


***** 6.3 *****

New features/improvements:
- Added the geoip_isp_maxmind and geoip_org_maxmind plugin to allow
  rrports by ISP and Organizations.
- Details firefox versions.
- webmin module: Report GeoIP databases versions.
- Support keywords detection for search engines that store search key
  inside url instead of parameters. This means AWStats can now detect
  keywords from search engines like a9.com

Fixes:
- Removed two security holes.
- The geoip_city_maxmind plugin was sometimes bind and towns with
  space in names are reported correctly.
- Restart of apache on debian failed in awstats_configure.pl
- Better look for file types tables.
- Fix: [ 1066468 ] Translated word gets corupted (&OUML instead of �)
- Fix: [ 1074810 ] XML Parsing Error
- Fix: [ 991768 ] "Created by awstats" not localized
- Fix: [ 1092048 ] flash(.swf) in NotPageList(default)
- Fix pb when there is spaces in key of ExtraSections


Other/Documentation:
- SaveDatabaseFilesWithPermissionsForEveryone is 0 by default instead
  of 1 for security reasons.
- Updated documentation
- Updated language files



***** 6.2 *****

New features/improvements:
- awstats_updateall.pl: Added -excludeconf option
- Allow plugins to add entry in menu.
- Allow plugins to add charts with its own way to compile data inside
the update process.
- Added the geoip_region_maxmind and geoip_city_maxmind plugins.
- maillogconvert.pl: Support postfix 2.1 that change its log
format using NOQUEUE string instead of a number for mails that are
rejected before being queued.
- Little speed improvments.
- Counts javascript disabled browsers (A new MiscTracker feature).
- When a direct access to last line is successfull, awstats is directly
in mode "NewLine". No need to find a more recent record for this. This
means the NotSortedRecordTolerance works even between end and start
of updates.
- You can use a particular not used field in your log file to build
a personalized report with the ExtraSection feature. Just use a personalized
log format and use the tag %extraX (where X is a number) to name field you
want to use, then, in ExtraSection parmaters, you can use extraX to tell
wich info to use to extract data for building the chart.
- Support method "put" when analyzing ftp log files.
- Added a bold style around current day/month in label of charts.

Fixes:
- Fix not recognized %time3 tag in LogFormat. This tag allows to process
all FTP xferlog file format.
- Fix bad html generated with buildpdf option.
- maillogconvert.pl: Added patch to work correctly with sendmail
when recipient is redirected through a pipe.
- Fix Bug 985977: Failed to rename temp history file if contains special
char like "+".
- Patch 984087 for new year jump
- Fix Bug 983994: Tooltips aren't shown.
- Fix Bug 982803: Bad display in Netscape 4.75 with Awstats version 6.1
- Fix Bug 975059: Timezone Plugin Runtime Error
- Fix Bug 971129: Bug in regexp handling for | in ExtraSections
Now for OR in ExtraSectionCondition you must use double pipe.
- Some fix to have correct flag for lang with code lang different of
country flag.

Other/Documentation:
- Updated documentation.
- Updated robot, browsers, os recognition databases.
- Better log messages in plugins.
- Renamed configure.pl into awstats_configure.pl.
- Reduce code size.
- The NOTSORTEDRECORDTOLERANCE has been increased to 2 hours to be sure to
have no problem for users that change their hour by one.



***** 6.1 *****

New features/improvements:
- The BuildHistoryFormat can now accept xml to build the AWStats 
  database in xml. The XML schema is available in tools/xslt directory.
- Added an example of xslt style sheet to use AWStats XML database.
- Added %time4 flag for LogFormat to support unix timestamp date format.
- Added Firefox to browser database.
- Added option IncludeInternalLinksInOriginSection (defined to 0 
  by default).
- Added field to choose size of list limit (rawlog plugin).
- Added ExtraSectionCodeFilterX parameters.
- PDF detection works also for browsers that support PDF 6 only.
- maillogconvert.pl:
  Added an automatic year adjustment for sendmail/postfix log 
  files that does not store the log. This solve problems for mail 
  analyses around new year.
- Added tooltips for mail reports (tooltips plugin).
  Changed look of the summary report to prepare add of new informations.
- Added failed mails number in the summary.
- AllowAccessFromWebToFollowingAuthenticatedUsers is no more case
  sensitive.
- Added new functions for plugins: AddHTMLMenuHeader, AddHTMLMenuFooter,
  AddHTMLContentHeader, AddHTMLContentFooter
- Added detection of Camino web browser (old Chimera).
- Full updated robots database.

Fixes:
- Removed warning "Bizarre copy of ARRAY" with new Perl 5.8.4.
- Fixed syntax error in Year view when xhtml output is selected.
- Fixed a problem of not working misc feature when using IIS and 
  when URLWithQuery was set to 0.
- Now all non ISO-8859-1 languages are shown correctly even with 
  Apache2, whatever is the value of the AddDefaultCharset directive.
- Some plugins broke the xhtml output.
- Fixed wrong results for compression ratios when using mod_gzip and
  %gzip_ratio tag.
- Fixed old bug showing string "SCALAR(0x8badae4)" inside html reports
  when using mod_perl.
- Fixed the not allowed GET method when LogType=S.
- maillogconvert.pl: Better management of error records with sendmail
  and postfix (some "reject" records were discarded).
- maillogconvert.pl: Fixed important bug where records were discarded
  when server name was a FQDN.
- configure.pl: Now works also on Mac OS X
- configure.pl: If /etc/awstats directory does not exist, try to
  create it. If /etc/awstats.model.conf not found on Linux, try to
  find it in cgi-bin directory.
- Fixed some bugs when BuildReportOutput is set to xhtml (rawlog plugin)
  plugin.
- Number of shown lines were one more than required (rawlog plugin).
- xhtml output broken for some 404 reports.

Other/Documentation:
- BuildReportOutput=xml renamed into BuildReportOutput=xhtml
- Added arabic language file.
- Updated language file.
- Updated documentation.
- maillogconvert.pl:
  Update value of NBOFENTRYFOFLUSH



***** 6.0 *****

Fixes:
- Fixed bug 599388: Search engines are not detected if domain is IP
  address.
- Fixed bug 711758.
- Fixed bug 812681: bad case for ENV expansion in awstats.conf.
- Fixed bug 813908: Incomplete documentation
- Fixed bug 816267: onedigit dayofmonth breaks syslog regex
- Fixed bug 817287,830458: wrong regexp in Read_DNS_Cache subroutine
- Fixed bug 817388: lib/referer_spam.pm & lib/robots.pm
- Fixed bug 818704: Warning in IPv6 plugin when no reverse DNS
- Fixed bug 841877: regex bug for parsing log lines
- Fixed bug 846365: relative path not working for DirData.
- Fixed value for ValueSMTPCodes if not defined in config file.
- Fixed pb when country code is not same than lang code (example:
  estonian has lang code 'et' and country code 'ee').
- Replaced Kb/visits to Kb/mails for mail log analysis.
- Remove some warnings that appears when running perl -W 
- Other minor bugs (814970,823064,823323,831438,836315).
- Fixed bug in counting hits for miscellanous and clusters chart when
  a temporary flush was done on disk during a long update.
- ExtraSections now works on all records whatever is the status code.
- Click on "Summary" now returns to top of page even with rawlog plugin.
- Fix in log parsing that should reduce dropped records to only records
  that match a dropping criteria (SkipFiles, Skip..., Only...).
- Click on "Summary" now returns to top of page even with rawlog plugin.
- Fixed AmigaVoyager detection.
- Fixed bug in SkipHosts filter for mail log files.
- Fixed not working link for search keywords/keyphrase in menu with FireBird.
- Fixed pb in loading plugins with mod_perl2.
- Fixed not found relative DirData path with some Perl/OS versions.
- Fixed error in awstats_updateall.pl when current directory, while running
  it, is where awstats.pl is stored.

New features/improvements:
- Increased speed by 10 to 20%.
- Added a Worms report (Added LevelForWormsDetection and
  ShowWormsStats parameter).
- Added report for "not viewed" traffic in Summary report.
- Monthly history report has been extracted from the Summary report.
- Some changes to make AWStats to be XML compliant ready.
  Need to set the new parameter BuildReportFormat to 'xml' in config file.
  Added also the BuildHistoryFormat parameter (Even if only 'text' is
  supported for the moment).
- A lot of part of codes have been rewritten to make code more easy to
  understand and reduce unknown bugs.
- The link to whois informations for a host, provided by hostinfo plugin,
  has been replaced by an internal 'whois' showing in a popup window full
  whois informations whatever is the TLD of IP or host name.
- A new search engine database to allow several "match id" for same
  search engine. Example: All google ip referer id are recognised.
- Can use UA and HOST fields to build personalized ExtraSection reports.
- Added support for AND conditions in personalized ExtraSection config.
- Support for right to left languages. Added 'he' language.
- Added LevelForSearchEnginesDetection parameter to choose between 2 possible
  levels of detection for search engines (like LevelForRobotsDetection).
  Also, added LevelForFileTypesDetection parameter (2 possible levels).
- Added percent column for file types.
- The robot chart now shows details between hits on robots.txt file and
  other hits.
- Count of keywords/keyphrases does not increment counter for hits made
  on images from a google cached page.
- Added patch 857319: Allow several IPs and IP ranges in
  AllowAccessFromWebToFollowingIPAddresses parameter.
- Added experimental graphapplet plugin (graph are built by applet).
- Webmin module updated to 1.210 to integrate all new parameters.
- Better setup error messages for newbie.
- Reports look better on Mozilla browsers.
- Added decodeUTFkeys plugin to AWStats to show correctly (in language
  charset) keywords/keyphrases strings even if they were UTF8 coded by
  the referer search engine.
- Added/updated a lot of os, browser and country icons.
- Added Hebrew and Galician language.
- configure.pl: A new script to configure AWStats and Apache and
  build a simple config file.
- awstats_buildstaticpages.pl: The -date option has been replaced
  by the -buildate=%YY%MM%DD option so you can choose your own date format.
- awstats_buildstaticpages.pl: Added the -configdir option.
- awstats_exportlib.pl: Changes to be compatible with new AWStats databases.
- logresolvemerge.pl: can use several threads for reverse DNS lookup
  with Perl 5.8.
- maillogconvert.pl: Allow to process qmail log preprocessed by
  tai64nlocal tool.
- maillogconvert.pl: Added support for MDaemon mail server log files.
  
Other/Documentation:
- A httpd.conf sample to configure AWStats is provided.
- Added example for analyzing awredir.pl hits by ExtraSections.
- Updated database:
  wget is known as a "grabber" browser, no more as a robots.
  netcaptor and apt-get added in browser database.
  asmx and aspx added in mime.pm file.
  Microsoft URL Control added in robot list.
- Documentation seriously updated.
- FAQ updated.


Note 0: Perl 5.007 or higher is a requirement to use AWStats 6.9 or higher.

Note 1: When migrating to 6.x series, if you use the ExtraSections feature,
  you must check that the parameter(s) ExtraSectionConditionX use a full
  REGEX syntax (with 5.x series, this parameter could contain simple string
  values). If not, feature will be broken.

Note 2: When migrating to 6.x series, if you use the Misc feature, you must
  check that your ShowMiscStats parameter is set to "ajdfrqwp", if you want
  to have all miscellanous info reported (you must also have added the
  awstats_misc_tracker.js script in your home page as described in
  MiscTrackerUrl parameter description). Otherwise the new default value "a"
  will be used (only the "Add to favourites" will be reported).

Note 3: In 6.x series, MaxLengthOfURL parameter has been renamed into
  MaxLengthOfShownURL.

Note 4: When migrating to 6.x series, to enable the new worm detection, you
  must add parameter LevelForWormsDetection=2 in your config file.

Note 5: When migrating to 6.x series, if you used the urlalias or userinfo
  plugin, you must move the urlalias.*.txt or userinfo.*.txt file from Plugins
  directory to DirData directory.



***** 5.9 *****

Fixes:
- Several fixes in maillogconvert.pl
  Fixed wrong parsing for qmail log files.
  Support mail errors in qmail log files.
  Return code for postfix log were all reported in error for mails sent to
  several recipients when one recipient was in error.
- Fixed wrong percentage in cluster report.
- Fixed wrong parsing for qmail log files.
- Return code for postfix log were all reported in error for mails sent to
  several recipients when one recipient was in error.
- Fix a not closing HTML TR tag in full list of hosts.
- awstats_buildstaticpages.pl can accept month on 1 digit.
- awstats_buildstaticpages.pl no more try to build pages awstats.misc.html
  and awstats.filetypes.html that does not exists.
- A lot of fix in PDF export:
  Graph in PDF export are no more inverted.
  The link "close window" in generated PDF pages is replaced by "back to main
  page".
  Infos popup window from hostinfo plugin is not included in PDF export. Popup
  can't work into PDF.
  PDF export seems to work correctly now.
- mail.yahoo.* and hotmail.msn.* refering pages are not more reported as
  search engines.

New features/improvements:
- AWStats Webmin module updated to 1.1
- Added the AllowFullYearView parameter.
- Year entry in combo box is now the localized text for "Year" instead of '---'
- Support of some exchange format in maillogconvert.pl
- Option -noloadplugin of awstats_buildstaticpages.pl can accept a list of
  plugins separated by comma.
- Support mail errors for qmail log files.
- Added the -diricons option from awstats_buildstaticpages.pl

Other/Documentation:
- Added rpm, deb and msi mime types
- Added documentation page for using AWStats Webmin module



***** 5.8 *****

Fixes:
- mod_deflate compression reported bandwith saved instead of bandwidth used.
- Fixed wrong number of column for "other" row in host chart.
- Fixed problem of parsing with uabracket and refererquot.
- Fixed wrong use of config file in rawlog plugin.
- Some changes on maillogconvert.pl:
  maillogconvert support more exotic sendmail log files (Thanks to W-Mark Kubacki).
  Fixed wrong parsing of qmail syslog files.
  Fixed pb of '-' in relay hostname.
  When a mail is sent to 2 different receivers, now report 2 records.
  When a forward is active, report the original receiver, not the
  "forwarded to".
- Fixed not working timezone plugin with 5.7.
- Fixed missing propagated configdir parameter when changing month/year.
- Error when loading database pm file with some cygwin perl version.
- Fixed not working file type detection for default pages.
- Fixed not working awstats_updateall.pl on Windows platforms.

New features/improvements:
- Added a Webmin module.
- Enhance the 'Extra' feature with parameters ExtraSectionFirstColumnFormatX,
  ExtraSectionAddAverageRowX, ExtraSectionAddSumRowX.
  Also add a dedicated page in documentation.
- Added %lognamequot tag for LogFormat parameter.
- Added OnlyUserAgents parameter.
- Selection of virtualhost records in a log is no more case sensitive on
  SiteDomain nor HostAliases.
- Added awredir.pl tool.
- Added a Cluster Report for load balancing systems. Added %cluster tag in
  LogFormat.

Other/Documentation:
- Deprecated %time1b tag (%time1 can be used).
- Minor look change.
- Updated documentation.



***** 5.7 *****

Fixes:
- The -configdir parameter in awstats_updateall.pl is now working coorectly.
- Fix failing call to ipv6 plugin.
- Pb with some regex value used in the new REGEX fields added in 5.6.
- Better support for WebStar log files.
- Count for add to favourites is done on hits to favicon.ico for IE only. This
  avoid counting wrong "Add" done by browsers that hit the file even when no
  add is done. Value reported is the (count for IE) / (ratio of IE among all
  other browsers).
- Count for Browsers with WMA audio playing support now works.
- Fix problem with default ShowFlagLinks defined to 1 instead of '' when not
  included in config file.
- Road runner browsers detection problems.
- syslog tag can accept hostname with not only a-z chars.
- "&nbsp" changed to "&nbsp;" in miscellanous chart.
- Geoip lookup is always done (as it should) on ip when ip is known, even if
  DNSLookup is enabled and successfull. This increase seriously AWStats speed
  when DNSLookup and Geoip are both enabled.
- Chars < and > inside reported values are no more removed but coded with &lt;
  and &gt; in html built page.

New features/improvements:
- Added 'rawlog' plugin to add a form to show raw log content with filter
  capabilities.
- Added a dynamic exclude filter on CGI full list report pages.
- Added maillogconvert.pl for analyzing mail log files (better support
  for sendmail, postfix and qmail log files).
- Added -addfilenum option in logresolvemerge.pl
- Added -updatefor option to limit number of lines parsed in one update
  session.
- Added support for Darwin streaming server.
- Added Firebird browser detection.
- awstats_buildstaticpages.pl can also build a PDF file (need htmldoc).
- Better management of plugin load failure.
- Added LogType parameter.
- Added option -dnscache= in logresolvemerge.pl to use dns static file.
- Minor bug fixes.
- The HostAliases list parameter is used to check if a log that contains
  %virutalhost field should be qualified.
- Added %MO tag for LogFile parameter to be replaced by the three first
  letter of month.

Other/Documentation:
- The "Popup WhoIs link" code is now handled by new 'hostinfo' plugin.
- Added mp4 mime type.
- Updated documentation.

Note 1:
  The ShowLinksToWhoIs parameter has been removed. You must enable the plugin
  'hostinfo' to get the same result, if it was used.



***** 5.6 *****

Fixes:
- Domain with no pages hits were always reported as other in domain chart.
- percent for other in full list of "links for internet search engines"
  has been fixed.

New features/improvements:
- Report compression ratios with mod_deflate feature (Apache 2).
- A better browser detection.
- Can add regex values for a lot of list parameters (HostAliases,
  SkipDNSLookupFor, ...)
- StyleSheet parameter works completely now and sample of CSS files are
  provided.
- Add meta tags robots noindex,nofollow to avoid indexing of stats pages by
  compliant robots.
- Added a "Miscellanous chart" to report ratio of Browsers that support:
  Java, Flash, Real reader, Quicktime reader, WMA reader, PDF reader.
- "Miscellanous chart" also report the "Add to favourites" (must remove the
  "robots.txt" and "favicon.ico" entries off your SkipFiles parameter in your
  config file to have this feature working.
- Update process now try a direct access at last updated record when a new
  update is ran. If it fails (file changed or wrong checksum of record), then
  it does a scan from the beginning of file until a new date has been
  reached (This was the only way of working on older version). So now update
  process is very much faster for those who don't purge/rotate their log
  file between two update process (direct access is faster than full scan).
- Better look for report pages on Netscape/Mozilla browsers.

Other/Documentation:
- Updated documentation.
- Update wap/imode browser list.

Note 1:
  You should remove the "robots.txt" and "favicon.ico" entries in the SkipFiles
  parameter in your config files after upgrading to 5.6.
  


***** 5.5 *****

Fixes:
- Summary robots list was limited to MaxNbOfLoginShown instead of being
  limited to MaxNbOfRobotShown value.
- Fixed a bug when using HBL codes in ShowRobotsStats parameter.
- AllowAccessFromWebToFollowingAuthenticatedUsers now works for users with
  space in name.
- Bug 730996. When URLWithQueryWithoutFollowingParameters was used with a
  value and another parameter was ended with this value, the wrong parameter
  was truncated from URL.

New features/improvements:
- Added a 'Screen Size' report.
- Group OS by families. Added a detailed OS version chart.
- Better 404 errors management. URLs are always cleaned from their parameter
  to build '404 not found' URLs list (because parameters are not interesting
  as they can't have effect as page is not found). Referrer URLs list for '404
  not found' URLs are kept with parameters only if URLReferrerWithQuery is set
  to 1. This make this report more useful.
- Added 'geoipfree' plugin (same than 'geoip' plugin but using the free
  Perl module Geo::IPfree).
- 'geoip' plugin can works with Perl module Geo::IP but also with Perl module
  Geo::IP::PurePerl).
- Added 'userinfo' plugin to add information from a text file (like lastname,
  office department,...) in authenticated user chart.
- month parameter can accept format -month=D, not only -month=DD
- Optimized code size.
- Optimized HTML output report size.
- Added plugin ipv6 to fully support IPv6 (included reverse DNS lookup).
- Split month summary chart and days of month chart in two different charts in
  main page. This also means that ShowDaysOfMonthStats and
  AddDataArrayShowDaysOfMonthStats parameters were added.
- Added -staticlinksext to build static pages with another extension than
  default .html
- Added QMail support and better working support for Postfix and Sendmail (SMA
  preprocessor was replaced by maillogconv.pl).

Other/Documentation:
- AWStats default install directory is /usr/local/awstats for unix like OS.
- Added Isle of Man, Monserat, and Palestinian flag icon.
- Added "local network host" and "Satellite access host" in label of possible
  countries and icons (They appears when using geoip plugins).
- Better management of parsed lines counting. The last line number is also
  stored in history file, for a future use.
- Removed LogFormat=5 option for ISA log file because I am fed up of
  supporting bugged and non standard MS products. Sorry but this takes me too
  many times. To use AWStats with an ISA server, just use now a preprocessor
  tool to convert into a W3C log file.
- Added estonian, serban and icelandic language files.
- Updated documentation.



***** 5.4 *****

Fixes:
- File name with space inside were not correctly reported when doing FTP log
  server analysis.
- Problem in %Wy tag for ten first weeks of year (coded on 1 char instead
  of 2: First week should be "00" instead of "0").
- Tooltips now works correctly with Netscape (>= 5.0).
- Better parsing of parameters (Solved bug 635962).
- Users did not appear in Authenticated users list if hits on pages were 0.
- Value of title "Top x" for domains chart was not always correct.
- Fixed bug 620040 that prevented to use "#" char in HTMLHeadSection.
- Whois link did not work for jp, au, uk and nz domains.
- WhoIs link did not work if host name contained a "-" char.
- Fixed a bug in mod_gzip stats when only ratio was given in log.

New features/improvements:
- Lang parameter accepts 'auto' value (Choose first available language
  accepted by browser).
- Little support for realmedia server.
- Added urlaliasbuilder.pl tool.
- Added URL in possible values for ExtraSection first column.
- New parameter: URLWithAnchor (set to 0 by default).
- Export tooltips features in a plugin (plugin tooltips disabled by default).
- Added average session length in Visit Duration report.
- Added percentage in Visit Duration report.
- logresolvemerge.pl can read .gz or .bz2 files.
- Added icons and Mime label for file types report.
- Added parameters AddDataArrayMonthDayStats, AddDataArrayShowDaysOfWeekStats,
  and AddDataArrayShowHoursStats.
- Added the Whois info in a centered popup window.
- Cosmetic change of browsers reports (group by family and add bar in
  browserdetail).
- Other minor cosmetic change (remove ShowHeader parameter).
- Authenticated user field in log file can contain space with LogFormat=1,
  and they are purged of " with Logformat=6 (Lotus Notes/Domino).
- The AWSTATS_CURRENT_CONFIG environment variable is now always defined
  into AWStats environment with value of config (Can be used inside config
  file like other environment variables).
- Added offset of last log line read and a signature of line into the
  history file after the LastLine date.
- Better error report in load of plugins.

Other/Documentation:
- AWSTATS_CONFIG environment variable renamed into AWSTATS_FORCE_CONFIG.
- Replaced -month=year option by -month=all.
- Added an error message if a -migrate is done on an history file with
  wrong file name.
- GeoIP memory cache code is now stored inside plugin code.
- Added list of loaded plugins in AWStats copyright string.
- Added European and Sao Tome And Principe country flag.
- Added Safari browser icon.
- Updated documentation.

Note 1:
  Old deprecated values for -lang option (-lang=0, -lang=1...) has been
  removed. Use -lang=code_language instead (-lang=en, -lang=fr, ...).

Note 2:
  Old deprecated -month=year option must be replaced by -month=all when
  used on command line.



***** 5.3 *****

Fixes:
- Fixed: Bad documentation for use of ExtraSection.
- Fixed: Bug in ValidSMTPCodes parameter.
- Fixed: Remove AWStats header on left frame if ShowHeader=0.
- Fixed: 29th february 2004 will be correctly handled.
- Fixed: Another try to fix the #include not working correctly.
- Fixed: Columns not aligned in unknownip view when not all fields are
  choosed.
- Fixed: Columns not aligned in allhosts and lasthosts view when not all
  fields are choosed.

New features/improvements:
- Added awstats_exportlib.pl tool.
- Added 'Full list' view for Domains/Country report.
- Added 'Full list' and 'Last visits' for email senders/receivers chart.
- Added a memory cache for GeoIP plugin resolution (geoip is faster).
- New parameter: Added AuthenticatedUsersNotCaseSensitive.
- Speed increased when ExtraSection is used.

Other/Documentation:
- Updates to AWStats robots, os, browsers, search_engines databases.
- Added awstats_logo3.png
- Added X11 as Unknown Unix OS, and Atari OS.
- Change way of reading -output= parameter to prepare build of several output
  with same running process.
- Updated documentation.



***** 5.2 *****

- Added urlalias plugin to replace URL values in URL reports by a text.
- Added geoip plugin to track countries from IP location instead of domain
  value.
- Support for postfix mail log.
- Added total and average row at bottom of day data array.
- Added dynamic filter in Host and Referer pages when used as CGI like
  in Url report.
- Removed "Bytes" text when values is 0.
- Reduced main page size.
- New parameter: Added OnlyHosts parameter.
- New parameter: Added ErrorMessages to use a personalized error message.
- New parameter: Added DebugMessages to not allow debug messages.
- New parameter: Added URLQuerySeparators parameter.
- New parameter: Added UseHTTPSLinkForUrl parameter.
- Report for robots accept codes like others charts ('HBL').
- Can use "char+" instead of "char" for LogSeparator.
- Records with bad http code for Microsoft Index Servers (on 1 digit instead
  of 3) are no more reported as corrupted records.
- Little support for IPv6.
- Static string changed from "string" to 'string'.
- Fixed: Fix a bug when using IIS and %query or cs-query-string tag in
  LogFormat and URLWithQuery=1.
- Fixed: #include now works correctly.
- Added Albanian, Bulgarian and Welsh language.
- Added Seychelles flag.



***** 5.1 *****

- Better support for ftp log files.
- Better support for mail log files.
- Can analyze streaming log files (Windows Media Server).
- Added choice of month and year in list boxes (when used as CGI).
- The data values for month and days are reported in main page under the
  graph, no need to change page.
- New feature: ShowxxxStats parameters accept codes to decide which columns to
  show in chart.
- New parameter: Added SkipUserAgents parameter to exclude some user agent
  from statistics.
- New parameter: Added URLNotCaseSensitive.
- New parameter: Added URLWithQueryWithoutFollowingParameters to exclude some
  parameters from URL when URLWithQuery is on.
- New parameter: Added URLReferrerWithquery.
- Added tag %Wm-n for LogFile parameter (replaced with the week number in month
  but differs from %WM-n because start with 0).
- Added tag %Wy-n for LogFile parameter (replaced with the week number in year
  but differs from %WY-n because start with 0).
- Added tag %Dw-n for LogFile parameter (replaced with the day number in week
  but differs from %DW-n because start with 0).
- Fixed: Log analyze is no more stopped if log file contains binary chars.
- Fixed: -debug option is allowed in migrate.
- Fixed: Wrong window was opened when clicking on flag link when
  UseFramesWhenCGI was on.
- Fixed: Fixed pb in refreshing page when clicking on "Update Now" link (no
  need to force the refresh).
- Fixed: a bug which makes the keywords report loaded twice when page viewed
  as a cgi after an update now click.
- Fixed: Pb with SAMBAR server ('Expires' line appears at the top of pages).
- Fixed: Now last update DNS cache file is saved with same permissions than
  history files so it depends on SaveDatabaseFilesWithPermissionsForEveryone.
- Fixed: Some sorting function were still using old 4.1 algorithm. Now all
  sorts use new 5.0 algorithm (so speed and memory use again increase above
  all for large web sites with a lot of referers).
- Fixed: Remove DecodeEncodedString on parameters sent by command line.
- Rewrite plugins to match the same standard for all of them (All use an init
  function + AWStats version check + no need of global vars in awstats.pl).
- Can use the #include "configfile" directive in config files.
- Added week-end color on week-end days in monthdayvalues report.
- Added 'spider' and 'crawler' as generic robots.
- Added awstats_updateall.pl tool.
- Remove common2combined.pl tool (useless).
- Updated graph colors.
- Updated documentation.
- Updated database.
- Updated language files.

Note 1:
  AWStats 5.x are compatible with previous versions (3.x or 4.x).
  However if you use awstats 5.x runtime to read statistics for old month
  build with 3.x or 4.x, speed will be a little bit reduce but data will be
  reported correctly.

  To benefit the speed/memory improvement of 5.x (2 to 8 times faster when
  reading stats, less memory use) you can migrate (after backup) your history
  files with the command :
    awstats.pl -migrate="/fullpath/awstatsMMYYYY.configval.txt"

Note 2:
  Old deprecated command line parameters -h and site= have been removed.
  Use config= instead.



***** 5.0 *****

- Complete rewrite of update process and code to read/save history files.
  AWStats 5.0 is compatible with previous versions (3.x or 4.x).
  However if you use awstats 5.0 runtime to read statistics for old month
  build with 3.x or 4.x, speed will be a little bit reduce but data will be
  reported correctly.

  To benefit the speed/memory improvement of 5.0 (2 to 8 times faster when
  reading stats, less memory use) you can migrate your history files with the
  command :
    awstats.pl -migrate="/fullpath/awstatsMMYYYY.configval.txt"

- Fixed: pb when using several tags with different offset in LogFile name.
- Fixed: Create of directory with CreateDataDirIfNotExists is made with 0766
  instead of 0666.
- New feature: Track detailed minor and major version for browsers.
- New feature: Added bandwidth report for robots and errors.
- New feature: Support DNS cache files for DNS lookup.
- New feature: Added Plugins support and several working plugins:
  A GMT correcter, A hash file DNS cache saver/reader...
- New feature: Use framed report (new UseFramesWhenCGI parameter).
- "Never updated" and "Exact value ..." are now in language files.
- Reduce number of global vars in code.
- New feature: DefaultFile parameter accepts several values.
- New feature: Added all robots and last robots full list report.
- New feature: Added all logins and last logins full list report.
- New feature: Added url entry and url exit full list report.
- New feature: Added AllowAccessFromWebToFollowingIPAddresses parameter
- New parameter: LogSeparator for log files with exotic separators.
- New parameter: EnableLockForUpdate to allow lock for update process.
- New parameter: DecodeUA to make AWStats work correctly with Roxen.
- New tag for logfile: %WY is replaced by week number in year.
- Added slovak, spanish (catalan) language files and updated a lot of language
  files.
- Made changes to allow FTP log analysis.
- Made changes to prepare sendmail log analysis.
- Updated belarus flag.
- Updated os, browsers, robots, search engines database.
- Added a map of history files at beginning of files to allow other tools
  to read AWStats history files or part of them very quickly.
- Other minor changes and bug fixes.



***** 4.1 *****

- Fixed: -logfile option can be anywhere on command line and accept space
   in log file names.
- Fixed: A bug vampired memory and caused abnormal disk swapping in 
   logresolvemerge.pl
- Fixed: Reduce nb of dropped records for log files not 'completely' sorted.
- New tag for logfile: %virtualname allows you to share same log file for
   several virtual servers.
- New feature: A 'pipe' can be used in LogFile name parameter.
- New feature: Added full list for refering search engines and refering pages.
- New feature: Report keywords AND keyphrases. No need to choose one or else.
- New feature: Report exit pages.
- New feature: Report visits duration.
- New option: Added -dir option to choose destination directory for
   awstats_buildstaticpages.pl
- New option: Added AWStats common options to awstats_buildstaticpages.pl
- Updated AWStats databases (renamed into .pm files and moved to lib dir).
- Updated documentation.



***** 4.0 *****

  WARNING: 4.0 is not compatible with OLD history data files. If you use 4.0
  to read statistics for old month, report for "visitors" will be wrong as all
  old unresolved ip processed with AWStats 3.2 will not be counted when
  viewed with 4.0.

- Increased speed and reduce memory use for very large web sites.
- Unresolved ip are now processed like resolved one.
- Added icons in browsers chart.
- Personalized log format can also have tab separator (not only space).
- New ways to manage security/privacy with updated docs and new parameters:
  AllowAccessFromWebToAuthenticatedUsersOnly
  AllowAccessFromWebToFollowingAuthenticatedUsers
- New feature: Added mark on "grabber browsers" in browsers chart.
- New feature: Added average files size in Pages/URL report chart.
- New feature: You can put dynamic environnement variables into config file.
- New feature: Keyphrases list can be viewed entirely (not only most used).
- New parameter: WrapperScript
- New parameter: CreateDirDataIfNotExists
- New parameter: ValidHTTPCodes
- New parameter: MaxRowsInHTMLOutput
- New parameter: ShowLinksToWhoIs
- New parameter: LinksToWhoIs
- New parameter: StyleSheet
- New option: -staticlinks to build static links in report page (to use
  AWStats with no web servers).
- New tool: common2combined.pl (A log format converter)
- New tool: awstats_buildstaticpages.pl
- Fixed: wrong size of bar in "average" report when average value was < 1.
- Fixed: pb of "Error: Not same number of records" when using some version
  of mod_perl.
- Fixed: pb in logresolvemerge.pl
- Fixed: Security against CSSA.
- No more need to use \. to say . in config file.
- Documentation seriously updated.


***** 3.2 *****

- Increased speed (19% faster than 3.1).
- Fixed: AWStats history file is no more corrupted by hits made from a search
  engines using a URL with URL encoded binary chars.
- Fixed: AWStats history file is no more corrupted when a reverse DNS lookup
  return a corrupted hostname (Happens with some DNS systems).
- Fixed: Security fix. No more possible to update stats from a browser using
  direct url (awstats.pl?update=1) when AllowToUpdateStatsFromBrowser is off.
- New feature: Added various tags to use dynamic log file name in conf file
  according to current but also older date/time (%YYYY-n,%YY-n,%MM-n,%DD-n...)
- New feature: Added NotPageList parameter to choose which file extensions to
  count as "hit only" (and not reported in the "Page-URL viewed" report).
- New feature: Added KeepBackupOfHistoricFiles option.
- New feature: Number of visits is also visible in days stats.
- New feature: Added stats for day of week.
- New feature: Added stats for file types.
- New feature: Added stats for entry pages.
- New feature: Added stats for web compression (mod_gzip).
- New feature: Added stats for authenticated users/logins.
- New feature: Added parameters to choose which report to see in main page.
- New feature: Added URLWithQuery option to differentiate
  http://mysite/sameurl?param=x of http://mysite/sameurl?param=y
- New feature: ShowFlagLinks can now accept list of all wanted flags for
  translation link.
- New feature: Support standard ISA server log format.
- New tool: Add logresolvemerge tool to merge split log files
  from a load balancing web server before running awstats.
- New parameter: HTMLHeadSection allows you to add HTML code in header report.
- New parameter: NbOfLinesForCorruptedLog.
- Fixed: no more warning/error messages when runned with option perl -w.
- Reference database (robots, os, browsers, search engines, domains)
  has been extracted in external files.
- Other minor updates (new flags, reference database updates, ...)
- Fixed: Parameter MaxNbOfHostsShown was not working correctly.
- New languages.
- Added an HTML documentation.



***** 3.1 *****

- Increased seriously speed for update process (above all for large web sites).
- Increased VERY seriously speed for viewing stats from a browser.
- Reduced amount of memory used.
- AWStats search config file in directories:
   current dir, then /etc/opt/awstats, then /etc/awstats, then /etc
- New feature: AWStats can analyze NCSA common log files.
- New feature: List of last access.
- New feature: Full list of url scores.
- New feature: Date format can be chosen according to local country.
- New parameter: DirLang allows to choose directory for language files.
- New parameter: Expires allows to add a meta-tag EXPIRES in HTML report page.
- New parameter: LogoLink parameter to choose link used for clicking on logo.
- New parameter: color_weekend option to show week-end days in different colors.
- New option: -update and -output to update and/or output a report.
- New option: -showsteps to follow advancement of update process.
- Fixed: OS detection now works correctly (Windows ME reported correctly).
- Fixed: Bad value were reported in daily chart when no pages were viewed.
- Added WAP browsers in AWStats database.
- New languages.



***** 3.0 *****

- New look
- Added daily report for pages, hits and bytes.
- AWStats can use its own conversion array to make some reverse DNS lookup.
- Added also SkipDNSLookupFor option.
- Added OnlyFiles option.
- AWStats works with personalized log file format (support also Webstar native log format). New log format parsing algorithm.
- Now update is not made by default when stats are read from a browser. Added an "update now" button on HTML report page if new option AllowToUpdateStatsFromBrowser is on.
- Tooltips now works also with Netscape 6, Opera and most browsers.
- Update browsers database to add a lot of "audio" browsers and more.
- Update OS database (Added Windows ME, OpenBSD).
- Robots database updated.
- Support new domains (biz, museum, coop, info, aero...).
- Added some missing flags icons.
- Rewrite UnescapeURL function to works with all encoded URLs, cyrillic URL.
- Some minor changes.
- Added translation for some "not translated" words.
- Bytes reported are auto-scaled (Bytes, KB, MB, GB).
- Fixed problem of colors (styles) not working with some browsers.
- Added new languages (Korean, Danish, ...). Now 14 different languages.
- Fixed bug of bad link in TOP pages links when viewed page is of another virtual host.
- 259 domains/countries, 60 browsers database, 26 OS, 258 robots, 47 search engines.



***** 2.24 *****

- Added a way to include dynamic current year, month, day and hour in LogFile parameter.
- Option to choose month, year and language is also available from command line.
- https request are correctly reported.
- Added initialization of parameters to avoid problem of bad cache with mod_perl.
- Fixed check of parameters to avoid 'Cross Site Scripting attacks'.
- Added flags for Mongolia, Maldives, San Marino, Senegal.
- New keyword detection algorithm (Now use a search engine url database like Webalizer AND old algorithm of AWStats for unknown search engines).
- Added option to report keywords used from search engine as separate words or as full search strings.
- Added Greek, Czech and Portuguese translation (now 9 different languages supported).
- A better and faster config file parsing. Solve the problem of "=" into the HTMLEndSection parameter.
- AWStats is no more sensitive to DOS-UNIX config files.
- Disable DNS lookup only if host has at least 1 alphabetical char.
- Better management of corrupted log files.
- Make difference between windows NT and windows 2000.
- Added OmniWeb and iCab browser. Better MacOS detection.
- Make AWStats still working even when MS IndexServer return a bad HTTP return code (like "1" instead of a "three digits" number).
- Fixed problem of missing year=yyyy in some links.
- Fixed a bug of empty page when domain has "info" in its name.
- A lot of minor changes.
- 252 domains/countries, 44 browsers database, 24 OS, 252 robots, 39 search engines.



***** 2.23 *****

- Use of configuration file.
- Now AWStats can process old log files (however, you must keep order).
- Month-to-month basis statistics works now correctly.
- Old years now can also be viewed from AWStats report page.
- Working directory (with write permissions) can be chosen (you can use another directory than cgi-bin).
- Added PurgeLogFile option (you can choose if AWStats purge log file or not).
- awstats.pl can be renamed into awstats.plx (for ActiveState perl) and still works.
- Statistic page generated from command line has no more bad links.
- Added a link to choose full year view.
- Domain and page reports are sorted on pages (no more on hits)
- Automatic disabling of reverse DNS lookup if this is already done in your log file.
- Can add your own HTML code at the end of awstats (ban advert for example).
- Added Italian, German, Polish language (now 7 different languages supported).
- 252 domains/countries, 40 browsers database, 22 OS, 252 robots, 35 search engines.
- Setup instructions are cleaner



***** 2.1 *****

- AWStats considers myserver and www.myserver as the same, even if "HostAliases" setup is wrong.
- Fixed a bug making unique visitors counter too high.
- Added ArchiveLog parameter to archive processed records into backup files.
- Make difference between unknown browsers and unknown OS.
- Robots stats are isolated from the rest of visitors.
- Better keywords detection algorithm.
- Added last time connection for each hosts
- Added list of URL for HTTP Error 404
- Added pages, hits and KB for each statistics
- Added colors and links
- Works also with IIS
- Code a little bit cleaner and faster.
- Images are in .png format.
- 4 languages: English, French, Dutch, Spanish
- 252 domains/countries, 40 browsers database, 22 OS, 250 robots, 32 search engines.



***** 1.0 *****

- First version, not distributed
