Spring Data R2DBC Changelog
===========================

Changes in version 1.0.0.RELEASE (2019-12-06)
---------------------------------------------
* #245 - Upgrade to Spring Data Moore SR3.
* #244 - Add checkpoint for SQL execution.
* #243 - Add tests for create and drop statements.
* #242 - Upgrade to R2DBC 0.8.0.RELEASE (Arabba-RELEASE).
* #239 - Add documentation for projecting query methods.
* #238 - Add Modifying query annotation.
* #237 - Move @Query annotation to org.springframework.data.r2dbc.repository.
* #236 - Enable artifactory-maven-plugin.
* #232 - Guard save(…) with provided Id with TransientDataAccessException if row does not exist.
* #228 - Use consistently spaces instead of tabs in readme code samples.
* #219 - Upgrade to r2dbc-mysql 0.8.0 RC2.
* #216 - ConnectionFactoryInitializer.execute(…) does not subscribe to DatabasePopulatorUtils.execute.
* #213 - Provide Kotlin extensions on UpdatedRowsFetchSpec.
* #209 - Kotlin bind extension loses specific type information.
* #208 - Upgrade to R2DBC Arabba RC2.
* #205 - Release 1.0 GA.
* #204 - Add SingleConnectionConnectionFactory.
* #139 - Overriding list of custom objects type property conversion.


Changes in version 1.0.0.RC1 (2019-10-01)
-----------------------------------------
* #202 - Upgrade to r2dbc-mysql 0.8.0 RC1.
* #200 - Remove @ExperimentalCoroutinesApi annotations.
* #199 - Add documentation for Kotlin support.
* #197 - Upgrade to R2DBC Arabba RC1.
* #191 - Adapt to changed groupId of r2dbc-mysql.
* #190 - Adapt to R2DBC SPI changes.
* #188 - Adapt to package changes in r2dbc-mysql.
* #186 - byte[]: Distinguish between binary or a smallint[] column.
* #185 - Disable Postgres integration tests.
* #184 - Restore AutoCommit and IsolationLevel after transaction.
* #183 - Use Statement.bind(String) and Row.get(String) methods instead of bind(Object).
* #182 - Upgrade to R2DBC 0.8.0.RC1.
* #181 - Remove repositories declaration from published pom.
* #180 - Remove jcenter repository from pom.
* #178 - IN CLAUSE and binding throws java.lang.IllegalArgumentException.
* #177 - NOT IN comparator is not working with Criteria API.
* #176 - Consistently use a single netty version.
* #175 - Editing pass for the reference docs.
* #174 - Update README.adoc.
* #173 - Upgrade to Coroutines 1.3.0.
* #172 - Upgrade to Kotlin Coroutines 1.3.
* #171 - Upgrade to jasync-r2dbc-mysql 1.0.6.
* #170 - Switch to newly introduced usingWhen methods.
* #169 - Allow usage of Entity-level converters.
* #168 - Introduce Dialect-specific converters.
* #166 - Add converter for byte to boolean for MySQL.
* #163 - Add tests for R2DBC MySQL.
* #162 - Support nullable values in GenericInsertSpec.value().
* #161 - Inserting an array into PostgreSQL array type inserts null value.
* #159 - Delete by query doesn't seems to work as expected.
* #155 - Consider early returns to omit unnecessary conversion.
* #154 - Release 1.0 RC1.
* #152 - #151 - SimpleR2dbcRepository is now transactional.
* #151 - The repository implementation should be transactional.
* #148 - Sorting by column names not working with Database Client.
* #146 - Revise readme for a consistent structure.
* #145 - Spring Data does not enter strict configuration mode with multiple modules on the class path.
* #141 - Add support for schema initialization.
* #140 - Accept simple mapping function for Row in DatabaseClient.
* #138 - Allow multiple usages of the same named parameter.
* #135 - Adapt to renamed TransactionSynchronizationManager.forCurrentTransaction().
* #132 - Add support for AbstractRoutingConnectionFactory.
* #130 - Fix scheme name in sample code.
* #128 - DatabaseClient bindNull throws NullPointerException.
* #126 - Use testcontainers version property.
* #125 - Reuse Dialect support provided by Spring Data Relational.
* #124 - Remove deprecated DatabaseClient.execute() and TransactionalDatabaseClient.
* #123 - Kotlin extensions.
* #122 - Improved Kotlin extensions for CriteriaStep and DatabaseClient should be provided.
* #120 - Fix link text for jasync-sql.
* #118 - Upgrade to jasync-r2dbc-mysql 0.9.52.
* #112 - Accept SQL directly in DatabaseClient.execute(…) stage.
* #105 - Move named parameter resolution to ReactiveDataAccessStrategy.
* #104 - Add pluggable mechanism to register dialects.
* #103 - RowsFetchSpec<T>.awaitOne() and RowsFetchSpec<T>.awaitFirst() should throw EmptyResultDataAccessException.
* #98 - Add support for AbstractRoutingConnectionFactory.
* #89 - Consider compressing DatabaseClient.execute().sql(…) to DatabaseClient.execute(…).
* #87 - Accessing inherited @Id property fails.
* #69 - Allow object creation with a subset of columns.
* #55 - Reuse Dialect support provided by Spring Data Relational.


