Skip to content

Releases: microsoft/msphpsql

5.11.0 for PHP Driver for SQL Server

07 Mar 01:58
f6f76d4
Compare
Choose a tag to compare

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

27 Jan 22:41
cf661d1
Compare
Choose a tag to compare

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

31 May 17:50
16459fa
Compare
Choose a tag to compare

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

31 Jan 19:29
0997c25
Compare
Choose a tag to compare

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

02 Dec 17:03
1a45ee1
Compare
Choose a tag to compare

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

08 Sep 17:50
4af55d5
Compare
Choose a tag to compare

Added

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

29 Jan 20:40
6d2b938
Compare
Choose a tag to compare

Added

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.

5.9.0-beta2 for PHP Driver for SQL Server

02 Dec 17:28
61f3403
Compare
Choose a tag to compare

Added

  • Support for PHP 8.0

Removed

  • Dropped support for PHP 7.2

Fixed

  • Pull Request #1205 - minimized compilation warnings on Linux and macOS
  • Pull Request #1209 - fixed a bug in 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

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 preview 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.0beta2
    sudo pecl install pdo_sqlsrv-5.9.0beta2
  • To download Windows DLLs for PHP 7.3 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

5.9.0-preview1 for PHP Driver for SQL Server

05 Oct 14:59
26656bc
Compare
Choose a tag to compare

We are pleased to announce the next preview release for the Microsoft PHP Drivers for SQL Server, version 5.9.0-preview1. This preview release has been built with PHP 7.2+ and tested on all supported platforms.

Notable items about this release include:

Added

Removed

  • Dropped support for Ubuntu 19.10 and Debian 8.

Fixed

  • Pull Request #1127 - removal of TSRMLS macros in preparation for PHP 8 by remicollet
  • Pull Request #1136 - improved performance when handling decimal numbers as inputs or outputs and removed unncessary conversions for numeric values
  • Pull Request #1143 - if an exception occurs when executing a query, 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 - setting query timeout without using LOCK TIMEOUT, which saves an extra trip to the server
  • Issue #1170 - when fetching large data types such as ntext will check more than only the display size - pull request #1172

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 preview 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.0preview1
    sudo pecl install pdo_sqlsrv-5.9.0preview1
  • To download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

Hotfix Release for the PHP drivers Version 5.8.1 for SQL Server

15 Apr 15:29
55e1715
Compare
Choose a tag to compare

This release only applies to Linux and macOS.

Fixed

  • Pull Request #1094 - Fixed default locale issues in Alpine Linux
  • Pull Request #1095 - Removed unnecessary data structure to support Client-Side Cursors feature in Alpine Linux
  • Pull Request #1107 - Fixed logging issues when both drivers are enabled in Alpine Linux

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

  • 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.8.1
    sudo pecl install pdo_sqlsrv-5.8.1
  • You may download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.