CHANGES
=======

1.1.0
-----

* Move metric validation from agent to monasca common
* Updated from global requirements
* Always put value in first bucket if force is set
* Use constraints everywhere
* Sync tools/tox_install.sh
* Reconnect to auth url in case of ClientProtocolException
* Updated from global requirements
* Change Enum to String for AlarmNotificationMethodType
* Add Last function
* Add entity for notification_method_type table
* Remove discover from test-requirements
* Add unit tests for common repositories module
* Updated from global requirements
* Updated from global requirements
* Add Conversions.variantToBoolean to fix API bug

1.0.0
-----

* Move simport into monasca common
* (Non)deterministic support for alarms
* Make monasca-common pep8 compatible
* [monasca-common] Change tox to use https instead of git
* Remove unnecessary executable permissions
* [monasca-common] Constraint tox targets with upper-constraints
* Add unit tests for common rest.utils module
* Add unit tests for common Kafka module
* Add Period to hibernate notification method
* Log the end of the token which varies by token
* Don't log the entire token if auth failure
* FIX handling json data with multibyte characters
* Invalid kafka check script name
* Remove sphinx requires from test-requirements

0.0.8
-----

* Partition rebalance broken in kafka-python 0.9.5
* Updating kafka requirements
* Kafka healthcheck

0.0.7
-----

* Restricting kafka-python version
* Use SimpleDateFormat in thread safe construct

0.0.6
-----

* Improving kafka performance
* Fix Kafka consumer commit
* Check TimeZone equality using equals
* Skip a test that fails if the server's time is UTC

0.0.5
-----

* Adjust copyright for AlarmSeverity
* Add fromString and fromJson to AlarmSeverity

0.0.4
-----

* Convert partition key to str

0.0.3
-----

* Mitaka compatibility
* Pass link and lifecycle state in state transitions
* Common REST data handling
* Remove invalid ascii characters
* Change MySqlDB to pymysql
* Adding liberty versions of oslo to requirements.txt
* Upgrade to Kafka 0.8.2.2
* Fix connRetryInterval parameter interpreted as milliseconds
* Delete python bytecode before every test run
* add adminUserDomainId and adminUserProjectId support to monasca-api
* Using own key in kafka producer

0.0.2
-----

* Added kafka interaction objects to monasca_common
* Change repositories from stackforge to openstack
* Update .gitreview for new namespace
* Fix files which had a mix of tabs and spaces
* Fix for decimal separator during type conversion
* Time zone fix

0.0.1
-----

* Updating python documentation
* Add support for drizzle jdbc connector
* initial python monasca-common code in monasca_common
* Add adminUserDomainName and adminProjectDomainName to monasca-api
* [monasca-common] Hibernate support added
* Threshold Engine is rejecting valid measurements
* Ensure threshold is always printed as a decimal
* Make Monasca-API recover from Keystone failures
* Allow spaces and apostrophes in dimensions
* jah-1957
* Disallow alarm expressions with threshold first
* Bump the version to 1.1.0
* Bump to version 1.1

2015.1
------

