Problem/Motivation
As part of refactoring and improving Drupal's harmony with semver, it's been discovered that ModuleHandler::parseDependency() expects dev versions to end with a number.
For instance, views_ui(8.x-1.1-alpha12) can be parsed, but views_ui(8.x-1.1-beta) can not.
That's because the regex looks like this: $p_minor = '(?<minor>(?:\d+|x)(?:-[A-Za-z]+\d+)?)';
You can see this reflected in the test data: https://cgit.drupalcode.org/drupal/tree/core/tests/Drupal/Tests/Core/Ext...
Proposed resolution
Figure out if this matters.
Change it.
Remaining tasks
User interface changes
API changes
Data model changes
Comments
Comment #2
andypostNot sure we should fix it because https://www.drupal.org/node/1015226 states
Comment #3
mile23Maybe we should handle that case in a way that helps people find those docs.
Comment #4
andypostGood idea, btw in #2677532-83: Move drupal_check_incompatibility() functionality to a new Dependency class and Version component I asked maybe we can repurpose it to more stricter & notification somewhere could be nice addition
Comment #5
MixologicOther meta.
Comment #7
tedbowThis will be fixed in #3005229: Provide optional support for using composer.json for dependency metadata
See #3069795: [meta] Improve dependency management for extensions for the larger plan.