xy2z / dopenote

📝 Self-hosted modern webapp for notes - Free and open source - (WORK IN PROGRESS)
https://dopenote.gitbook.io/docs/
GNU General Public License v3.0
24 stars 9 forks source link

Bump doctrine/dbal from 2.10.2 to 3.0.0 #288

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 3 years ago

Bumps doctrine/dbal from 2.10.2 to 3.0.0.

Release notes

Sourced from doctrine/dbal's releases.

Release 3.0.0

Release 3.0.0

This is a major release of Doctrine DBAL that focuses on API improvements and removal of deprecated APIs.

Major release highlights

  1. Integration with PDO has been reworked. The php_pdo extension is no longer a hard dependency of the doctrine/dbal package. The PDO API is not longer the standard for DBAL APIs.
  2. The wrapper-level connection and statement classes no longer implement the corresponding driver-level interfaces.
  3. Instead of being available in certain states of the Statement class, the statement result is explicitly returned as a separate value.
  4. A new dedicated API has been introduced for unique constraints.
  5. The prepared statement portability layer has been reworked on top of the newly introducer Driver Middleware API.
  6. The logic of conversion of driver-specific error codes and exceptions has been extracted into the Exception Converter API.
  7. The SQL parser has been completely reworked to allow for better compatibility with the SQL syntax.
  8. The following database platforms are no longer supported:
    • Drizzle,
    • MariaDB 10.0 and older,
    • Microsoft Azure,
    • PostgreSQL 9.3 and older,
    • SQL Anywhere,
    • SQL Server 2008 and older.
  9. The following drivers are no longer supported:
    • pdo_ibm,
    • sasql.
  10. Passing a PDO instance initialized outside of the DBAL is no longer supported.
  11. The support for UUID generation on the database side has been dropped.
  12. The MasterSlaveConnection class has been renamed to PrimaryReplicaConnection.
  13. The executeUpdate() method has been renamed to executeStatement().
  14. All driver classes and driver-level connection and statement classes are now conscdistently named and declared as final.
  15. All PDO-based drivers have been moved under the PDO namespace.
  16. The Doctrine\DBAL\DBALException and Doctrine\DBAL\Driver\DriverException have been renamed to Doctrine\DBAL\Exception and Doctrine\DBAL\Driver\Exception respectively.
  • Total issues resolved: 26
  • Total pull requests resolved: 99
  • Total contributors: 13

PHP 8 support

API improvements

Upgrade guide

Sourced from doctrine/dbal's upgrade guide.

Upgrade to 2.12

Deprecated non-zero based positional parameter keys

The usage of one-based and other non-zero-based keys when binding positional parameters is deprecated.

It is recommended to not use any array keys so that the value of the parameter array complies with the list<> type constraint.

// This is valid (implicit zero-based parameter indexes)
$conn->fetchNumeric('SELECT ?, ?', [1, 2]);

// This is invalid (one-based parameter indexes) $conn->fetchNumeric('SELECT ?, ?', [1 => 1, 2 => 2]);

// This is invalid (arbitrary parameter indexes) $conn->fetchNumeric('SELECT ?, ?', [-31 => 1, 5 => 2]);

// This is invalid (non-sequential parameter indexes) $conn->fetchNumeric('SELECT ?, ?', [0 => 1, 3 => 2]);

Deprecated skipping prepared statement parameters

Some underlying drivers currently allow skipping prepared statement parameters. For instance:

$conn->fetchOne('SELECT ?');
// NULL

This behavior should not be relied upon and may change in future versions.

Deprecated colon prefix for prepared statement parameters

The usage of the colon prefix when binding named parameters is deprecated.

$sql  = 'SELECT * FROM users WHERE name = :name OR username = :username';
$stmt = $conn->prepare($sql);

// The usage of the leading colon is deprecated $stmt->bindValue(':name', $name);

// Only the parameter name should be passed $stmt->bindValue('username', $username);

$stmt->execute();

Commits
  • ee6d126 Merge pull request #4433 from morozov/more-specific-statement-params-type
  • 41ff58d Positional statement parameters are a list
  • ede9e16 Merge pull request #4431 from BenMorel/configuration
  • 5d03f6e Use individual properties in Configuration
  • 0f55c0d Merge branch '2.12.x' into 3.0.x
  • c2c8488 Merge pull request #4403 from simPod/patch-1
  • 041df42 Merge pull request #4397 from morozov/issues/4383
  • e456ab1 Merge pull request #4429 from morozov/issues/4428
  • 6d151f9 Throw exception on invalid LockMode
  • 74bc147 Merge pull request #4400 from BenMorel/with-nolock
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 3 years ago

Superseded by #324.