- Added the Default column to the sys_procedureparameters table.
- Changed RecipientId from integer to string on all tables as the value can either be numeric or a GUID.
- Added the IsPath column to the sys_procedureparameters table.
- Added the FileData output parameter and Encoding input parameter to print the response in the DownloadDocument stored procedure.
- Added support for streaming output in the DownloadDocument stored procedure. Supported via the FileStream input parameter.
- We now support handling the keyword "COLLATE" as standard function name as well.
- The method GetJDBCMinorVersion() and GetJDBCMajorVersion() return 4.2 as the supported JDBC major / minor version.
- Removed support for JRE 1.6. JRE 1.8 and above is now required.
- The method DatabaseMetaData.getTypeInfo() now returns all the data types the driver supports. Previously it was returning only a portion of the data types. The returns types include: tinyint, smallint, int, bigint, float, double, numeric, decimal, bit, date, datetime, time, varchar, binary, uuid.
- Correct the return value of method DatabaseMetaData.supportsOuterJoins(), it used to return the wrong value.
- Removed IS_READONLY, IS_KEY, NUMERIC_PRECISION, DECIMAL_DIGITS from DatabaseMetadata.GetColumns() as they are not part of the JDBC Specification. This information is still available via other metadata calls.
- Removed the Prompt input parameter from the GetOAuthAuthorizationURL stored procedure.
- Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
- Added the KeySeq column to the sys_foreignkeys table.
- Added the new sys_primarykeys system table.
- Updated the Literal Function Names for relative date/datetime functions. Previously relative date/datetime functions resolved to a different value when used in the projection vs te predicate. Ie: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly the two LAST_MONTH() methods would resolve to different datetimes. Now they will match.
- As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. Ie: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that previously were calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
- Added the TCP Logging Module for the logging information happening on the TCP wire protocol. The transport bytes that are incoming and ongoing will be logged at verbosity=5.
- Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = Concat(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
- Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
- Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
- Reduced the length to 255 for varchar primary key and foreign key columns.
- Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you would need to generate new metadata caches if you are currently using CacheMetadata.
- Updated index naming convention to avoid duplicates
- Updated and standardized Getting Started connection help.
- Added the Advanced Features section to the help of all drivers.
- Categorized connection property listings in the help for all editions.
- Kerberos authentication is updated to use TCP by default, but will fall back to UDP if a TCP connection cannot be established