Spring Data Cassandra Changelog
===============================

Changes in version 1.4.7.RELEASE (2017-01-26)
---------------------------------------------
* DATACASS-372 - Release 1.4.7 (Hopper SR7).
* DATACASS-352 - CassandraPersistentPropertyComparator violates comparison method contract.


Changes in version 1.4.6.RELEASE (2016-12-21)
---------------------------------------------
* DATACASS-353 - Release 1.4.6 (Hopper SR6).


Changes in version 2.0.0.M1 (2016-11-23)
----------------------------------------
* DATACASS-354 - Release 2.0 M1 (Kay).
* DATACASS-172 - Add support for User-defined types.
* DATACASS-292 - Separate asynchronous and synchronous operations in CqlOperations and CassandraOperations into dedicated interfaces and templates.
* DATACASS-335 - Support for reactive data access.


Changes in version 1.4.5.RELEASE (2016-11-03)
---------------------------------------------
* DATACASS-342 - Release 1.4.5 (Hopper SR5).


Changes in version 1.4.4.RELEASE (2016-09-29)
---------------------------------------------
* DATACASS-337 - Release 1.4.4 (Hopper SR4).


Changes in version 1.3.6.RELEASE (2016-09-29)
---------------------------------------------
* DATACASS-341 - Release 1.3.6 (Gosling SR6).


Changes in version 1.3.5.RELEASE (2016-09-20)
---------------------------------------------
* DATACASS-336 - Release 1.3.5 (Gosling SR5).
* DATACASS-287 - QueryForObjectListener will not be called, if result set is empty.
* DATACASS-263 - AuthProvider required when using with username/password.
* DATACASS-253 - CachedPreparedStatementCreator class is not threadsafe.
* DATACASS-249 - CDI support can fail due to Set.toString() used as Map key.
* DATACASS-233 - CassandraCqlClusterFactoryBean won't allow configuration of username/password unless authProvider also given.


Changes in version 1.4.3.RELEASE (2016-09-20)
---------------------------------------------
* DATACASS-331 - Include netty as transient dependency of cassandra-driver.
* DATACASS-303 - Release 1.4.3 (Hopper SR3).
* DATACASS-241 - The SchemaAction.RECREATE doesn't drop tables.


Changes in version 1.5.0.M1 (2016-07-27)
----------------------------------------
* DATACASS-325 - Implement a ClusterBuilderConfigurer callback interface to handle extended configuration when the DataStax API changes.
* DATACASS-321 - Integrate version badge from spring.io.
* DATACASS-320 - Update CassandraCqlClusterFactoryBean with support for setting speculativeExecutionPolicy.
* DATACASS-319 - Update CassandraCqlClusterFactoryBean with support for setting maxSchemaAgreementWaitSeconds.
* DATACASS-317 - Update CassandraCqlClusterFactoryBean with support for setting Cluster name.
* DATACASS-316 - Update CassandraCqlClusterFactoryBean with support for setting AddressTranslator.
* DATACASS-315 - Upgrade Cassandra Java driver to 3.0.3.
* DATACASS-310 - Fix CqlTemplate and CassandraTemplate returning null for data access operations returning a Collection.
* DATACASS-308 - CassandraTemplate.appendIdCriteria throws NullPointerException when using MapId containing unknown property names.
* DATACASS-307 - Run TravisCI build against various Cassandra versions.
* DATACASS-305 - Improve readability of CassandraCqlClusterFactoryBean.executeSpecsAndScripts.
* DATACASS-304 - CqlTemplate.doExecute does not translate Cassandra Exceptions.
* DATACASS-301 - CassandraCqlClusterParser incorrectly parses SocketOptions read-timeout-millis.
* DATACASS-300 - CassandraCqlClusterParser incorrectly parses SocketOptions connection-timeout-millis.
* DATACASS-298 - Add missing PoolingOptions to the XML namespace as well as the PoolingOptionsFactoryBean.
* DATACASS-297 - Add support for streaming queries to select entities.
* DATACASS-296 - Use CustomConversions for JSR-310, Joda and ThreeTen Backport types.
* DATACASS-288 - Add support for Cassandra batch operations.
* DATACASS-287 - QueryForObjectListener will not be called, if result set is empty.
* DATACASS-286 - Log all CQL queries executed with CqlTemplate.
* DATACASS-280 - Refactor Cassandra query execution and mapping to consolidate mapping.
* DATACASS-277 - Enum mapping using ordinal value.
* DATACASS-275 - Remove usage of deprecated methods.
* DATACASS-271 - Upgrade to Cassandra 3.0.0.
* DATACASS-269 - Release 1.5 M1 (Ingalls).
* DATACASS-263 - AuthProvider required when using with username/password.
* DATACASS-262 - Add missing throws to catch blocks in CqlTemplate.
* DATACASS-260 - Enum properties cannot be written.
* DATACASS-255 - Initial test-cleanup.
* DATACASS-253 - CachedPreparedStatementCreator class is not threadsafe.
* DATACASS-249 - CDI support can fail due to Set.toString() used as Map key.
* DATACASS-248 - @PrimaryKeyColumn does not work when applied to methods.
* DATACASS-247 - Optional return type for Repositories returns Optional of resultset instead of Optional of Objectype.
* DATACASS-242 - Shutdown Script issue with XML Configuration.
* DATACASS-241 - The SchemaAction.RECREATE doesn't drop tables.
* DATACASS-238 - Update CassandraCqlClusterFactoryBean to support setting TimestampGenerator.
* DATACASS-233 - CassandraCqlClusterFactoryBean won't allow configuration of username/password unless authProvider also given.
* DATACASS-231 - Update CassandraCqlClusterFactoryBean so the ProtocolVersion can be set.
* DATACASS-226 - Enable CassandraCqlClusterFactoryBean to set QueryOptions at cluster level.
* DATACASS-219 - On startup CREATE TABLE from entities should only add 'if not exists'.
* DATACASS-206 - CassandraTemplate @PrimaryKeyColumn annotation, name property, not working on delete.
* DATACASS-192 - AlterTableSpecification add column produces syntax error.
* DATACASS-184 - Cassandra-All has test scope in pom.xml.
* DATACASS-182 - Ability to null out column values.
* DATACASS-174 - StackOverflowError in CassandraAdminTemplate#dropTable(Class<?>).
* DATACASS-141 - Support for enumeration mapping.
* DATACASS-7 - Support for query derivation on repository query methods.


