Requires.io introduces changelogs
Requires.io is proud to introduce a new feature: changelogs for your requirements!
Knowing that a dependency is outdated is only the first step towards upgrading: you also want to check the changelog before moving forward, unless of course your CI is top notch. Requires.io brings these changelogs right on your requirements page!
You can check any public project monitored by requires.io to see what it looks like, for instance:
It is not quite perfect yet: some changelogs are not parsed correctly, or are missing because we do not know how to find them automatically. Expect incremental improvements as we refine the crawling/parsing.
For Package Maintainers
This is a short guide for package maintainers who wish to have the changelog of their library on requires.io in case it isn't there already.
We look for changelogs in two different places:
We look at the description of the package hosted on pypi. It is encoded in reStructuredText.
An example that works very well for us is Kenneth Reitz' requests.
Changelog Files on GitHub/Bitbucket
We look for files named
changelog(case insensitive), with or without extension, at the root of the package directory if it is hosted on BitBucket or GitHub.
Of course for us to find the file, you first need to make sure we actually know where your project is hosted! This can be done by setting the url in the metadata of the project (for instance as
home_url), or by putting a link in the description of the project: we will find it providing the project name on GitHub/Bitbucket matches the name of the package on pypi.
We then parse the file as reStructuredText or Markdown according to the file extension: so
changes.mdwill be parsed as markdown while
changes.rstwill be parsed as reStructuredText. If there is no extension, we try to guess... with varying degrees of success.
Example of projects that works well for us are:
I just updated my Changelog, how do I update it on requires.io?
Drop us an email here: firstname.lastname@example.org! We will do a re-run of the crawling and parsing of your package.