2012-11-13 - Version 2.2

This release add some major features like tsung output, speed improvement with
csvlog, report of shut down events, new command line options to generate report
excluding some user(s), to build report based on select queries only, to specify
regex of the queries that must only be included in the report and to remove
comments from queries. Lot of bug fixes, please upgrade.

	- Update PostgreSQL keywords list for 9.2
	- Fix number of queries in progress bar with tsung output.
	- Remove obsolete syslog-ng and temporary syslog-ll log format added to
	  fix some syslog autodetection issues. There is now just one syslog
	  format: syslog, differences between syslog formats are detected and
	  the log parser is adaptive.
	- Add comment about the check_incremental_position() method
	- Fix reports with empty graphs when log files were not in chronological
	  order.
	- Add report of current total of queries and events parsed in progress
	  bar. Thanks to Jehan-Guillaume de Rorthais for the patch.
	- Force pgBadger to use an require the XS version of Text::CSV instead
	  of the Pure Perl implementation. It is a good bit faster thanks to
	  David Fetter for the patch. Note that using csvlog is still a bit
	  slower than syslog or stderr log format.
	- Fix several issue with tsung output.
	- Add report of shut down events
	- Add debug information on command line used to pipe compressed log
	  file when -v is provide.
	- Add -U | --exclude-user command line option to generate report
	  excluded user. Thanks to Birta Levente for the feature request.
	- Allow some options to be specified multiple time or be written as a
	  coma separated list of value, here are these options: --dbname,
	  --dbuser, --dbclient, --dbappname, --exclude_user.
	- Add -S | --select-only option to build report only on select queries.
	- Add first support to tsung output, see usage. Thanks to Guillaume
	  Lelarge for the feature request.
	- Add --include-query and --include-file to specify regex of the queries
	  that must only be included in the report. Thanks to Marc Cousin for
	  the feature request.
	- Fix auto detection of log_duration and log_min_duration_statement
	  format.
	- Fix parser issue with Windows logs without timezone information.
	  Thanks to Nicolas Thauvin for the report.
	- Fix bug in %r = remote host and port log line prefix detection.
	  Thanks to Hubert Depesz Lubaczewski for the report.
	- Add -C | --nocomment option to remove comment like /* ... */ from
	  queries. Thanks to Hubert Depesz Lubaczewski for the feature request.
	- Fix escaping of log_line_prefix. Thanks to Hubert Depesz Lubaczewski
	  for the patch.
	- Fix wrong detection of update queries when a query has a object names
	  containing update and set. Thanks to Vincent Laborie for the report.

2012-10-10 - Version 2.1

This release add a major feature by allowing any custom log_line_prefix to be
used by pgBadger. With stderr output you at least need to log the timestamp (%t)
the pid (%p) and the session/line number (%l). Support to log_duration instead
of log_min_duration_statement to allow reports simply based on duration and
count report without query detail and report. Lot of bug fixes, please upgrade
asap.

	- Add new --enable-log_min_duration option to force pgbadger to use lines
	  generated by the log_min_duration_statement even if the log_duration
	  format is autodetected. Useful if you use both but do not log all queries.
	  Thanks to Vincent Laborie for the feature request.
	- Add syslog-ng format to better handle syslog traces with notation like:
	  [ID * local2.info]. It is autodetected but can be forced in the -f option
	  with value set to: syslog-ng.
	- Add --enable-log_duration command line option to force pgbadger to only
	  use the log_duration trace even if log_min_duration_statement traces are
	  autodetected.
	- Fix display of empty hourly graph when no data were found.
	- Remove query type report when log_duration is enabled.
	- Fix a major bug in query with bind parameter. Thanks to Marc Cousin for
	  the report.
	- Fix detection of compressed log files and allow automatic detection
	  and uncompress of .gz, .bz2 and .zip files.
	- Add gunzip -l command to find the real size of a gzip compressed file.
	- Fix log_duration only reports to not take care about query detail but
	  just count and duration.
	- Fix issue with compressed csvlog. Thanks to Philip Freeman for the
	  report.
	- Allow usage of log_duration instead of log_min_duration_statement to
	  just collect statistics about the number of queries and their time.
	  Thanks to Vincent Laborie for the feature request.
	- Fix issue on syslog format and autodetect with additional info like:
	  [ID * local2.info]. Thanks to kapsalar for the report.
	- Removed unrecognized log line generated by deadlock_timeout.
	- Add missing information about unsupported csv log input from stdin.
	  It must be read from a file. Thank to Philip Freeman for the report.
	- Fix issue #28: Illegal division by zero with log file without query
	  and txt output. Thanks to rlowe for the report.
	- Update documentation about the -N | --appname option.
	- Rename --name option into --appname. Thanks to Guillaume Lellarge for
	  the patch.
	- Fix min/max value in xasis that was always represented 2 days by
	  default. Thanks to Casey Allen Shobe for the report.
	- Fix major bug when running pgbadger with the -e option. Thanks to
	  Casey Allen Shobe for the report and the great help
	- Change project url to http://dalibo.github.com/pgbadger/. Thanks to
	  Damien Clochard for this new hosting.
	- Fix lot of issues in CSV parser and force locale to be C. Thanks to
	  Casey Allen Shobe for the reports.
	- Improve speed with custom log_line_prefix.
	- Merge pull request #26 from elementalvoid/helpdoc-fix
	- Fixed help text for --exclude-file. Old help text indicated that the
	  option name was --exclude_file which was incorrect.
	- Remove the obsolete --regex-user and --regex-db options that was used
	  to specify a search pattern in the log_line_prefix to find the user
	  and db name. This is replaced by the --prefix option.
	- Replace Time column report header by Hour.
	- Fix another issue in log_line_prefix parser with stderr format
	- Add a more complex example using log_line_prefix
	- Fix log_line_prefix issue when using timepstamp with millisecond.
	- Add support to use any custom log_line_prefix with new option -p or
	  --prefix. See README for an example.
	- Fix false autodetection of CSV format when log_statement is enable or
	  in possible other cases. This was resulting in error: "FATAL: cannot
	  use CSV". Thanks to Thomas Reiss for the report.
	- Fix display of empty graph of connections per seconds
	- Allow character : in log line prefix, it will no more break the log
	  parsing. Thanks to John Rouillard for the report.
	- Add report of configuration parameter changes into the errors report
	  and change errors report by events report to handle important messages
	  that are not errors.
	- Allow pgbadger to recognize " autovacuum launcher" messages.

2012-08-21 - version 2.0

This major version adds some changes not backward compatible with previous
versions. Options -p and -g are not more used as progress bar and graphs
generation are enabled by default now.

The obsolete -l option use to specify the log file to parse has been reused to
specify an incremental file. Outside these changes and some bug fix there's
also new features:

    * Using an incremental file with -l option allow to parse multiple time a
      single log file and to "seek" at the last line parsed during the previous
      run. Useful if you have a log rotation not sync with your pgbadger run.
      For exemple you can run somthing like this:

	pgbadger `find /var/log/postgresql/ -name "postgresql*" -mtime -7 -type f` \
	    -o report_`date +%F`.html -l /var/run/pgbadger/last_run.log

    * All queries diplayed in the HTML report are now clickable to display or
      hide a nice SQL query format. This is called SQL format beautifier.

    * CSV log parser have been entirely rewritten to handle csv with multiline.