Changes in version 1.0.0.M2 (2019-05-14)
----------------------------------------
* #117 - Upgrade to jasync-sql 0.9.51.
* #116 - Upgrade to R2DBC 0.8 M8.
* #115 - Upgrade to Spring Data Moore M4.
* #111 - Revisit package structure and naming.
* #109 - Support mapping of simple types (e.g. to Long/Integer) out of the box.
* #108 - #107 - Add ConnectionFactoryTransactionManager and reactive transaction management utilities.
* #100 - Refactor code to not require Spring JDBC as mandatory dependency.
* #95 - Use @Configuration(proxyBeanMethods=false) for AbstractR2dbcConfiguration.
* #90 - Inserting a row without key generation via R2dbcRepository.save(…) completes without emitting objects.
* #86 - Add non-nullable variant to RowsFetchSpec extensions.
* #85 - Could not read property java.math.BigDecimal.
* #75 - Add support for MySQL.
* #74 - URL Cleanup.
* #73 - Introduce PreparedOperation.
* #65 - Add converters for simple type projections.
* #64 - Add criteria API to create filter predicates.
* #63 - Add DatabaseClient Coroutines extensions.
* #61 - Move Conversion-related functionality to MappingR2dbcConverter.
* #60 - Use R2DBC's BOM for dependency management.
* #59 - Consider custom conversion in EntityRowMapper and MappingR2dbcConverter.
* #57 - Add R2DBC-specific exception translation.
* #56 - Integrate Spring Data Relational's Statement Builder.
* #54 - Upgrade to R2DBC 1.0 M7.
* #52 - Don't depend on MSSQL JDBC driver.
* #51 - #29 - Use TestContainers for integration tests.
* #47 - Add support for named parameters.
* #45 - Update copyright years to 2019.
* #41 - Add support for simple type projections.
* #39 - Add support for Custom Conversion.
* #37 - Release 1.0 M2.


Changes in version 1.0.0.M1 (2018-12-12)
----------------------------------------
* #36 - Release 1.0 M1.
* #35 - Simplify reference documentation setup.
* #32 - Drop oracle-java8-installer from TravisCI build.
* #30 - Add support for Custom Conversions for array-types.
* #27 - Add project site redirect.
* #26 - Add support to write simple type collections as arrays.
* #25 - Provide reference documentation.
* #21 - Upgrade to R2DBC 1.0M6.
* #20 - Add Dialect support to apply driver-specific bind markers.
* #18 - Cleanup pom.xml and upgrade dependencies.
* #16 - Add abstract configuration class for R2DBC.
* #15 - Add support for parameter bind markers.
* #14 - RETURNING * does not work on H2.
* #13 - Add configuration components for @EnableR2dbcRepositories.
* #12 - SimpleR2dbcRepository does not retain item order on save(…).
* #11 - Adapt Statement.bind(…) calls to newly introduced positional (integer-arg) binding.
* #10 - Adapt to removed Statement.executeReturningGeneratedKeys().
* #9 - H2Statement does not define or inherit an implementation of  bind(Ljava/lang/Integer;Ljava/lang/Object;).
* #8 - exchange() should allow to deal with DROP or  CREATE requests.
* #6 - Preserving order on multiple inserts.
* #5 - Build failures due to failing Oracle JDK downloads.
* #2 - Add initial support for DatabaseClient and Reactive Repositories.
* #1 - Setup repository.



