matrix-spec/changelogs
Travis Ralston 5eea4a477f Add server notices support
As per [MSC1452](https://github.com/matrix-org/matrix-doc/issues/1452) 

Fixes https://github.com/matrix-org/matrix-doc/issues/1254

Although MSC1452 focuses on just the warnings part of the server notices, the base for notices has not been established in the spec. This commit adds the needed support to be able to handle notices.

No intentional divergences from the proposal are included in this changeset. There are a few additions which are used in practice although not defined in the proposal, such as who is responsible for aesthetics, sending notices, and other misc rules.
2019-05-26 20:52:59 -06:00
..
application_service Add missing changelogs and make existing ones match conventions 2019-05-23 22:13:57 -06:00
client_server Add server notices support 2019-05-26 20:52:59 -06:00
identity_service Add missing changelogs and make existing ones match conventions 2019-05-23 22:13:57 -06:00
push_gateway r0.1.0 release of the Push Gateway specification 2018-08-16 11:50:18 -06:00
server_server Add missing changelogs and make existing ones match conventions 2019-05-23 22:13:57 -06:00
application_service.rst Appservice r0.1.0 changelog 2018-08-30 13:36:43 -06:00
client_server.rst Client-server r0.4.0 changelog 2018-08-31 16:45:41 -06:00
identity_service.rst Changelog for r0.1.0 IS spec 2018-08-31 16:21:51 -06:00
push_gateway.rst r0.1.0 release of the Push Gateway specification 2018-08-16 11:50:18 -06:00
README.md Don't let the newsfragments wink out of existence 2018-07-06 17:32:57 -06:00
server_server.rst Prep for r0.1.1 of s2s 2019-02-06 12:39:16 -07: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