R2DBC MSSQL Changelog
=============================

0.8.7.RELEASE
------------------
* Upgrade dependencies #221
* Statements hang up on reading `nvarchar(max)` columns #216
* The FOR XML clause is not allowed in a CURSOR statement #209
* `OffsetDateTimeCodec` does not properly decode negative timezone offsets #208

0.8.6.RELEASE
------------------
* Upgrade to SPI 0.8.5.RELEASE #205
* Upgrade to Reactor Dysprosium SR20 #204
* Upgrade to Testcontainers 1.15.3 #203
* ClassCastException when calling RowMetadata.getColumnNames().toArray(T[]) #200
* Exclude transitive SLF4J pulled from HikariCP #198
* Can't combine bind variables with T-SQL local variables #197
* Statement batch doesn't produce the correct number of update counts #196
* Eager buffer allocation in `TdsEncoder.writeChunkedMessage(…)` can lead to memory leaks #195
* Upgrade to R2DBC SPI 0.8.4.RELEASE #189
* Add support for trustServerCertificate flag #184

0.8.5.RELEASE
------------------
* Upgrade dependencies #178
* Add config options for TCP KeepAlive and NoDelay #177
* Add support for SSL tunnels #176
* Use GitHub actions to deploy to OSS Sonatype/Maven Central #173
* Clob decoding is prone to in-character decoding splits #172
* StringCodec fix for characters split between PLP chunks #171
* Upgrade to R2DBC SPI 0.8.3 #170

0.8.4.RELEASE
------------------
* Ensure no snapshots get referenced in release builds #165
* Add integration tests for null decode #163
* Failed statement with returnGeneratedValues enabled causes onErrorDropped #162
* Rename master branch to main #159
* Upgrade to Reactor Dysprosium SR9 #158
* Upgrade to Reactor Dysprosium SR8 #157

0.8.3.RELEASE
------------------
* Upgrade dependencies #155
* Add sslContextBuilderCustomizer(Function<SslContextBuilder, SslContextBuilder>) #152
* Issue inserting byte objects when size is greater than 8000 and and less than 65535 bytes #151
* Add support for configuring a custom trust store #150
* Add BlockHound to integration tests #149
* Allow custom trust store for server certificate verification. #148
* Multiple TDS chunks in a single buffer cause connection reset on Azure SQL #142

0.8.2.RELEASE
------------------
* Upgrade build and test dependencies #146
* Upgrade to Reactor Dysprosium-SR6 #145
* Stage releases directly on maven central #144
* Protocol errors get swallowed in RPC message flow for direct queries #141
* Query String bigger than 4000 characters result in java.lang.UnsupportedOperationException  #140
* Provide additional configuration options for hostNameInCertificiate #138
* ENVCHANGE Token is not decoded properly for Routing type #116

0.8.1.RELEASE
------------------
* Update dependencies #134
* Fix infinite loop when clearing bindings #131
* Support casting of BIGINT to BigDecimal #130
* Backport Travis support to 0.8.x #128
* Backport Jenkins to 0.8.x #127

0.8.0.RELEASE
------------------
* Upgrade to Reactor Dysprosium SR2 #123
* Upgrade to R2DBC SPI 0.8.0.RELEASE #121
* Remove SLF4J in favor of Reactor Core Loggers #120
* Clob codec should support UNICODE #117
* Default to scalar values for LOB column retrieval according to spec changes  #115
* Upgrade to Testcontainers 1.12.3 #114
* SELECT (NEXT VALUE FOR TestSeq) with RPC Flow and fast-forward scroll option skips sequence items #113
* Add support for sendStringParametersAsUnicode property #112
* Add hints to ByteBufs #110
* Statement execution gets stuck when connection gets disconnected #109

0.8.0.RC2
------------------
* Revert reactor netty exclusions #107

