poetry icon indicating copy to clipboard operation
poetry copied to clipboard

Add 'dev' as version bump rule for developmental releases.

Open gaileyleseman opened this issue 2 years ago • 7 comments

  • [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

gaileyleseman avatar Nov 27 '23 14:11 gaileyleseman

that's not an increment, that's a decrement

dimbleby avatar Nov 27 '23 14:11 dimbleby

@gaileyleseman If you are still interested in this, please fix the expected behavior in the issue description.

radoering avatar Dec 29 '23 09:12 radoering

@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?

vlaszdunov avatar Feb 24 '25 18:02 vlaszdunov

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 avatar Feb 25 '25 04:02 radoering

@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

vlaszdunov avatar Mar 06 '25 06:03 vlaszdunov

Yes, this avoids the issue. The longer I think about it, the more I like your suggestion.

radoering avatar Mar 09 '25 15:03 radoering

Any progress on this? would be awesome

ntopousis avatar Jun 04 '25 19:06 ntopousis