Every one should upgrade.

	- Change license from BSD like to PostgreSQL license. Request from
	  Robert Treat.
	- Fix wrong pointer on Connections per host menu. Reported by Jean-Paul
	  Argudo.
	- Small fix for sql formatting adding scrollbars. Patch by Julien
	  Rouhaud.
	- Add SQL format beautifier on SQL queries. When you will click on a
	  query it will be beautified. Patch by Gilles Darold
	- The progress bar is now enabled by default, the -p option has been
	  removed.  Use -q | --quiet to disable it. Patch by Gilles Darold.
	- Graphs are now generated by default for HTML output, option -g as
	  been remove and option -G added to allow disabling graph generation.
	  Request from Julien Rouhaud, patch by Gilles Darold.
	- Remove option -g and -p to the documentation. Patch by Gilles Darold.
	- Fix case sensitivity in command line options. Patch by Julien Rouhaud.
	- Add -T|--title option to change report title. Patch by Yury Bushmelev.
	- Add new option --exclude-file to exclude specific commands with regex
	  stated in a file. This is a rewrite by Gilles Darold of the neoeahit
	  (Vipul) patch.
	- CSV log parser have been entirely rewritten to handle csv with multi
	  line, it also adds approximative duration for csvlog. Reported by
	  Ludhimila Kendrick, patch by Gilles Darold.
	- Alphabetical reordering of options list in method usage() and
	  documentation. Patch by Gilles Darold.
	- Remove obsolete -l | --logfile command line option, the -l option
	  will be reused to specify an incremental file. Patch by Gilles Darold.
	- Add -l | --last-parsed options to allow incremental run of pgbadger.
	  Patch by Gilles Darold.
	- Replace call to timelocal_nocheck by timegm_nocheck, to convert date
	  time into second from the epoch. This should fix timezone issue.
	  Patch by Gilles Darold.
	- Change regex on log parser to allow missing ending space in
	  log_line_prefix. This seems a common mistake. Patch by Gilles Darold.
	- print warning when an empty log file is found. Patch by Gilles Darold.
	- Add perltidy rc file to format pgbadger Perl code. Patch from depesz.

2012-07-15 - version 1.2

This version adds some reports and fixes a major issue in log parser. Every one 
should upgrade.

	- Rewrite this changelog to be human readable.
	- Add -v | --verbose to enable debug mode. It is now disable by default
	- Add hourly report of checkpoint warning when checkpoints are occuring
	  too frequently, it will display the hourly count and the average
	  occuring time.
	- Add new report that sums the messages by log types. The report shows
	  the number of messages of each log type, and a percentage. It also
	  displays a pie graph. Patch by Guillaume Lelarge.
	- Add missing pie graph on locks by type report.
	- Format pie mouse track to display values only.
	- Fix graph download button id on new connection graph.
	- Add trackFormatter to flotr2 line graphs to show current x/y values.
	- Fix issue on per minute minimum value.
	- Add a note about Windows Os and zcat as well as a more general note
	  about using compressed log file in other format than gzip.
	- Complete rewrite of the log parser to handle unordered log lines.
	  Data are now stored by pid before and added to the global statistics
	  at end. Error report now include full details, statements, contexts
	  and hints when available. Deadlock are also fully reported with the
	  concerned queries.
	- Fix miss handling of multi lines queries on syslog.
	- Add -a|--average option to configure the per minutes average interval
	  for queries and connexions. If you want the average to be calculated
	  each minutes instead of the 5 per default, use --average 1 or for the
	  default --average 5. If you want average per hour set it to 60.
	- Add hourly statistics of connections and sessions as well as a chart
	  about the number of connection per second (5 minutes average).
	- Allow OTHERS type of queries lower than 2% to be include in the sum of
	  types < 2%.
	- Add autodetection of syslog ident name if different than the default
	  "postgres" and that there is just one ident name in the log.
	- Remove syslog replacement of tabulation by #011 still visible when
	  there was multiple tabulation.
	- Fix autodetection of log format syslog with single-digit day number
	  in date.
	- Add ChangeLog to MANIFEST and change URI in html footer.
	- Check pgBadger compatibility with Windows Oses. Run perfectly.


2012-07-04 - version 1.1

