Releases: microsoft/msphpsql
5.12.0 for PHP Driver for SQL Server
Added
-Support for PHP 8.3
-Support for Alpine 3.19
Removed
-Support for PHP 8.0
-Support for Ubuntu 18.04
-Support for Alpine 3.15
Fixed
-Update connection string keywords set function (#1484)
-Fix error throw for multiple result sets (#1485)
-Fix invalid precision error (#1497)
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Click here to start the PHP survey
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.12.0
sudo pecl install pdo_sqlsrv-5.12.0
- Windows DLLs can be found in
Assets
5.12.0-beta1 for PHP Driver for SQL Server
Added
- Support for PHP 8.3
Removed
- Support for PHP 8.0
- Support for Ubuntu 18.04
Fixed
- Update connection string keywords set function (#1484)
- Fix error throw for multiple result sets (#1485)
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Click here to start the PHP survey
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.12.0beta1
sudo pecl install pdo_sqlsrv-5.12.0beta1
- Windows DLLs can be found in
Assets
5.11.1 for PHP Driver for SQL Server
Fixed
- Reset type after bind param (#1452)
- Fixed error when using PDO::ATTR_STRINGIFY_FETCHES (#1468) by SakiTakamachi
- Change connection options to case insensitive (#1460)
- Bugfix for 1465 Adding a NULL check (#1471)
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Click here to start the PHP survey
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.11.1
sudo pecl install pdo_sqlsrv-5.11.1
- Windows DLLs can be found in
Assets
5.11.0 for PHP Driver for SQL Server
Added
- Support for PHP 8.2
Removed
- Support for PHP 7.4
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Click here to start the PHP survey
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.11.0
sudo pecl install pdo_sqlsrv-5.11.0
- Windows DLLs can be found in
Assets
5.11.0-beta1 for PHP Driver for SQL Server
Added
- Support for PHP 8.2
Fixed
- Pull request #1408 - Fixed right truncation issue, unit test added by talkinnl
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Click here to start the PHP survey
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.11.0beta1
sudo pecl install pdo_sqlsrv-5.11.0beta1
- Windows DLLs can be found in
Assets
5.10.1 for PHP Driver for SQL Server
Added
- Pull request #1382 - Support for ActiveDirectoryIntegrated authentication
Fixed
- Pull request #1374 - Fixed ActiveDirectoryMsi Authentication behavior when specified UID by laclefyoshi
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.10.1
sudo pecl install pdo_sqlsrv-5.10.1
- To download Windows DLLs for PHP 7.4 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
5.10.0 for PHP Driver for SQL Server
Added
- Support for PHP 8.1
- Support for macOS Monterey, Debian 11, Ubuntu 21.04 and 21.10, Alpine 3.13, 3.14 and 3.15
- Support for Apple M1 ARM64 hardware -- requires MS ODBC Driver 17.8+
- Adjusted connection keyword and value validation for more flexibility
- Feature Request #795 - adding support for Table-valued parameters
- Feature Request #1320 - allow PDO::ATTR_EMULATE_PREPARES to be set at the connection level
Removed
- Support for PHP 7.3
- Support for Ubuntu 16.04, Alpine 3.11 and Alpine 3.12
Fixed
- Issue #1244 - use lower case for object names for PDO::lastInsertId() - pull request #1245 by morozov
- Pull request #1251 - simplified implementations of last insert id and quote
- Issue #1258 - updated pdo_sqlsrv_get_driver_methods as per documentation - pull request #1259
- Pull request #1260 - cleaned up redundant code
- Issue #1261 - simplified get_field_as_string and made it more robust - pull request #1265
- Pull request #1262 - simplified parse_param_array in sqlsrv
- Pull request #1267 - replaced the obsolete MACRO ZVAL_NEW_ARR with array_init
- Pull request #1275 - fixed warning compiling core_stmt.cpp by mlocati
- Pull request #1288 - applied mask to pdo quote for binary inputs
- Pull request #1290 - updated list of supported processor architecture
- Issue #1307 - added TVP support to non-procedure statements
- Issue #1310 - adjusted sql_data_type and column size for NULL parameters - pull request #1311 by gjcarrette
- Pull request #1326 - php drivers simply pass Azure AD Authentication to ODBC driver, which will verify the settings
- Issue #1329 - reset sql type and column size for input params
- Issue #1331 - restore PDO::ATTR_ERRMODE if calling PDO::lastInsertId() call fails - pull request #1330 by mpyw and pull request #1332
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.10.0
sudo pecl install pdo_sqlsrv-5.10.0
- To download Windows DLLs for PHP 7.4 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
5.10.0-beta2 for PHP Driver for SQL Server
Added
- Support for PHP 8.1
- Support for Ubuntu 21.10
- Feature Request #1320 - allow PDO::ATTR_EMULATE_PREPARES to be set at the connection level
Fixed
- Issue #1307 - added TVP support to non-procedure statements
- Issue #1310 - adjusted sql_data_type and column size for NULL parameters - pull request #1311 by gjcarrette
- Pull request #1326 - php drivers simply pass Azure AD Authentication to ODBC driver, which will verify the settings
- Issue #1329 - reset sql type and column size for input params
- Issue #1331 - restore PDO::ATTR_ERRMODE if calling PDO::lastInsertId() call fails - pull request #1330 by mpyw and pull request #1332
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.10.0beta2
sudo pecl install pdo_sqlsrv-5.10.0beta2
- To download Windows DLLs for PHP 7.3 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
5.10.0-beta1 for PHP Driver for SQL Server
Added
- Support for PHP 8.1 RC 1
- Support for Ubuntu 21.04 and Alpine 3.13
- Support for Apple M1 ARM64 hardware (requires MS ODBC Driver 17.8+)
- Feature Request #795 - adding support for Table-valued parameters
Removed
- Support for Ubuntu 16.04
Fixed
- Issue #1244 - use lower case for object names for PDO::lastInsertId() - pull request #1245 by morozov
- Pull request #1251 - simplified implementations of last insert id and quote
- Issue #1258 - updated pdo_sqlsrv_get_driver_methods as per documentation - pull request #1259
- Pull request #1260 - cleaned up redundant code
- Issue #1261 - simplified get_field_as_string and made it more robust - pull request #1265
- Pull request #1262 - simplified parse_param_array in sqlsrv
- Pull request #1267 - replaced the obsolete MACRO ZVAL_NEW_ARR with array_init
- Pull request #1275 - fixed warning compiling core_stmt.cpp by mlocati
- Pull request #1288 - applied mask to pdo quote for binary inputs
- Pull request #1290 - updated list of supported processor architecture
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.10.0beta1
sudo pecl install pdo_sqlsrv-5.10.0beta1
- To download Windows DLLs for PHP 7.3 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
5.9.0 for PHP Driver for SQL Server
Added
- Support for PHP 8.0
- Support for macOS Big Sur, Ubuntu 20.04, Ubuntu 20.10 and Alpine 3.12
- Support for GB18030 locale #1115
- Feature Request #924 - extended PDO errorinfo to include additional odbc messages if available - pull request #1133
- Data Classification with rank info, which requires MS ODBC Driver 17.4.2+ and SQL Server 2019 or an Azure SQL instance that supports it
- Azure Active Directory Service Principal authentication support, which requires MS ODBC Driver 17.7+
Removed
- Dropped support for PHP 7.2
- Dropped support for macOS High Sierra, Ubuntu 19.10 and Debian 8
Fixed
- Pull Request #1127 - removed TSRMLS macros in preparation for PHP 8 by remicollet
- Pull Request #1136 - improved performance when handling decimal numbers as inputs or outputs and removed unnecessary conversions for numeric values
- Pull Request #1143 - if an exception occurs when executing a query, it will not change the output parameters
- Pull Request #1144 - use the correct C types when binding output parameters with integer values
- Pull Request #1146 - improved performance when fetching numbers using client buffers
- Pull Request #1165 - set query timeout without using LOCK TIMEOUT, which saves an extra trip to the server
- Issue #1170 - when fetching large data types such as ntext, check more than only the display size - pull request #1172
- Pull Request #1205 - minimized compilation warnings on Linux and macOS
- Pull Request #1209 - fixed a bug when fetching varbinary max fields as char or wide chars
- Issue #1210 - switched from preview to beta terminology to enable Pickle support
- Issue #1213 - the MACOSX_DEPLOYMENT_TARGET in config files caused linker errors in macOS Big Sur - Pull Request #1215
- Pull Request #1226 - replaced the problematic strlen function
- Pull Request #1227 - addressed static code analyis issues
Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic 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
Survey
Let us know how we are doing and how you use our drivers by taking our pulse survey:
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.9.0
sudo pecl install pdo_sqlsrv-5.9.0
- To download Windows DLLs for PHP 7.3 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.