* Major changes in release 0.1.6:

** New features

   New autoupdate() method added to row_base.  This will insert the
   row if it is not yet inserted, or update if it has been inserted.

   Added a field_proxy class to proxy any field class.  It will allow
   restricted access to a field, for example read-only access.

** Changes

   transaction allows std::ostringstream and query objects to be used
   in addition to std::string as arguments for all query methods.

   The library has been renamed from libpqxx-object to pqxx-object.

* Major changes in release 0.1.5:

** New features

  Added insert_query and update_query classes.  These may be used to
  easily generate queries from field objects without any need to mess
  about with quoting and stringstreams.  The tutorial provides
  examples of the usage of both.

  The field<> class has a companion ptr_field<> class.  Both have the
  same interface, but ptr_field<> can store NULL values, whereas
  field<> cannot.  ptr_field<> has the same functionality of the old
  field<> class

** Changes

  A shared library is no longer built by default.

* Major changes in release 0.1.4:

** New features

  Added object checkpointing and rollback support to row objects.  The
  state of a row object is saved prior to and database operations on
  the object.  If the transaction is aborted due to error, the object
  will be restored to its state prior to beginning the transaction.
  If the transaction is successful then the checkpoint data is
  silently discarded.  This support is intended to be akin to the
  rollback of the database state on a transaction abort, so that
  objects in memory will always reflect their state in the database
  within practical limits.

  Added a static create() method to row<>.  A convert_impl() method
  needs to be provided by the deriving class.

** Changes

  column<> has been renamed to field<>, to better reflect its
  functionality.  It may now also contain NULL values.  Various const
  access methods have been provided to allow access to the contained
  object.

* Major changes in release 0.1.3:

** Changes

  The "autocommit" nature of transaction has been replaced by
  recursion depth tracking.  This is far more flexible, but requires
  care when using to prevent miscounting of the recursion depth.

  table uses the row static create() method for row creation, and the
  new transaction recursion semantics.

  row_base replaces rowconvert with its own insert(), update(),
  erase() and refresh() methods and _impl() versions of all of them,
  intended to be overridden in derived classes.  Row state handling
  and signal emission is done in the former methods.

* Major changes in release 0.1.2:

** New features

  A column<> template class which represents row columns.  This emits
  signals on column changes.

** Changes

  rowconvert<> is now an interface class derived from by row<>.

  transaction emits "commit" and "abort" signals.
  transaction::exec() returns a pqxx::result; previously a
  pqxx::result* was returned.

  constructors and methods now take a transaction& rather than a
  pqxx::connection& and a pqxx::transaction<>*& as previously.

* Major changes in release 0.1.1:

** New features

  The API has been updated to use libpqxx 2.1.x

  A row template class and row_base class have been added as base
  classes for all row classes.  These add signal emission and handling
  to row objects.

* Major changes in release 0.1.0:

** New features

  This is is the first release of libpqxx-object.


Local Variables:
mode: outline
End:
