CHANGES
=======

21.0.0
------

* Add X-OpenStack-Request-Id header
* Fix missing oslo.middleware
* Use native interface of oslo.config to document choices
* Rename README file according to actual file name
* Drop deprecated drivers:storage sections
* Validate ssl\_cert\_reqs option
* Clean up deprecated transport options
* Fix inconsistent type of default values
* Fix wrong type of [drivers:message\_store:swift] insecure
* Enable E224/5/6 check
* Enable E241 check
* Reject enabling v1 API
* mongodb: Ignore suffix in server version
* redis: Enforce proper format for username-less auth
* Imported Translations from Zanata
* Remove supporto for V1.1 APIs from Zaqar 2
* Fix mongodb repository for Debian 12
* Drop unused os-client-config
* Replace deprecated assertItemsEqual
* Fix a typo in release note
* Remove Python 3.9 support
* Remove v1 api test base
* Avoid mkdir error caused by the existing directory
* api: Resolve deprecation warnings
* tests: Set host for unit tests
* docs: Increase ulimit for Docker container
* add pyproject.toml to support pip 23.1
* Remove installation guide for openSUSE/SLES
* Drop redundant injection of VIRTUAL\_ENV
* Remove dox.yaml
* tox: Bump minimum to v4
* doc: Update contributor guide for running tests
* devstack: Be tolerant of existing /etc/apt/sources.list.d dir
* Skip integration tests for irrelevant files
* Remove job with Ubuntu Jammy
* Update master for stable/2025.1

20.0.0
------

* Remove MongoDB from bindep
* Remove unused iso8601
* Install mongodb 7.0 for Focal
* doc: Fix OSprofiler docs
* Remove unused Babel
* Replace pytz
* Remove api vi support 2
* Remove Api V1 Support-3
* [signed\_url] secret\_key should be secret
* Skip grenade job for doc/test update
* doc: Use dnf instead of yum
* Remove remaining reference to ZeroMQ
* Use module path to load wsgi application
* devstack: Fix missing cleanup support
* Use common helper to generate uwsgi setting
* Drop rally job
* grenade: Fix missing zaqar-sql-db-manage
* Update gate jobs as per the 2025.1 cycle testing runtime
* Fix TypeError found in Python 3.12
* Replace deprecated configure\_auth\_token\_middleware
* reno: Update master for unmaintained/2023.1
* Remove default override for config options policy\_file
* Imported Translations from Zanata
* Drop unicode prefix
* Fix compatibility with falcon >= 4.0
* Drop unnecessary version check of falcon library
* Fix redundant format of enable\_deprecated\_api\_versions
* Add note about requirements lower bounds
* Use escape\_ipv6 from oslo.utils
* Remove Python 3.8 support
* Imported Translations from Zanata
* Use oslo.utils implementation to parse server format
* Replace deprecated datetime.utcfromtimestamp()
* Get rid of distutils
* Fix mongodb installation in Ubuntu 24.04
* Update master for stable/2024.2

19.0.0
------

* Imported Translations from Zanata
* Remove API V1 Support Part-1
* do not use str(url) to stringify a URL for subsequent use
* Remove dependency fallback for Python 2
* Update master for stable/2023.1
* reno: Update master for unmaintained/zed
* Remove nosetestes options
* Support authentication with Redis Sentinel
* redis: Add username
* Stop overriding install\_command
* Fix invalid parsing of IPv6 address in sentinel server
* Explicitly manage extra dependencies
* Deploy mongodb only when needed
* Do not enable bionic-security repository
* Update master for stable/2024.1
* devstack: Fix version check
* reno: Update master for unmaintained/xena
* reno: Update master for unmaintained/wallaby
* reno: Update master for unmaintained/victoria

18.0.0
------

* Replace CRLF by LF
* reno: Update master for unmaintained/yoga
* Bump hacking
* Remove integrated-gate-storage
* Update python classifier in setup.cfg
* Support asymmetric encryption RSA
* swift: Fix ignored \*\_domain\_name options
* Imported Translations from Zanata
* Remove indirect dependency (python-memcached)
* Storage URIs should be secret
* Switch to MySQLOpportunisticFixture from test\_fixtures
* Fix ci broken for Debian 12
* Update master for stable/2023.2

17.0.0
------

* Fix devstack plugin to support centos/rhel 9
* Use processutils to fix TypeError in subprocess
* fix the gateway CI error
* Add missing key for bionic-security repository
* Revert "Refactor Zaqar to satisfy openstack uwsgi goal"
* Use bionic package of libssl1.1
* Fix install of mongodb on Ubuntu 22.04
* Change StrictRedis usage to Redis
* Refactor Zaqar to satisfy openstack uwsgi goal
* Unblock CI by fixing libssl url

16.0.0
------

* Optimize devstack plugin
* Update deprecated zuul syntax

16.0.0.0b1
----------

* Switch to 2023.1 Python3 unit tests and generic template name
* Update master for stable/zed
* Cleanup py27 support
* remove unicode prefix from code
* Replace abc.abstractproperty with property and abc.abstractmethod

15.0.0
------

* Fix API DOC
* Add python3.8 requirement
* Add Python 3 only classifier
* Remove lower-constraints job/tripleo job
* Update json module to jsonutils
* Update master for stable/yoga

14.0.0
------

* [Part 10] Remove all usage of six library
* Fix tempest error
* Add release notes for xena
* Run TripleO jobs on CentOS8 instead of CentOS7
* Update master for stable/xena

13.0.0
------

* Replace deprecated arguments of RequestContext
* Replace deprecated import of ABCs from collections
* Changed minversion in tox to 3.18.0
* Fix confirmation api doc missing
* [community goal] Update contributor documentation
* [doc]Update IRC Info
* Decode bytes to strings
* Update swift client in Zaqar
* setup.cfg: Replace dashes with underscores
* Add release notes foldler for wallaby
* Update master for stable/wallaby
* Update the requirement of oslo db
* Support extra specs to subscription confirming

12.0.0
------

* [goal] Deprecate the JSON formatted policy file
* Imported Translations from Zanata
* requirements: Drop os-testr
* Use unittest.mock instead of third party mock
* Fix hacking min version to 3.0.1
* update lower constraints
* Use TOX\_CONSTRAINTS\_FILE
* [Part12] Remove six
* [Part7] Remove six
* [Part1] Remove six
* [Part4] Remove six
* [Part6] Remove six
* [Part5] Remove six
* [Part2] Remove six
* [Part3] Remove six
* [Part9] Remove six
* [Part8] Remove six
* [Part11] Remove six
* requirements: Drop os-testr
* Fix the issue that the subscription api always returns unconfirmed
* Fix the messages get bug
* Add releasenotes for victoria
* Update master for stable/victoria

11.0.0
------

* [goal] Migrate testing to ubuntu focal
* Cleanup the gate scripts after the Zuul v3 migration
* Native Zuul v3 version of the grenade jobs
* Native Zuul v3 version of tempest and rally jobs
* Fix SSLError caused by not passing the cafile
* Fix the issue that the function unpackb has no encoding option
* Encrypted Messages in Queue
* Remove neutron-fwaas from the jobs' required project
* Stop to use the \_\_future\_\_ module
* Cap jsonschema 3.2.0 as the minimal version
* Switch to newer openstackdocstheme and reno versions
* Remove translation sections from setup.cfg
* Add realeasenotes index for ussuri cycle
* Doc cleanups
* Update hacking for Python3

10.0.0
------

* Support query queues with count
* Fix the incompatibility for python3
* [ussuri][goal] Drop python 2.7 support and testing
* Imported Translations from Zanata
* Update master for stable/train
* [train][goal] Define new 'zaqar-tempest-swift-ipv6' job

9.0.0
-----

* Add zaqar-specs link to readme.rst
* Quick fix for v1.1 api schema
* Modify api schema for remove pool group
* Fix api-ref link
* Fit the StopIteration for py37
* Update api-ref location
* Imported Translations from Zanata
* Update master for stable/stein
* Fix exception mishandling
* Switch to using stestr directly
* Unblock gate failures
* Retire neutron-lbaas
* Rename review.openstack.org to review.opendev.org
* Imported Translations from Zanata
* Dropping the py35 testing
* Fix Sphinx formating errors
* OpenDev Migration Patch
* Replace openstack.org git:// URLs with https://

8.0.0
-----

