CHANGES
=======

23.0.0.0rc1
-----------

* Fix default value for CLOUDKITTY\_FETCHER\_METRIC
* Remove tests with Ubuntu 22.04
* Introduce start and end dates on rating rules
* doc: add a install-debian.rst
* Zuul: do not use USE\_PYTHON3
* Remove Python 3.9 support
* Log Prometheus query at debug level
* Replace deprecated datetime.utcfromtimestamp
* Replace deprecated datetime.datetime.utcnow
* Use PortOpt for port option
* CI: Make cloudkitty-grenade-job voting again
* Add wsgi module to cloudkitty
* Remove tags from README
* Improve devstack plugin configuration
* CI: Run periodic stable jobs
* Update master for stable/2025.1

22.0.0
------

* Add secure RBAC role as new default
* Allow Multiple Ratings for the same Metric on Prometheus
* Add handling to metric collect error
* Remove set\_state function and its references
* Replace own hacking checks by built-on ones
* Drop Python 3.8 support
* Remove remaining use of iteritems
* Update gate jobs as per the 2025.1 cycle testing runtime
* Remove default override for config options policy\_file
* Drop workaround for old setuptools
* reno: Update master for unmaintained/2023.1
* Remove unused PrometheusClient method
* Bump hacking to 7.0.x
* Un-deprecate Elasticsearch
* Fix test suite with Python 3.12
* Correct release note formatting
* Add opensearch/elasticsearch datastreams support
* Ensure [fetcher\_prometheus] prometheus\_password is hidden
* Update master for stable/2024.2
* Remove import of deprecated module

21.0.0
------

* Bump hacking minimum version to 6.1.0
* Fix v1 summary/total with ES/OS storage backend
* CI: Remove grenade branch variables
* reno: Update master for unmaintained/zed
* Fix API report requests when using opensearch
* Remove get\_state function and its references
* Add rating modules PUT endpoint to v2 API
* Remove remnants of RTD documentation
* Update README content
* Update master for stable/2024.1
* Update example pyscript at documentation

20.0.0
------

