Changes in Drupal core over D10 and D11 deprecate and will remove annotations in favor of attributes. Attribute discovery is required starting with Drupal 12 with additional items removed in Drupal 13. See #3564889: Fix deprecations discovered in tests for details.

The required changes prevent backwards compatibility with versions of Drupal prior to 11.2.0. Because of the backwards incompatibility, we should cut a new branch to support 11.2 and later, initially as a beta with a full release as Drupal 12 gets close to release.

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

john franklin created an issue. See original summary.

nickolaj made their first commit to this issue’s fork.

nickolaj’s picture

Status: Active » Needs review

Converts KeyType plugin annotations to PHP 8 attributes for Drupal 12+ compatibility and updates core_version_requirement to ^11.2 || ^12.

nickolaj’s picture

john franklin’s picture

Status: Needs review » Postponed

Before we can move forward with this issue, we need to wait for Key to merge in support for KeyType attributes, or for them to come up with a totally new Key module architecture per #3537969: Plan for Key 2.0.

I'm marking this as postponed until upstream supports the required attributes.

roderik’s picture

From a casual read of #3564889: Fix deprecations discovered in tests results, I'm not seeing incompatibilities of the kind that warrant a 2.x branch (as opposed to a 1.3.0 release that drops compatibility for < 11.2). I might be wrong, though.

john franklin’s picture

If the updates were simply adding in attributes to the entities and those attributes could be ignored by previous versions of Drupal, then I would agree. However, these updates will remove the annotations in favor of attributes, and some of the attributes were not available in Drupal versions prior to 11.2, so I think it would be better to bump the major version.

This lets us continue to add features to the 2.x branch for Drupal 11.2+ while sites running Drupal 10.x would still be supported by the 1.3.x branch and receive security updates backported from the 2.x branch.

roderik’s picture

Status: Postponed » Needs work

I'm pushing something else I want to do:

Changing the return value of KeyPairInterface::getKeyProperties() from ?array to array. All the current code returns, and expects, an array never NULL. (But hey, it's officially an interface break -- custom code could break if we change the interface. So: 2.x.)

Needs work for checking if #3492478: Remove dependency on phpseclib is already committed. When it is: new KeyPairPhpSecLib3::getKeyProperties() also needs the change applied.