matrix-spec/changelogs
Travis Ralston fa96d8629b Prepare the appservice spec for an r0 release
This puts the scaffolding in place for an r0 release to happen, such as the changelog and version variables.
2018-08-27 18:04:08 -06:00
..
application_service Prepare the appservice spec for an r0 release 2018-08-27 18:04:08 -06:00
client_server Merge pull request #1574 from turt2live/travis/c2s/fix-directory-put 2018-08-27 17:49:05 -06:00
application_service.rst Prepare the appservice spec for an r0 release 2018-08-27 18:04:08 -06:00
client_server.rst Merge pull request #1353 from matrix-org/anoa/as_thirdparty_lookup 2018-07-12 11:19:12 -06:00
README.md Don't let the newsfragments wink out of existence 2018-07-06 17:32:57 -06:00

Changelogs

Towncrier is used to manage the changelog and keep it up to date. Because of this, updating a changelog is really easy.

How to update a changelog when releasing an API

  1. Ensure you're in your Python 3 virtual environment
  2. cd your way to the API you're releasing (eg: cd changelogs/client_server)
  3. Run towncrier --version "r0.4.0" --name "client-server" --yes substituting the variables as approprite. Note that --name is required although the value is ignored.
  4. Commit the changes and finish the release process.

How to prepare a changelog for a new API

For this example, we're going to pretend that the server_server API doesn't exist.

  1. Create the file changelogs/server_server.rst
  2. Create the folder changelogs/server_server
  3. In the new folder, create a pyproject.toml file with these contents:
    [tool.towncrier]
     filename = "../server_server.rst"
     directory = "newsfragments"
     issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_"
     title_format = "{version}"
    
     [[tool.towncrier.type]]
         directory = "breaking"
         name = "Breaking Changes"
         showcontent = true
    
     [[tool.towncrier.type]]
         directory = "deprecation"
         name = "Deprecations"
         showcontent = true
    
     [[tool.towncrier.type]]
         directory = "new"
         name = "New Endpoints"
         showcontent = true
    
     [[tool.towncrier.type]]
         directory = "feature"
         name = "Backwards Compatible Changes"
         showcontent = true
    
     [[tool.towncrier.type]]
         directory = "clarification"
         name = "Spec Clarifications"
         showcontent = true
    
  4. Create a .gitignore in changelogs/server_server/newsfragments with the contents !.gitignore