Changes in version 1.4.2.RELEASE (2016-06-15)
---------------------------------------------
* DATACASS-287 - QueryForObjectListener will not be called, if result set is empty.
* DATACASS-275 - Remove usage of deprecated methods.
* DATACASS-270 - Release 1.4.2 (Hopper SR2).
* DATACASS-263 - AuthProvider required when using with username/password.
* DATACASS-262 - Add missing throws to catch blocks in CqlTemplate.
* DATACASS-253 - CachedPreparedStatementCreator class is not threadsafe.
* DATACASS-249 - CDI support can fail due to Set.toString() used as Map key.
* DATACASS-248 - @PrimaryKeyColumn does not work when applied to methods.
* DATACASS-233 - CassandraCqlClusterFactoryBean won't allow configuration of username/password unless authProvider also given.
* DATACASS-219 - On startup CREATE TABLE from entities should only add 'if not exists'.
* DATACASS-174 - StackOverflowError in CassandraAdminTemplate#dropTable(Class<?>).


Changes in version 1.4.1.RELEASE (2016-04-06)
---------------------------------------------
* DATACASS-268 - Release 1.4.1 (Hopper SR1).


Changes in version 1.4.0.RELEASE (2016-04-06)
---------------------------------------------
* DATACASS-267 - Add pull request template.
* DATACASS-264 - Release 1.4 GA (Hopper).
* DATACASS-261 - Update readme link to Cassandra driver documentation.


Changes in version 1.4.0.RC1 (2016-03-18)
-----------------------------------------
* DATACASS-257 - CassandraRepositoryConfigurationExtension does not specify IdentifyingAnnotations.
* DATACASS-256 - Release 1.4 RC1 (Hopper).


Changes in version 1.3.4.RELEASE (2016-02-23)
---------------------------------------------
* DATACASS-254 - Release 1.3.4 (Gosling SR4).


Changes in version 1.4.0.M1 (2016-02-12)
----------------------------------------
* DATACASS-252 - Add code of conduct.
* DATACASS-251 - Release 1.4 M1 (Hopper).
* DATACASS-245 - Adapt to API changes in Spring Data Commons.
* DATACASS-239 - Upgrade to latest Cassandra drivers.


Changes in version 1.3.2.RELEASE (2015-12-18)
---------------------------------------------
* DATACASS-246 - Release 1.3.2 (Gosling).


Changes in version 1.3.1.RELEASE (2015-11-15)
---------------------------------------------
* DATACASS-237 - Release 1.3.1 (Gosling).


Changes in version 1.1.4.RELEASE (2015-10-14)
---------------------------------------------
* DATACASS-235 - Release 1.1.4 (Evans).