* Set Elastic/OpenSearch jobs as voting in Zuul
* Add grenade tests
* reno: Update master for unmaintained/xena
* reno: Update master for unmaintained/wallaby
* reno: Update master for unmaintained/victoria
* Replace usage of LegacyEngineFacade
* Add support to InfluxDB v2 as storage backend
* Add requests to requirements
* Removal of Monasca fetcher and collector
* Fix devstack runprocess for cloudkitty api
* reno: Update master for unmaintained/yoga
* Update python classifier in setup.cfg
* Add description option to a rating metric definition
* Add OpenSearch as a v2 storage backend
* Add groupby options by different timeframes
* Fix retrieval of reprocessing tasks
* Optimize CloudKitty reprocessing process
* Patch for \`use\_all\_resource\_revisions\` option
* Use correct metadata for metrics gathered from gnocchi
* Remove the manual patch for WSME
* Fix a concurrency issue when locking reprocessing tasks
* Clean up release note
* Remove cloudkitty.conf.sample from docs
* Update master for stable/2023.2

19.0.0
------

* Fix docs jobs in the CI that were broken due to Sphinx upgrade
* Use DevStack VENV path
* Fix random unit test failures
* Create concepts definition page for CloudKitty
* Remove \`state\` field from API
* Improve reprocessing task documentation
* Optimize Gnocchi fetcher processing time
* Fix formatting in release note
* Add detail about reprocessing all scope IDs in reprocessing API
* Optimizing SQL queries that filter on a time range
* Update master for stable/2023.1
* Fix spacing in log message
* Allows multiple rating types for same metric for gnocchi

18.0.0
------

* Add missing "." for api-ref
* Optimize Gnocchi fetcher
* Use new get\_rpc\_client API from oslo.messaging
* Fix PyScripts processing
* Make tox.ini tox 4.0.0 compatible
* Add missing api-ref envlist to tox
* Fix typo in docs command sample
* Move API docs to \`api-ref/source\`
* CI: deploy OpenSearch 1.x instead of Elasticsearch
* Create indexes to allow SQL rewrites and optimizations
* Add deprecation notice for Monasca
* Announce future deprecation of Elasticsearch
* Validates the period compatibility of reprocessing dates
* [docs] Install cloudkitty requirements using constraints
* Switch to 2023.1 Python3 unit tests and generic template name
* Update master for stable/zed
* Fix compatibility with oslo.db 12.1.0

17.0.0.0rc1
-----------

* Add MAP mutator
* Fix response format 'total' for v2 dataframes API
* Replace deprecated assertRaisesRegexp
* Allow rating rules that have 12 digits in the integer part of the number
* Add API to create scopes
* Drop lower-constraints.txt and its testing
* [CI] Move queue setting to project level
* Fix incorrect use of voluptuous.Coerce
* Add rating modules GET endpoints to v2 API
* Include /v2 in public routes for keystone auth
* Add Python3 zed unit tests
* Update master for stable/yoga

16.0.0
------

* Fix v2 API dataframes get policy check
* Introduce reprocessing API
* Raise CollectError when Prometheus query returns an error
* Avoid DivByZero if there is no metrics to collect
* Fix description of orchestrator parameters
* Update sample configuration file
* Support customising Prometheus queries
* Updating python testing classifier as per Yoga testing runtime
* Fix quote API
* Add support for multiple value filters
* Add missing whitespace in log message
* Introduce "response\_format" for the V2 summary API
* Adding two options in fetcher\_keystone
* Add active status fields in the storage state table
* Add Python3 yoga unit tests
* Update master for stable/xena

15.0.0
------

* Set force\_granularity: 300 in metrics.yml
* Custom query Gnocchi collector
* Replace deprecated import of ABCs from collections
* Changed minversion in tox to 3.18.0
* Fix cloudkitty exception handling from gnocchiclient
* Deprecate \`state\` field and propose \`last\_processed\_timestamp\` field
* SQLalchemy not creating constraint for Enum on version 1.4.0+
* setup.cfg: Replace dashes with underscores
* Fix tests cases broken by flask >=2.0.1
* docs: Update Freenode to OFTC
* Fixed PyScripts.start\_script method to return the updated data object
* [ussuri][goal] Update contributor documentation
* Use py3 as the default runtime for tox
* Add release note for admin\_or\_owner policy fix
* Fix typo in policy rule description
* Fix default admin\_or\_owner policy expression
* Add Python3 xena unit tests
* Update master for stable/wallaby
* Add the NOTNUMBOOL mutator

14.0.0
------

* Use recreate='auto' in storage\_states migration
* remove unicode from code
* Remove six
* Add doc/requirements
* [goal] Deprecate the JSON formatted policy file
* Update TOX\_CONSTRAINTS\_FILE
* Update lower-constraints
* Replace deprecated UPPER\_CONSTRAINTS\_FILE variable
* Create 'use\_all\_resource\_revisions' for Gnocchi collector
* Increase cost fields to 28 digits precision
* Update sample configuration and policy files
* Add Python3 wallaby unit tests
* Update master for stable/victoria
* Log the number of tenants loaded by the fetcher

13.0.0.0rc1
-----------

* bump py37 to py38 in tox.ini
* Bump hacking min version to 3.0.1
* Replace assertItemsEqual with assertCountEqual
* Make Gnocchi connection pool configurable
* Add a Monasca fetcher
* Add a /healthcheck URL
* Fix empty metadata exception in Prometheus collector
* Add quantity mutation to Prometheus collector
* Custom fields in summary get API
* Switch to newer openstackdocstheme and reno versions
* Add Python3 victoria unit tests
* Add py38 package metadata
* Adjust hacking tests to fix py38 support
* Replace tz.UTC with dateutil.tz.tzutc()
* Update hacking for Python3
* Stop to use the \_\_future\_\_ module
* Use unittest.mock instead of third party mock
* Update master for stable/ussuri
* Fix docs build error due to duplicate references
* [devstack] Collector Variable

12.0.0
------

* [ussuri][goal] Cleanup drop python 2.7 support
* Use Keystone v3 API by default in fetcher
* Fix processing of "rate:xxx" re-aggregation configuration
* Standardize aggregation methods and granularities for Gnocchi collector
* Add support for the range\_function field to the Prometheus collector
* Add support for the query\_function field to the Prometheus collector
* tox: Keeping going with docs
* Update oslo.policy and oslo.context usage
* Allow reaggregation method to be specified in the gnocchi collector
* Switch import's behaviour to absolute imports for json module
* Check for duplicates in "groupby" and "metadata" for each metric
* Raise an exception in case of an invalid configuration file
* Fix 500 errors in the API when request context bears no project\_id
* Introduce cloudkitty.utils
* Build docs with -W
* Load drivers only once in the v2 API
* [ussuri][goal] Drop python 2.7 support and testing
* Make cloudkitty build reproducible
* Replace ModuleNotFoundError with ImportError
* Support grouping by timestamp in GET /v2/summary
* Add developer documentation about fetcher implementation
* Change werkzeug import paths
* Support cross-tenant metrics in monasca collector
* Fix filtering on dataframe endpoints
* Switch to Ussuri jobs
* Update .zuul.yaml to run separate tempest tests for each API version
* Use "interface" option for monasca endpoint discovery
* Update master for stable/train

11.0.0
------

* Add Elasticsearch v2 storage driver configuration documentation
* Allow missing '/' in api.v2.utils.do\_init()
* Register keystone auth options with keystoneauth1 helper functions
* Remove deprecated config section names
* Replace deprecated devstack authtoken function
* Add an API migration status table to the roadmap
* Change logging for generic Exceptions
* Add support for Elasticsearch to devstack plugin
* Add support for PDF doc generation
* Add an ElasticSearch v2 storage driver
* Add a v2 API endpoint to retrieve DataFrame objects
* Use cloudkitty.tzutils.diff\_seconds() in prometheus collector
* Use tzutils functions in gnocchi collector
* Replace eventlet with futurist
* Add a "force\_granularity" option to gnocchi collector's extra\_args
* Convert timestamps to strs before passing them to gnocchiclient
* Store collect period in InfluxDB driver datapoints
* Remove transformers from the codebase
* Pass 'type' as metric\_types in /v2/summary endpoints
* Fix validation of begin/end in GET /v2/summary endpoint
* Update tempest jobs
* Fix malformed InfluxDB query (LIMIT and OFFSET inverted)
* Added a roadmap to the developer documentation
* Add lower-constraints job
* Update bandit version
* Add a v2 API endpoint to push DataFrame objects
* Fix GET /v1/dataframes endpoint
* Fix RST markup in v2 API developer documentation
* Add DataPoint/DataFrame objects
* Add support for empty or missing "extra\_args" in metrics config file
* Introduce validation utils
* Updated the documentation's rst markup
* Fix StateManager.set\_state() logic
* Fix call to storage.delete() in ScopeEndpoint RPC endpoint
* Use isoformat() instead of isotime() in InfluxDB storage driver
* Define new 'cloudkitty-tempest-full-ipv6-only' job in gate
* Make cloudkitty timezone-aware
* Remove usage of unix timestamps
* Removing author identification in all files

10.0.0
------

* Do not re-instantiate a StateManager for each request in /v2/scope
* Update PUT /v2/scope API reference
* Fix v1 hybrid storage python2 python3 string type comparison in memory
* Add a v2 API endpoint to reset the state of different scopes
* Add an option for the metric project to the Monasca collector
* Add a "delete" method to the v2 storage interface
* Add quotes to InfluxDb queries
* Add Monasca collector auth options to the sample config
* Bump openstackdocstheme to 1.30.0
* Add a v2 summary endpoint
* Update the "admin/configuration" section of the documentation
* Modify the url of upper\_constraints\_file
* Blacklist sphinx 2.1.0 (autodoc bug)
* Add python 3.7 classifier to setup.cfg
* Use openstack-python3-train-jobs for python3 test runtime
* Update the "architecture" section of the documentation
* Fix sqlalchemy grouping on v1 storage
* Fix Prometheus fetcher error
* Update sphinx dependency
* Use a hash for lock names
* Add a v2 API endpoint to get scope state
* Fix bandit job
* Add 'rate:xxx' to gnocchi collector aggregation methods
* Remove "group\_filters" parameter from v2 storage interface
* Addition of catch block to avoid hiding Gnocchi schema validation errors
* Updated tooz lock name
* Updated constraints on storage state
* Add Fetcher documentation
* Fix section name in config file generation
* Add a base resource for v2 API endpoints
* Add i18n support for error message
* Replace git.openstack.org URLs with opendev.org URLs
* OpenDev Migration Patch
* Retrieve metrics in eventlet greenthreads
* Fix rounding in v2 storage unit tests
* Add missing import to cloudkitty/common/config
* Implement Prometheus fetcher
* Fix InfluxDB storage's "\_point\_to\_dataframe\_entry" method
* Make cloudkitty-processor run several workers
* Fix requirements.txt
* Dropping the py35 testing
* Update tox to 2.0
* Update the default policy rule for /v1/storage/dataframes
* Add storage backend documentation
* Bootstrap the v2 API
* [devstack] Setting [collect]/wait\_periods to 0 by default
* Fix HashMap field mapping comparison
* Add bandit for security static analysis and fix potential security issues
* Update the default metrics.yml file
* Update admin documentation for Prometheus collector
* Update master for stable/stein

9.0.0.0rc1
----------

* Change configuration schema and query process for Prometheus collector
* Add HTTPS and auth support to Prometheus collector
* Skip a cycle instead of retrying if a metric is not found in gnocchi
* Update the devstack plugin
* Fix InfluxDB storage total() method pagination
* Added details to storage state
* Fix gnocchi collector metadata collection
* Add a custom JSONEncoder
* Update the hashmap module documentation
* Moved Rating module introduction to Rating index
* Add collector documentation
* Add some developer documentation for collectors
* Change the default storage backend to v2/influxdb
* Add a tempest job running against python3 devstack
* Support upgrade checks
* Delete v2 gnocchi storage
* Remove the fake and meta collectors
* Make devstack-tempest job voting
* Added help to gnocchi collector options
* Remove the fake fetcher
* Remove the gnocchi transformer
* Add support for cafile option in the gnocchi fetcher
* Add an introduction to the documentation
* Change log message when loading v2 storage
* Made metric conf validation more generic
* Changed influxdb v2 storage option 'cacert' to 'cafile'
* Change the documentation layout
* Add missing help kwarg to oslo option in influx storage
* Adding an InfluxDB storage backend
* Changed author email
* Make tenant\_id a string in hashmap models
* Convert legacy zuul jobs to new format
* Don't raise NoDataCollected in case of collect error
* Don't update the state of a scope when no data was collected
* Remove repetitions in hashmap.rst
* Don't heartbeat manually in the cloudkitty orchestrator
* Remove oslo\_i18n.enable\_lazy()
* Enable python3.7 testing jobs
* Fixed Mapping Update API returned status 409 with duplicate project
* Adds doc8 check to pep8
* Update fetcher options
* Support pagination in v2 storage total()
* Use global-requirements for requirements
* Add scope\_id to orchestrator log
* Change configuration section names
* Don't quote {posargs} in tox.ini
* Handle the scope id as a regular groupby attribute in storage
* Use python3 for documentation builds
* [Docs] Change the cli to fit the latest client
* Add support for cafile option in the gnocchi collector
* Hard to read README from github because of wrong format
* Use openstack-tox-cover template
* Update the formulation on OpenStack release for RDO in the documentation
* Import legacy-cloudkitty-dsvm-install
* Add a gnocchi fetcher
* add python 3.6 unit test job
* switch documentation job to new PTI
* import zuul job settings from project-config
* Update reno for stable/rocky

8.0.0
-----

* Adding a v2 storage backend
* Add Prometheus Collector
* Bump the openstackdocstheme extension to 1.20
* Add an option to configure monasca endpoint type
* Ensure resource\_key is in groupby in Monasca collector
* Remove tail\_log in the devstack plugin script
* Handle pagination of gnocchi's resource search API
* Switch to stestr
* Remove help message about ZeroMQ driver
* Add multi-region support for gnocchi collector
* Add storage configuration option to devstack plugin
* Force python2 for documentation generation
* Improve metrics configuration
* add release notes to README.rst
* Collector cleanup
* Allow gnocchi collector to be used outside of OpenStack
* Switch to oslo\_messaging.ConfFixture.transport\_url
* fix tox python3 overrides
* remove use of unicode type for python 2/3 compatibility
* fix "identity\_uri" in install document
* Remove collector from storage
* Fix 400 on /v1/storage/dataframes
* Removes unnecessary utf-8 encoding
* Add some unit tests for cloudkitty/api/v1
* Add no\_group parameter to hashmap "list\_\*" calls
* Allow Cloudkitty to collect non-OpenStack metrics
* Replace usage of 'user' by 'user\_id'
* Update Devstack documentation and README
* Replace usage of 'tenant' by 'project\_id'
* fix a typo in documentation
* Update mysql connection in doc
* Deprecate collector mappings
* Deprecate /v1/report/total endpoint
* Remove Ceilometer collector and transformer
* Remove gnocchi and gnocchihybrid storage
* Support connecting gnocchi on internal endpoint
* Update reno for stable/queens

7.0.0
-----

* Secure convert\_unit() function
* Add Apache License Content in index.rst
* Replaces yaml.load() with yaml.safe\_load()
* Use metric dimensions as metadata in monasca collector
* Make build reproducible
* Fix YAML configuration usage in monasca collector
* Pass project\_id in dimensions rather than query parameter
* Fix the typo and update the url links in doc files of cloudkitty
* Create state entry for tenant\_id in \_dispatch for hybrid storage
* Update default configuration for cors
* Utils: fix usage of iso8601\_from\_timestamp
* fix custom configuration file path
* Fix two mistakes of method description
* Zuul: Remove project name
* Refactor the storage backend
* Deprecate the ceilometer collector
* Manage metrics units in yaml configuration
* Remove use of unsupported TEMPEST\_SERVICES variable
* Use CK\_DBUSER for the mysql user in the documentation
* Use RABBIT\_USER for the rabbit user in the documentation
* Add Ceph Object Storage Usage service
* Minor documentation improvements
* Update fields of CSV reports
* Fix UsageEnd in CSV reports
* Don't run non-voting jobs in gate
* Policy in code
* Use metrics.yml in get\_time\_frame()
* Ensure compatibility with all versions of gnocchiclient
* Remove deprecated oslo\_messaging.get\_transport
* Fix metric name in etc/metrics.yml
* Remove deprecated APIs and method in cloudkitty
* Split metrology configuration from CK config file
* Fix devstack for gnocchi collector
* Fix wrong data in jsonfile generated by osrf writer
* Add app.wsgi to target of pep8
* Add a tempest plugin gate job
* Remove setting of version/release from releasenotes
* Fix Devstack plugin
* Update and replace http with https for doc links in cloudkitty
* Replace launchpad with storyboard in README
* Add a collector for Monasca
* Add rm to whitelist\_externals
* Update devstack/README.rst
* Update usage of gabbi in Cloudkitty test
* Allow authentification method to be chosen
* Update reno for stable/pike

6.0.0
-----

* Update the documentation layout and content
* Update URLs in documents according to document migration
* Add WSGI support for \`cloudkitty-api'
* Update log translation hacking rule
* Switch from oslosphinx to openstackdocstheme
* Update the documentation part about configuring cloudkitty
* Fix devstack: replace deprecated screen functions
* Remove usage of parameter enforce\_type
* Set access\_policy for messaging's dispatcher
* Refactor to use get\_month\_start\_timestamp directly
* Updates the installation part of the documentation
* Fix the gnocchi and gnocchihybrid storage
* Add 'rm -f .testrepository/times.dbm' command in testenv
* Add the missing configuration when generating cloudkitty.conf
* Remove log translations
* Improve the qty digit in sqlalchemy storage
* Fixing the gate
* Fix gnocchi metric collection
* Change the cloudkitty logo to use the official project mascot
* Assign the resource\_type when search resource by gnocchiclient
* Remove unnecessary setUp function in testcase
* Improve and simplify the gnocchi collector
* Fix incorrect rating for network.floating
* [Fix gate]Update test requirement
* Delete unused testenv:checkconfig in tox
* Fix usage of period configuration value
* Fix some mistake and format in docs
* Remove support for py34
* Modify the rule name in policy file
* Update reno for stable/ocata

5.0.0
-----

* Trivial: fix warnings when build\_sphinx
* Modify policy of get total/summary
* Rename yaml file to keep consistent format
* Refact Orchestrator
* Fix JSON serialization error with sqlachemy storage backend
* Fix compute service collection with ceilometer
* Trivial: add the missing period
* Add oslo\_debug\_helper to tox.ini
* Fix wrong option names and missed options in cloudkitty.conf.sample
* Get total price group by res\_type and tenant\_id
* Fix pep8 check error
* Improve User Experience by adding an info REST entrypoint
* Added release note for cloudkitty
* Add a note to indicate the change of default port
* Generate the needed configuration files for devstack
* [docs] Add rating module introduction
* The qty's type should be more precision in storage tables
* Replace oslo\_utils.timeutils.isotime
* Update the documentation to propose the usage of keystone v3
* Introduce hacking check to Cloudkitty
* Bring the begin/end checking before the storage module
* Ensure the exist of writer path
* devstack: support the gnocchi collector
* Don't include openstack/common in flake8 exclude list
* Add .idea and vim temp/swap types to .gitignore
* Delete the magic number
* Use keystone v3 instead of keystone v2 in cloudkitty's devstack plugin
* Remove discover from test-requirements
* Pin kombu to < 4.0.0 to fix gate error
* Add wrapper for decimal.Decimal objects in json.dumps()
* Replace six.iteritems() with .items()
* Show team and repo badges on README
* Add PyScript module documentation
* Fix devstack plugin compatibility
* Add Apache 2.0 license header to the alembic/script.py.mako
* Update the install docs
* Modify variable's using method in Log Messages
* Rename the gabbi filename to avoid GabbiSyntaxWarning
* Replaces uuid.uuid4 with uuidutils.generate\_uuid()
* Make begin and end optional when get dataframes
* Don't include \*/alembic/version/\* in flake8 exclude list
* Upgrade oslo.messaging to 5.2.0
* Enable DeprecationWarning in test environments
* Remove mox3 in test-requirement.txt
* Add http\_proxy\_to\_wsgi to api\_paste
* Enable code coverage report in console output
* Remove html\_static\_path from doc

0.6.1
-----

* Update outputs in "Hashmap rating module"
* Fix consistency on gnocchi storage commit
* Fix typo in the file
* ceilometer network.\* collector are not JSON serializable
* Update hashmap documentation
* Fix typos in docstrings
* Add volume\_type attribute to volume when gnocchi collector
* Change git url to openstack git in devstack doc
* Fix the image size unit from 'image' to 'MB'
* Specifies gabbi version in test-requirements.txt
* Fix state tracking in gnocchi storage
* modify the home-page info with the developer documentation

0.6.0
-----

* Added native gnocchi storage driver
* Add network.floating to Gnocchi collector
* Add fields to csv reports
* Fix network.bw.\* qty matching the unit by gnocchi collector
* Avoid error when iamge\_ref is None
* Add infos about fields in hashmap documentation
* Add Python 3.5 classifier and venv for cloudkitty
* Add CSV support to cloudkitty-writer
* Create DBCommand object after parsing
* ceilometer image collector is not JSON serializable
* Fix db api with hash rating
* Improve the rpc module
* Use local.conf instead of localrc in devstack doc
* Remove downgrade migrations
* Change LOG.warn to LOG.warning
* Remove rating SQL Schema Downgrades
* Remove db SQL Schema Downgrades
* Remove storage SQL Schema Downgrades
* Use international logging message
* doc: fix cmd for creating hashmap group
* Delete python bytecode before every test run
* fix the typo
* RootController: Use an index method instead of get
* Fix port hardcoded on APILink sample
* Changes default port from 8888 to 8889
* Fix loosing resource metadata in Gnocchi
* Correct concurrency of gabbi tests for gabbi 1.22.0
* Refactor gnocchi transformer
* Refactor ceilometer transformer
* Remove spec file since cloudkitty is in RDO
* Ensure module list is up to date in API tests
* Refactor transformer base
* Fix gnocchi support
* Add per tenant hashmap rules
* Add API check to verify PyScripts is loaded
* Added gabbi tests for hashmap module
* Clean constraints in hashmap fields table
* Fix issues with alembic constraint naming
* Added hashmap module documentation
* Rename hashmap mapping table to hashmap\_mappings
* Code cleanup of hashmap constraint migration
* Refactor storage-init command
* Refactor database models and migrations
* Fix missing requirement alembic
* Refactor writer command
* Refactor dbsync command
* Fix gnocchi UUID length in storage
* Fix the path of the logo for the README file
* Add a logo to the frontpage
* Fix devstack cleanup of data dir
* Replace subclassed RequestContext with base class
* Define context.roles with base class

0.5.0
-----

* Added support for an hybrid gnocchi storage
* Added gnocchi collector
* Migrate from keystoneclient to keystoneauth
* policy: fix the roles setup in the requests context
* Fixed devstack not creating folder for tooz locks
* Added distributed lock fixing horizontal scaling
* Fixed meta collector not applying mappings
* Added CORS support to CloudKitty
* Use IPOpt and PortOpt
* Updated from global requirements
* Improve default error handling on collector
* Cleanup unused conf variables
* Refactor keystone tenant fetcher
* Removes unused posix\_ipc requirement
* Test: make enforce\_type=True in CONF.set\_override
* Replace deprecated LOG.warn with LOG.warning
* Load wsgi app(api) with paste.deploy
* remove rating no match case
* remove setting for option verbose
* Modify noop module code in arch.rst
* drop py33 and py26 env test
* remove unused method in orchestrator
* Remove iso8601 dependency
* Deprecated tox -downloadcache option removed
* Fixed random failures in storage tests
* Loading scripts in memory when load pyscripts rating model
* Remove unnecessary parameter
* Put py34 first in the env order of tox
* Added unit tests for storage drivers
* Fixed \_NO\_DATA\_ insertion even when data was present
* The result of tenant list may be unpredictable
* Fixed Horizon static file compression in devstack
* Change not found HTTP status code from 400 to 404
* Move global variables to settings file
* Fix error when using keystone v3
* fixes error when get quote price from rpc
* modify api of report total
* Add .DS\_Store to .gitignore
* Add \*.swp to .gitignore
* Fixes sample rabbitmq config in doc
* Tenant fetcher sometimes return wrong result
* Added AuthPlugin support in devstack
* Remove useless LOG definitions
* Delegate log formatting to logging package
* devstack: enable cloudkitty services by default
* Added more API calls for HashMap rating module
* Removed version information from setup.cfg
* Fixed files to support liberty dashboard
* Updated files to the new namespace
* Update .gitreview for new namespace
* Added new rating module PyScripts
* Fix the sphinx build path in .gitignore file
* Added gabbi API tests
* UnconfigurableController returns 409 on all methods
* Removed default values on rating modules
* Fixed None value returned by report/total
* Added support for dynamic rating module reloading
* Fix the README file of the DevStack integration
* readthedocs doesn't allow multiple files anymore
* doc: document how to install from packages
* install doc: install policy.json in /etc/cloudkitty
* Added support for Keystone AuthPlugins
* Moving to Liberty cycle (0.5)

0.4.1
-----

* Preparing 0.4.1 release

0.4.0
-----

* Improved documentation
* Replace assertEqual(None, \*) with assertIsNone
* Use six.text\_type() in exceptions
* Update README.rst file
* Improve setup.cfg a bit
* Collector cleanup and six string types
* Fixed output option basepath not applied to writer
* Fixed mock tests failing due to deprecation
* Added dashboard integration's documentation
* Unused functions removal in writer
* \_\_commit\_data() raising exception on empty data
* Updated requirements to stable/kilo
* Bumped version of WSME
* Sync oslo modules
* Refactored meta collector API
* Fixed flag setting error after data commit to storage
* Fixed errors in ceilometer volume data collection
* Fixed hashmap migrations for postgresql
* Fix the Context hook
* Make keystone optional
* doc: enable ceilometer and horizon in devstack
* Enforce a default policy
* Changed network bandwidth from B to MB
* Fixed error when no field mapping was created
* Added a fake fetcher and collector
* Fixed tenant fetcher using Keystone objects
* Fixed empty dataset handling on CloudKitty storage
* Fixed dashboard installation with devstack
* Added support for dashboard in devstack
* Fixed collector unhandled exception management
* Added more resources to ceilometer collector
* Added implicit cast to decimal in rating total calculation
* Fixed API bug with parents UUID
* Added collection error catching
* Added new mapping type: threshold
* Fixed tenant list filtering with keystone fetcher
* Fix the config sample generator method
* Fix the broken options for tenant\_fetcher
* Update the devstack scripts
* Add ACL support on the API
* Added support for pluggable tenant fetcher
* Correct the authtoken options sample of installation
* Fixed problem with the NO\_DATA type in sqlalchemy
* Change the API storage path
* Fixed potentially uninitialized session in sqlalchemy storage
* Fix wrong order of arguments
* Fixed bug in sqlalchemy storage filtering
* Add option values log for cloudkitty-api
* Fixed regression in processors handling
* Fixed regression in RatingProcessorBase: nodata missing
* Fixed a bug with uninitialized usage interval in nodata
* Added CloudKitty client install to devstack
* Added support for rating module priority
* get\_rpc\_client has been renamed to rpc.get\_client()
* Make sure the RPC use str's
* Remove explicit oslo.messaging version requirement
* Fix the public access on /
* Fixed regression in the RPC module
* Renaming billing to rating
* devstack: configure keystone middleware
* Added handling of empty collections
* Added quote calls to rating processors
* New HashMap rating module version
* Add filtering on resource type to the storage API
* Split the api controllers and resources
* Use keystone middleware for authentication
* Generate the sample with oslo-config-generator
* Support both oslo.messaging and oslo\_messaging
* Ceilo transformer: handle multiple metadata keys
* Move extra files to the contrib/ dir
* storage API: handle NoTimeFrame exception
* Update the devstack lib and documentation
* Provide an installation documentation
* Implement a storage API
* Added multi-tenancy support
* Moved keystone settings in the ceilometer collector
* Pinned oslo.messaging version
* Drop some unneeded deps from .spec
* Fixed extra/missing init files from migrations
* Adding image collection to the collector
* Insert empty frame if no data
* Add missing \_\_init\_\_.py's
* Fixed a bug while enabling rating module by RPC
* Removed configuration check from pep8 tests
* small changes to index file
* Modified utils to implement all time calculations
* Using UTC datetimes in StateManager tests
* Repository general files update
* rpm: install the new binaries in the common rpm
* Fixed OSRF format writer to support Decimal
* Fixed output format for sqlalchemy storage backend
* Separated writing and rating processing
* Added support for total on API
* Implemented new storage drivers
* Provide rpm packaging configurations
* Added instance\_id in compute metadata
* Fixed bug while loading empty metadata
* Added time calculations code in utils
* Removed i18n from flake checks
* Added support for Multiple Collectors
* Add tests for the DB state manager
* Rename get\_migrate method for consistency
* Move the tests in the cloudkitty package
* Added pluggable transformer support
* Fixed regression in file writing
* Fixed writers bugs when switching to RPC
* Added basepath support for writers
* Fixed ZipFile not supporting backends
* Implemented RPC messaging
* Work toward Python 3.4 support and testing
* Improved architecture section in documentation
* Remove docutils from test-requirements
* Add Devstack support for the api
* Fix accuracy of the States.state column
* Fix the output basepath for WriteOrchestrator
* Removed docbook requirements from documentation
* Updated sphinx version in test-requirements
* Modified path in documentation config file
* Update the pbr version
* Fix the get/set state method
* Fixed host port detection in root controller
* Fixed bug with module name detection
* Added hashmap types query via API
* Improved documentation (docstrings and sphinx)
* Updated openstack-common code to latest version
* Added cloudkitty-dbsync tool
* Implemented HashMap API
* Added API service
* Added module state management DB
* Added alembic support for database migrations
* Fixed missing config generator.rc file
* Transitioned from file state to DB state
* Added i18n support
* Transitioned from importutils to stevedore
* Moved base billing code
* Moved base backend code
* Fixed wrong datetime usage
* Moved base collector code
* Fixed state recovery in osrf writer
* Moved base writer code
* Fixed wrong path for cloudkitty config sample
* Added config tools
* Setup and dist modifications
* Added ropeproject to gitignore
* Bump hacking to version 0.9.2
* Fixed typo in README
* Added more informations in the README
* Moved to importutils from oslo-incubator
* PEP8 and hacking compliance
* Added more files to gitignore
* Set copyright/license information in .py files
* Modified README to use rst format
* Pushing initial work
* Added .gitreview
