Workflow for Maintainers

This page is for maintainers who can merge our own or other peoples’ changes into the upstream repository.

Seeing as how you’re a maintainer, you should be completely on top of the basic git workflow in Developer’s Guide and Astropy’s git workflow.

IOssue Milestones and Labels

Current milestone guidelines:

  • Only confirmed issues or pull requests that are release critical or for some other reason should be addressed before a release, should have a milestone. When in doubt about which milestone to use for an issue, do not use a milestone and ask other the maintainers.

Current labelling guidelines:

  • Issues that require fixing in main, but that also are confirmed to apply to supported stable version lines should be marked with a “Affects Release” label.

  • All open issues should have a “Priority <level>”, “Effort <level>” and “Package <level>”, if you are unsure at what level, pick higher ones just to be safe. If an issue is more of a question or discussion, you can omit these labels.

  • If an issue looks to be straightforward, you should add the “Good first issue” and “Hacktoberfest” label.

  • For other labels, you should add them if they fit, like if an issue affects the net submodule, add the “net” label or if it is a feature request etc.

Updating and Maintaining the Changelog

The changelog will be read by users, so this description should be aimed at users instead of describing internal changes which are only relevant to the developers.

The current changelog is kept in the file “CHANGELOG.rst” at the root of the repository. You do not need to update this file as we use towncrier to update our changelog. This is built and embedded into our documentation.

Towncrier will automatically reflow your text, so it will work best if you stick to a single paragraph, but multiple sentences and links are OK and encouraged. You can install towncrier and then run towncrier --draft if you want to get a preview of how your change will look in the final release notes. This tool was built by the SunPy community and they provide a great guide on how to use it.

Instructions on how to write a changelog..


We have a step by step checklist on the Wiki on how to make a release.