* Allow unicode in the alarm expression parser
* Cleanup toString() method
* Revert changes to the alarm expression parser
* Make alarm expression parsing less restrictive
* Fix toString methods
* Add gzip flag to Influxdb Configuration
* Added option to define project for admin user
* Add measurement valueMeta
* Prevent premature evaluation of Sliding Window
* Remove unused constant
* Always use adminAuthMethod value
* Adding  object to hold info about an Alarm's subalarms when a transition occurs
* Added a config file for documentation generation using Markdown and readthedocs.org
* Add maxHttpConnections for Influxdb 0.9.0 code path
* Fail main maven build if java maven build fails
* Accidentally commented out field on last patchset
* Add missing copyrights
* Add Influxdb 0.9.0 support
* Adds retentionPolicy to the config InfluxDB
* Make MetricDefinition extend AbstractEntity for pagination
* Fixed issue with api accepting expired tokens
* Log helpful messages when keystone connection is misconfigured
* JAH-775 - Monasca-api is encountering SSL problems
* Don't automatically start and stop the topology
* Allow the topology to be rebuilt if needed
* Change package names from com.hpcloud to monasca.common
* Added severity to AlarmStateTransitionEvent
* Add support for decimal threshold values in alarm expressions
* Threshold Engine needs the sub alarm id and the alarm sub expression they map to for AlarmUpdatedEvent and AlarmDeletedEvent
* WIP - Event changes for alarmed-metrics support
* added support for \ as first charcter
* Add details about the StackForge build to README.md
* added support for complex characters without quote
* Changes to use monasca instead of mon
* Add configuration classes
* Add DatabaseConfiguration
* Add mon-influxdb project
* Get initial build to work
* added test for parsing strings
* changed name to reflect the type being parsed
* revert back to cast
* Remove unneccessary cast
* Add CORS support to auth middleware
* Add mon-middleware module
* changes to exception handling
* initial check in
* initial check in
* Switch to kafka 2.10
* Update README.md
* JAH-1891 Threshold Engine will not update State properly if user has changed state via the API
* Changes so it will build without access to any HP resources
* JAH-204 Threshold Engine is rejecting very recent measurements
* Remove unused projects/classes
* Change the timestamp on MetricEnvelope to be seconds not milliseconds to be more consistent with the other timestamps
* Ensure hashcode treats null dimensions the same as empty dimensions
* Make dimensions==null equivalent to dimensions.size() == 0 for equals():
* Add a timestamp to MetricEnvelope so the Threshold Engine and the Persister can determine the progress of emptying the Kakfa queue
* Added license file
* Update dropwizard version in mon-dropwizard
* Removed unused deps in mon-kafka
* Removed messaging sub-project in mon-common
* Removed mon-http, messaging and collectd. Moved kafka related stuff to mon-kafka. Removed all @author tags Added license to all /src/main files
* Remove retry stuff
* Added support for boolean expression trees parsed from AlarmExpressions
* Kill yellow
* Change SlidingWindowStats.slideViewTo() to not floor the timestamp to the minute so that it slides on the first call
* Add support for Timestamp -> String|DateTime conversion in BeanMapper
* Add support for converting sql timestamps to Longs
* Alarm sub expressions should be public
* Documented alarm state transitioned event timestamp field
* Added docs to alarm updated event
* Make Metric Serializable again so the Threshold Engine works
* Added actionsEnabled field to AlarmStateTransitionedEvent
* alarmEnabled -> alarmActionsEnabled
* Added description to alarm updated event
* Modified Metric so that mon-persister could use it too
* Remove call to StringEscapeUtils.unescapeJava() for the JSON String in fromJson. This makes the JSON String unparseable if the json contains backslashes
* Simple MetricDefinition setter
* Dimensions should not be tweaked when they're set in a MetricDefinition
* Added alarmDescription to AlarmStateTransitionedEvent
* Added AlarmStateTransitionedEvent
* Added changed subexpressions to AlarmUpdatedEvent
* Fixed AbstractResourceTest teardown
* Added state and enabled values to AlarmUpdatedEvent
* cpu_total_time -> cpu_time, cpu_total_utilization -> cpu_utilization
* Added AlarmUpdatedEvent
* Removed unused method from MetricDefinition
* NamespacesTest -> ServicesTest
* NamespacesTest -> ServicesTest
* Namespace -> Service Removed required dimensions stuff
* Update README.md
* Marked KafkaProducerConfiguration as Serializable
* Update the readme with 'mvn clean deploy -DBUILD_NUM=${BUILD_NUMBER}'
* Change 'verion_number' to 'version_number'
* Use computed versions again
* Forgot to add rename of KafkaProducerProperties to last commit
* Upper cased first letter of KafkaProducerProperties
* Marked Metric as Serializable so it can be used in Storm for the Threshold Engine
* Added versions to all plugins
* Added versions to all plugins
* Added versions to all plugins
* Changed <version>${computedVersion}</version> to 1.0.0-SNAPSHOT
* Added jar plugin to mon-streaming to create test-jar
* Marked KafkaConsumerProperties and KafkaConsumerConfiguration as Serializable so they can be used with Storm
* Changed properties file to camel case
* Added Kafka producer properties
* Removed events that are not used for mon
* Add Kafka consumer configuration utilities
* Added Kafka consumer configuration utilities
* Removed headers from TupleDeserializer
* Added mon-streaming common sub-project
* Added Validation and Configuration utilities
* Added MetricDef -> Metric constructor
* Simplified AggregateFunction -> Statistics conversion
* Updated pom and readme to do nexus deploys
* Metric namespace -> name
* Add thread pool name to instrumented thread pool metric names
* Added Environment to abstract resource test
* Support reading config files from classpath
* Added support for loading config files to AbstractResourceTest
* Removed the old dropwizard test server stuff in favor of a new AbstractAppTest
* Added support class for testing jersey resources
* Added additional namespace utility methods
* Work on simplifying namespace utilities
* Removed ps-common references from POM. General POM cleanup
* Removed moved test classes
* Fixed kafka healthcheck test
* Add healthcheck topic to kafka config
* Better-safe-than-sorry-safe-resource-closure
* Basic Kafka healthcheck implementation and test
* Basic KafkaService
* Disabled Serialization tests that depend on overriding Jackson writer types until https://github.com/FasterXML/jackson-databind/issues/412 is resolved
* Move JsonHelpers class away from testing package
* Added test-jar to mon-util build
* Update jackson to resolve conflict with dropwizard
* Fixed mon-util build
* Updated DropwizardTest stuff
* Added MetricEnvelope and utils
* Did away with ChannelAdapters in favor of global MessageTranslators since I think that's all we'll need for mon
* Committed ThreadPooling utilities including instrumented threadpools
* Upgrade to metrics 3.0.x
* Added mon-messaging sub-project
* Added mon-service sub-project
* Committed ThreadPooling utilities including instrumented threadpools
* Updated dropwizard to 0.7.0-rc1
* Lazily sort dimensions in MetricDefinitions
* Consolodated Metric and FlatMetric classes. Removed CollectdMetric stuff
* Created sub-project for http Added serialization, retry, and various other utilities
* Initial commit
