Skip to content

Enhance Dependency Resolver: Implement Smarter 'auto' Versioning for Improved Compatibility #142

@RobinTheHood

Description

@RobinTheHood

Modules can be given the version auto, currently auto is handled as an independent version. Internally, auto is always the higher version in a comparison. Currently auto behaves as if it had a version of 999.999.999 or higher but this can lead to errors, here is an example:

Module X requires:
robinthehood/modified-std-module: >=0.8.0, <1.0.0

Module modified-std-module has version auto in development and the largest real version released in MMLS is 0.9.1

However, auto is currently treated as the highest option in a comparison
So auto would be greater than 1.0.0 in a comparison and it follows that module X cannot be installed. It would be better if auto was treated like 0.10.0 in this case.

We should rebuild auto so that auto is always just the next version. auto should look at what the current highest released version is and then increment the minor (major.minor.patch) version by +1.

Examples:
Currently highest version 0.0.0
auto should be handled as 0.1.0

Currently highest version: 0.1.1
auto should be handled as 0.2.0

Currently highest version 1.1.1
auto should be handled as 1.2.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions