Fixed
Project:
reCAPTCHA v3
Version:
2.0.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
23 Mar 2026 at 13:12 UTC
Updated:
1 Apr 2026 at 13:33 UTC
Jump to comment: Most recent
All MRs against reCAPTCHA_v3 are now failing to pass GitLab CI pipelines with several issues:
phpcs (Code Sniff)
FILE: src/ReCaptchaV3ActionInterface.php
------------------------------------------------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------
8 | ERROR | [x] Documentation comment contains forbidden comment "Provides an interface defining a recaptcha v3
| | entity..". (SlevomatCodingStandard.Commenting.ForbiddenComments.CommentForbidden)
------------------------------------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------------------------------------------------
PhpStan
------ -----------------------------------------------------------------
Line src/Form/ReCaptchaV3SettingsForm.php
------ -----------------------------------------------------------------
183 Call to deprecated method clearCachedDefinitions() of interface
Drupal\Core\Asset\LibraryDiscoveryInterface:
in drupal:11.1.0 and is removed from drupal:12.0.0. Use
LibraryDiscoveryCollector::clear() instead.
🪪 method.deprecated
------ -----------------------------------------------------------------
[ERROR] Found 1 error
Composer
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires drupal/captcha ^2.0 -> satisfiable by drupal/captcha[2.0.10, 2.x-dev].
- Root composer.json requires drupal/core-recommended main-dev -> satisfiable by drupal/core-recommended[dev-main].
- drupal/captcha[2.0.10, ..., 2.x-dev] require drupal/core ^9.5 || ^10 || ^11 -> satisfiable by drupal/core[9.5.x-dev, 10.0.x-dev, ..., 10.6.x-dev, 11.0.x-dev, ..., 11.x-dev].
- drupal/core 10.0.x-dev requires symfony/yaml ^6.2 -> satisfiable by symfony/yaml[v6.2.0-BETA1, ..., 6.4.x-dev].
- drupal/core 10.1.x-dev requires symfony/yaml ^6.3 -> satisfiable by symfony/yaml[v6.3.0-BETA1, ..., 6.4.x-dev].
- drupal/core[10.2.x-dev, ..., 10.6.x-dev] require symfony/yaml ^6.4 -> satisfiable by symfony/yaml[v6.4.0-BETA1, ..., 6.4.x-dev].
- drupal/core 11.0.x-dev requires symfony/yaml ^7.1 -> satisfiable by symfony/yaml[v7.1.0-BETA1, ..., 7.4.x-dev].
- drupal/core[11.1.9, ..., 11.1.x-dev] require symfony/yaml ^7.2 -> satisfiable by symfony/yaml[v7.2.0-BETA1, ..., 7.4.x-dev].
- drupal/core[11.2.8, ..., 11.2.x-dev] require symfony/yaml ^7.3 -> satisfiable by symfony/yaml[v7.3.0-BETA1, ..., 7.4.x-dev].
- drupal/core 11.3.0-rc1 requires drupal/core-composer-scaffold 11.3.0-rc1 -> found drupal/core-composer-scaffold[11.3.0-rc1] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.0-rc2 requires drupal/core-composer-scaffold 11.3.0-rc2 -> found drupal/core-composer-scaffold[11.3.0-rc2] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.0-alpha1 requires drupal/core-composer-scaffold 11.3.0-alpha1 -> found drupal/core-composer-scaffold[11.3.0-alpha1] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.0-beta1 requires drupal/core-composer-scaffold 11.3.0-beta1 -> found drupal/core-composer-scaffold[11.3.0-beta1] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.0 requires drupal/core-composer-scaffold 11.3.0 -> found drupal/core-composer-scaffold[11.3.0] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.1 requires drupal/core-composer-scaffold 11.3.1 -> found drupal/core-composer-scaffold[11.3.1] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.2 requires drupal/core-composer-scaffold 11.3.2 -> found drupal/core-composer-scaffold[11.3.2] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.3 requires drupal/core-composer-scaffold 11.3.3 -> found drupal/core-composer-scaffold[11.3.3] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.4 requires drupal/core-composer-scaffold 11.3.4 -> found drupal/core-composer-scaffold[11.3.4] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.5 requires drupal/core-composer-scaffold 11.3.5 -> found drupal/core-composer-scaffold[11.3.5] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.3.x-dev requires drupal/core-composer-scaffold 11.3.x-dev -> found drupal/core-composer-scaffold[11.3.x-dev] but it conflicts with your root composer.json require (main-dev).
- drupal/core 11.x-dev requires drupal/core-composer-scaffold 11.x-dev -> found drupal/core-composer-scaffold[11.x-dev] but it conflicts with your root composer.json require (main-dev).
- drupal/core 9.5.x-dev requires longwave/laminas-diactoros ^2.14 -> satisfiable by longwave/laminas-diactoros[2.14.x-dev].
- drupal/core-recommended dev-main requires symfony/yaml ~v8.0.6 -> satisfiable by symfony/yaml[v8.0.6, 8.0.x-dev].
- longwave/laminas-diactoros 2.14.x-dev requires php ^7.3 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 -> your php version (8.5.4) does not satisfy that requirement.
- You can only install one version of a package, so only one of these can be installed: symfony/yaml[v3.4.0-BETA1, ..., 3.4.x-dev, v4.0.0-BETA1, ..., 4.4.x-dev, v5.0.0-BETA1, ..., 5.4.x-dev, v6.0.0-BETA1, ..., 6.4.x-dev, v7.0.0-BETA1, ..., 7.4.x-dev, v8.0.0-BETA1, ..., 8.1.x-dev].
Eg see failure on Pipeline Job #776876 for #3580636: reCAPTCHA v3 hide_badge branding text is outdated after Google's April 2, 2026 policy change.
Fix the above 3 CI failures so other issues in the queue can be properly tested and surface related failures, instead of unrelated failures.
None
None
None
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 #3
jwilson3I've fixed the CI failures. (Tests are all green now).
The third issue, related to composer next major, is being caused by the upstream drupal/captcha module not yet being marked Drupal 12 compatible. Drupal CI cannot validate recaptcha_v3's D12-compatibility until the upstream dependency is also D12-compatible.
I found a related upstream issue that would need to get committed first, before D12 could even be considered for captcha. #3576948: Fix Drupal 11 and PHPStan compatibility: replace deprecated classes and unsafe new static() usage
For that reason, I decided to temporarily disable "NEXT_MAJOR" in this module's .gitlab-ci.yml
Comment #4
jwilson3Comment #5
dench0Comment #7
dench0