<NME> NEWS
<BEF> pgmemcache 2.0.5
================
* Some preliminary work on SASL support
* Flush client buffers to memcache servers on commit if the new GUC
  pgmemcache.flush_on_commit is enabled, otherwise some buffers may get
  lost when the PostgreSQL backend terminates before everything has been
  sent which is especially likely when the BUFFER_REQUESTS behavior is used
* Return NULL when a set-related function returns MEMCACHED_BUFFERED to
  indicate that we don't really know the result of the action, but it wasn't
  an error

pgmemcache 2.2.0 (2014-09-09)
=============================

* Support for MEMCACHED_BEHAVIOR_DEAD_TIMEOUT with libmemcached >= 1.0.3
* Changing default_servers now drops old servers from the list
* debian: new packaging to replace yada which is not available in
  Debian Wheezy anymore (Oskari Saarenmaa)
* Use pg_regress for make installcheck testing (Christoph Berg)
* Fix memory allocation (Mika Eloranta, Oskari Saarenmaa)

pgmemcache 2.1.2 (2013-11-12)
=============================

* memcache_get_multi crash fixes (Maxim Kuzevanov)
* RPM packaging support
* Fix versioning when building without git (reported by Patryk Kordylewski)
* Code refactoring with minor fixes and consistent indentation and style

pgmemcache 2.1.1 (2013-05-15)
=============================

* Fix errors and warnings exposed by GCC 4.8
* Make the memcache binary protocol the default
* Change memcache_incr and memcache_decr to use BIGINT arguments for the
  increment/decrement values (patch from Markus Holmberg / F-Secure)

pgmemcache 2.1.0 (2013-04-22)
=============================

* CREATE EXTENSION support
* PostgreSQL 9.2 support
* Fix crashers on NULL inputs
* Fix a random initialization failure on startup, this fixes errors such as:
    """WARNING:  invalid value for parameter "pgmemcache.default_servers":
                 "example.org"
       ERROR: NO SERVERS DEFINED"""
* Compatibility with newer libmemcached versions
* Updated Debian packaging scripts

pgmemcache 2.0.6 (2011-04-25)
=============================

* Fix building on earlier releases than 9.1 (reported by Florian Von Block)
* Add libsasl2-dev to build deps

pgmemcache 2.0.5 (2011-04-24)
=============================

* Some preliminary work on SASL support
* Make pgmemcache work with PG 9.1
* Support for building debs against PG 9.0 and 9.1
* Move to GIT.
* Fix erroneous memory allocation get_multi (thanks iglue)

pgmemcache 2.0.4
================

* Add support for building an HTML doc out of the README.pgmemcache
* Make pgmemcache work with libmemcached's 0.39 and 0.40 which again break
  API compatibility
* Remove memcache_stats(TEXT) (Note, memcache_stats() is still supported)

pgmemcache 2.0.3
================

* Add support for all libmemcached 0.38 behaviors (a few had been added
  since these were updated the last time)
* Add preliminary Debian packaging support, documentation was updated a bit
  to reflect this

pgmemcache 2.0.2
================

* Make pgmemcache work with libmemcached 0.38 memory allocators
* This bumps up pgmemcache's libmemcached requirement up to 0.38

pgmemcache 2.0.1
================

* Remove some deprecated documentation
* Fix bug "[#1010761] Crash with pgmemcache 2.0.0 and postgres 8.4", thanks
  to Marc Munro for pointing out the problem and a fix for it
* Make libmemcached use PostgreSQL memory allocation routines. (requires
  libmemcached 0.31+), based on a patch from Peter Meszaros with some
  editorialization by Hannu Valtonen
* Note this bumps up our libmemcached minimum requirement to 0.31

pgmemcache 2.0.0
================

Finally a 2.0.0 release.

* Fix default (unset) GUC crashes, based on a patch from Claes Jakobsson
* Add BYTEA memcache_get
* Add TEXT[], BYTEA[] memcache_get_multi for the reduction of server
  roundtrips

pgmemcache 2.0 RC 1
===================

It looks likely that this is the last release before stamping this as 2.0.

* Fix pgmemcache not to throw an error when trying to delete a non-existent
  key from memcache (based on a report from Chander Ganesan)

pgmemcache 2.0 beta2
====================

On the way towards a 2.0 release:

* Make pgmemcache work on top of older versions of PostgreSQL
  (at least 8.3, probably earlier)
* Make libmemcached behavior configurable through PostgreSQL GUCs
* prepend/append support

pgmemcache 2.0 beta1
====================

pgmemcache was completely rewritten to work on top of libmemcached.  It
requires PostgreSQL 8.4+ and is not backwards compatible with older versions
of PostgreSQL.  That may or may not change depending on how much are people
interested in having it work on older versions.