* Introduce the Topic resource into Zaqar-1
* Add releasenotes for bp remove-pool-group-totally
* Python 3: Fix parsing of received notification
* The instructions on README.rst to create a sample queue was outdated
* Imported Translations from Zanata
* Remove the pool group totally
* Replace tripleo-scenario002-multinode with scenario002-standalone
* Add .stestr.conf configuration
* Miss name filter in querying queues
* Add zaqar-status upgrade check command framework
* Support delete messages with claim\_ids
* Update mailinglist from dev to discuss
* Fix redis CI job
* Fix python3 Compatibility for hashlib md5 update
* Missing response parameters in API DOC
* Fix python3 Compatibility for urllib
* Increase sleep in test\_delay
* Update min tox version to 2.0
* Imported Translations from Zanata
* Imported Translations from Zanata
* Imported Translations from Zanata
* Increment versioning with pbr instruction
* Update link for blueprints of zaqar-ui
* Cleanup .zuul.yaml
* Imported Translations from Zanata
* Update the client version in samples
* Fix lower constraints job
* add python 3.6 unit test job
* switch documentation job to new PTI
* import zuul job settings from project-config
* Using smtplib for Zaqar mail delivery
* [trivial] fix some typo
* Update reno for stable/rocky

7.0.0
-----

* Update os\_client\_config to openstack.config
* fix tox python3 overrides
* Fix wsgiref py3 error
* Handle bytes and str in py3

7.0.0.0b3
---------

* Remove setting of DEVSTACK\_GATE\_EXERCISES
* Remove pool group from zaqar for api-ref
* Fix assert error during queue creating in ut
* Remove some unused lib
* Update the Bugs link for triage
* Fix syntax errors
* Remove format constraint of client id
* Update the method's parameters
* ignore linter error for 'long' type
* replace windows line endings with unix format
* CONF file structure refactor
* Remove ignore D000 in validation code
* Fix format
* Make doc more clearness
* Update pypi url to new url
* Add release notes link to README
* Follow the new PTI for document build
* Adding Swift backend Region support
* Update the lower-constrainsts
* Update auth\_url in install docs
* Update docs to properly describe delete with pop

7.0.0.0b1
---------

* Move openstackdocstheme to extensions in api-ref
* Update auth\_uri option to www\_authenticate\_uri
* Support query filter in queue
* Fix one issue in UT
* Updated from global requirements
* Use rest\_status\_code for api-ref response codes
* add lower-constraints job
* Updated from global requirements
* Pypy is not checked at gate
* Updated from global requirements
* Add reserved metadatas for dead letter queue
* Updated from global requirements
* Fix claims on non-existing queue on swift
* Update links in README
* Wrap subscriber IP in square brackets when IPv6
* Fix assert error during queue creating in ut
* Imported Translations from Zanata
* Imported Translations from Zanata
* Nit update in jenkins.rst document
* Update reno for stable/queens
* Modify grammatical errors

6.0.0
-----

* The doc of bp support-md5-of-body
* Support md5 of message body
* Add heat job to zaqar check pipeline
* Add some missing releasenotes for Queens
* Revert "Support md5 of message body"
* Support md5 of message body

6.0.0.0b3
---------

* Support redis as mgmt storage backend
* Replace curly quotes with straight quotes
* Updated from global requirements
* Remove use of unsupported TEMPEST\_SERVICES variable
* Remove pool group from zaqar
* Update .zuul.yaml
* Imported Translations from Zanata
* Updated from global requirements
* msgpack-python has been renamed to msgpack
* Update the install guide about policy json file
* Remove the deprecated "giturl" option
* Modify delay queue api-doc description
* Redis connection support password configure in zaqar
* Updated from global requirements
* Test delay queues
* Convert zaqar-tox-integration to native Zuul v3
* Support delayed queues for mongo
* Replace pymongo deprecated api
* Skip period test for message
* Doc of delayed queues

6.0.0.0b2
---------

* Updated from global requirements
* Support delayed queues for swift
* Support delayed queues for redis
* update devstack README.rst with more info
* tox -e docs: Line too long
* Update the documentation link
* Zuul: add file extension to playbook path
* Updated from global requirements
* Missing claim\_count in mongodb MessageController \_basic\_message
* Remove setting of version/release from releasenotes
* Fix gate job failure
* zuul: run TripleO jobs with new zuulv3 layout
* Updated from global requirements
* Policy in code: Update the related doc
* Updated from global requirements
* Add input type check
* Clean up useless code
* Updated from global requirements
* Do not use “-y” for package install
* Use generic user for both zuul v2 and v3
* Remove the remaining flavor tuple in test\_put\_auto\_get\_capabilities test
* Register default subscription policies in code
* Reduce swiftclient logging
* Use dict.keys() for key iteratation
* Register default pools and health policies in code
* Create subscription return error id
* Cleanup test-requirements
* Metadata zero value will skip valid check
* Migrate to Zuul v3
* Add dbid parameter to pools's uri based on redis
* Remove bundled intree tempest plugin from Zaqar
* Register default claim and flavors policies in code
* Register default message policies in code
* Add more backoff functions
* Imported Translations from Zanata
* Move to Zuulv3 link to check status

6.0.0.0b1
---------

* Register default queue policies in code
* flavor.update's parameter capabilities error in flavor.create
* Correct descriptions of install doc
* delete some no use code
* Update message api-ref
* Escape IPv6 address in square brackets
* Updated from global requirements
* fix a typo for retry policy
* Implement basic policy module in code
* Updated from global requirements
* Correcting typo on doc
* Adding folder path
* Delete some duplicate code of mongodb/claims.py
* Correct some typos
* Port Rally Task to format v2
* Retry container creation in swift
* Remove deprecated context usage
* Updated from global requirements
* Fix gate-grenade jenkins failure
* Remove iso8601\_from\_timestamp
* Remove "enabled" in CORS guide
* Reduce duplication in swift post messages
* Replace http with https for doc links
* [api-ref]Change 'queues' to required in response body
* Fix mongodb scoped\_query's param note
* Fix Py27/35 jenkins failure
* Remove usage of parameter enforce\_type
* Correct typo of zaqar index doc page
* Imported Translations from Zanata
* Update reno for stable/pike

5.0.0
-----

* Fix unconfirm for swift backend
* Fix claims for redis when enabling DLQ
* Use doc8 check
* Fix claims of MongoDB when enabling DLQ
* Add some more uwsgi options for zaqar-uwsgi
* Notification Delivery Policy
* Fix bug in mongodb backend for dead letter queue
* Update the dead letter queue's releasenote
* Fix tempest test\_set\_and\_get\_queue\_metadata
* Fix api doc in creating pre-signed url
* Remove install-guide env which is no longer effective
* Support dead letter queue for swift
* Add project info to contributor doc
* Remove Deprecation tempest Warning
* Updated from global requirements
* Migrate configuration docs
* Stop using deprecated 'message' attribute in Exception

5.0.0.0b3
---------

* Fix a small bug in dead queue patch
* Replace uuid.uuid4().hex with uuidutils.generate\_uuid()
* Replace mongodb backend pymongo deprecated API
* Update and optimize documentation links
* Fix message claim expires problem in swift storage
* Updated from global requirements
* Support dead letter queue for redis
* Refactor the doc tree
* Trivial Fix in api-ref
* Update URL home-page in documents according to document migration
* Updated from global requirements
* Support dead letter queue for MongoDB
* Fix mongodb list method's param note
* Use mongodb delete\_one method instead of deprecated remove method
* Add log hacking rules
* Minor cleanup on conf.py files
* Fix html\_last\_updated\_fmt for Python3
* Revert "Remove startup check from devstack"
* Remove obsolete user-guide
* Switch from oslosphinx to openstackdocstheme
* Add release note: allow configuration of websocket notification
* Remove unused None from dict.get()
* Allow configuration of websocket notification
* Remove unnecessary parameter in Zaqar
* Using assertFalse(A) instead of assertEqual(False, A)
* Updated from global requirements
* Fix jenkins link in running-tests
* Update subscription confirm doc
* Fix some typos in zaqar
* Updated from global requirements
* Fix the official Doc site of CORS
* API Ref bug about the mailto protocol
* Remove log translations
* modify doc of Claim messages
* Use oslo\_db for create\_engine

5.0.0.0b2
---------

* Ignore dead subscriptions in Swift backend
* Remove unused methods from the swift backend
* Simplify SQL run() method
* Support dot character in queue's name
* Optimize the link address
* Remove usage of parameter enforce\_type
* Updated from global requirements
* Replace deprecated oslo.messaging.get\_transport with get\_notification\_transport
* Updated from global requirements
* Updated from global requirements
* [Swift] Fix 503 error when get queue stats
* Correct the trace name for redis
* Use absolute path for executables
* Fix OSProfiler issue for Swift and Redis driver
* Revise text about py34
* Replace test.attr with decorators.attr
* Fix queues actions for pooling
* Fix swift messages posting when pooling
* Fix failure when adding swift/redis as pool
* Updated from global requirements
* Add missing modules to config generator
* swift driver: rely on keystone session for swift connection
* Add domain configuration in Swift backend
* Add .idea pattern to .gitignore
* Fix list detailed queue without reserved metadata
* Remove redundancy code
* Updated from global requirements
* Fix detailed missing in api-ref

5.0.0.0b1
---------

* Automatically get pools capabilities for flavor
* Check if swift is alive instead of hardcode
* Remove enabled option for CORS
* Using generic instead of v3 for identity
* Fix some reST field lists in docstrings
* Support CORS
* Fix the link of 'Message Queuing API v2'
* Use HostAddressOpt for opts that accept IP and hostnames
* Updated from global requirements
* Move auth and osprofiler to middleware folder
* Don't share swift client instances
* Add missing content type in Swift objects
* Fix claim ttl test
* Updated from global requirements
* Introduce Guru to Zaqar
* Switch to use stable data\_utils
* Make import clearly in i18n.py
* Use Sphinx 1.5 warning-is-error
* Fix api-ref building
* [Fix gate]Update test requirement
* Remove unused import
* Support cold migration
* Remove table creation from the SQL driver
* Set wsgi name to application
* Filter empty messages when creating claims in Swift
* Check body type when patching subscription
* Ignore conflict when deleting queues with Swift
* Updated from global requirements
* Subscription Confirmation Support-3
* Using cp insteald ln for zaqar-ui
* Address TODO in schema
* Switch to use test\_utils.call\_until\_true
* Remove the Warning log
* Replace github with git.openstack.org
* Sync the resource string
* Add the missed decorator to pools
* Remove "TODO" as already support gettext
* Using os-testr to get better report
* Fix typo
* Use auth\_type instead of auth\_plugin
* Update reno for stable/ocata
* Add Swift backend releasenote

4.0.0.0rc1
----------

* Update the purge exception catch
* Fix sqlalchemy migration
* Enable swift in the gate hook
* Updated from global requirements

4.0.0.0b3
---------

* Switch to decorators.idempotent\_id
* Add validation of limit value in querying flavors and poolss
* Add the release note for OSprofiler feature
* Remove py34 support in favour of py35
* Make the log work when deploy Zaqar with uwsgi
* Fix wrong value of require\_confirmation
* Replace assertTrue(\*>\*) with assertGreater
* Use \_LW() to wrap the warning message
* Fix typos in HACKING.rst
* Swift storage
* Fix unit test unstable issue
* don't allow get/update/delete subscirtions with wrong queue
* Removes unnecessary utf-8 encoding
* Updated from global requirements
* Use pop in message\_delete\_many
* Enable coverage report in console output
* Add tempest test for purge queue
* Update README.rst
* Fix CI failure
* Add API ref of purging queue
* insert Apache 2.0 license into source file
* Support purge queue -- websocket

4.0.0.0b2
---------

* Clean transport logs for API endpoints
* Add support for sqlalchemy migration based on alembic
* Support purge queue -- wsgi
* Convert user getting started guide to rst
* Add OSprofiler guide
* Updated from global requirements
* Updated from global requirements
* Support to query single resource with pre-signed url
* Show team and repo badges on README
* Remove startup check from devstack
* Use KEYSTONE\_IDENTITY\_BACKEND
* Consistent  with the project code
* Fix SSL and verbose issue of zaqar bench
* Integrate OSprofiler with Zaqar

4.0.0.0b1
---------

* Fix an typo in flavors.inc
* Fix zaqar client gate
* Use build interval and timeout from conf
* Fix zaqar-ui clone issue
* Add Feature section in doc
* Reword description of grace
* Add missing policy check for queue stats and share
* Don't send confirmation notification if it's not enabled
* Add some descriptions for resources in API Ref
* Updated from global requirements
* Update .coveragerc after the removal of openstack directory
* Enanble Zaqar-UI in devstack
* Fix doc build if git is absent
* Enable release notes translation
* Updated from global requirements
* Fix a typo: remove redundant 'the'
* Change assertTrue(isinstance()) by optimal assert
* Subscription Confirmation Support-2
* Update reno for stable/newton
* Don't check key format in mongodb

3.0.0.0rc1
----------

* Remove small duplication from message storage
* Consolidate constants to a module
* [api-ref] Remove temporary block in conf.py
* Officially deprecate API v1.1
* Fix links in devstack/README.rst
* Disable DEPRECATED API versions by default
* Updated from global requirements
* Config logABug feature for zaqar api-ref
* Clean imports in code

3.0.0.0b3
---------