0.8.0.RC1
------------------
* Fix malformed Javadoc #104
* Add automatic module name #103
* Upgrade to Reactor Dysprosium GA #102
* Upgrade dependencies #100
* BinaryCodec uses varbinary which limits the byteArray to 65kb #99
* Use ByteBuffer as default type for binary payloads #98
* Remove repositories declaration from published pom #97
* Move jitpack repository declaration to JMH profile #96
* Adapt to Statement.bind and Row.get by name #95
* Report ConnectionMetadata from SERVERPROPERTY and @@VERSION #94
* Upgrade to Reactor Dysprosium RC1 #93
* Rename MssqlExample to MssqlTestKit #92
* IllegalArgumentException Invalid TDS type is 0 on SQL Server 2014 #90
* Connection reset by peer #89
* Replace RuleBasedCollector with simple string matcher in MssqlRowMetadata #87
* Add implementation for Connection.validate(…) #86
* Expose ConnectionMetadata #85
* QueryMessageFlow terminates without final DONE token #84
* Improve debugging experience #83
* Allow control of AutoCommit and retrieval of the IsolationLevel #82
* Optimize operator allocation #81
* Introduce literals for NULL values #80
* Buffer refCnt = 0 reported when encoding large lob #79
* Add support for expected hostname configuration #78
* NotSslRecordException thrown when connecting to Azure SQL Server #77
* Exclude not-required netty dependencies #75
* Add benchmark suites #68
* Consider large chunks in StreamDecoder #63
* Add FluxDiscardOnCancel operator #6

0.8.0.M8
------------------
* Upgrade to AssertJ 3.12.0 #72
* Upgrade to Reactor Dysprosium M1 #71
* Adapt to IsolationLevel changes (switch from enum to constant class) #70
* Implement RowMetadata.getColumnNames() #64
* Readme mentions mysql as driver identifier #62
* Example Tests #60
* Completion in GeneratedValues.reduceToSingleCountDoneToken(…) leaves non-consumed protocol messages on the wire #59
* Add support for BLOB/CLOB types #58
* Use R2DBC Exception hierarchy for driver exceptions #57
* Reduce dependencies #56
* Add configurable fetch size to MssqlStatement #55
* Executing a parametrized Statement twice fails #54
* Introduce cache for parsed SQL statements #53
* Fix memory leak in cursored RPC flow #52
* Reduce object allocations #51
* SimpleMssqlStatement creates eagerly QueryMessageFlow #50
* Defer error signal emission in MssqlResult until done token is processed #49
* Introduce direct/cursored preference Predicate to prefer direct/cursored execution #48
* Add support for SP_EXECUTESQL for simple parametrized statements #47
* Query-Subscribers of Client.exchange(…) remain subscribed #46
* Getting java.lang.IllegalStateException: Collation not available when querying the database. #37
* Add ConnectionFactoryProvider.getDriver() implementation #31
* Git ignore enhancement #30
* Add support for varchar(max) and nvarchar(max) #28
* Support SQL Server-specific transaction isolation levels by adding setTransactionIsolationLevel(MssqlIsolationLevel) to MssqlConnection #19
* Document supported data types #18
* Add support for binary types #3

1.0.0.M7
------------------
* Update changelog for M7 #25
* Fix ConnectionFactories usage example in readme #24
* Tabular decode function retains previous column metadata #23
* Introduce caching for RowMetadata instead creating an instance per row #22
* Enhanced ColumnMetadata #21
* Upgrade to TestContainers 1.10.6 #20
* Add Statement.returnGeneratedValues(String...) #17
* Remove Recursive Generics #16
* Add configuration support connect timeout #15
* Implement ConnectionFactory Discovery #14
* Null values should return IllegalArgumentException #10
* Parametrized INSERT … SELECT select SCOPE_IDENTITY() returns wrong affected rows count #7
* Add support for transport-level encryption to allow Azure usage #5
* Add support for OffsetDateTime #4

1.0.0.M6
------------------
* Inception
