Skip to content

Latest commit

 

History

History
359 lines (295 loc) · 24.9 KB

CHANGELOG.md

File metadata and controls

359 lines (295 loc) · 24.9 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

[6.5.3] Preview Release

Added

  • Added removed constructor back to AKV Provider which supports authentication with a customized method to fetch accessToken #675
  • Added support for JDK 10 for both Maven and Gradle #691
  • Added a resource bundle to handle junit error strings #698

Fixed Issues

  • Fixed the driver disposing user created credentials when using Kerberos Constrained Delegation #636
  • Fixed an issue with HostnameInCertificate when redirected while connected to Azure #644
  • Fixed an intermittent issue with Prepared Statement handle not found #648
  • Fixed a conflict with JDBC Compliance where the driver was returning marked columns as SS_IS_COMPUTED instead of IS_GENERATED #695
  • Fixed maven build warnings and deprecated Java API warnings #701
  • Fixed some Javadoc related warnings #702

[6.5.2] Preview Release

Added

  • Added new connection property "cancelQueryTimeout" to cancel QueryTimeout on Connection and Statement #674

Fixed Issues

  • Improved performance degradation while maintaining JDBC compliance with results from sp_fkeys #677
  • Fixed an issue where ResultSetMetaData instances created by a ResultSet that has been closed were not persisting #685
  • Fixed an issue with PreparedStatement.setBigDecimal when no scale is passed #684
  • Fixed an issue with Clobs/NClobs not persisting after ResultSet/Connection closes #682

Changed

  • Updated the samples to be usable with Eclipse directly, and updated the driver version used by the samples to 6.4.0.jre9 #679
  • Updated Gradle script for building JDBC Driver #689
  • Updated Maven dependencies for test suite #676
  • Updated multiple Maven dependency and plugin versions #688

[6.5.1] Preview Release

Added

  • Test cases for Date, Time, and Datetime2 data types. #558

Fixed Issues

  • Fixed an issue where ResultSetMetadata returned incorrect columnType for Geometry and Geography data types #657
  • Fixed server side CPU Affinity problems caused by uneven connection distribution across NUMA Nodes when multiSubnetFailover is true #662
  • Fixed an issue where Driver wasn't parsing TDS Packets completely to capture exceptions raised inside executed stored procedures #664
  • Fixed an issue where driver throws exception when using setMaxRows() followed by query execution when SHOWPLAN_TEXT is ON #666

Changed

  • Removed unused imports which forced users to import the ADAL4J library #652

[6.5.0] Preview Release

Added

  • Support for spatial datatypes #642

Fixed Issues

  • Fixed blobs becoming unavailable when the Result Set cursor moves or the Result Set closes #595
  • Fixed an issue when attempting to insert an empty or null value into an encrypted column #632
  • Fixed a misleading error message thrown by the driver when a user doesn't have execute permissions #635
  • Fixed statements throwing SQLServerException instead of java.sql.SQLTimeoutException when the query times out #641

Changed

  • Unit tests now use SQLException in most cases instead of SQLServerException.

[6.4.0] Stable Release

