Fixed
Project:
E-Arkiv
Version:
1.0.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Reporter:
Created:
11 Nov 2026 at 06:02 UTC
Updated:
11 Nov 2026 at 07:51 UTC
Jump to comment: Most recent
The module uses APIs that are deprecated in Drupal 11.2 and removed in Drupal 12:
Drupal\earkiv\Annotation\Archiver and Storage). phpstan reports this in the GitLab CI pipeline.hook_requirements() is replaced by hook_runtime_requirements(), which can be implemented with the Hook attribute.REQUIREMENT_* constants are replaced by the RequirementSeverity enum.Drush 13 does not install with Drupal 12, and the module has no tests, so nothing checks that it works on the versions it claims to support.
Drupal\earkiv\Attribute\Archiver and Storage, use them on the HTTrack archiver and the local storage, and pass both the attribute and the annotation class to the plugin managers, so that plugins in other modules that still use annotations keep working.hook_runtime_requirements() with #[Hook('runtime_requirements')] and remove hook_requirements(). Use RequirementSeverity in the plugins.^11.2 || ^12 and Drush ^13 || ^14. Drupal 11.2 is the first version with the runtime requirements hook and the severity enum, so 11.1 is no longer supported.OPT_IN_TEST_PREVIOUS_MINOR, OPT_IN_TEST_NEXT_MAJOR).allow_failure: false), so that a merge request with new findings fails.Each step is a separate commit.
None.
New plugin attributes #[Archiver] and #[Storage]. Plugins with the annotations keep working. Drupal 11.1 is no longer supported.
None.
AI-Generated: Yes (Used Claude Code to review the deprecations and draft this issue.)
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
Comment #4
thomas alsén commentedMerged into 1.0.x!