Change Log
~~~~~~~~~~
All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <http://keepachangelog.com/>`_.

====================
 5.1.0 - 2019-08-30
====================

Added
-------

* Added PutRequest.set_exact_match() to allow the user to control whether an
  exact schema match is required on a put. The default behavior is false.
* Support for complex, multi-shard queries:

  * Sorted/ordered multi-shard queries.
  * Multi-shard aggregation.
  * Geo-spatial queries such as geo_near().

* Support for Identity Columns:

  * Added PutRequest.get/set_identity_cache_size() to allow a user to control
    the number of cached values are used for identity columns. The default value
    is set when the identity column is defined.
  * Added PutResult.get_generated_value() which will return a non-none value if
    an identity column value was generated by the operation. This is only
    relevant for tables with an identity column defined.

* Added a new, simpler TableResult.wait_for_completion() method to wait for the
  completion of a TableRequest vs waiting for a specific state.

* Added NoSQLHandle.do_table_request() to encapsulate a TableRequest and waiting
  for its completion in a single, synchronous call.
* Added OperationNotSupportedException to handle operations that are specific to
  on-premise and cloud service environments.

* Support for both the Oracle NoSQL Database Cloud Service and the on-premise
  Oracle NoSQL Database product.

  * Added StoreAccessTokenProvider for authentication of access to an on-premise
    store
  * Added AuthenticationException to encapsulate authentication problems when
    accessing an on-premise store.
  * Added SystemRequest, SystemStatusRequest, and SystemResult for
    administrative operations that are not table-specific.
  * Added methods on NoSQLHandle for *system* requests, which are those that do
    not involve specific tables:

      * system_request(), system_status(), list_namespaces(), list_users(),
        list_roles()

  * Added NoSQLHandle.do_system_request to encapsulate a SystemRequest and
    waiting for its completion in a single, synchronous call.
  * Now that the driver can access both the cloud service and an on-premise
    store some operations, classes and exceptions are specific to each
    environment. These are  noted in updated API documentation.


Changed
_______

* Parameters to TableResult.wait_for_state() changed. It is no longer static and
  acts on *self*, modifying state as required.

Removed
_______

* TableResult.wait_for_state_res() has been removed. Used wait_for_state().

====================
 5.0.0 - 2019-03-31
====================


Added
-------

* Initial Release
* Support for Oracle NoSQL Database Cloud Service