Added

  • Support added for AAD Integrated Authentication with ADAL4J on Windows/Linux/Mac OS #603
  • Enable Recover after MSDTC is restarted #581
  • Added Version Update configuration rules to project #541
  • JDK 9 Compatibility + JDBC 4.3 API support added to the driver [#601 (microsoft#601)

Fixed Issues

  • Re-introduced Retry Logic for Prepared Statement Caching implementation and remove detect change context function #618 and #620
  • Fixes for SonarQube Reported issues #599
  • Fixes for Random Assertion Errors #597

Changed

  • Updated Appveyor to use JDK9 building driver and running tests #619
  • JDK 7 compilation support removed from the driver #601

[6.3.6] Preview Release

Added

  • Added support for using database name as part of the key for handle cache #561
  • Updated ADAL4J version to 1.3.0 and also added it into README file #564

Fixed Issues

  • Fixed issues with static loggers being set by every constructor invocation #563

[6.3.5] Preview Release

Added

  • Added handle for Account Locked Exception 18486 during login in SQLServerConnection #522

Fixed Issues

  • Fixed the issues with Prepared Statement Metadata Caching implementation #543
  • Fixed issues with static logger member in abstract class 'SQLServerClobBase' #537

[6.3.4] Preview Release

Added

  • Added new ThreadGroup creation to prevent IllegalThreadStateException if the underlying ThreadGroup has been destroyed. #474
  • Added try-with-resources to JUnit tests #520

Fixed Issues

  • Fixed the issue with passing parameters names that start with '@' to a CallableStatement #495
  • Fixed SQLServerDataTable creation being O(n^2) issue #514

Changed

  • Changed some manual array copying to System.arraycopy() #500
  • Removed redundant toString() on String objects #501
  • Replaced literals with constants #502

[6.3.3] Preview Release

Added

  • Added connection properties for specifying custom TrustManager #74

Fixed Issues

  • Fixed exception thrown by getters on null columns #488
  • Fixed issue with DatabaseMetaData#getImportedKeys() returns wrong value for DELETE_RULE #490
  • Fixed issue with ActivityCorrelator causing a classloader leak #465

Changed

  • Removed explicit extends Object #469
  • Removed unnecessary return statements #471
  • Simplified overly complex boolean expressions #472
  • Replaced explicit types with <> (the diamond operator) #420

[6.3.2] Preview Release

Added

  • Added new connection property: sslProtocol #422
  • Added "slow" tag to long running tests #461

Fixed Issues

  • Fixed some error messages #452 & #459
  • Fixed statement leaks #455
  • Fixed an issue regarding to loginTimeout with TLS #456
  • Fixed sql_variant issue with String type #442
  • Fixed issue with throwing error message for unsupported datatype #450
  • Fixed issue that initial batchException was not thrown #458

Changed

  • Changed sendStringParameterAsUnicode to impact set/update null #445
  • Removed connection property: fipsProvider #460
  • Replaced for and while loops with foeach loops #421
  • Replaced explicit types with the diamond operator #468 & #420

[6.3.1] Preview Release

Added

  • Added support for datetime/smallDatetime in TVP #435
  • Added more Junit tests for Always Encrypted #432

Fixed Issues

  • Fixed getString issue for uniqueIdentifier #423

Changed

  • Skip long running tests based on Tag #425
  • Removed volatile keyword #409

[6.3.0] Preview Release

Added

  • Added support for sql_variant datatype #387
  • Added more Junit tests for Always Encrypted #404

Fixed Issues

  • Fixed Turkey locale issue when lowercasing an "i" #384
  • Fixed issue with incorrect parameter count for INSERT with subquery #373
  • Fixed issue with running DDL in PreparedStatement #372
  • Fixed issue with parameter metadata with whitespace characters #371
  • Fixed handling of explicit boxing and unboxing #84
  • Fixed metadata caching batch query issue #393
  • Fixed javadoc issue for the newest maven version #385

Changed

  • Updated ADAL4J dependency to version 1.2.0 #392
  • Updated azure-keyvault dependency to version 1.0.0 #397

[6.2.2] Hotfix & Stable Release

Changed

  • Updated ADAL4J to version 1.2.0 and AKV to version 1.0.0 #516

[6.2.1] Hotfix & Stable Release

Fixed Issues

  • Fixed queries without parameters using preparedStatement #372

Changed

  • Removed metadata caching #377

[6.2.0] Release Candidate

Added

  • Added TVP and BulkCopy random data test for all data types with server cursor #319
  • Added AE setup and test #337,328
  • Added validation for javadocs for every commit #338
  • Added metdata caching #345
  • Added caching mvn dependencies for Appveyor #320
  • Added caching mvn dependencies for Travis-CI #322
  • Added handle for bulkcopy exceptions #286
  • Added handle for TVP exceptions #285

Fixed Issues

  • Fixed metadata caching issue with AE on connection #361
  • Fixed issue with String index out of range parameter metadata #353
  • Fixed javaDocs #354
  • Fixed javaDocs #299
  • Performance fix from @brettwooldridge #347
  • Get local host name before opening TDSChannel #324
  • Fixed TVP Time issue #317
  • Fixed SonarQube issues #300
  • Fixed SonarQube issues #301
  • Fixed random TDS invalid error #310
  • Fixed password logging #298
  • Fixed bulkcopy cursor issue #270

Changed

  • Refresh Kerberos configuration #279

[6.1.7] Preview Release

Added

  • Added support for data type LONGVARCHAR, LONGNVARCHAR, LONGVARBINARY and SQLXML in TVP #259
  • Added new connection property to accept custom JAAS configuration for Kerberos #254
  • Added support for server cursor with TVP #234
  • Experimental Feature: Added new connection property to support network timeout #253
  • Added support to authenticate Kerberos with principal and password #163
  • Added temporal types to BulkCopyCSVTestInput.csv #262
  • Added automatic detection of REALM in SPN needed for Cross Domain authentication #40

Changed

  • Updated minor semantics #232
  • Cleaned up Azure Active Directory (AAD) Authentication methods #256
  • Updated permission check before setting network timeout #255

Fixed Issues

  • Turn TNIR (TransparentNetworkIPResolution) off for Azure Active Directory (AAD) Authentication and changed TNIR multipliers #240
  • Wrapped ClassCastException in BulkCopy with SQLServerException #260
  • Initialized the XA transaction manager for each XAResource #257
  • Fixed BigDecimal scale rounding issue in BulkCopy #230
  • Fixed the invalid exception thrown when stored procedure does not exist is used with TVP #265

[6.1.6] Preview Release

Added

  • Added constrained delegation to connection sample #188
  • Added snapshot to identify nightly/dev builds #221
  • Clarifying public deprecated constructors in LOBs #226
  • Added OSGI Headers in MANIFEST.MF #218
  • Added cause to SQLServerException #202

Changed

  • Removed java.io.Serializable interface from SQLServerConnectionPoolProxy #201
  • Refactored DROP TABLE and DROP PROCEDURE calls in test code #222
  • Removed obsolete methods from DriverJDBCVersion #187

Fixed Issues

  • Typos in SQLServerConnectionPoolProxy #189
  • Fixed issue where exceptions are thrown if comments are in a SQL string #157
  • Fixed test failures on pre-2016 servers #215
  • Fixed SQLServerExceptions that are wrapped by another SQLServerException #213
  • Fixed a stream isClosed error on LOBs test #233
  • LOBs are fully materialised #16
  • Fix precision issue in TVP #217
  • Re-interrupt the current thread in order to restore the threads interrupt status #196
  • Re-use parameter metadata when using Always Encrypted #195
  • Improved performance for PreparedStatements through minimized server round-trips #166

[6.1.5] Preview Release

Added

  • Added socket timeout exception as cause#180
  • Added Constrained delegation support#178
  • Added junit test for Statement test#174
  • Added test for statement.cancel() when MultiSubnetFailover is set to true#173
  • Added tests for lobs #168
  • Added badges for License, Maven Central, JavaDocs & gitter chat room #184

Changed

  • Enabled update counts for SELECT INTO statements#175
  • Use Executor service instead of thread#162
  • Convert socket adaptor to socket#160

Fixed Issues

  • Fixed local test failures #179
  • Fixed random failure in BulkCopyColumnMapping test#165

[6.1.4] Preview Release

Added

  • Added isWrapperFor methods for MetaData classes#94
  • Added Code Coverage #136
  • Added TVP schema test #137
  • Introduced FIPS boolean property #135
  • Added unit statement test cases #147

Changed

  • Enabled AAD Authentication with Access Token on Linux #142
  • Enabled AAD Authentication with ActiveDirectoryPassword on Linux #146
  • Made Azure Key Vault and Azure Active Directory Authentication Dependencies optional #148
  • Getting TVP name from ParameterMetaData when using TVP with a stored procedure #138

Fixed Issues

  • Fixed getBinaryStream issue #133
  • Fixed an issue of Bulk Copy when AlwaysEncrypted is enabled on connection and destination table is not encrypted #151

[6.1.3] Preview Release

Added

  • Added Binary and Varbinary types to the jUnit test framework #119
  • Added BulkCopy test cases for csv #123
  • Added BulkCopy ColumnMapping test cases #127

Changed

  • Switched to clean rounding for bigDecimal #118
  • Updated BVT tests to use jUnit test framework #120
  • In case of socket timeout occurance, avoid connection retry #122
  • Changed ant build file to skip tests #126

Fixed Issues

  • Fixed the inconsistent coding style #4
  • Fixed NullPointerException in case when SocketTimeout occurs #65

[6.1.2] Preview Release

Added

  • Socket timeout implementation for both connection string and data source #85
  • Query timeout API for datasource #88
  • Added connection tests #95
  • Added Support for FIPS enabled JVM #97
  • Added additional tests for bulk copy [#110] (microsoft#110)

Changed

  • Remove redundant type casts #63
  • Read SQL Server error message if status flag has DONE_ERROR set #73
  • Fix a bug when the value of queryTimeout is bigger than the max value of integer #78
  • Add new dependencies to gradle build script #81
  • Updates to test framework #90

Fixed Issues

  • Set the jre8 version as default #59
  • Fixed exception SQL Server instance in use does not support column encryption #65
  • TVP Handling is causing exception when calling SP with return value #80
  • BigDecimal in TVP can incorrectly cause SQLServerException related to invalid precision or scale #86
  • Fixed the connection close issue on using variant type [#91] (microsoft#91)

[6.1.1] Preview Release

Added

  • Java Docs #46
  • Driver version number in LOGIN7 packet #43
  • Travis- CI Integration #23
  • Appveyor Integration #23
  • Make Ms Jdbc driver more Spring friendly #9
  • Implement Driver#getParentLogger #8
  • Implement missing MetaData #unwrap methods #12
  • Added Gradle build script #54
  • Added a queryTimeout connection parameter #45
  • Added Stored Procedure support for TVP #47

Changed

  • Use StandardCharsets #15
  • Use Charset throughout #26
  • Upgrade azure-keyvault to 0.9.7 #50
  • Avoid unnecessary calls to String copy constructor #14
  • make setObject() throw a clear exception for TVP when using with result set #48
  • Few clean-ups like remove wild card imports, unused imports etc. #52
  • Update Maven Plugin #55

[6.1.0] Stable Release

Changed

  • Open Sourced.