* Using oslo\_config's min attribute
* Remove openstack-doc-tools
* Use upper constraints for all jobs in tox.ini
* Get ready for os-api-ref sphinx theme change
* Subscription Confirmation Support-1
* Fix a minor error in API reference
* Add install guide for ubuntu and suse
* Remove the useless function
* Don't check for project-id if accessing the / route
* Adding Negative tests cases to Zaqar v2
* Start accepting \*\*kwargs in service clients
* Fix errors in API reference for message resource
* modify the home-page info with the developer documentation
* Add flavors api ref
* Support \`messages\` API ref
* Cleanup i18n marker functions to match Oslo usage
* Updated from global requirements
* This patch removes extra spaces from files

3.0.0.0b2
---------

* Fix falcon.HTTPConflict initialization getting error
* Add Python 3.5 classifier and venv
* Remove docs,comments,references to Oslo Incubator
* Fixes: Typo in comments
* Add a trust notifier task
* Ensure queue exists before get/update the claim
* Add pools api ref
* Disable warnerrors=true in setup.cfg
* Add \`Pre-signed queue' api ref
* Config: no need to set default=None
* Updated from global requirements
* Fix issue with subscription list in Redis
* Remove tempest smoke tests run
* (redis)Fix the 503 error when get/delete messages
* Add \`Health\` api ref
* Fix the wrong check of X-PROJECT-ID
* Add subscription api ref
* Cleanup integration tests setup
* Clean the auth app after authentication failure
* Add Claims for api ref
* Let v2 tempest base on the base tests
* Fix debug log missing issue
* Remove leftovers on websocket disconnections
* Fix config parsing in zaqar-server
* Updated from global requirements
* Fix post install jobs
* Relocates cli options registration from bootstrap to server
* Delete in tree config ref
* Add release note for bug 1590173
* Add Queues for api ref
* Add Zaqar installation guide
* Fix incorrect message when getting non-existing claim
* Make queues lazy in subscriptions
* Add release notes
* Use is\_valid\_ipv6 from oslo.utils
* Use debug instead of warning for pipeline implement error
* Fix subscription limit per queue
* Fix fail of getting claim after claim expire(Redis)
* Make the notifier max\_workers configurable
* Show 'age' field in subscriptions (redis)
* Show 'age' field in subscriptions (mongodb)
* Add reserved metadata check
* Support Tempest test as gate job
* Avoid multi-threading problem with sql backend
* Fix fail of claim after some message expire(Redis)

3.0.0.0b1
---------

* Always use pip constraints
* Init commit to add API ref in tree
* Updated from global requirements
* Define context.roles with base class
* Use run() wrapper instead of connection.execute()
* Improve the log to avoid unexpected ERROR
* Rename notification/task to notification/tasks
* Replace tempest-lib with tempest.lib
* Refactor zaqar/storage/utils.py to respect DRY
* remove verbose option in devstack plugin
* Fix falcon confilct in requirements.txt
* Fix py34 gate job
* Move to falcon middleware
* Changed assertTrue(isinstance()) to assertIsInstance
* Trivial: remove openstack/common in flake8 exclude list
* Fix cache decorator tests
* Imported Translations from Zanata
* Updated from global requirements
* Fix wrong claim error message
* Default message ttl is needed to change correctly
* Fix auth issue when accessing root path "/"
* Make sure use IPv6 sockets for Zaqar in IPv6 environment
* Show default attributes for queue
* Updated from global requirements
* Added samples in multiple languages
* Updated from global requirements
* Fix tempest tests list
* Fix service\_available opt registration and extra comma
* expires should be checked when using pre-signed url

2.0.0
-----

* Validate PUT of reserved queue attributes metadata
* Validate PUT of reserved queue attributes metadata
* Warn on upcoming deprecations for v1.0 and v1.1
* Generate oslo.cache options via tox -e genconfig
* Warn on upcoming deprecations for v1.0 and v1.1
* Update reno for stable/mitaka
* Update .gitreview for stable/mitaka

2.0.0.0rc1
----------

* Fix PATCH queue's metadata
* Remove unnecessary assert
* Don't pass debug option to websocket constructor
* Fix cleanup in metadata putting test
* Updated from global requirements
* Renew subscription on update with TTL
* Add missing /ping for v1.1 homedoc
* Forbid update subscription to duplicate
* Fix updating subscription options in Redis driver
* Updated from global requirements

2.0.0.0b3
---------

* Support metadata update issue for v2
* Fix the TTL issue of subscriptions for MongoDB
* Fix the TTL issue of subscriptions for Redis
* Fix freeze on some requests
* Add \`\_max\_messages\_post\_size\` and \`\_default\_message\_ttl\` for queue
* Use assertEqual/GreaterEqual/LessEqual
* Remove unused pngmath Sphinx extension
* Updated from global requirements
* Fix validation in websocket unit tests
* Add tempest test for wsgi v2
* Add description to 404 and 409 error responses
* Support binary messages over websocket
* Add tempest test for v1.1
* Fix the tempest test error
* Catch NoPoolFound on resource listing in transport
* Fix arguments order in error\_response (Websocket)
* Fix cross-transport error handler
* "group" word should be used instead "pool"
* Fix subscriptions\_post resource in wsgi 2 homedoc
* Updated from global requirements
* Add zaqar tempest plugin
* Update operation should return updated result
* Fix 500 error when create pools in wsgi v2
* Get non-existing queue should return 200
* Ensure hmget return right data format
* Don't return links if subscriptions are empty
* Updated from global requirements
* Add queue name to notifications
* Use Client-ID in devstack ping request to Zaqar
* Fix improperly LOG using in Zaqar
* Add the missing Client-ID check in wsgi v2
* Make error response better for patching flavors
* Use uppercase 'S' in word "OpenStack"
* Don't return links if subscriptions are empty
* Update homedoc in wsgi v2
* Updated from global requirements
* Fix typo in test\_on\_mesage\_with\_invalid\_input
* Replace six.iteritems(dict) with dict.items()
* Ensure JSON sent over websocket is a dictionary
* Imported Translations from Zanata
* Updated from global requirements
* Make enforce\_type=True in CONF.set\_override
* Remove argparse from requirements
* Use default pool for queue listing
* Add new information to zaqar-bench tutorial
* Fix zaqar-bench auth method detection

2.0.0.0b2
---------

* Add tutorial for writing storage pipeline stages
* Fix gate issues
* Fix requirements of message\_delete\_many API
* Replace deprecated library function os.popen() with subprocess
* Make zaqar-bench use credentials from os\_client\_config
* Updated from global requirements
* Make websocket.html process notifications
* Refactoring of docs during Mitaka cycle
* Make enforce\_type=True in CONF.set\_override
* Move subscription test from v1\_1 to v2
* Use assertTrue/False instead of assertEqual(T/F)
* Move in-line function outside method
* Updated from global requirements
* Replace deprecated LOG.warn with LOG.warning
* Fix the docs link
* Fix for the deprecated library function
* Changing LOG.warn to LOG.warning
* Trival: Remove unused logging import In some files
* remove python 2.6 trove classifier
* Replace assertEqual(None, \*) with assertIsNone in tests
* Deprecated tox -downloadcache option removed
* Updated from global requirements
* Imported Translations from Zanata
* Fix zaqar-bench not working
* Updated from global requirements
* Explicitly use asyncio protocol for websockets
* Put py34 first in the env order of tox

2.0.0.0b1
---------

* Fix duplicate auth\_section issue
* Fix queue create failure when metadata is {}
* Add unreleased notes for releasenotes tree
* Remove version from setup.cfg
* Drop MANIFEST.in - it's not needed with PBR
* delete python bytecode before every test run
* Updated from global requirements
* Add the default repos into devstack/settings file
* Move development.environment.rst to standard location
* Replace "MARCONI" with  "ZAQAR"
* Fix typo
* Automatically drop functional tests databases
* Added CONTRIBUTING.rst file
* Remove netaddr useless requirement
* Fix write concern check for py34
* Fix tox not performing some tests in some Envs
* Updated from global requirements
* Updated from global requirements
* Add reno for release notes management
* Imported Translations from Zanata
* Use oslo\_config new type PortOpt for port options
* Some prerequisites for Fedora OS is missing in zaqar README.rst
* Fix mongodb.conf corruption during stack.sh
* Correctly stop uwsgi process during unstack.sh
* Add  oslo\_config IPOpt support
* Use keystonemiddleware in config generation conf
* Fix client constructor for zaqar-bench
* Updated from global requirements
* WebSocket functional tests
* Some prerequisites for Ubuntu OS is missing in zaqar README.rst
* Make websocket run in correct logging mode
* Fix incorrect usage of assertEqual() in some tests
* FIX TypeError for list queue command
* Updated from global requirements
* Adding namespace for [drivers] section in oslo-config-generator
* Updated from global requirements
* Notifications over websocket

1.0.0
-----

* Imported Translations from Zanata
* Removes redundant debug option
* The \`subtype\` formatting arg does not exist
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Fix order of arguments in assertEqual
* Imported Translations from Zanata
* Cleanup of Translations
* Cleanup of Translations
* Use decorator instead of request logging in responders
* Switch to oslo\_cache
* Open Mitaka development

1.0.0.0rc1
----------

* Updated from global requirements
* Add note for unreliable in README.rst
* Adds max failure rate limit
* Allow running zaqarclient for gate tests
* Close backend connections in tests
* Fix few typos in headings
* Updated from global requirements
* Max failure percent not longer needed for Rally gate
* Imported Translations from Zanata
* Correct "log\_file" option in zaqar documents
* Fix devstack option to plugin zaqar
* Fix "message\_store" config option in zaqar doc
* Fix redis tests
* Fix usage of mongo test URL
* Fix duplicated queues on multi pools
* Add Redis backend docs
* RBAC support based on oslo.policy
* Use a Text field instead of Binary
* Prevent mutation of out-of-scope args
* Don't raise 404 on missing queues
* Add a global error handler for wsgi
* Ensure group exists on updates
* Fix error messages formatting
* Don't create a connection on constructor
* Rename get\_group to get\_pools\_by\_group
* Enable pooling for redis' job
* Don't set keystone as auth if not enabled
* Fix 500 error when adding pool to wrong group
* Let devstack redirect output
* Hide project id for flavor
* Fix accurate links in README.rst
* Refactoring to make Websocket driver available in v2
* Remove race condition in test\_claim\_lifecycle
* Fix typos in sqlalchemy flavor.py
* Don't register the default pool
* Fix duplicated notification
* Add email driver for notification
* Updated from global requirements
* Use thread executor all the time for notifier
* Support various paths for signed URLs
* Add unittests for Flavors in sqlalchemy
* Restore sqlalchemy unit tests

1.0.0.0b3
---------

* s/update/\_update/ sqlalchemy's pool controller
* Add support for flavors in sqlalchemy
* Updated from global requirements
* Return empty \`links\` on empty collections
* Fixed the mistake in zaqar dev-environment
* Update 'doc/source/development-environment.rst'
* Removing unused dependency: discover
* Fix GET queue metadata for sqlalchemy
* Make False as default value for \`unreliable\`
* Don't generate docs for zaqar.transport.wsgi.app
* Updated from global requirements
* Support signed URLs in WebSocket
* Fix typos in test\_suite.rst and test\_utils.py
* The link for plugin samples is updated
* Mistakes in the sentences are corrected
* Set a secret key in devstack
* Update README.rst  in zaqar project
* Fix WS deauthenticate
* API v1.1 Claims endpoints
* Move \_(get|inc)\_counter out of QueueController
* Imported Translations from Transifex
* Updated from global requirements
* Fix WS endpoint registration
* Use the executor directly in notifier
* Authentication for websocket
* Refactor notification framework
* Add a websocket example
* Add configuration to run service using uwsgi
* Imported Translations from Transifex
* Updated from global requirements
* Remove unused oslo-incubator modules
* Remove mock side\_effect in test\_messages
* Imported Translations from Transifex
* Set auth\_strategy in devstack
* Enable tox debug
* Fix validation errors handling in websocket
* Move to using the futurist library for async executors

1.0.0.0b2
---------

* Skip tasks run when there is no subscriber
* Updated from global requirements
* Imported Translations from Transifex
* Decouple the queue and subscription
* Return the websocket response on invalid request
* Return subscription ID on create
* Handle missing document in subscription operations
* Send message notifications as json
* Enable message pipeline on devstack
* Fix enabling of Zaqar in Devstack plugin
* Update development documentation
* Update README
* Fix test failure linked to new mock release
* Imported Translations from Transifex
* Allow config of mongo test url using env variable
* Add signed URL verification
* Add pre-signed url generation endpoint
* Move common configs under common.configs
* Updated from global requirements
* Validate UUIDs before the driver sends them
* Update development-environment.rst guide
* Make errors preventing driver load more useful
* API v1.1 Messages endpoints
* Satisfy abstract base by adding queue\_controller

1.0.0.0b1
---------

* Add support for pymongo 3.0.2
* Move functional tests out of tests/
* Imported Translations from Transifex
* Update version for Liberty

1.0.0a0
-------

* Added 'pool name' and 'flavor name' to response
* Imported Translations from Transifex
* Move all remaining unit tests out of tests/
* Move storage unit tests out of tests/
* Move transport tests out of tests/
* Remove unused \`pooling:catalog:storage\` option
* Try to use a default pool when creating a queue
* Split \`storage\` into (message|management)\_storage
* Add missing doc files
* Remove the sqlite entry point
* Remove messages and claims from sql code
* Move transport v1 tests out of tests/
* Move transport v1\_1 tests out of tests/
* Deprecate v1
* Remove \`marconi-server\`
* Move transport v2 tests out of tests/
* Speed up message expiration tests
* Add cleanups to several tests
* Imported Translations from Transifex
* Clarify code comment in Redis backend
* s/Marconi/Zaqar/ in method docstring
* Switch from MySQL-python to PyMySQL
* Port to oslo\_log
* Drop incubating theme from docs
* Enable pooling in devstack
* Imported Translations from Transifex
* Delete unused README links
* Replace ci.o.o links with docs.o.o/infra
* Imported Translations from Transifex
* Using oslo.context
* Set unreliable True
* Fix gate\_hook and post\_test\_hook perms
* Drop use of 'oslo' namespace package
* Add gate hooks to enhance Zaqar's job
* Add function dispatchers
* Update dataplane section name
* Remove support for sqlalchemy in devstack
* Rename service to zaqar
* Install packages from plugin.sh
* Fix duplicated test cases of notifier

2015.1.0
--------

* Move devstack's Zaqar code into the codebase
* Release Import of Translations from Transifex
* update .gitreview for stable/kilo
* Updated from global requirements

2015.1.0rc1
-----------

* Updated from global requirements
* Open Liberty development
* Adds a test for queues validations
* makes uri unique to avoid duplicated pools
* Remove QueueController from data to control plane
* Fix instructions in README.rst file
* Imported Translations from Transifex
* Add websockets to our test suite
* Imported Translations from Transifex
* Implement webhook notifier driver
* Adds message processing to WebSockets driver
* Implement redis driver for notifications
* Add REST API for notification/subscriptions
* Allow for internal pipelines to be defined
* Imported Translations from Transifex
* Remove sqlalchemy from our data plane
* Correcting Instruction For Mongodb URI in README.rst

2015.1.0b3
----------

* Updates the readme.rst file to add dependencies steps
* Updated from global requirements
* Update json schema for API v1\_1
* Fix common misspellings
* Use generate\_uuid() from oslo.utils
* Make the Pipeline inmutable
* Adds a status code field to the Response
* This change adds missing help strings for claims
* Adds a representation for the Request and Response objects
* Clean up inconsistent if statement syntax in transport auth
* Adds websockets driver to Zaqar server
* Syntax enhancements
* Updated from global requirements
* Updated from global requirements
* Imported Translations from Transifex
* API handler and API v1.1 Queue endpoints
* Use pool's capabilities for flavors in v2
* Split MongoDB's default implementation from FIFO's
* Forbid adding stores with mismatching capabilities
* Replace API v1 with v1.1 in README
* Expose healt in homedoc

2015.1.0b2
----------

* Imported Translations from Transifex
* Refactor Api classes to enhance consistency
* Updated from global requirements
* Move oslo libraries out of the oslo namespace
* Check marker before accessing it
* Implement mongodb driver for notifications
* Updated from global requirements
* Fork v1\_1 of the API into v2
* Invalid grave accents at the end of the mongodb installation URLs
* Fix the last assertion in test\_impl\_mongodb.test\_message\_counter
* Version discovery for root URI
* Imported Translations from Transifex
* Use the oslo.serialization instead of openstack/common/jsonutils
* Use keystoneclient auth and register required options
* Clean up the 'queues' package for tests
* Removed includes for zaqar.config.sample from doc

2015.1.0b1
----------

* Temporally remove Sphinx from test-requirements-py3
* Updated from global requirements
* Slighty refactoring for the cross api spec
* Fix the duplicate lines in autoindex doc
* Clean up pooling meta-controllers
* Wrap abstract method with base methods
* Add capabilities property to the DataDriver
* Split Control and Data planes of Storage layer
* Expose pools and flavors in homedoc
* Imported Translations from Transifex
* Removes ZMQ directory
* Refactor code structure for notification
* Updated from global requirements
* Don't register pool endpoints when pooling=False
* Workflow documentation is now in infra-manual
* Replace sqlite with sqlalchemy
* Document mongodb's driver deployments
* Rename rally-scenarios/ to rally-jobs/
* Add rally job related files
* Add instructions on generating sample config
* Make the refrence to storage.errors to be consistent
* Used a pooled config for health
* Correctly stop functional servers
* Test message delete when claim expires
* Remove the outdated openstack common modules
* Update oslo-config-generation code
* Claim post requires a body
* pooling conf is using a wrong deprecated conf
* Remove config sample and generate it using code
* Let the test client serialize request's body
* Imported Translations from Transifex
* Always include the project id in the logs
* remove the old name conf file
* Capture the stdout and stderr based on environment
* Updated from global requirements
* Why do we increment the counter after the insert?
* Updated from global requirements
* Imported Translations from Transifex
* Put a cap on our cyclomatic complexity
* Updated from global requirements
* Fix ttl and grace story for claims updates
* Fix the exception raised when running test by nose
* Sync the zaqar.conf.sample file
* Fix the doc typo
* Imported Translations from Transifex
* Fix no links property in flavor list response
* Fix no links property in pool list response
* Queue's empty list should return 200 and an object
* Remove all traces of nose
* Reduce duration of some long-running tests
* Add support for redis-sentinel
* Fix the param name typo
* Updated from global requirements
* Fix the typo in the description of the write concern error
* Move marker field to the first position (index)
* Imported Translations from Transifex
* Add first reliability enforcement
* Move the module reference to the top
* Imported Translations from Transifex
* Open Kilo development

2014.2.rc1
----------

* Add a pool\_group to pools in v1.1
* Fix coverage testing
* Don't skip pools' functional tests
* Accept existing conf in dynamic\_conf
* Improve efficiency of the redis driver when posting messages
* Move Redis driver's claim transaction to Lua
* Fix typo in README
* Use OpenStack Incubated branding for docs
* Imported Translations from Transifex
* V1.1: Add id property to messages in claims
* Fix regression: No handlers could be found for logger when start
* Fixes docstring typos
* Don't register options in \_\_init\_\_
* Updated from global requirements
* Replace misleading max\_message\_size option name
* Enable ZAQAR\_TEST\_SLOW for py27
* Catch Exception instead of RuntimeError for driver
* Fix the msg encode/decode error
* Imported Translations from Transifex
* Added checks enforcements rule to the developers manual
* Add genconfig to tox.ini
* Add the redis opts to the generate sample shell script
* Removes claim\_id param in v1.0
* Stop using intersphinx
* Not permitted to delete pools which are used by flavor
* Workaround pypy bug on trusty when running tests
* Add \_ prefix to local variables
* Remove test\_correct\_has from our test suite
* Don't import client from the version package
* Updated from global requirements
* Remove extraneous created\_iso property
* Fix messages getting reclaimed in the Redis driver
* Imported Translations from Transifex
* Update Zaqar backend requirements
* In the Redis driver, only read the msg body when needed
* Fix: Redis driver does not fall back to default port
* Add missing flavors\_controller method to Redis driver
* Adds the API reference to the devs guide
* Remove recursive imports
* Add a dox.yml config file
* Add ZAQAR\_TEST\_EVERYTHING to enable all tests
* V1.1: Add claim\_id to message url
* Fix pep8 error in bench tool
* Use oslo.utils.encodeutils instead of strutils
* Updated from global requirements

2014.2.b3
---------

* Don't pass pipe when filtering messages in the Redis driver
* In benchmark observer worker, include claimed messages when listing
* Work toward Python 3.4 support and testing
* Switch Redis driver modules over to oslo.utils.timeutils
* Calculate stats dynamically instead of using side counters
* Removing test\_duration variable from bench/consumer.py
* Imported Translations from Transifex
* First patch and first review docs
* Adds a manual garbage collector script
* Zaqar configuration reference docs
* Make Client-ID a required header
* Don't return content\_location anymore
* Make X-Project-ID a required header
* Implement claim and message expiration logic for Redis
* Fix Redis message controller getting stuck in while loop
* Fix the help string
* Imported Translations from Transifex
* Adds partial field deprecation note in the users guide
* Ensure \`pool\` exists before creating a flavor
* Fix the flavor tests failing under py33
* Raise proper HTTP error when flavor doesn't exist
* Imported Translations from Transifex
* Adds more resources section to to developers guide
* Enhance docstrings for the config reference
* Implements queue, message and claim controllers for Redis
* Add observer role to benchmark tool
* Do not fail silently when given a bogus claim ID
* Make the catalog flavor-aware
* Updated from global requirements
* API v1.1: adding id field to messages
* Add API support for flavors
* Add the ability to benchmark across multiple queues
* Fix divide by zero bug in benchmark workers
* Imported Translations from Transifex
* Switch to oslo.utils
* Remove obsolete README for benchmark
* Fix incorrect accounting of total requests in benchmark consumer
* Make claim batch size configurable in benchmark tool
* Remove common.transport.wsgi.utils
* Report claim and delete latency separately in the benchmark tool
* Add dev docs for transport/storage dirvers
* Updated from global requirements
* Fix config generator in Zaqar
* Don't call config() in the global space
* V1.1 Homedoc
* Add separate proc and worker options for producer and consumer
* Clean up expired messages for SQLAlchemy driver
* Encapsulate top-level lists in responses in object
* Updated from global requirements
* Update use cases to align with dev guide and positioning
* Improve benchmarking tool
* feat(v1.1): Implement new /health endpoint for v1.1
* Fix .gitreview due to the repo rename/move
* Setting up a development environment docs
* Update files from oslo-incubator
* Reorganize docs folder
* Add page about tests to developer docs
* Use auth\_token from keystonemiddleware
* Improve developer guide introduction
* Make \`admin\_mode\` a cli option
* Remove user oriented documentation from the dev guide
* Add flavors support to mongodb
* Enable MongoDB tests on py27
* Require mongodb >= 2.2 or fail misserably
* Updated from global requirements
* Rename Marconi to Zaqar
* Fix py3k incompatibility with itertools.ifilter
* Fixes several failing mongo driver tests
* Mark sqlalchemy's data driver as deprecated
* Updated from global requirements
* Filter out expired messages
* Updated from global requirements
* Deprecate partial field in v1.0, remove in v1.1
* Imported Translations from Transifex

2014.2.b2
---------

* Minor cleanup of utils unit test
* Correct the test instructions in README
* API v1.1 - Encapsulate message post bodies in a JSON object
* Rename remaining 'shard' to 'pool'
* Updated from global requirements
* feat(v1.1): Default TTL and grace values
* Remove check queue exists endpoint
* Imported Translations from Transifex
* feat(benchmarking) : Producer-Consumer scenario
* Adding dependencies for redis support in marconi
* Implement POP in v1.1 API
* Drop pylint due to the huge amount of false positives
* Updated from global requirements
* Run storage unit tests in pooled context
* Make storage/pooling reflect storage/base
* Switch over oslo.i18n
* Primary key for pool in catalogue table is unreasonable
* Fix typos
* Clean up queues created for certain tests
* Use the class queue\_name and project for tests
* limit=0 in sqlalchemy means 0 instead of unlimited
* Fix broken wiki link
* Wrong param order when using errors.QueueNotMapped
* Changing default type for pooling Catalog storage driver
* Add None checking for the Mongodb uri
* Start scratching Queue Flavors api
* V1.1 Functional Tests
* Updated from global requirements
* Remove alphabetical sorting assumption in tests
* Rename shard to pool
* Fix two caching-related comments in the code
* Correct the rtype in the function docstrings
* Fix Python 3 leftovers
* Removed buggy httpretty to unblock the gate
* Sync with oslo-incubator
* Expose pymongo's SSL cert options
* Updated from global requirements
* Update hacking version and fix new violations
* Rename shards to pool
* Updated from global requirements
* Make storage.utils.keyify py3k compatible
* Implement Lazy Create Queue in v1.1 API
* Sync from oslo-incubator
* Fix tests to be Python 3 compatible

2014.2.b1
---------

* remove default=None for config options
* Decoupled Unit Tests
* Refactor auxiliary methods for MongoDB unit tests
* Re-enable tests affected by #1321840
* fix: Checking whether queue exists adds latency
* Small fixes in storage drivers for Python 3
* Prepare marconi for localization
* Removed now unnecesary workaround for PyPy
* Fix handling of request/response body for Python 3
* Updated from global requirements
* Fix sqlalchemy storage driver for Python 3
* V1 Tests JsonSchema
* Synced jsonutils from oslo-incubator
* Fixed a few typos in the codebase
* Add separate requirements file for Python 3
* Revert "Disable Metadata write operations on v1.1"
* Updated from global requirements
* Updated from global requirements
* Fixing some spelling, grammar, etc in docs
* Fixed incorrect reST syntax
* Updated from global requirements
* Removes host header from functional tests
* Synced jsonutils from oslo-incubator
* fix(metadata): Fix inconsistent error response under v1.1
* Use jsonschema for testing queue
* Updated from global requirements
* Adds command line option "daemon" to Marconi
* Disable Metadata write operations on v1.1
* Remove MySQL-python from the dependency list
* Instantiate app only when needed
* fix(sharding): deregister queue before delete
* Use config options to determine message count
* Updated from global requirements
* Update comment for version to say "Juno" instead of "Icehouse"
* Open Juno development
* Add specific doc build option and gate on warnings
* Dedup HACKING.rst and remove any pep8 or OpenStack hacking rules

2014.1.rc1
----------

* Don't fork marconi-server unless USE\_SCREEN=False
* keystone middleware version change due to a bug
* Add a help text for auth\_strategy
* Improve cleanup of test\_insert\_queue\_header\_asterisk
* Switch to oslosphinx
* keystoneclient now supports Py3K
* Add keystone\_authtoken to our config generator
* fix() : introduce division import
* Fix message.first return value for mongodb
* Updated from global requirements
* Add more unit tests for message controller
* Include full license text
* Update license headers on select source files
* Fix functional config file instructions
* Add default mongod URI to README
* Marconi Operations Document
* adds docs directory with dev guide
* fix(gate): one for pypy, one for docs
* Improve README file
* Enable the basic dev doc for Marconi
* Allow marconi-server to properly daemonize
* Rename logging.conf-sample to logging.conf.sample
* Fix config file name in README instructions
* Keep python 3.X compatibility for xrange
* Use oslo's config generator to generate sample
* Prepare Marconi to support oslo's config.generator
* Add an options module to sqlalchemy
* Updated from global requirements
* Use a colon instead of a . in setup.cfg
* Sync from oslo-incubator
* Add MySQL-python as a dependency
* Add missing logging trace queues collection
* fix(cli): Print statement in global error handler
* Enable shards test for sqlalchemy
* Remove unused method from timeutils
* Reuse the transaction before getting messages
* Set time\_zone to UTC on MySQL
* MySQL requires VARCHARs to have a length
* Slighty refactored url\_prefix usage in WSGI tests
* Update marconi.conf-sample to deprecate sqlite
* Replace \`Sqlite\` with \`Sqlalchemy\` in test names
* Removed debug level messages translations
* fix(MongoDB): Driver does not retry on AutoReconnect errors

2014.1.b3
---------

* Fix assertion for Testutils to check on sqlite://:memory:
* Deprecate sqlite in favor of sqlalchemy
* Don't raise \`DoesNotExist\` on claims deletion
* Register sqlalchemy endpoints
* Fix message's get and deletion
* Enable pragma foreign key for sqlite
* Remove termios support (and associated issues)
* Updated from global requirements
* fix(mongodb): Limit kwarg must be an int
* test(wsgi): Refactor tests in preparation for API v1.1
* test(wsgi): Enable test\_default\_limits and fix UUID bug
* Add an sqlalchemy storage to Marconi
* Updated from global requirements
* feat(sql/catalogue): add catalogue controller
* feat(sqlalchemy): add shards controller
* Replace unicode() by six.text\_type for python3 compatability
* Replace basestring by six for python3 compatability
* feat(v1.1): Implement /ping endpoint for v1.1
* feat(v1.1): Plumb v1.1 API in the WSGI transport
* Sync common modules from olso and remove py3kcompat
* doc(README): Have the user pass '-v' when starting marconi-server
* Fix two small typos in marconi/queues/storage/sharding.py
* feat(sql/driver): expose ControlDriver, more config
* Apply six for metaclass
* Use six.moves.urllib.parse instead of urlparse
* Improve help strings
* fix(wsgi): Cleanup limit config options
* fix(shards): guard against registering bad shard URIs
* Fix misspellings in marconi
* test(functional): Use direct WSGI requests in lieu of a wsgiref server
* chore: Fix pylint errors
* test(functional): Don't use a dead test server
* fix(testtools): 0.9.35 is not compatible with subunit 0.0.17
* Skip message\_get\_many schema test until we can repro reliably
* Removed copyright from files without code
* add copyright notices to some source files
* DRY applied to class names
* Add a \_config\_options function to Marconi
* chore: Add pylint envs
* Drop msgpack dependency
* fix: Move decorator out of class definition since it is static
* Sync oslo-cache from oslo-incubator
* Don't use \`override\_time\` but mock instead

2014.1.b2
---------

* fix: ConnectionError no longer takes positional arguments
* Remove dev1 from version, since it is added automagically by pbr
* fix(mongodb): Ensure batch message posts are atomic (all or nothing)
* Enforce size verification on content-length
* Use testr instead of nosetest
* Remove \_\_MARCONI\_SETUP\_\_
* test: Use srmock header\_dict in preparation for Falcon 0.1.8
* Added a request and response file to common
* Map HTTP request codes in jsonschema
* Verify response jsonschema for List Messages by ID
* Change shards & catalogue db into single property
* Implement DataDriver for sqlalchemy storage backend
* Implement tables and unit tests for sqlalchemy storage backend
* chore: Sync local (marconi) requirements with global reqs
* DRY queues storage error message format
* Added logging to HTTP errors
* chore: Bump version to icehouse-2 dev
* Return relative URIs for href-template of homedoc
* Remove the \_\_MARCONI\_SETUP\_ global from init
* Use relative import for base in tests
* Don't use tuple parameters
* Disable keystone client if running under Py3K
* Remove gettext magic and import \_ explicitly
* fix: Reduce logging severity of certain errors
* chore: Remove remaining proxy cruft
* fix(mongo): Delete claimed message fails
* feat(sharding): Cache shard mappings
* chore: Pass cache into drivers
* fix: shard test failing
* fix: mongodb tests consume storage like crazy
* Fixes wrong hrefs when getting set of messages
* Make sqlite connection lazy
* cleanup: remove proxy cruft
* opt: add hints to make delete/claim checks faster
* fix: cache contract for memcached backend
* Make consumer\_for a context manager
* feat(health): make health API storage-aware
* feat(validation): verify project id length
* feat(shard): queue listing from multiple sources
* Added empty packages and a test for the API v1
* Remove proxy code
* Cleans up marconi-queues and marconi-proxy config files
* Revert "Support building wheels (PEP-427)"
* Isolate tests a bit more
* feat: connect sharding manager to control drivers
* Support building wheels (PEP-427)
* refactor: drop simplejson requirement
* Update openstack/common/lockutils
* Add Tests for non-existing resources
* feat: integrate shard storage with transport
* Renamed "exceptions" module to "errors"
* feat: add catalogue storage driver for queues
* Sync with global requirements
* feat(logging): format msg when log level met
* feat: shards mongodb driver + tests
* feat: shards storage controller interface
* Update the Marconi readme with more detailed installation instructions
* feat: add shard management resource
* Don't enable\_echo when we don't have a tty
* Start 2014.1 development
* feat: split queues API into public/admin
* fix: one less unnecessary modification
* Move misplaced test under the right package
* Fix Pep8 indentation errors missed by Pep8 1.4.5
* fix(bootstrap): Logging CLI options don't work
* feat: Storage sharding foundation
* Validation for messages returned by queue/stats
* Return a consumer function instead of consuming
* Use stevedore instead of importutils
* fix(queues): Global config used everywhere
* 'Persist' \_\_getattr\_\_ results
* Setup storage pipeline in the boostrap instead of driver base
* chore: Remove GC cruft from storage driver base class
* Follow hacking rules about import
* doc: Update conf filename used to enable mongod
* fix: invalidate partition cache entry on delete
* doc: Recommend installing marconi via pip
* Updated Marconi ReadMe file with correct git repo address
* Tests for Client-ID validation
* Use the pipeline for the storage layer
* Implement common pipeline class
* feat: storage sharding schema for marconi-queues
* fix(mongo): Negative age reported in stats
* fix: proxy mongodb storage fields overspecified
* fix: validate queue listing limits in proxy
* Use oslo.config directly instead of common.config
* Replace deprecated method aliases in tests
* fix(mongo): Queue listing may include queues from other projects
* fix: stream request data rather than loading it into memory
* fix: allow multi-update on partition storage
* feat(api): Client-ID as a real UUID
* feat(api): give validation resp a different title
* bug: proxy headers aren't forwarded properly
* feat: add logging to proxy
* fix: listing queue fails when detailed=True
* fix: do not duplicate queues across partitions
* chore: Designate semi-private "friend" helper methods as such
* chore: Rename MONGODB\_TEST\_LIVE to MARCONI\_TEST\_MONGODB
* feat(proxy): listing opts returns lists
* Add Tests for Queue Stats
* fix(wsgi): Non-ASCII characters in the queue name trigger 500 status
* fix: encode keys before caching
* fix: force exception content to be text\_type
* feat (proxy/admin): allow partition modifications
* feat: split proxy API into admin and public apps
* feat: separate config for queues and proxy
* proxy: mirror structure of marconi queues + bootstrap
* fix(proxy): forward marconi headers
* Fix queue's packages namespaces
* feat(mongodb): Partition data across multiple databases
* chore: Expose commit hash in version module
* WSGI: added the control for non empty X-PROJECT-ID
* Update oslo to latest and greatest
* perf(mongodb): Combine project and queue message fields
* fix(mongodb): Marker generation creates a bottleneck under heavy load
* fix: age presented as negative
* test(proxy): fix proxy-transport tests
* proxy: adds oslo.cache, config support, & stevedore
* Require oslo.config 1.2.0 final
* Move queues' unittests under tests/unit/queues/
* Move test\_default\_limits to the new tests location
* Move tests/unit/storage/base under m/tests/storage
* proxy: mongodb storage driver
* proxy: memory storage driver + tests + fixes
* fix(mongodb): Remove $or clause used to claim messages
* Help Bleeding Eyes
* Update pbr and requirements to be current
* Update HACKING file with the new structure
* test(proxy): catalog tested
* Fix old import paths
* test(proxy): partition related endpoints tested
* feat: define interfaces for proxy storage
* feat: marconi-proxy forwarding
* feat: marconi proxy (v1, health)
* feat: marconi proxy
* Change Marconi's codebase structure
* Fix Functional Tests
* chore: Update Falcon dep to allow version 0.1.7
* Update .gitreview for incubation org move
* feat(mongo): use UNIX timestamp instead of datetime
* Replace old functional http.post call
* chore: Update oslo.config to version 1.2.0a4
* fix(tests): unit tests disabled due to missing \_\_ini\_\_.py
* fix: Requests get slower when queues have a lot of messages
* Move Unit tests under a unit package
* Use format instead of % for string formatting
* Move functional tests into wsgi/v1
* Implement small http client for tests
* Implement embedded marconi-server execution
* Run functional tests under tox
* Use oslo.config for functional tests
* Remove util packages
* Pull actual tests out of marconi/tests
* fix(transport.wsgi): JSON home doc missing GET and HEAD hints
* feat(storage): configurable default paging size
* fix(storage.mongodb): Race condition when creating a claim
* Make tox use develop instead of sdist
* fix: Claim can return 404
* chore: Update openstack.common to get latest timeutils
* chore: Track the up-and-coming oslo.cache module
* fix: claimed message require claim\_id to delete
* chore: Update openstack.common, add lockutils
* Refactor System Tests
* feat(wsgi): homedoc now ships relative URIs
* chore: remove queue\_id cruft in mongo driver
* chore: increase coverage in some trivial ways
* chore: remove unneeded statements in wsgi
* Update Tests for Input Validation
* chore: cleanup the unit tests with ddt
* Added a PyPy env to tox
* Log pymongo's exception on ConnectionFailure
* fix: bad marker behaves like non-existing marker
* Don't wait for ack when deleting expired messages
* Use req.get\_param's store feature in lieu of utils.purge
* restructure: rm -rf tools, move test requires
* test: delete msg w/ invalid claim isn't deleted
* fix: fetching nonexistent message/claims raises 503s
* Ignore \*.egg dirs
* Don't use claim creation time to calc claim's age
* fix: rename \_payload\_uplimit into \_paging\_uplimit
* feat(validation): check metadata JSON size
* Convert "outgoing" literals to unicode
* fix(storage/mongo): unclaimed messages not listed
* Fixes unique constraint regex
* doc(validation): update the sample config file
* Use oslo.config 1.2
* feat(validation): validate user input
* Buffer message documents when enqueuing them, in lieu of streaming
* Rename transport helpers to utils
* Update tests to reflect http 201 on Post Claim
* Add "total", "oldest" and "newest" to queue stats
* feat(wsgi): claim creation returns 201
* Add Tests for GET/HEAD queue
* Update oslo-incubator requirements
* feat(transport): place request size limit for JSON
* Don't check for active messages
* Use queue's name and project to get messages
* Test for bulk delete of messages
* feat(api): GET and HEAD methods on queue
* Update tests to reflect queue metadata changes
* Implement v1 JSON Home Document
* feat(wsgi): message bulk deletion
* feat(storage): message bulk deletion
* Fix active index's order
* Sort everything by K
* Tell \_list queries what index to use
* Verify headers in server response
* refactor: \_basic\_message builder for mongo driver
* Gate on Python 3.3
* Include queue ID in unclaim to trigger use of index
* refactor: get single message in storage
* Adds test for include\_claimed flag
* fix(typo): Phython to Python
* Tests for out of range integers
* Implements new metadata endpoint
* feat(storage): separate queue set\_metadata()
* Exception messages are no longer marked as translatable
* Add support for listing claimed messages (transport)
* Add support for listing claimed messages (storage)
* feat(transport): define acceptable integer range
* chore: drop unused bulk message support on /queues
* chore: switch to py3 print function
* feat(wsgi): check for client media type support
* Add Test for Health endpoint
* Fix Message Tests
* feat(storage): do not restrict the container type
* Log all transport actions
* Cleanup PATCH Claim Tests
* Print caught exceptions in cli
* Replace foo.next() with next(foo)
* fix(wsgi): patching claims only requires "ttl"
* fix(wsgi): a non-existing queue stats returns 404
* Fix route for bulk-get message by ID
* Update README and make it more explicit
* Handle AutoReconnect errors
* Add test for bulk delete of messages
* Implement grace period for claimed message lifetimes
* Implement health endpoint for WSGI driver
* Fix Verification for Bulk Inserts
* Factor out entry point helper and apply to marconi.cmd.server
* Fixed pep8 dependency conflict
* Refactored storage controllers into standalone modules
* System Tests - Switch from robot to nosetests
* Remove project ID from the URI
* Get several messages by ID using a queue filter parameter
* Don't sink stdout when running unit tests
* Get messages by id
* Set Falcon version in requirements.txt
* Edited the READMEs to improve layout and prose
* Added some de-facto style guidelines to HACKING and fixed violations
* Update marconi.conf-sample to support stevedore
* Migrate to stevedore
* Removing cliff from dependencies
* Rename pip-requires / test-requires into (test-)requirements.txt
* Migrate to pbr
* Log retry attempts resulting from parallel message posts
* Move log.setup to Bootstrap and use cfg.CONF opts
* Guarantee FIFO/once-and-only-once delivery when using MongoDB
* Add Verification for List Queue
* Pass content length to req.stream.read() in WSGI transport
* Make sure transport's conf are registered
* Wrap transport's app with keystoneclient's middleware
* Replace gunicorn with wsgiref
* Add System Tests
* Don't use BaseException.message
* Properly handle message post with an empty iterable
* Expand controller abbreviations in WSGI resources
* Clean up exception handling in the WSGI transport driver
* Use oslo's log
* Rename bin package into cmd
* perf: Decrease time to create a claim by ~1 us
* refactor: Hoist helpers.expect into package namespace
* style: Fix flake8 and hacking errors
* Rename tenant into project
* Raise NotFound when an invalid ID is passed
* style: Migrate to the new hacking package on pypi
* style: Enable flake8 with proper exclusions
* Set messages ttl to claims ttl
* Fix tests which were broken by incomplete changes
* Switch to flake8 and fix errors
* A helper to remove None value entries from a dict
* Support list queue pagination in transport
* Support list queue pagination in storage
* Message listing switches to the new API
* Define the new pagination API in storage base
* Use ttl indexes as message scrubber
* Add simplejson into dependency
* Support the new claim TTL semantics in SQlite
* Get rid of SQlite's own test code
* Support message deletion with claim in MongoDB
* A self-format exception, ClaimNotPermitted
* Bugfix: Deleting a claimed msg is idempotent
* Move SQlite ID tests to driver-specific tests
* Let the storage tests cover the SQlite driver
* All endpoints in WSGI pick up the faulty driver
* Make Paste use default configs
* Fix a bug in test; "href" needs to be splitted
* Bugfix: Exclude expired claimed messages in stats
* Count "claimed" and "free" msgs in Queue stats
* Bugfix: Do not claim expired messages in SQlite
* Queue mgmt picks up the faulty driver in WSGI
* Delete messages when a queue is deleted
* Improved mongodb's storage queries and indexes
* Make use of simplejson in the transport layer
* fix: Enable reading from secondaries in the MongoDB driver
* Bugfix: respond 204 if no message get claimed
* Log the traceback as well
* Immigrate SQlite message tests to storage tests
* client\_uuid is not optional to POST messages
* Added total, claimed, expired to queue stats
* chore: Remove bin/marconi-self-host
* Queue stats returns claimed, expired, and total
* Config module no longer remember cli args
* Added gunicorn as server application manager
* Remove unused code in storage
* Implemented marconi-server entry point
* Queue stats in MongoDB
* Add the "href" field to listing queues
* Use "href" instead of "id" in the claimed messages
* Use "href" instead of "id" in the message body
* Make use of the features in falcon 0.1.3 & 0.1.4
* Queue Stats in WSGI
* List queues in WSGI (w/o paging, but compatible)
* Delete queue in WSGI
* Check for malformed JSON when creating a queue
* Claim support in WSGI
* ClaimMessage implementation for mongodb
* Do not allow updating an expired claim in SQlite
* Bugfix: exclude expired messages in Queue stats
* ClaimMessage Base Tests
* Return (claim\_id, message\_iter) in SQLite create()
* Raise self-formatted exceptions in SQlite
* Don't call super on queue deletion
* Set 'Content-Location' on get-messages correctly
* MessageController implementation for mongodb storage
* Rename QueueResource to queues.ItemResource
* Claim messages in SQlite
* Message support in WSGI
* split message's get method in 2 separate methods
* Suppress some Coverage report output
* Improve the documentation of the config module
* Message support in SQlite
* Use metadata instead of \*\*metadata for claim's updates
* Keystone Authentication
* test: Added mongodb and faulty storage tests, and made them pass
* style(HACKING): Add notes about whitespace, naming, and wrapping
* chore: Remove unused module (superseded by bootstrap)
* Bootstrap now dynamically imports storage and transport modules
* style: Enable pep8 warnings/errors and fix ensuing chaos
* SQlite storage improved
* feat(transport.wsgi): Create or update queue
* chore: Remove unused test
* refactor: Rename AUTHORS so that it doesn't keep getting overwritten
* refactor: Rename TestSuite to TestBase
* refactor: Rename Kernel class to make it less confusing
* QueueController for mongodb storage
* refactor(tests.util): Remove prepare method support
* Implementation of the reference storage
* Add py26 to tox.ini
* Move .set\_cli and .load to the project() object
* Metadata is not optional (to storage)
* Replace create / update with upsert
* Added tenant to the \*ControllerBaseTest
* Updated README file with Marconi's goal
* Implement some logic in abstract methods
* Changed Maintainer from OpenStack LLC to OpenStack Foundation
* Add gettext support
* fix(nose): Comment out detailed-errors to workaround a testtools+nose bug
* fix(tox): Address warnings
* Decentralized configuration
* Use issublcass instead of isinstance
* Implements base classes  for storage controllers
* doc(transport.driver\_base): Add docstrings
* Added hacking file
* Move marconi.common.Kernel to marconi.Kernel
* Switch to oslo.config
* Ignore vim backup files
* doc: Make file headings consistent, and update docstrings per the proposed HACKING guide
* feat(Kernel): Demonstrate wiring up endpoints
* test: Add test suite utility class and sample conf
* chore: Stub out how the kernel will be configured, and connect transports and storage
* chore: Setup directory structure
* Added license to setup.py
* Added oslo-config as dependency
* Fixed setup, tox and requirements
* Added files to gitignore
* Add README
* Initial import
