= Release History

== 3.4: February 6, 2025

 - Set LC_ALL to ensure proper startup on Mac OS
 - Keep server up for any normal client connection
 - Add Gemfile with test dependencies
 - Fix Ubuntu by using $3 for from version string

== 3.3: November 17, 2023

 - Adapt tests to zsh
 - Use ${RUBY} instead of 'ruby' for test runner
 - Avoid using 'set +o posix' for compatibility with Alpine

== 3.2: April 13, 2022

 - flattenjs: exit 0 if the input is empty
 - Drop ddl_compare(1)

== 3.1: October 01, 2020

 - Minor revisions to README and Makefile
 - No longer set 'wal_keep_segments' for compatibility with 13

== 3.0: March 27, 2020

 - Add ddl_compare(1), a utility for creating schema diffs
 - Listen on '*' when the '-t' option is specified

== 2.9: November 21, 2019

 - More portable integration tests
 - Add contrib/flattenjs
 - Detect version based on pg_ctl(1), not psql(1)

== 2.8: September 25, 2019

 - Move hosting from bitbucket.org to github.com
 - Rename tag names from ephemeralpg-X.Y to X.Y

== 2.7: May 22, 2019

 - '-w 0' leaves the server running indefinitely
 - New '-k' flag prevents the temporary directory from being cleaned up
 - Only repeat the last 10 lines of the postgres log if createdb(1) fails
 - Set default check interval to 5 seconds for 'stop'

== 2.6: March 27, 2019

 - Only run getsocket(1) if a port was not specified
 - Reduce disk usage by running checkpoints after 64MB of WAL (default is 1GB)

== 2.5: March 01, 2018

 - Skip over pre-initialized database directories that are not owned by the
   current user
 - Guard against a variant race condition introduced in ephemeralpg-2.4


== 2.4: February 02, 2018

 - Ignore .psqlrc to prevent indeterminate behaviors
 - Guard against race condition if pg_tmp is executed concurrently

== 2.3: August 11, 2017

 - Allow irregular version strings such as "10beta3"
 - Use still-alive query compatible with 10 and 9.x

== 2.2: December 13, 2016

 - Include username in URL when '-t' is specified

== 2.1: October 31, 2016

 - Fix build for getsocket(1) on FreeBSD
 - Add instructions for building getsocket(1) on Solaris

== 2.0: March 29, 2016

 - Allow a temporary directory to be used in combination with the optional
   arguments 'initdb', 'start', and 'stop'
 - 'stop' only sleeps if '-w' was specified

== 1.9: March 09, 2016

 - Unbreak directory cleanup with PG 9.3
 - Turn off synchronous_commit by default
 - Unix sockets are specified using ?host= for compatibility with SQLAlchemy

== 1.8: January 05, 2016

 - Stop a running instance if query for open connections fails
 - Ignore SIGHUP instead of relying on nohup(1)
 - Properly support multiple extra-options to using the flag '-o'

== 1.7: December 12, 2015

 - Properly stop the server that is listening on a TCP port
 - More extensive test framework included: 'make test'

== 1.6: December 10, 2015

 - Exit non-zero if getopt(1) fails
 - Raise an error early if initdb(1) cannot be found
 - Run background initdb and timed stop even if postgres fails to start

== 1.5: December 01, 2015

 - Allow extra-options to be passed directly to postgres(1) on start using '-o'
 - Copy log to STDERR and exit non-zero if server startup fails

== 1.4: October 30, 2015

 - Only remove the temporary directory if postgresql.auto.conf exists
 - Database is started under /tmp/ephemeralpg.*/$PGVER/ instead of
   /tmp/ephemeralpg$PGVER.*/db/
 - More aggressively suppress warnings from nohup(1)

== 1.3: October 23, 2015

 - Display ephemeralpg release number along with usage help text
 - Unrecognized options display usage
 - Temporary directory is named with the major version number
 - Simplify socket URL
 - Drop log file location flag

== 1.2: January 24, 2015

 - Log statements and connect/disconnects.
 - Specify log file location with '-l' flag
 - Database is shutdown only after clients have disconnected. The timeout now
   specifies a check interval
 - Newline is not suppressed if run in a terminal
 - Bugfix in getsock(1) so that only ports above 1024 are returned

== 1.1: January 17, 2015

 - Timeout flag changed to '-w' to match netcat(1)
 - Use '-t' flag to bind to a TCP port using bundled getsocket(1) utility

== 1.0: January 07, 2015

 - Initial release at https://bitbucket.org/eradman/ephemeralpg
 - Cross-platform implementation in less then 100 lines of code

