Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a changelog.rst file #251

Open
cristiansteib opened this issue Oct 25, 2021 · 7 comments
Open

Add a changelog.rst file #251

cristiansteib opened this issue Oct 25, 2021 · 7 comments

Comments

@cristiansteib
Copy link

I think it could be good for the whole community to know what changes are involved in every release. Could you consider adding a changelog.rst file at the top of the repository.

This https://changelog.md/ is a good changelog standard. If you consider this, also consider that every pull request must include the changes in the changelog.rst.

@alanjds
Copy link
Owner

alanjds commented Oct 25, 2021

Yeah, I considered this more than once.

Researched more than one tool, even automated ones, and found that I like the way https://pypi.org/project/towncrier/ works. Yet had not enforced something like this.

@gdvalderrama
Copy link

This is actually requested here #113
It'd be nice to have at least a basic changelog to start if figuring out of to automate it is too time consuming

@rburhum
Copy link

rburhum commented Jul 11, 2024

Hi! May I bump this request please :-)
First, I have been using this library in production for some time now and it works well. Nevertheless I updated all my dependencies for a particular Django project that was on an older version of the library. I had to go over all the commits to see if there was something that was going to affect me, and finally realized that most of the changes were just updating python and dependency versions. A quick changelog would have saved tons of time. A manual log would have been perfect. Perhaps starting one from version 0.93.5 and 0.94.1 would be easy. Would you consider it please?

@alanjds
Copy link
Owner

alanjds commented Jul 12, 2024

@rburhum Yeah, we should have a CHANGELOG file, in my opinion.

But how to maintain it? Do you now some automated way to generate a summary of the changes? If so, I could run on Travis or locally before tagging each release.

Some had advocated for a manually maintained file, but this burden will fall on the person sending a PR or on the person accepting a PR.

At least having the commit logs automatically populated on the file is a good start imho. That said, so far I know no tool that does that.

@cristiansteib
Copy link
Author

@alanjds going inline

@rburhum Yeah, we should have a CHANGELOG file, in my opinion.

But how to maintain it? Do you now some automated way to generate a summary of the changes? If so, I could run on Travis or locally before tagging each release.

Exists a project called semantic-release (works with Python), which helps automate the versioning based on the use of formalized commit message semantic commit, creating releases notes, updates in a changelog file, and notes in the Pull Request. Find more information here: https://github.com/semantic-release/semantic-release

@rburhum
Copy link

rburhum commented Jul 12, 2024

Honestly, if we step back a bit, the Changelog is supposed to be a quick read file that summarizes the changes that have happened for a human. I don't think it needs to be automated (unless you find a flow that uses an LLM to truly interpret the changes. For example, in the last case, I updated Django Nested routers from drf-nested-routers==0.93.5 to 0.94.1 . People normally scan quickly the CHANGELOG when updating libraries to see if there are API/breaking changes that they need to worry about or anything major that they need to be aware of. It is not necessarily an extremely detail of all the changes - that is why you have commit history.

I went ahead and checked all the commits that you had since 2021 and have created this CHANGELOG that would basically include all the relevant things for the releases. I hope this helps.

Changelog

0.94.1

May 10, 2024

  • Removed support for Django 3.2 LTS.
  • Changed minimum requirements (Python 3.8, Django 4.2, DRF 3.14)
  • Add type hints

0.94.0

May 10, 2024

  • Add initial type hint support
  • Removed Python 2 compatibility
  • Changed CI from Travis to GitHub CI
  • Updated timezone database

0.93.5

Dec 19, 2023

  • Add Support for Django 4.x
  • Removed support for Python 3.6, Django 1.11 and DRF 3.6
  • Change minimum requirements (Python 3.7, Django 3.2, DRF 3.14.0)
  • Update timezone database
  • Add swagger support for NestedViewSetMixin

0.93.4

Oct 15, 2021

@alanjds
Copy link
Owner

alanjds commented Jul 24, 2024

Thanks @rburhum.

That is certainly useful. I will add to the repo when having some free time. Is a very good starting point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants