From b8a213b3ead938145261fe5b24ae1d3b9c23e1d5 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Fri, 26 Jan 2018 16:28:04 -0800 Subject: [PATCH 1/9] add changelog for 5.2.0 --- CHANGELOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 839f0b801..71c97279f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,56 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) +## Windows/Linux/macOS 5.2.0 - 2017-02-09 +Updated PECL release packages. Here is the list of updates: + +### Added +- Added support for Always Encrypted with basic CRUD functionalities (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) + - Support for Windows Certificate Store (use connection keyword ColumnEncryption) + - Support for custom key store provider (use connection keywords ColumnEncryption, CEKeystoreProvider, CEKeystoreName, CEKeystoreEncryptKey) + - Support for inserting into and modifying an encrypted column + - Support for fetching from an encrypted column +- Added support for PHP 7.2 +- Added support for MSODBC 17 +- Added support for Ubuntu 17 (requires [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Added support for Debian 9 (requires [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Added support for SUSE 12 +- Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 13 for SQL Server,ODBC Driver 11 for SQL Server, and ODBC Driver 17 for SQL Server + - The default driver is ODBC Driver 17 for SQL Server + +### Changed +- Implementation of PDO::lastInsertId($name) to return the last inserted sequence number if the sequence name is supplied to the function ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) + +### Fixed +- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Issue [#615](https://github.com/Microsoft/msphpsql/issues/615) - Added error handling when fetching varchar(max) as a stream with Always Encrypted +- Adjusted precisions for numeric/decimal inputs with Always Encrypted +- Support for non-UTF8 locales in Linux and macOS +- Fixed crash caused by executing an invalid query in a transaction (Issue [#434](https://github.com/Microsoft/msphpsql/issues/434)) +- Added error handling for using PDO::SQLSRV_ATTR_DIRECT_QUERY or PDO::ATTR_EMULATE_PREPARES in a Column Encryption enabled connection +- Added error handling for binding TEXT, NTEXT or IMAGE as output parameter (Issue [#231](https://github.com/Microsoft/msphpsql/issues/231)) +- PDO::quote with string containing ASCII NUL character (Issue [#538]( https://github.com/Microsoft/msphpsql/issues/538)) +- Decimal types with no decimals are correctly handled when AE is enabled (PR [#544](https://github.com/Microsoft/msphpsql/pull/544)) +- BIGINT as an output param no longer results in value out of range exception when the returned value is larger than a maximum integer ([PR #567](https://github.com/Microsoft/msphpsql/pull/567)) + +### Removed +- No longer support Ubuntu 15 +- Supplying tablename into PDO::lastInsertId($name) no longer return the last inserted row ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) + +### Limitations +- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. The subsequent locale setting will not work +- Always Encrypted functionalities are only supported using [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview) +- MSODBC 17 preview msodbcsql.msi only works in Windows10 +- [Always Encrypted limitations](https://github.com/Microsoft/msphpsql/wiki/Features#aelimitation) +- When using sqlsrv_query with Always Encrypted feature, SQL type has to be specified for each input (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) +- No support for inout / output params when using sql_variant type + +### Known Issues +- Connection pooling on Linux doesn't work properly when using the MSODBC17 preview +- When pooling is enabled in Linux or macOS + - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages + - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) + ## Windows/Linux/macOS 5.2.0-RC - 2017-12-20 Updated PECL release packages. Here is the list of updates: From 96f87fea9bec5e7e42cdb8b0475c00a4100bc3a0 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Fri, 26 Jan 2018 16:37:30 -0800 Subject: [PATCH 2/9] change version --- CHANGELOG.md | 10 ++++------ source/shared/version.h | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71c97279f..5b49487ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,8 +14,8 @@ Updated PECL release packages. Here is the list of updates: - Support for fetching from an encrypted column - Added support for PHP 7.2 - Added support for MSODBC 17 -- Added support for Ubuntu 17 (requires [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) -- Added support for Debian 9 (requires [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Added support for Ubuntu 17 (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Added support for Debian 9 (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) - Added support for SUSE 12 - Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 13 for SQL Server,ODBC Driver 11 for SQL Server, and ODBC Driver 17 for SQL Server - The default driver is ODBC Driver 17 for SQL Server @@ -24,8 +24,7 @@ Updated PECL release packages. Here is the list of updates: - Implementation of PDO::lastInsertId($name) to return the last inserted sequence number if the sequence name is supplied to the function ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) ### Fixed -- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) -- Issue [#615](https://github.com/Microsoft/msphpsql/issues/615) - Added error handling when fetching varchar(max) as a stream with Always Encrypted +- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) - Adjusted precisions for numeric/decimal inputs with Always Encrypted - Support for non-UTF8 locales in Linux and macOS - Fixed crash caused by executing an invalid query in a transaction (Issue [#434](https://github.com/Microsoft/msphpsql/issues/434)) @@ -41,8 +40,7 @@ Updated PECL release packages. Here is the list of updates: ### Limitations - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. The subsequent locale setting will not work -- Always Encrypted functionalities are only supported using [MSODBC 17 preview](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview) -- MSODBC 17 preview msodbcsql.msi only works in Windows10 +- Always Encrypted functionalities are only supported using [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview) - [Always Encrypted limitations](https://github.com/Microsoft/msphpsql/wiki/Features#aelimitation) - When using sqlsrv_query with Always Encrypted feature, SQL type has to be specified for each input (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) - No support for inout / output params when using sql_variant type diff --git a/source/shared/version.h b/source/shared/version.h index cb13a805d..7bc0ce39f 100644 --- a/source/shared/version.h +++ b/source/shared/version.h @@ -35,7 +35,7 @@ // for stable releases should be empty // "-RC" for release candidates // "-preview" for ETP -#define SEMVER_PRERELEASE "RC1" +#define SEMVER_PRERELEASE "" // Semantic versioning build metadata, build meta data is not counted in precedence order. #define SEMVER_BUILDMETA From e98e0cc0babf62a6d053f0f25b08632d728e5111 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Mon, 29 Jan 2018 10:03:52 -0800 Subject: [PATCH 3/9] make changes to config w32 is disable guard:cf and O2 flags in debug mode --- source/pdo_sqlsrv/config.w32 | 3 +-- source/shared/version.h | 4 ++-- source/sqlsrv/config.w32 | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/source/pdo_sqlsrv/config.w32 b/source/pdo_sqlsrv/config.w32 index 29288b41d..bd1eaf048 100644 --- a/source/pdo_sqlsrv/config.w32 +++ b/source/pdo_sqlsrv/config.w32 @@ -34,8 +34,7 @@ if( PHP_PDO_SQLSRV != "no" ) { ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/EHsc" ); ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/GS" ); ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/Zi" ); - ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/O2" ); - ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/guard:cf" ); + if (PHP_DEBUG != "yes") ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/guard:cf /O2" ); ADD_FLAG( "CFLAGS_PDO_SQLSRV", "/D ZEND_WIN32_FORCE_INLINE" ); ADD_EXTENSION_DEP('pdo_sqlsrv', 'pdo'); EXTENSION("pdo_sqlsrv", pdo_sqlsrv_src_class, PHP_PDO_SQLSRV_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); diff --git a/source/shared/version.h b/source/shared/version.h index 7bc0ce39f..a06534ec4 100644 --- a/source/shared/version.h +++ b/source/shared/version.h @@ -35,7 +35,7 @@ // for stable releases should be empty // "-RC" for release candidates // "-preview" for ETP -#define SEMVER_PRERELEASE "" +#define SEMVER_PRERELEASE // Semantic versioning build metadata, build meta data is not counted in precedence order. #define SEMVER_BUILDMETA @@ -50,7 +50,7 @@ // For preview release, we want the following: // #define VER_FILEVERSION_STR VER_APIVERSION_STR "-" SEMVER_PRERELEASE SEMVER_BUILDMETA // because pecl doesn't like dashes. However, if SEMVER_PRERELEASE is empty, the "-" must be removed -#define VER_FILEVERSION_STR VER_APIVERSION_STR "-" SEMVER_PRERELEASE SEMVER_BUILDMETA +#define VER_FILEVERSION_STR VER_APIVERSION_STR SEMVER_PRERELEASE SEMVER_BUILDMETA #define _FILEVERSION SQLVERSION_MAJOR,SQLVERSION_MINOR,SQLVERSION_PATCH,SQLVERSION_BUILD // PECL package version macros (can't have '-' or '+') diff --git a/source/sqlsrv/config.w32 b/source/sqlsrv/config.w32 index 6e3df93a1..77d8c4d11 100644 --- a/source/sqlsrv/config.w32 +++ b/source/sqlsrv/config.w32 @@ -35,8 +35,7 @@ if( PHP_SQLSRV != "no" ) { ADD_FLAG( "CFLAGS_SQLSRV", "/EHsc" ); ADD_FLAG( "CFLAGS_SQLSRV", "/GS" ); ADD_FLAG( "CFLAGS_SQLSRV", "/Zi" ); - ADD_FLAG( "CFLAGS_SQLSRV", "/O2" ); - ADD_FLAG( "CFLAGS_SQLSRV", "/guard:cf" ); + if (PHP_DEBUG != "yes") ADD_FLAG( "CFLAGS_SQLSRV", "/guard:cf /O2" ); EXTENSION("sqlsrv", sqlsrv_src_class , PHP_SQLSRV_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); } else { WARNING("sqlsrv not enabled; libraries and headers not found"); From 6a7609c43698128cb3552833711ff93418478230 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Mon, 29 Jan 2018 13:44:28 -0800 Subject: [PATCH 4/9] add to changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b49487ef..0e0a45051 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ Updated PECL release packages. Here is the list of updates: - Added support for Ubuntu 17 (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) - Added support for Debian 9 (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) - Added support for SUSE 12 -- Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 13 for SQL Server,ODBC Driver 11 for SQL Server, and ODBC Driver 17 for SQL Server +- Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 17 for SQL Server,ODBC Driver 13 for SQL Server, and ODBC Driver 11 for SQL Server - The default driver is ODBC Driver 17 for SQL Server ### Changed @@ -50,6 +50,7 @@ Updated PECL release packages. Here is the list of updates: - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) +- Calling stored procedure with XML parameter does not work with Column Encryption enabled (Issue [#674](https://github.com/Microsoft/msphpsql/issues/674)) ## Windows/Linux/macOS 5.2.0-RC - 2017-12-20 Updated PECL release packages. Here is the list of updates: From ab16d6cbd231acf243e51baa2768bf934bff5d46 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Wed, 31 Jan 2018 15:15:18 -0800 Subject: [PATCH 5/9] add limition of connection resiliency with connection pooling and always encrypted --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e0a45051..9c510a2d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,8 @@ Updated PECL release packages. Here is the list of updates: - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) - Calling stored procedure with XML parameter does not work with Column Encryption enabled (Issue [#674](https://github.com/Microsoft/msphpsql/issues/674)) +- Connection with Connection Resiliency enabled so not resume properly with Connection Pooling (Issue [#678](https://github.com/Microsoft/msphpsql/issues/678)) +- Cannot connect with both Connection Resiliency enabled and ColumnEncryption enabled (Issue [#577](https://github.com/Microsoft/msphpsql/issues/577)) ## Windows/Linux/macOS 5.2.0-RC - 2017-12-20 Updated PECL release packages. Here is the list of updates: From 9e21382f73e50f1a92a8081cef3117e878b584b5 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Wed, 14 Feb 2018 16:56:30 -0800 Subject: [PATCH 6/9] remove ksp support in changelog --- CHANGELOG.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c510a2d8..f665d4cae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,19 +3,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) -## Windows/Linux/macOS 5.2.0 - 2017-02-09 +## Windows/Linux/macOS 5.2.0 - 2017-02-14 Updated PECL release packages. Here is the list of updates: ### Added - Added support for Always Encrypted with basic CRUD functionalities (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) - Support for Windows Certificate Store (use connection keyword ColumnEncryption) - - Support for custom key store provider (use connection keywords ColumnEncryption, CEKeystoreProvider, CEKeystoreName, CEKeystoreEncryptKey) - Support for inserting into and modifying an encrypted column - Support for fetching from an encrypted column - Added support for PHP 7.2 - Added support for MSODBC 17 -- Added support for Ubuntu 17 (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) -- Added support for Debian 9 (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Added support for Ubuntu 17 (requires [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi)) +- Added support for Debian 9 (requires [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi)) - Added support for SUSE 12 - Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 17 for SQL Server,ODBC Driver 13 for SQL Server, and ODBC Driver 11 for SQL Server - The default driver is ODBC Driver 17 for SQL Server @@ -24,7 +23,7 @@ Updated PECL release packages. Here is the list of updates: - Implementation of PDO::lastInsertId($name) to return the last inserted sequence number if the sequence name is supplied to the function ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) ### Fixed -- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview)) +- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi)) - Adjusted precisions for numeric/decimal inputs with Always Encrypted - Support for non-UTF8 locales in Linux and macOS - Fixed crash caused by executing an invalid query in a transaction (Issue [#434](https://github.com/Microsoft/msphpsql/issues/434)) @@ -40,13 +39,13 @@ Updated PECL release packages. Here is the list of updates: ### Limitations - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. The subsequent locale setting will not work -- Always Encrypted functionalities are only supported using [MSODBC 17](https://github.com/Microsoft/msphpsql/tree/dev/ODBC%2017%20binaries%20preview) +- Always Encrypted functionalities are only supported using [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi) - [Always Encrypted limitations](https://github.com/Microsoft/msphpsql/wiki/Features#aelimitation) - When using sqlsrv_query with Always Encrypted feature, SQL type has to be specified for each input (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) - No support for inout / output params when using sql_variant type ### Known Issues -- Connection pooling on Linux doesn't work properly when using the MSODBC17 preview +- Connection pooling on Linux doesn't work properly when using the MSODBC 17 preview - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) From 876e4039f3fd9ed67fb48024d197b0a9965df140 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Wed, 14 Feb 2018 17:53:11 -0800 Subject: [PATCH 7/9] remove odbc17 links --- CHANGELOG.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f665d4cae..d46d6594f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,8 @@ Updated PECL release packages. Here is the list of updates: - Support for fetching from an encrypted column - Added support for PHP 7.2 - Added support for MSODBC 17 -- Added support for Ubuntu 17 (requires [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi)) -- Added support for Debian 9 (requires [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi)) +- Added support for Ubuntu 17 (requires MSODBC 17) +- Added support for Debian 9 (requires MSODBC 17) - Added support for SUSE 12 - Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 17 for SQL Server,ODBC Driver 13 for SQL Server, and ODBC Driver 11 for SQL Server - The default driver is ODBC Driver 17 for SQL Server @@ -23,7 +23,7 @@ Updated PECL release packages. Here is the list of updates: - Implementation of PDO::lastInsertId($name) to return the last inserted sequence number if the sequence name is supplied to the function ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) ### Fixed -- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi)) +- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires MSODBC 17) - Adjusted precisions for numeric/decimal inputs with Always Encrypted - Support for non-UTF8 locales in Linux and macOS - Fixed crash caused by executing an invalid query in a transaction (Issue [#434](https://github.com/Microsoft/msphpsql/issues/434)) @@ -38,14 +38,15 @@ Updated PECL release packages. Here is the list of updates: - Supplying tablename into PDO::lastInsertId($name) no longer return the last inserted row ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) ### Limitations +- Always Encrypted is not support in Linux and macOS - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. The subsequent locale setting will not work -- Always Encrypted functionalities are only supported using [MSODBC 17](https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/x64/msodbcsql.msi) +- Always Encrypted functionalities are only supported using MSODBC 17 - [Always Encrypted limitations](https://github.com/Microsoft/msphpsql/wiki/Features#aelimitation) - When using sqlsrv_query with Always Encrypted feature, SQL type has to be specified for each input (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) - No support for inout / output params when using sql_variant type ### Known Issues -- Connection pooling on Linux doesn't work properly when using the MSODBC 17 preview +- Connection pooling on Linux doesn't work properly when using the MSODBC 17 - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) From 4fa898d428052783bb123a606cee87c0ec1324f8 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Thu, 15 Mar 2018 10:49:55 -0700 Subject: [PATCH 8/9] added changelog for 5.2.0 release --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d46d6594f..cb50bdab3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,9 +50,13 @@ Updated PECL release packages. Here is the list of updates: - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) -- Calling stored procedure with XML parameter does not work with Column Encryption enabled (Issue [#674](https://github.com/Microsoft/msphpsql/issues/674)) - Connection with Connection Resiliency enabled so not resume properly with Connection Pooling (Issue [#678](https://github.com/Microsoft/msphpsql/issues/678)) +- With ColumnEncryption enabled, calling stored procedure with XML parameter does not work (Issue [#674](https://github.com/Microsoft/msphpsql/issues/674)) - Cannot connect with both Connection Resiliency enabled and ColumnEncryption enabled (Issue [#577](https://github.com/Microsoft/msphpsql/issues/577)) +- With ColumnEncryption enabled, retrieving a negative decimal value as output parameter causes truncation of the last digit (Issue [#705](https://github.com/Microsoft/msphpsql/issues/705)) +- With ColumnEncryption enabled, cannot insert a double into a decimal column with precision and scale of (38, 38) (Issue [#706](https://github.com/Microsoft/msphpsql/issues/706)) +- With ColumnEncryption enabled, when fetching decimals as output parameters bound to PDO::PARAM_BOOL or PDO::PARAM_INT, floats are returned, not integers (Issue [#707](https://github.com/Microsoft/msphpsql/issues/707)) + ## Windows/Linux/macOS 5.2.0-RC - 2017-12-20 Updated PECL release packages. Here is the list of updates: From 7b2f8c99b802ce3f4f7e9bc1346cadc4e41047b8 Mon Sep 17 00:00:00 2001 From: v-kaywon Date: Thu, 15 Mar 2018 13:54:20 -0700 Subject: [PATCH 9/9] address review comments --- CHANGELOG.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb50bdab3..aee62611e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,18 +12,18 @@ Updated PECL release packages. Here is the list of updates: - Support for inserting into and modifying an encrypted column - Support for fetching from an encrypted column - Added support for PHP 7.2 -- Added support for MSODBC 17 -- Added support for Ubuntu 17 (requires MSODBC 17) -- Added support for Debian 9 (requires MSODBC 17) +- Added support for MS ODBC Driver 17 +- Added support for Ubuntu 17 (requires MS ODBC Driver 17) +- Added support for Debian 9 (requires MS ODBC Driver 17) - Added support for SUSE 12 -- Added Driver option to set the ODBC driver, Added "Driver" option, valid values are ODBC Driver 17 for SQL Server,ODBC Driver 13 for SQL Server, and ODBC Driver 11 for SQL Server +- Added Driver option to set the MS ODBC driver, Added "Driver" option, valid values are "ODBC Driver 17 for SQL Server", "ODBC Driver 13 for SQL Server", and "ODBC Driver 11 for SQL Server" - The default driver is ODBC Driver 17 for SQL Server ### Changed - Implementation of PDO::lastInsertId($name) to return the last inserted sequence number if the sequence name is supplied to the function ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) ### Fixed -- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires MSODBC 17) +- Issue [#555](https://github.com/Microsoft/msphpsql/issues/555) - Hebrew strings truncation (requires MS ODBC Driver 17) - Adjusted precisions for numeric/decimal inputs with Always Encrypted - Support for non-UTF8 locales in Linux and macOS - Fixed crash caused by executing an invalid query in a transaction (Issue [#434](https://github.com/Microsoft/msphpsql/issues/434)) @@ -34,23 +34,23 @@ Updated PECL release packages. Here is the list of updates: - BIGINT as an output param no longer results in value out of range exception when the returned value is larger than a maximum integer ([PR #567](https://github.com/Microsoft/msphpsql/pull/567)) ### Removed -- No longer support Ubuntu 15 +- Dropped support for Ubuntu 15 - Supplying tablename into PDO::lastInsertId($name) no longer return the last inserted row ([lastInsertId](https://github.com/Microsoft/msphpsql/wiki/Features#lastinsertid)) ### Limitations -- Always Encrypted is not support in Linux and macOS -- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. The subsequent locale setting will not work -- Always Encrypted functionalities are only supported using MSODBC 17 +- Always Encrypted is not supported in Linux and macOS +- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connection will not work +- Always Encrypted functionalities are only supported using MS ODBC Driver 17 - [Always Encrypted limitations](https://github.com/Microsoft/msphpsql/wiki/Features#aelimitation) - When using sqlsrv_query with Always Encrypted feature, SQL type has to be specified for each input (see [here](https://github.com/Microsoft/msphpsql/wiki/Features#aebindparam)) - No support for inout / output params when using sql_variant type ### Known Issues -- Connection pooling on Linux doesn't work properly when using the MSODBC 17 +- Connection pooling on Linux doesn't work properly when using MS ODBC Driver 17 - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Connection-Pooling-on-Linux-and-Mac) -- Connection with Connection Resiliency enabled so not resume properly with Connection Pooling (Issue [#678](https://github.com/Microsoft/msphpsql/issues/678)) +- Connection with Connection Resiliency enabled does not resume properly with Connection Pooling (Issue [#678](https://github.com/Microsoft/msphpsql/issues/678)) - With ColumnEncryption enabled, calling stored procedure with XML parameter does not work (Issue [#674](https://github.com/Microsoft/msphpsql/issues/674)) - Cannot connect with both Connection Resiliency enabled and ColumnEncryption enabled (Issue [#577](https://github.com/Microsoft/msphpsql/issues/577)) - With ColumnEncryption enabled, retrieving a negative decimal value as output parameter causes truncation of the last digit (Issue [#705](https://github.com/Microsoft/msphpsql/issues/705))