Needs review
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
23 Feb 2026 at 15:07 UTC
Updated:
8 Apr 2026 at 16:25 UTC
Jump to comment: Most recent, Most recent file


Comments
Comment #2
vishal.kadamComment #3
avpadernoThank you for applying!
Before giving links helpful to understand how the review process works, what to expect from a review, and what to do to avoid a review takes more time than needed, I would like to thank all the reviewers for the work they do.
These applications are volunters-driven, which also means it is not possible to predict when an application will be marked fixed and the applicant will get the permission to opt projects into security advisory policy. While we aim to make an application as quick as possible, it is also important for us that more people review the project used for an application. In this way, we make sure applications do not miss some important points that should be instead reported.
Applications are not meant to be complete debugging sessions that eliminate every existing bug, though. I apologize if sometimes applications seem to go into too-detailed reviews.
Please read Review process for security advisory coverage: What to expect for more details and Security advisory coverage application checklist to understand what reviewers look for. Tips for ensuring a smooth review gives some hints for a smoother review.
The important notes are the following.
Keep in mind that once the project is opted into security advisory coverage, only Security Team members may change coverage.
To the reviewers
Please read How to review security advisory coverage applications, Application workflow, What to cover in an application review, and Tools to use for reviews.
The important notes are the following.
For new reviewers, I would also suggest to first read In which way the issue queue for coverage applications is different from other project queues.
Comment #4
avpadernoAs a side note, please check the email address used to make commits, and be sure it is the same email address associated to your account, or your commits will not be associated to your account.
Comment #5
vishal.kadam1. FILE: README.md
The README file is missing the required section - Configuration.
2. FILE: form_layout.info.yml
package: CustomThis line is used by custom modules created for specific sites. It is not a package name used for projects hosted on drupal.org.
3. FILE: form_layout.module
For a new module that aims to be compatible with Drupal 10 and Drupal 11, I would rather implement hooks as class methods as described in Support for object oriented hook implementations using autowired services.
It would require increasing the minimum Drupal 10 version supported, but Drupal 10.1 is no longer supported.
4. FILE: src/Form/FormLayoutSettingsForm.php
FILE: src/Form/GlobalSettingsForm.php
FILE: src/Plugin/Derivative/EditorFormLayoutTasks.php
FILE: src/Routing/RouteSubscriber.php
New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use constructor property promotion.
5. FILE: src/Form/GlobalSettingsForm.php
ConfigFormBase::__construct() needs to be called. Since its parameters changed in Drupal 10.2, the project cannot be compatible with all the Drupal 10 releases and Drupal 11; it needs to require at least Drupal 10.2.
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.
For this change, it is necessary to require at least Drupal 10.3, but that is not an issue, since Drupal 10.2.x is no longer supported.
Comment #6
lukusThank you for the review @vishal.kadam.
I'll action these changes ASAP.
Comment #7
lukusI've now pushed these changes for review.
The changes requested have been pushed directly to 1.0.x on the project repo. I also carried out some refactoring for the tests.
--
I absentmindedly created a fork for the issue, but quickly realised what I was doing wasn't going to work. Wondering whether it's useful having a record of the changes on the issue, so they can also be found on the forked repo.
Comment #8
lukusComment #9
vishal.kadamRest seems fine to me.
Please wait for other reviewers and Project Moderator to take a look and if everything goes fine, you will get the role.
Comment #10
lukusThanks @vishal.kadam!
Comment #11
lukusIs it okay to push non-security updates (/ make releases) during security review?
Comment #12
avpaderno@lukus These applications are not security reviews; we verify the code does not contain possible security issues, but that is not our focus. Changes that we require are also about correctly using the Drupal API and following the Drupal coding standards, for which non-security commits are necessary.
As for making new releases, it is preferable not creating new releases during these applications, because they could require non-backward-compatible changes, for which a new release could create issues.
Comment #13
lukusThanks for the clarification @avpaderno. I'll hold tight in that case!
Comment #14
batigolixI reviewed this and it looks solid. I give other reviewers some time to have a look as well, before marking it RTBC
Comment #15
scontzen commentedAutomated Review
GitLab CI enabled, pipeline looks correct.
Manual Review
1.0.x.field_layoutinstead ofform_layout.horizontal_tabs.js- Line 37: Prettier has added spaces inside the HTML tags in the template literal:button type = "button" role = "tab" aria - controls = "${id}". The browser won't parsebuttonas a tag, so the buttons render as plain text. Tested on a local Drupal 11 install: horizontal tabs are broken on the current 1.0.x branch. Introduced in commitdfd50c5.The starred item (*) warrants going back to Needs Work.
This review uses the Project Application Review Template.
Comment #16
lukusThanks @scontzen and @batigolix.
I've updated the repo. I actually had some changes waiting relating to surfacing validation errors within panes, which was was holding back pushing until after review, but as the fix for the *'d item was part of this bundle I thought it might be worth pushing now.
Hopefully this won't disrupt the process; but I can roll back if it does.
Comment #17
lukusComment #18
scontzen commentedLooked at the latest changes.
Horizontal tabs work now, tested on a local Drupal 11 install.
Still open:
form_layout.info.ymlline 3: description reads "Field Layout provides..." instead of "Form Layout".drupal.org/project/issues/field_layoutinstead ofform_layout.FormLayoutSettingsFormstill uses the old constructor pattern (lines 26-50) instead of Constructor Property Promotion as requested in #3575215-5: [1.0.x] Form Layout. All other classes in the module already use CPP. Also,$this->routeMatch(line 50) has no property declaration.composer.jsonis still missing. Not a blocker since drupal.org generates it, but good to have.Setting to Needs work.
Comment #19
lukusThanks for the pointers.
Ready to review.