Making a Release

OK, so you’ve closed all the issues assigned to a release. Here are the commands which manage the release process.

Firstly, to see the list of available releases, and what state they’re in, there’s the releases command:

Ditz: releases
1.0 (unreleased)

To see the status of the current release:

Ditz: status 1.0
1.0   0/ 0 bugfixes   1/ 1 features   0/ 0 tasks  (ready for release)

This shows you that release 1.0 is ready. Another way to see it is via the todo command:

Ditz: todo
1.0 (unreleased):
No open issues

Unassigned:
_ prog-2: Prototype prints the Wrong Thing (bug)

To make a release, use the release command, specifying the release number (but in this case we don’t need to, since PyDitz remembers the last release mentioned):

Ditz: release 1.0
Comments (ctrl-c to abort, . to finish)
> It's good to go!
> .
Released 1.0

Note that this command will only succeed if all the issues in the release are closed.

Now, if we run the releases command again, we get:

Ditz: releases
1.0 (released 2020-05-29)

Finally, you can get a log of all the changes made in a release (of the kind you’d put into a NEWS file) using the changelog command:

Ditz: changelog 1.0
== 1.0 / 2020-05-29
* Implement a hello-world program

So there you have it: the entire release process of helloworld version 1.0. Pity about that outstanding bug… I guess they ran out of budget. GRIN