CHANGES
=======

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

* Fix small bugs with cql quating and unicode encoding
* Add recognition of 'INSERT IF NOT EXISTS'
* Integration test scenarios
* Redesign json request validation
* Add rate limiting per tenant
* Next version is 2014.2
* Fixed RTD documentation generation
* Fixes bug with duplicated index name
* Adds configuration guide
* Added hacking as test requirement
* Add map data type tests
* Work around the issue with random PYTHONHASHSEED
* Renamed testenv cassandra-impl to cassandra-integration-tests
* Added script for installation cassandra via ccm
* Refactoring for map data type support
* Fix using wrong variable
* Fix table info synchronization
* Test tenant isolation mechanism
* Added support for ADD and DELETE actions
* Add installation guide
* Adds tempest tests on list tables
* Add notifications to streaming API
* Update requirements file matching global requ and add the six module
* Fix storage tests after notification patch merging
* Disable data item level operation events for message queueing
* Adds documentation from docstrings
* Implement continuous reconnection to cassandra cluster
* Add negative test cases for streaming API
* Add tempest tests for streaming API
* Add streaming API devstack integration
* Fix eventlet conection reactor close method logic
* Modifies tempest tests on creating table and batch write
* Fixed documentation formatting on readthedocs.org
* Added packing Cassandra of logs
* Fix streaming API
* Integrate with Notification System
* Adds developer guide
* Add user guide
* Replace gevent with eventlet
* Adds documentation
* Fix expected condition bug
* Fixes falure on sortedset serialization
* Add gunicorn support to streaming API
* Added openstack theme for document generation
* Adds cassandra keyspace creation on first table creation
* Bulk data load
* Adds batch get item operation
* Add new options to config
* Removed licence headers from empty files
* Fixed DELETE action in update_item method
* Added update_item REST API
* Upgrade cassandra version to 2.0.8
* Copyright headers fixed
* use LOG instead of logger as name for the Logger object

2.0.5
-----

* Moves some tempest test to stable directory
* Fix put item with blob attr test
* Fixes bug with query request body validation
* Adds gag on put_item request with return_values ALL_OLD
* replace string format arguments with function parameters

2.0.4
-----

* Fix blob attribute value encoding/decoding
* Fix test for async table delete operation
* Adds tempest cli tests
* fixed several pep8 issues
* Create async worker for create table and delete table
* fixed pep8 issue E128
* Small fixes after delete_item merging
* change assertEquals to assertEqual
* Adds tempest tests for put item functionality
* debug level logs should not be translated
* Adds cleanup to all tempest tests
* Update Cassandra python-driver
* Add "Connection" HTTP header to response
* Add tempest test for put item
* Implement the RESTFul API of DeleteItem operation
* Return list of ExpectedCondition in parsing
* Added cassandra to packages in setup.cfg
* Storage refactoring for async table creation pluggability
* Added keystone v3 support
* Add check before get item
* Added $(tenant_id)s to MagnetoDB endpoints
* Changed cassandra version from 2.0.6 to 2.0.7
* Enable keystone token auth and ec2 auth
* Adds tempest tests on ReST API batch_write
* Added needed settings for keystone integration
* Add constraint to parser.Parser.parse_key_schema
* Adds new tempest tests on ReST API get item
* Adds new tempest tests on ReST API query
* Adds new tempest tests on ReST API create_table
* Moved magnetodb config files to /etc/ directory
* Added new artifacts for tempest in html format
* Added function for creating keystone credentials
* Move test_describe_table to stable

2.0.2
-----

* Fix small bugs
* This implements the RESTFul API of DeleteTable operation
* Added CentOS support
* Use new fault handler for API v1
* Add ability run tempest tests separate by categories
* Add fault wrapper middleware
* Add json import CLI tool
* Adds tempest tests on ReST API query
* Adds tempest tests on ReST API put_item
* Changed cassandra version from 2.0.2 to 2.0.6
* Fix IndexError in jsonschema validation
* Redesign indexes on projections
* Used OpenJDK7 as default java instead of OracleJDK
* Fixes bug with not using tenant id on list_tables ReST request
* Uses tempest.conf from upstream tempest
* Fixed exit code of tempest tests
* Add batch_write to cassandra impl
* Modified hooks for tempest
* Adds tempest tests on ReST API create_table and describe_table
* Added MagnetoDB artifacts for publishing in Infra
* Adds tempest tests on ReST API query
* Add batch_write_item API v1 method
* Add dummy version of batch_write to cassandra impl
* Separates tempest api tests to categories
* Fix ability to start magnetodb service after reboot
* Improve devstack integration with new features
* Changes test tenant in tempest rest tests
* Change default listen port from 8080 to 8480
* Added Execute permission for scripts
* Fixed adding of address to loopback interface
* Change flake8 settings for 'openstack' directories
* Adds tempest tests on ReST API get_item
* Add post_test_hook and pre_test_hook for devstack gate as part of Infra integration
* Add scripts for integration with devstack
* Add OS API 'query' method
* Get rid of empty secondary indexes in create_table
* Add OS API 'scan' method
* Openstack API describe table
* Add put_item API v1 method
* Adds MagnetoDB JSON client for tempest
* Add get_item API v1 method
* Separate parsers for DynamoDB and OpenStack APIs
* Adds unittests for create_table and list_table
* REST API Create table
* Adds dummy put_item API method
* Adds tempest tests to cover update_item functionality
* Adds explicit version of blist
* Fixes tempest tests to fit DynamoDB API
* Timeouts for cassandra storage backend tests increased
* Fixing a couple spelling mistakes
* Test discovering logic fixed
* Separation of tests by folders and gate-docs fix
* conditions support implemented, cassandra storage backend refactoring done
* Try to get user-id and tenant-id from ec2 auth data Use api-paste.ini as the only source of configuration for ec2 auth
* Support for user and system tables scope was added
* EC2 Authorization
* The version is 2.0.1 now
* Added 'discovery' module in order to support py26 unit tests running
* timeouts for creating and dropping keyspaces during tests are fixed
* Fixed python-cassandradriver version
* test is fixed due to error handling implementation
* python-driver patch updated
* test_scan_limit_scanfilter updated to test limit behaviour
* unit tests are fixed, pep8 rules are satisfied
* global environment initialisation is refactored
* unit tests are fixed, pep8 rules are satisfied
* Catch driver specific 'AlreadyExists' exception on table create
* Removed unnecessary comment
* Added verification of error message to assertBotoError mechanizm
* Check for table existence before create
* Added strong consistency for items reading in tempest tests
* API calls throw AWS compatible exception
* Fixed one of Scan tests
* Fix NULL and NOT_NULL conditions in 'scan'
* immediate schema refresh after DDL operation was removed
* Add missing quotes around column names in queries to cassandra
* 'Scan' request parsing fixed
* waiting for schema agreement was fixed
* New tempest tests for Scan. Minor updates of other tests
* logging improved. typo was fixed
* logging improved
* Add consistency processing on writes to cassandra
* API update
* table caching implemented
* Added tests for Scan. Minor fixes in other tests
* Create table bug was fixed
* Updated test for bug/1267526
* Fixes bug 1267526, API fixed
* Fixed naming
* Basic error handling has been introduced. Fixes bug#1267052
* Fixes bug: 1267526
* API: 'Scan' support
* Cassandra backend: support for extra conditions for 'scan'
* Cassandra backend: paging for 'scan'
* Cassandra backend: 'exclusive_start_key' full version
* waiting for schema agreement after delete query
* small refactoring and bug fixing
* small refactoring and bug fixing
* added gevent 2.7
* Added tests for CreateTable. Implemented approach for error handling testing
* Added tests for CreateTable. Implemented approach for error handling testing
* spec fix
* gunicorn2 -> gunicorn27
* pathed gunicorn for Python 27 (2)
* pathed gunicorn for Python 27
* restore previously removed file
* fixed startup script (path to config file)
* fixed spec
* fixed setup.cfg
* added gunicorn support to SPEC
* duplicate validation fixed
* gunicorn support added
* gevent support added
* Rebase from upstream
* Added autogeneration of table name to test_load_1.py
* Implement jmeter test for get_item
* Added autogeneration of table name to test_load_1.py
* pep8 formatting was fixed
* spec fixed (magnetodb-api -> magnetodb-api-server)
* Implement jmeter test for get_item
* spec fixed
* refactoring for better compatibility with uwsgi and other application servers
* completed the 2nd test for query
* added new test for query
* Small fixes to deployment howto
* Link to deployment HOWTO added to README
* Update deploy_magnetodb_howto.rst
* Update deploy_magnetodb_howto.rst
* Update deploy_magnetodb_howto.rst
* Update deploy_magnetodb_howto.rst
* deployment howto added
* small fixes for query after functional testing
* storage initialization at start was implemented
* test_tables updated according to fixes in responses format
* Test for query added
* Test for query added
* small refactoring
* duplicated code was removed
* pep8 rules were fixed
* last merge fix
* Cassandra backend: 'exclusive_start_key' support in 'select_item' (simple 'query' version)
* small fixes after functional tests result
* Load test refactored
* Structure of tempest directory changed. Smoke tests for Table and Item entities implemented. Code cleanup done
* MagnetoDB API: preparations for 'scan'
* storage impl select call fixed
* Query method was fixed. Storage interface changed tests were fixed
* Query method was fixed. Storage interface changed
* delete_item method was implemented
* heat template fixed
* fix for new DynamoDB API
* Cassandra backend: disable rollback on fail during create table
* implemented scenario
* alternative implementation using Table and other classes
* fix for storage model
* updated
* tests and backend was fixed
* tests and backend was fixed
* updated config
* added specs and heat/jeos templates
* Cassandra backend: 'select count' implemented
* tempest initial commit
* select_method improvement
* query method implemented
* API: Scan
* oslo.common file reverted
* oslo.common file reverted
* get_item method implemented
* Test added for put_item
* Put method implemented
* Cassandra backend: put item Conditional updates are not supported
* Cassandra backend: update item Conditional updates are not supported 'Add' operation is not supported
* put_item schema added
* Small fixes
* Adding MANIFEST.in for packaging
* Startup script fixed
* Storage interface fixed
* Removed mock, mox3 from dependencies. Code polishing
* Moved responce formatting to action class. PEP8 fixes
* Cassandra backend: select item with conditions on indexed fields Added 'system_hash' field
* Cassandra backend: select item
* Allow new features with tox v1.6 Reasons: - tox update v1.6 Changes: - tox 1.6 allows us to skip the sdist step, which is slow. - It also allows us to override the install line. In this case, it's important as it allows us to stop getting pre-release software we weren't asking for
* Fixed TableDelete test
* Describe, Delete table API implemented
* Cassandra backend: delete item 'if' Tests disabled since driver does not support conditional updates
* Cassandra backend: delete item 'where'
* In progress
* Small fixes
* Small fix of storage impl default value
* Cassandra backend: tests refactored for crud on tables
* Cassandra backend: AttributeType usage fixed
* Small fix fir config default value
* Recactoring done
* Recactoring done
* Cassandra backend: Cassandra-to-storage type mapping refactored
* Header fixed
* Headers fixed
* ModelBase introduced to provide unified __eq__ and __hash__
* Cassandra backend: describe table
* Create table via Cassandra backend: attribute type processing fixed
* Create table via Cassandra backend hardened
* Cassandra backend: delete table, list table, create table
* Create Table api method implemented
* Cleaning licence headers
* Storage interface api not_indexed_condition_map renamed
* list_table api method fixed
* Storage interface fixed
* Storage implementation skeleton fixed
* Cassandra python driver dependency added
* Storage interface implemented
* Added links to external resources
* Naming corrected. flake8 check passes now
* Part of Storage Interface added
* Naming corrected
* Updaing exceptions with OpenStack style
* pep8 rule was fixed after previous commit
* Copyrights are changed
* Added context middleware support
* request validation added, storage backend skeleton implemented
* Added multi-api implementation support and first step of Amazon DynamoDB compatible api implementation were made
* Added some useful entries to .gitignore
* Added boto based api testing skeleton
* Missed requirements added
* Project skeleton created
* Added link to repo into readme file
* Initial commit
