You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec/changelogs
Richard van der Hoff f8b83b7fb1 Replace "Pagination" section in C-S API with text in appendices (#3366)
The Pagination section in the C-S API was, basically, full of rubbish. I think that anything of any value it contained was repeated either directly on the API definitions or in the text specific to syncing at https://spec.matrix.org/unstable/client-server-api/#syncing.

The conventions I've added to the Appendices are based on the discussions in #1898. They are there because I don't want to have to go through it all again next time we add a paginated API.

Fixes: #1898
Fixes: #2268
3 years ago
..
application_service Add changelogs for 2888 4 years ago
client_server Replace "Pagination" section in C-S API with text in appendices (#3366) 3 years ago
identity_service Update 3167.clarification 3 years ago
push_gateway Add a link to the push module in the push gateway spec 4 years ago
server_server `/_matrix/federation/v1/user/devices/{userId}`: Rename `self_signing_keys` to `self_signing_key` (#3312) 3 years ago
README.md Support a 'removed endpoints' changelog type 5 years ago
application_service.rst Appservices r0.1.2 changelog 5 years ago
client_server.rst Client-Server r0.6.1 5 years ago
identity_service.rst Identity Service r0.3.0 release 5 years ago
push_gateway.rst Push r0.1.1 changelog 5 years ago
server_server.rst Fix r0.1.4 changelog reference 5 years ago

README.md

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 = "removal"
         name = "Removed 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