Also some API's were deprecated:
* memcache_server_find_hash
* memcache_flush (note, not flush all)
* memcache_server_list (use stats)
* memcache_server_remove
* memcache_hash

Also starting from 2.0 beta 1 the maintainership has moved to Hannu Valtonen.

pgmemcache 1.2 beta1
====================

This release has a lot of new code and backward-incompatible changes;
it might be more accurate to label it "2.0".

* Add the pgmemcache.default_servers GUC variable. This specifies a
  list of memcached servers ('host:port' pairs) that pgmemcache will
  connect to by default. To use this, add pgmemcache to
  preload_shared_libraries and custom_variable_classes, and then
  define pgmemcache.default_servers as desired, all in postgreql.conf

* Remove memcache_free() and memcache_init(). Instead, define
  _PG_init() and _PG_fini() functions, so that Postgres can invoke
  them to do the appropriate initialization/cleanup work when
  pgmemcache is loaded/unloaded from a process.

* Don't allocate any memory in TopMemoryContext directly. Instead,
  create a small, long-lived context as a child of TopMemoryContext
  and use that for the allocations we need to make.

* Add a new function, memcache_server_remove().

* Add a new SRF, memcache_server_list().

* Fix compile breakage against recent CVS HEAD.

* Change memcache_server_find(TEXT) and memcache_server_find(INT4)
  to use OUT parameters, rather than returning a 'host:port' pair as a
  single text value.

* Fix for crashes in memcache_incr(), memcache_decr(),
  memcache_hash(): these weren't prepared to handle NULL inputs.

* Fix crash bug in memcache_flush_all0(): this function tried to
  access a nonexistent function argument.

* Remove support for memcache_add(TEXT), memcache_set(TEXT), and
  memcache_replace(TEXT). These were pointless, and treated NULL as
  the empty string, which is wrong.

* Remove support for the "flags" concept from the API. This wasn't
  actually feature complete (there was no way to fetch a flags value),
  and was buggy anyway. I might readd this later.

* Removed deprecated function memcache_flush_all(TEXT);
  memcache_flush(TEXT) should be used instead.

* Various code cleanup, editorialization on error message formats,
  and refactorings.

pgmemcache 1.1
==============

* Add a TODO list.

* Fix a potential memory leak in memcache_server_add(): this function
  might have unwittingly allocated memory in TopMemoryContext.

* Make the "port" argument to memcache_server_add() optional. If not
  specified, it defaults to the libmemcache default (11211).

* Add a "dist" target to the Makefile.


pgmemcache 1.1 beta1
====================

* New maintainer: Neil Conway. Thanks to the sponsorship of The Open
  Technology Group.

* Change build system to use just a normal Makefile and the Postgres
  PGXS infrastructure, rather than pmk. This means pmk is no longer a
  build dependency.

* Various fixes to allow pgmemcache to be built against PostgreSQL
  8.2, including adding PG_MODULE_MAGIC. I've briefly tested this
  release against CVS HEAD, 8.2, and 8.1. Note that this release will
  NOT compile against PostgreSQL 8.0 or earlier; if this is important
  to people, this could be fixed pretty easily.

* Fix a logic error in memcache_set_cmd(): as a result, memcache_set()
  and memcache_replace() now work as intended, instead of being
  aliases for memcache_add().

* Fix a buffer overflow in memcache_gen_host(): this function
  neglected to allocate space for the varlena header.

* Fix a read of uninitialized memory in memcache_atomic_op(),
  memcache_delete() and memcache_set_cmd().

* Remove all the code that connected and disconnected from SPI. As far
  as I can see, pgmemcache has no need to use SPI at all: SPI is
  intended for issuing SQL queries, which pgmemcache has no need to
  do. Similarly, use palloc() rather than SPI_palloc().

* Fix various compiler warnings with gcc -Wall on AMD64, and
  presumably other platforms as well. Use the C99 "PRIu64" macro to
  get a portable printf(3) conversion specifier for 64-bit
  unsigned integers.

* Fix error message style for elog() message strings: error message
  should not begin with a capital letter.

* Optimize a few functions to use a stack-allocated StringInfoData,
  rather than a heap-allocated StringInfo.

* Fix typo in the implementation of memcache_stat(TEXT).

<MSG> Add 2.0.6 news.

<DFF> @@ -1,3 +1,8 @@
+pgmemcache 2.0.6
+================
+* Fix building on earlier releases than 9.1. (thanks for the bugreport from Florian Von Block)
+* Add libsasl2-dev to build deps
+
 pgmemcache 2.0.5
 ================
 * Some preliminary work on SASL support

{'addition_count': 5, 'commit_subject': 'Add 2.0.6 news.', 'deletion_count': 0, 'file_extension': '', 'lang': 'NEWS', 'license': 'mit', 'repo_name': 'ohmu/pgmemcache'}