Changes in version 1.3.0.RELEASE (2015-09-01)
---------------------------------------------
* DATACASS-232 - Release 1.3 GA (Gosling).


Changes in version 1.3.0.RC1 (2015-08-04)
-----------------------------------------
* DATACASS-230 - Release 1.3 RC1 (Gosling).
* DATACASS-227 - Switch from BeanWrapper to PersistentPropertyAccessor.
* DATACASS-220 - Upgrade to latest Cassandra driver.


Changes in version 1.2.2.RELEASE (2015-07-28)
---------------------------------------------
* DATACASS-229 - Release 1.2.2 (Fowler).


Changes in version 1.1.3.RELEASE (2015-07-01)
---------------------------------------------
* DATACASS-223 - Release 1.1.3 (Evans).
* DATACASS-208 - Remove obsolete Liquibase dependency from Spring CQL.


Changes in version 1.0.6.RELEASE (2015-07-01)
---------------------------------------------
* DATACASS-222 - Release 1.0.6 (Dijkstra).


Changes in version 1.2.1.RELEASE (2015-06-30)
---------------------------------------------
* DATACASS-224 - Release 1.2.1 (Fowler).
* DATACASS-220 - Upgrade to latest Cassandra driver.
* DATACASS-208 - Remove obsolete Liquibase dependency from Spring CQL.


Changes in version 1.3.0.M1 (2015-06-02)
----------------------------------------
* DATACASS-215 - Release 1.3 M1 (Gosling).
* DATACASS-211 - Adapt to changes in Spring Data Commons.
* DATACASS-208 - Remove obsolete Liquibase dependency from Spring CQL.


Changes in version 1.2.0.RELEASE (2015-03-23)
---------------------------------------------
* DATACASS-207 - Release 1.2 GA.


Changes in version 1.2.0.RC1 (2015-03-05)
-----------------------------------------
* DATACASS-205 - Release 1.2 RC1.
* DATACASS-199 - ColumnMapper maps varint to Integer.
* DATACASS-198 - Upgrade for Cassandra 2.1 Support.
* DATACASS-197 - Reconsider usage of ingestions for general CQL test cases.
* DATACASS-176 - CassandraCqlClusterFactoryBean doesn't consider maxConnections while validating coreConnection values.


Changes in version 1.1.2.RELEASE (2015-01-28)
---------------------------------------------
* DATACASS-199 - ColumnMapper maps varint to Integer.
* DATACASS-197 - Reconsider usage of ingestions for general CQL test cases.
* DATACASS-196 - Release 1.1.2.
* DATACASS-176 - CassandraCqlClusterFactoryBean doesn't consider maxConnections while validating coreConnection values.


Changes in version 1.0.5.RELEASE (2015-01-27)
---------------------------------------------
* DATACASS-197 - Reconsider usage of ingestions for general CQL test cases.
* DATACASS-195 - Release 1.0.5.
* DATACASS-166 - Throw IllegalArgumentException if a column is requested that isn't in the table.
* DATACASS-163 - SDC*-provided repository interfaces are missing @NoRepositoryBean annotation.
* DATACASS-162 - XML <mapping> attribute "entity-base-packages" is ignored.
* DATACASS-148 - Can't save empty list.
* DATACASS-142 - CassandraTemplate @PrimaryKeyColumn annotation, name property, not working on delete.


Changes in version 1.2.0.M1 (2014-12-01)
----------------------------------------
* DATACASS-166 - Throw IllegalArgumentException if a column is requested that isn't in the table.
* DATACASS-164 - Support strongly-typed, user-defined primary key interfaces.
* DATACASS-149 - Add support for custom implementations in CDI repositories.
* DATACASS-144 - Async repository operations be overloaded to take optional callbacks.


Changes in version 1.1.1.RELEASE (2014-10-30)
---------------------------------------------
* DATACASS-178 - Release 1.1.1.
* DATACASS-166 - Throw IllegalArgumentException if a column is requested that isn't in the table.


Changes in version 1.1.0.RELEASE (2014-09-05)
---------------------------------------------
* DATACASS-165 - Release 1.1 GA.
* DATACASS-163 - SDC*-provided repository interfaces are missing @NoRepositoryBean annotation.
* DATACASS-162 - XML <mapping> attribute "entity-base-packages" is ignored.
* DATACASS-159 - NPE in CqlTemplate due to uninitialized exception translator.
* DATACASS-158 - Clarify javadoc for CqlOperations methods involving PreparedStatements.
* DATACASS-157 - CqlTemplate execute(PreparedStatementCreator,PreparedStatementCallback<T>) swallows translated exception.


