- Added the Default column to the sys_procedureparameters table.
- Added the IsPath column to the sys_procedureparameters table.
- 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.
- Changed provider name to Google Calendar Data Provider.
- 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.
- Added the hidden connection property ShowAllDayEventTime, which defaults to true. Set this property to false so that StartDateTime and EndDateTime show as null on all-day events.
- 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.
- 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 the GOOGLEJSONBLOB JWT certificate type. This works like the existing GOOGLEJSON certificate type except that the certificate is provided as JSON text instead of as a file path.
- Added support for SingleEvents as a connection property. If SingleEvents is specified in a WHERE clause, that value will override the value in the connection.
- 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
- Added support to add existing shared calendars in the user's calendar list by executing INSERT statements into the Calendars table and specifying the CalendarId in the statement (ex. INSERT INTO Calendars (Id) VALUES('email@example.com').
- Added the AccessControlRules table. It can be used to create, update, delete, and query access control rules to calendars' resources (ex. to share a calendar with a user or group within the domain).