Change & Version Information

The following is a summary of changes and improvements to pyexistdb. New features in each version should be listed, with any necessary information about installation or upgrade notes.

1.0.0

Took eulexistdb and made it compatible with Python 3. This is the first version that’s called pyexistdb.

0.21.1

  • Clean up reference to old overwrite parameter no longer used in db.load method; explicitly test load method #12
  • Code cleanup based on landscape.io scan.

0.21

  • Removed unused kwargs from db.ExistDB init method #1
  • db.ExistDB create_group and create_account methods now re-raise unexpected errors #2
  • Improved timeout handling; fixes timeouts on REST API requests #3
  • bugfix: make Django settings actually optional
  • Require eulxml 1.1.2 to handle duplicate xml:id attributes included in a single exist result. (Duplicate id test case contributed by @lddubeau in PR #5 )
  • Add opt-in patch for extended type handling in xmlrpc. Contributed by @lddubeau in PR #6, resolves #4
  • Removed overwrite option from eulexistdb.ExistDB.load (no longer applicable under the REST API, and misleading) #9
  • Improved django-debug-toolbar integration. #7, #8
  • Updated Existdb.DB initialization parameters to restore support for xmlrpc-style urls with username and password used in previous versions of eulexistdb. #10
  • Bugfix: xquery xpath prep now handles nested function calls
  • Updated unit tests so they can be run with and without django, in order to test that eulexistdb works properly without django.
  • Configured unit tests on travis-ci to test with and without django.

0.20

  • NOTE: Existdb.DB initialization parameters has changed; server url is no longer expected to include full xmlrpc path.
  • Updated and tested for compatibility with eXist-db 2.2
  • Improved eulexistdb.query.QuerySet efficiency when retrieving results (now retrieves chunked results using eXist REST API, making fewer requests to the server)
  • Simple xml-based query syntax now supported via eulexistdb.query.XmlQuery
  • Updated for compatibility with current versions of Django
  • Now uses requests <http://docs.python-requests.org/> for REST API access and as XML-RPC transport for improved handling and connection pooling.
  • New custom django-debug-toolbar panel to view existdb xqueries used to generate a django page.

0.19.2

  • Unittest2 and Django test runner are now optional when using testutils.

0.19.1

  • Basic support for preceding/following/preceding-sibling/following-sibling queries when returning additional fields from a query via XmlModel.
  • Bugfix: support xml returns for xpaths ending with node() or *

0.19

  • New method for sorting a eulexistdb.query.QuerySet by a raw XPath, for those cases when the desired sort xpath cannot be specified as an xmlmap field: eulexistdb.query.QuerySet.order_by_raw()
  • The Django manage.py script for managing eXist-DB index configuration files now takes optional username and password credentials, for use with sites that run in guest mode or with limited access.
  • bugfix: QuerySet greater than and less than filters no longer assume numeric values should be treated as numbers, to allow comparison of string values of numbers.
  • bugfix: Xquery now correctly generates xqueries with more than one where statement.

0.18

  • New filters and operators supported on eulexistdb.query.QuerySet: * exists - filter on the presence of absence of a node * comparison operators gt, gte, lt, lte
  • Support for excluding documents using all existing filters with new method eulexistdb.query.QuerySet.exclude().

0.17

  • Support for restricting xqueries to a single document in eulexistdb.query.QuerySet with document_path filter.

0.16

  • Development requirements can now be installed as an optional requirement of the eulexistdb package (pip install "eulexistdb[dev]").
  • Unit tests have been updated to use nose
  • Provides a nose plugin to set up and tear down an eXist database collection for tests, as an alternative to the custom test runners.

0.15.2

  • Update to latest released version of eulxml (0.18.0) with backwards-incompatible DateField/DateTimeField change.

0.15.1 - Bugfix Release

  • Support Python 2.7.
  • Rearrange test code to support easier recombination.

0.15.0 - Initial Release

  • Split out existdb-specific components from eulcore; now depends on eulxml.