collective / icalendar

icalendar parser library for Python
https://icalendar.readthedocs.io
Other
1k stars 172 forks source link

Version 6 - roadmap #630

Closed niccokunzmann closed 5 months ago

niccokunzmann commented 5 months ago

We would like to release version 6 soon. In this issue, I propose a plan and gather your ideas and requirements for what that big version change means.

What to include:

Related:

niccokunzmann commented 5 months ago

This is on the roadmap:

@thet - How would you perceive a good transition process?

My bit:

With my libraries, I say: install icalendar with a fixed major version so that I can be sure that compatibility is there. I also increase the major version with any breaking change.

stevepiercy commented 5 months ago

I think we should use alphas for 6 now. That clearly communicates that (1) there are changes in the release that may not stable and feedback is desired, (2) makes it easier to install a specific alpha version, and (3) shows that there is release activity. There may be more good reasons.

I use zest.releaser for releasing. The maintainer is the release manager of Plone. It's well designed, and catches things that I might miss.

niccokunzmann commented 5 months ago

I use zest.releaser for releasing. The maintainer is the release manager of Plone. It's well designed, and catches things that I might miss.

I had a look at the documentation and I do not know how it works. I think, I could open an issue or contribute documentation. The manual way that is described here: https://icalendar.readthedocs.io/en/latest/maintenance.html also means that if I die, people can just follow it and know what to look out for.

Thanks for the suggestion though... I should try it. I will wait a bit longer for @thet to give some input and #660 to be merged.

stevepiercy commented 5 months ago

Yeah, usage is buried under available commands: https://zestreleaser.readthedocs.io/en/latest/overview.html#available-commands.

It would be good to show the interface in the usage documentation instead of a wall of text. It essentially asks a series of questions, providing sensible defaults that you can accept or edit such as [Y/n] or 0.0.8, and holding your hand through the release process.

niccokunzmann commented 5 months ago

I am working on creating an alpha release.

https://packaging.python.org/en/latest/specifications/version-specifiers/#public-version-identifiers

v6.0.0a0

niccokunzmann commented 5 months ago

It is official, we can install this alpha release from pypi.

pip install icalendar==6.0.0a0
niccokunzmann commented 5 months ago

Should we document this... I think so...

niccokunzmann commented 5 months ago

Announcement made: https://github.com/collective/icalendar/discussions/687