This release fixes lot of issues and adds several main features.

    New feature:

	- Add possibility to get log from stdin
	- Change syslog parsing regex to allow log timestamp in log_line_prefix
	  very often forgotten when log destination is changed from stderr to
	  syslog.
	- Add documentation for the -z | --zcat command line option.
	- Allow `zcat` location to be specified via `--zcat` - David E. Wheeler
	- Add --disable-session,--disable-connection and disable-checkpoint
	  command line options to remove their respective reports from the
	  output	
	- Add --disable-query command line option to remove queries statistics
	  from the output
	- Add --disable-hourly command line option to remove hourly statistics
	  from the output
	- Add --disable-error command line option to remove error report from
	  the output
	- Add --exclude-query option to exclude types of queries by specifying
	  a regex
	- Set thousand separator and decimal separator to be locale dependant
	- Add -w option to only report errors
	- Add Makefile.PL and full POD documentation to the project
	- Allow multiple log files from command line
	- Add simple csvlog support - Alex Hunsaker
	- Hourly report for temporary files and checkpoints have moved in a
	  separate table.
	- Add hourly connections and sessions statistics.
	- Add a chart about the number of connections per seconds.

    Bug fix:

	- Add information about log format requirement (lc_message = 'C').
	  Reported by Alain Benard.
	- Fix for begin/end dates with single digit day using syslog. Patch by
	  Joseph Marlin.
	- Fix handle of syslog dates with single-digit day number. Patch by
	  Denis Orlikhin.
	- Fix many English syntax in error messages and documentation. Patch by
	  Joseph Marlin.
	- Fix non terminated TH html tag in checkpoint hourly table. Reported
	  by Joseph Marlin.
	- "Log file" section will now only report first and last log file parsed
	- Fix empty output in hourly temporary file stats.
	- Fix wrapping query that goes out of the table and makes the window
	  scroll horizontally. Asked by Isaac Reuben.
	- Fix code where != was replaced by $$CLASSSY0A$$!=$$CLASSSY0B$$ in the
	  output. Reported by Isaac Reuben
	- Fix and review text report output.
	- Fix an issue in SQL code highligh replacement.
	- Complete review of the HTML output. 
	- Add .gitignore for swap files. Patch by Vincent Picavet
	- Fix wrong variable for user and database filter. Patch by Vincent
	  Picavet.
	- Change default regexp for user and db to be able to detect both. Patch
	  by Vincent Picavet.
	- Fix false cur_date when using syslog and allow -b and -e options to
	  work. Patch by Vincent Picavet.
	- Fix some case where logs where not detected as PostgreSQL log lines.
	- Added explanation for --begin and --end datetime setting. Patch by
	  ragged.
	- Added -v / --version. Patch by ragged.
	- Fix usage information and presentation in README file.

2012-05-04 - version to 1.0

  First public release of pgBadger.

    New feature:

	- Add graph of ckeckpoint Wal files usage (added, removed, recycled).
	- Add --image-format to allow the change of the default png image
	  format to jpeg.
	- Allow download of all pie graphics as images.
 	- Add --pie-limit to sum all data lower than this percentage limit to
	  avoid label overlap.
 	- Allow download of graphics as PNG images.
	- Replace GD::Graph by the Flotr2 javascript library to draw graphics.
	  Patch by Guillaume Lelarge
	- Add pie graphs for session, database, user and host. Add a --quiet
	  option to remove debug output and --progress to show a progress bar
	  during log parsing
	- Add pie graph for Queries by type.
	- Add graph for checkpoint write buffer per hours
	- Allow log parsing without any log_line_prefix and extend it to be
	  defined by the user. Custom log_line prefix can be parsed using user
	  defined regex with command line option --regex-db and --regex-user.
	  For exemple the default regex of pgbadger to parse user and db name
	  from log_line_prefix can be written like this:
		pgbadger -l mylogfile.log  --regex-user="user=([^,]*)," \
			--regex-db="db=([^,]*)"
	- Separe log_line_prefix from log level part in the parser to extend
	  log_line_prefix parsing
	- If there is just one argument, assume it is the logfile and use
	  default value for all other parameters
	- Add autodetection of log format (syslog or stderr) if none is given
	  with option -f
	- Add --outfile option to dump output to a file instead of stdout.
	  Default filename is out.html or out.txt following the output format.
	  To dump to stdout set filename to -
	- Add --version command line option to show current pgbadger version.

    Bug fix:

	- Rearrange x and y axis
	- Fix legend opacity on graphics
	- Rearrange Overall stats view
	- Add more "normalization" on errors messages
	- Fix samples error with normalyzed error instead of real error message
	- Fix an other average size of temporary file decimal limit
	- Force quiet mode when --progress is used
	- Fix per sessions graphs
	- Fix sort order of days/hours into hours array
	- Fix sort order of days into graphics
	- Remove display of locks, sessions and connections statistics when none
	  are available
	- Fix display of empty column of checkpoint when no checkpoint was found
	  in log file

