Version 1.5.0  Nov 13 2025

Enhancements:
- Add a Dockerfile.
  Patch by Gonçalo Queirós.
- Improve the error messages for DNS resolution failure.
- Report PostgreSQL error messages on debug level 2.
- Add a "formula" for installing with Homebrew.
  Patch by Prince Roshan.

Bugfixes:
- Use the proper printf() format for uint64_t in more cases.
  Reported by David Nugent.
- Fix installation on Max OS X.
  Report by Jeff Doering.
- Fix a crash after the replay of DEALLOCATE ALL.
  Reported by Wan Shen Lim.
- Fix the output format of session IDs.

Version 1.4.0  May 16 2018

Enhancements:
- Add a replay option "-n" that provides a "dry run" without actually
  connecting to the database.
  Patch by Manuel Vives.

Bugfixes:
- Fix Makefile to call "install" portably.
  It used to call "$(INSTALL) -D", which works on some, but not all systems
  (MAC OS X is an example where it doesn't work).
  Report by Jeff Doering.
- Fix crash after replay of DEALLOCATE ALL.
  This caused a crash the next time prepared statements were deleted, for
  example at the end of the database session.
  Reported by Wan Shen Lim.

Version 1.3.0  Feb 20 2017

Enhancements:
- Accept CPPFLAGS from configure in Makefile.in.
  Patch by Marko Kreen.
- Add command line option -X to specify extra connect string fragment.
  Needed to specify unusual connect string options.
  Patch by Marko Kreen.
- Introduce replay filter options with "-D database" and "-U username"
  to filter for a database or user during parsing.
  Patch by Gilles Darold.

Version 1.2.0  Aug 17 2012

Enhancements:
- Introduce replay option "-j" to jump ahead when all connections are idle.
  This can speed up replay.  The statistics will not include the skipped time,
  but delay warnings will work as expected.
  Idea and original patch by John Lumby.

Bugfixes:
- Fix failure to parse string constants like E'\\' where the backslash before
  a quotation mark is backslash-quoted.
  Bug discovered by Jeff Frost.

Version 1.1.0  Feb 09 2012

Enhancements:
- Respect environment variable DESTDIR in Makefile for RPM packagers.
- Improve execution delay reporting by introducing more intelligent time
  steps when a report is written; every 10 seconds is way too spammy.
- Add documentation for interaction with pgFouine to the README.

Bugfixes:
- Fix incorrect assumption that everything that starts with a dollar
  sign is a dollar quoted string.  This used to trigger bogus "end of dollar
  quote not found" error messages when $n placeholders are used in PREPARE
  statements.  Discovered and fixed by Todd Owen.
- When pgreplay waited for a response on a connection because it needed to
  send the next command, it used to sleep for one millisecond before
  polling the socket again.  This proved to be too long on busy systems,
  where replay started to lag behind.  Now pgreplay will not sleep,
  but keep polling until the response is there.

Version 1.0.0  Jun 03 2011

Bugfixes:
- Fix a connection and memory leak introduced by the new handling of FATAL
  connection errors in 0.9.1.
  Discovered by Denis Kostin.

Version 0.9.1  Feb 26 2011

Enhancements:
- Calculate parse and execution statistics and display them at the end
  of the run.

Bugfixes:
- Use "=" instead of "==" in "test" comparisons in configure.
  This improves portability.
- Change replay file timestamp to seconds after midnight of 2000-01-01
  in local time.  This makes the replay file format independent of time zones 
  and avoids problems with mktime(3) implementations that don't like
  the UNIX epoch.
- Ignore string literals in filter_bad_statements during log file parsing.
  This keeps the function from getting confused by the contents of the
  string.  Discovered by Josh Berkus.
- Correctly handle prepared statements without parameters.
  Discovered by Grigorij Lipin.
- Fix a corner case bug in read_log_line that can cause data corruption
  when parsing a stderr log.  Discovered by Grigorij Lipin.
- Skip memory dumps in stderr log caused by "out of memory" errors
  instead of gagging on them.  Discovered by Grigorij Lipin.
- Don't gag if a connection attempt results in a FATAL error during replay.
  This can for example happen if max_connections has been exceeded or if a
  non-existant user is specified with "trust" authentication.
  Discovered by Grigorij Lipin.

Version 0.9.0  Mar 19 2010

- first release
