Add 'dev' as version bump rule for developmental releases.
- [x] I have searched the issues of this repo and believe that this is not a duplicate.
- [x] I have searched the FAQ and general documentation and believe that my question is not already covered.
Feature Request
I would like to use poetry version dev to automatically increment my versions according to the PEP-440 rules for developmental releases.
Expected behaviour:
| rule | before | after |
|---|---|---|
| dev | 1.0.2 | 1.0.2.dev0 |
| dev | 1.0.2.dev0 | 1.0.2.dev1 |
| dev | 1.0.2a0 | 1.0.2a0.dev0 |
that's not an increment, that's a decrement
@gaileyleseman If you are still interested in this, please fix the expected behavior in the issue description.
@radoering
what if the dev state is specified using the --dev flag?
examples:
| command | before | after |
|---|---|---|
poetry version major --dev |
1.1.0 | 2.0.0.dev0 |
poetry version minor --dev |
1.1.0 | 1.2.0.dev0 |
poetry version patch --dev |
1.1.0 | 1.1.1.dev0 |
poetry version premajor --dev |
1.1.0 | 2.0.0.a0.dev0 |
poetry version preminor --dev |
1.1.0 | 1.2.0.a0.dev0 |
poetry version prepatch --dev |
1.1.0 | 1.1.1.a0.dev0 |
In this case command poetry version dev will bump .dev version:
| command | before | after |
|---|---|---|
poetry version dev |
1.1.0.dev0 | 1.1.0.dev1 |
poetry version dev |
1.1.0.dev1 | 1.1.0.dev2 |
expected behaviors in other cases:
| command | before | after |
|---|---|---|
poetry version prerelease --dev |
1.1.0 | 1.1.1.a0.dev0 |
poetry version prerelease --next-phase |
1.1.0.a2.dev1 | 1.1.0.b0 |
poetry version prerelease --next-phase --dev |
1.1.0.a2.dev1 | 1.1.0.b0.dev0 |
what do you think about it?
Looks good so far. We should additionally define what happens when running poetry version dev on a non-dev release? (We could just fail with a comprehensive error message if we cannot define a reasonable update rule.)
@radoering what if the same command is used to change the .dev version as when declaring the .dev0 version?
Examples:
| command | before | after |
|---|---|---|
poetry version major --dev |
1.1.0 | 2.0.0.dev0 |
poetry version major --dev |
2.0.0.dev0 | 2.0.0.dev1 |
poetry version major |
2.0.0.dev1 | 2.0.0 |
poetry version prerelease --dev |
1.1.0 | 1.1.1.a0.dev0 |
poetry version prerelease --dev |
1.1.1.a0.dev0 | 1.1.1.a0.dev1 |
poetry version prerelease |
1.1.1.a0.dev1 | 1.1.1.a0 |
Yes, this avoids the issue. The longer I think about it, the more I like your suggestion.
Any progress on this? would be awesome