Must haves
- The
symfony/expression-languageandsymfony/intlversion constraints are outdated and can conflict with other modules that need newer versions. See #3525460: Update symfony/expression-language to v7 (Compatibility with module_builder). - Required-field validation doesn't catch empty values properly on multi-value fields. See #3471408: not_blank_constraint_rule fail on fields with multiple values.
- Confirm and document that existing 8.x-1.1 configuration keeps working after upgrading to 3.0.0. Update issue created: #3619431: Document that 8.x-1.1 configuration keeps working via field_validation_legacy after upgrading to 3.0.0
- An invalid regex pattern shows a raw PHP warning instead of a clean form error. See #3390907: Protect / help avoid validation logic problems.
Nice to haves
Some don’t have issues created yet. Feel free to create one and tag it here as well.
- Document that the "administer field validation rule set" permission allows running custom code through the Callback and Expression rule types, so it should only go to trusted roles #3621773: Document that the "administer field validation rule set" permission allows running custom code via the Callback and Expression rule types
Add coding standards and static analysis config for contributors.- Clarify how the Regex rule matches values. See #3391589: Regex rule doesn't work as expected.
Move plugin definitions from annotations to PHP attributes.
Ignore list
I'm ignoring the following for now, as I don't have time to work on them, unless someone else picks them up:
- No CI pipeline exists yet, so nothing runs tests or coding standards automatically. See #3433082: Add Gitlab CI.
- No automated tests for the validation rules added in 3.x.
Issue fork field_validation-3616699
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
Comment #2
abhisekmazumdarThis is a narrowed-down list to make the module as stable.
I have very little availability to work on all of it, but I still aim to get it done by next week.
If anyone can jump in and adjust the plan or help me move forward, it would be really helpful.
Comment #3
vidit.anjaria commentedComment #4
abhisekmazumdarComment #5
abhisekmazumdarComment #6
abhisekmazumdarSee the mentioned issues. They need testing and should be marked RTBC to move them forward.
Comment #7
ahmad-khalil-imagexComment #8
ahmad-khalil-imagexComment #9
arianraeesi commentedComment #10
abhisekmazumdarComment #11
abhisekmazumdarComment #13
abhisekmazumdarOpened MR !29, fixing four issues found while getting the module ready for RC needed before we mark it.
Found in our own pre-RC1 end-to-end test sweep:
Found by marcus_johansson's security review on
3.0.xthanks for running that:checkCondition()fatals when its condition references a missing field.Comment #15
abhisekmazumdarAll must-haves are in, and the pre-RC1 hardening pass (MR !29) is merged. Tagging a 3.0.0-rc1 release.
If anyone can test it end to end on a real site, that would help a lot the more real-world coverage before final, the better. Aiming to move to a stable 3.0.0 release next if no blockers turn up.
Comment #16
abhisekmazumdarA new bug came in for 3.0.x
#3622470: Update symfony/intl to v7 (compatibility with drupal11 & symfony 7)
Comment #17
abhisekmazumdarI have to postpone the stable release until next month. I'll be unavailable for a week this month end, and I don't want to make a release and disappear. So the new plan is to make the stable release first thing next month, so I can handle anything that comes up if needed.