Changes in version 1.0.4.RELEASE (2014-08-27)
---------------------------------------------
* DATACASS-157 - CqlTemplate execute(PreparedStatementCreator,PreparedStatementCallback<T>) swallows translated exception.
* DATACASS-154 - Release 1.0.4.
* DATACASS-139 - ingest() methods do not cache PreparedStatements causing performance bottleneck.


Changes in version 1.1.0.RC1 (2014-08-13)
-----------------------------------------
* DATACASS-151 - Release 1.1 RC1.
* DATACASS-139 - ingest() methods do not cache PreparedStatements causing performance bottleneck.


Changes in version 1.0.2.RELEASE (2014-07-28)
---------------------------------------------
* DATACASS-143 - Release 1.0.2.


Changes in version 1.1.0.M1 (2014-07-10)
----------------------------------------
* DATACASS-140 - Release 1.1 M1.
* DATACASS-135 - Reference documentation build broken.
* DATACASS-134 - Add plugin repository to pom.xml to make sure Bundlor can be resolved.
* DATACASS-117 - @Query annotation does not support named parameters.


Changes in version 1.0.1.RELEASE (2014-06-30)
---------------------------------------------
* DATACASS-138 - Release 1.0.1.
* DATACASS-137 - Add new ConsistencyLevels to CqlTemplate.
* DATACASS-135 - Reference documentation build broken.
* DATACASS-134 - Add plugin repository to pom.xml to make sure Bundlor can be resolved.


Changes in version 1.0.0.RELEASE (2014-05-20)
---------------------------------------------
* DATACASS-133 - Binding Dates fails with DSE 2.0.1 Driver.
* DATACASS-131 - Release 1.0 GA.
* DATACASS-130 - NPE on CassandraSessionFactoryBean when schemaAction not set.


Changes in version 1.0.0.RC1 (2014-05-02)
-----------------------------------------
* DATACASS-127 - Release 1.0 RC1.
* DATACASS-126 - Upgrade DS Driver to 2.0.X.
* DATACASS-121 - Automatically quote string-like parameter values in @Query methods.
* DATACASS-97 - Polish javadoc.
* DATACASS-95 - Polish for 1.0.


Changes in version 1.0.0.M1 (2014-03-31)
----------------------------------------

** Technical task
    * [DATACASS-17] - Create Operations
    * [DATACASS-18] - Update (Save) Operations
    * [DATACASS-19] - Delete Operations
    * [DATACASS-20] - Search Operations
    * [DATACASS-21] - Include Basic Options for Cassandra Connectivity
    * [DATACASS-39] - Better PreparedStatement Support
    * [DATACASS-48] - Add ConsistencyLevel and RetryPolicy to Operations/Template

** Bug
    * [DATACASS-92] - Add support for missing DataTypes to DefaultCassandraRowValueProvider
    * [DATACASS-105] - Missing CassandraPersistentProperty.getActualType() method in code.

** Story
    * [DATACASS-11] - Develop or Modify Mapping Subsystem for Beans
    * [DATACASS-13] - Define Operations Interface and Implement with CassandraTemplate
    * [DATACASS-14] - Define JavaConfig for spring-cassandra
    * [DATACASS-15] - Define Basic XML Namespace for spring-cassandra
    * [DATACASS-32] - Implement the TemplateAPI for CQL
    * [DATACASS-38] - Cluster Connection Listener
    * [DATACASS-42] - Update to latest spring-data-commons v.next
    * [DATACASS-61] - Create Outline
    * [DATACASS-69] - Add more queryAsynchronously methods to Operations Interface
    * [DATACASS-80] - Rename classes in spring-cassandra & spring-data-cassandra
    * [DATACASS-84] - Provide support for naming strategies
    * [DATACASS-88] - Ensure license text appears in all source files with proper dates.
    * [DATACASS-89] - Add overloaded methods to CqlOperations that use strongly typed Query objects
    * [DATACASS-90] - Ensure all CqlOperations methods take QueryOptions where appropriate
    * [DATACASS-93] - Enhance annotations to allow for force-quoting
    * [DATACASS-94] - Add class AbstractCqlTemplateConfiguration
    * [DATACASS-96] - Integrate CqlIdentifier
    * [DATACASS-98] - Entity validation fails and throws a IndexOutOfBoundsException
    * [DATACASS-99] - Make classes using prefixes "Default" & "Basic" uniform
    * [DATACASS-100] - QueryOptions should only have ConsistencyLevel & RetryPolicy
    * [DATACASS-104] - Remove requirement for @PrimaryKeyClass when using composite primary keys
    * [DATACASS-107] - Support declarative query methods
