Skip to content

Commit 3e5ab5b

Browse files
committed
Merge tag 'v1.38.0' into 2021-05
Synapse 1.38.0 (2021-07-13) =========================== This release includes a database schema update which could result in elevated disk usage. See the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1380) for more information. No significant changes since 1.38.0rc3. Synapse 1.38.0rc3 (2021-07-13) ============================== Internal Changes ---------------- - Build the Debian packages in CI. ([\matrix-org#10247](matrix-org#10247), [\matrix-org#10379](matrix-org#10379)) Synapse 1.38.0rc2 (2021-07-09) ============================== Bugfixes -------- - Fix bug where inbound federation in a room could be delayed due to not correctly dropping a lock. Introduced in v1.37.1. ([\matrix-org#10336](matrix-org#10336)) Improved Documentation ---------------------- - Update links to documentation in the sample config. Contributed by @dklimpel. ([\matrix-org#10287](matrix-org#10287)) - Fix broken links in [INSTALL.md](INSTALL.md). Contributed by @dklimpel. ([\matrix-org#10331](matrix-org#10331)) Synapse 1.38.0rc1 (2021-07-06) ============================== Features -------- - Implement refresh tokens as specified by [MSC2918](matrix-org/matrix-spec-proposals#2918). ([\matrix-org#9450](matrix-org#9450)) - Add support for evicting cache entries based on last access time. ([\matrix-org#10205](matrix-org#10205)) - Omit empty fields from the `/sync` response. Contributed by @deepbluev7. ([\matrix-org#10214](matrix-org#10214)) - Improve validation on federation `send_{join,leave,knock}` endpoints. ([\matrix-org#10225](matrix-org#10225), [\matrix-org#10243](matrix-org#10243)) - Add SSO `external_ids` to the Query User Account admin API. ([\matrix-org#10261](matrix-org#10261)) - Mark events received over federation which fail a spam check as "soft-failed". ([\matrix-org#10263](matrix-org#10263)) - Add metrics for new inbound federation staging area. ([\matrix-org#10284](matrix-org#10284)) - Add script to print information about recently registered users. ([\matrix-org#10290](matrix-org#10290)) Bugfixes -------- - Fix a long-standing bug which meant that invite rejections and knocks were not sent out over federation in a timely manner. ([\matrix-org#10223](matrix-org#10223)) - Fix a bug introduced in v1.26.0 where only users who have set profile information could be deactivated with erasure enabled. ([\matrix-org#10252](matrix-org#10252)) - Fix a long-standing bug where Synapse would return errors after 2<sup>31</sup> events were handled by the server. ([\matrix-org#10264](matrix-org#10264), [\matrix-org#10267](matrix-org#10267), [\matrix-org#10282](matrix-org#10282), [\matrix-org#10286](matrix-org#10286), [\matrix-org#10291](matrix-org#10291), [\matrix-org#10314](matrix-org#10314), [\matrix-org#10326](matrix-org#10326)) - Fix the prometheus `synapse_federation_server_pdu_process_time` metric. Broke in v1.37.1. ([\matrix-org#10279](matrix-org#10279)) - Ensure that inbound events from federation that were being processed when Synapse was restarted get promptly processed on start up. ([\matrix-org#10303](matrix-org#10303)) Improved Documentation ---------------------- - Move the upgrade notes to [docs/upgrade.md](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md) and convert them to markdown. ([\matrix-org#10166](matrix-org#10166)) - Choose Welcome & Overview as the default page for synapse documentation website. ([\matrix-org#10242](matrix-org#10242)) - Adjust the URL in the README.rst file to point to irc.libera.chat. ([\matrix-org#10258](matrix-org#10258)) - Fix homeserver config option name in presence router documentation. ([\matrix-org#10288](matrix-org#10288)) - Fix link pointing at the wrong section in the modules documentation page. ([\matrix-org#10302](matrix-org#10302)) Internal Changes ---------------- - Drop `Origin` and `Accept` from the value of the `Access-Control-Allow-Headers` response header. ([\matrix-org#10114](matrix-org#10114)) - Add type hints to the federation servlets. ([\matrix-org#10213](matrix-org#10213)) - Improve the reliability of auto-joining remote rooms. ([\matrix-org#10237](matrix-org#10237)) - Update the release script to use the semver terminology and determine the release branch based on the next version. ([\matrix-org#10239](matrix-org#10239)) - Fix type hints for computing auth events. ([\matrix-org#10253](matrix-org#10253)) - Improve the performance of the spaces summary endpoint by only recursing into spaces (and not rooms in general). ([\matrix-org#10256](matrix-org#10256)) - Move event authentication methods from `Auth` to `EventAuthHandler`. ([\matrix-org#10268](matrix-org#10268)) - Re-enable a SyTest after it has been fixed. ([\matrix-org#10292](matrix-org#10292))
2 parents a557b5b + 519ec82 commit 3e5ab5b

File tree

112 files changed

+5772
-3106
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+5772
-3106
lines changed

.github/workflows/docs.yaml

+33-31
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
- develop
88
# For documentation specific to a release
99
- 'release-v*'
10+
# stable docs
11+
- master
1012

1113
workflow_dispatch:
1214

@@ -23,42 +25,42 @@ jobs:
2325
mdbook-version: '0.4.9'
2426

2527
- name: Build the documentation
26-
run: mdbook build
27-
28-
# Deploy to the latest documentation directories
29-
- name: Deploy latest documentation
30-
uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305 # v3.8.0
31-
with:
32-
github_token: ${{ secrets.GITHUB_TOKEN }}
33-
keep_files: true
34-
publish_dir: ./book
35-
destination_dir: ./develop
28+
# mdbook will only create an index.html if we're including docs/README.md in SUMMARY.md.
29+
# However, we're using docs/README.md for other purposes and need to pick a new page
30+
# as the default. Let's opt for the welcome page instead.
31+
run: |
32+
mdbook build
33+
cp book/welcome_and_overview.html book/index.html
3634
37-
- name: Get the current Synapse version
35+
# Figure out the target directory.
36+
#
37+
# The target directory depends on the name of the branch
38+
#
39+
- name: Get the target directory name
3840
id: vars
39-
# The $GITHUB_REF value for a branch looks like `refs/heads/release-v1.2`. We do some
40-
# shell magic to remove the "refs/heads/release-v" bit from this, to end up with "1.2",
41-
# our major/minor version number, and set this to a var called `branch-version`.
42-
#
43-
# We then use some python to get Synapse's full version string, which may look
44-
# like "1.2.3rc4". We set this to a var called `synapse-version`. We use this
45-
# to determine if this release is still an RC, and if so block deployment.
4641
run: |
47-
echo ::set-output name=branch-version::${GITHUB_REF#refs/heads/release-v}
48-
echo ::set-output name=synapse-version::`python3 -c 'import synapse; print(synapse.__version__)'`
42+
# first strip the 'refs/heads/' prefix with some shell foo
43+
branch="${GITHUB_REF#refs/heads/}"
4944
50-
# Deploy to the version-specific directory
51-
- name: Deploy release-specific documentation
52-
# We only carry out this step if we're running on a release branch,
53-
# and the current Synapse version does not have "rc" in the name.
54-
#
55-
# The result is that only full releases are deployed, but can be
56-
# updated if the release branch gets retroactive fixes.
57-
if: ${{ startsWith( github.ref, 'refs/heads/release-v' ) && !contains( steps.vars.outputs.synapse-version, 'rc') }}
58-
uses: peaceiris/actions-gh-pages@v3
45+
case $branch in
46+
release-*)
47+
# strip 'release-' from the name for release branches.
48+
branch="${branch#release-}"
49+
;;
50+
master)
51+
# deploy to "latest" for the master branch.
52+
branch="latest"
53+
;;
54+
esac
55+
56+
# finally, set the 'branch-version' var.
57+
echo "::set-output name=branch-version::$branch"
58+
59+
# Deploy to the target directory.
60+
- name: Deploy to gh pages
61+
uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305 # v3.8.0
5962
with:
6063
github_token: ${{ secrets.GITHUB_TOKEN }}
6164
keep_files: true
6265
publish_dir: ./book
63-
# The resulting documentation will end up in a directory named `vX.Y`.
64-
destination_dir: ./v${{ steps.vars.outputs.branch-version }}
66+
destination_dir: ./${{ steps.vars.outputs.branch-version }}
+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# GitHub actions workflow which builds the release artifacts.
2+
3+
name: Build release artifacts
4+
5+
on:
6+
push:
7+
# we build on develop and release branches to (hopefully) get early warning
8+
# of things breaking
9+
branches: ["develop", "release-*"]
10+
11+
# we also rebuild on tags, so that we can be sure of picking the artifacts
12+
# from the right tag.
13+
tags: ["v*"]
14+
15+
permissions:
16+
contents: write
17+
18+
jobs:
19+
# first get the list of distros to build for.
20+
get-distros:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v2
24+
- uses: actions/setup-python@v2
25+
- id: set-distros
26+
run: |
27+
echo "::set-output name=distros::$(scripts-dev/build_debian_packages --show-dists-json)"
28+
# map the step outputs to job outputs
29+
outputs:
30+
distros: ${{ steps.set-distros.outputs.distros }}
31+
32+
# now build the packages with a matrix build.
33+
build-debs:
34+
needs: get-distros
35+
name: "Build .deb packages"
36+
runs-on: ubuntu-latest
37+
strategy:
38+
matrix:
39+
distro: ${{ fromJson(needs.get-distros.outputs.distros) }}
40+
41+
steps:
42+
- uses: actions/checkout@v2
43+
with:
44+
path: src
45+
- uses: actions/setup-python@v2
46+
- run: ./src/scripts-dev/build_debian_packages "${{ matrix.distro }}"
47+
- uses: actions/upload-artifact@v2
48+
with:
49+
name: debs
50+
path: debs/*
51+
52+
build-sdist:
53+
name: "Build pypi distribution files"
54+
runs-on: ubuntu-latest
55+
steps:
56+
- uses: actions/checkout@v2
57+
- uses: actions/setup-python@v2
58+
- run: pip install wheel
59+
- run: |
60+
python setup.py sdist bdist_wheel
61+
- uses: actions/upload-artifact@v2
62+
with:
63+
name: python-dist
64+
path: dist/*
65+
66+
# if it's a tag, create a release and attach the artifacts to it
67+
attach-assets:
68+
name: "Attach assets to release"
69+
if: startsWith(github.ref, 'refs/tags/')
70+
needs:
71+
- build-debs
72+
- build-sdist
73+
runs-on: ubuntu-latest
74+
steps:
75+
- name: Download all workflow run artifacts
76+
uses: actions/download-artifact@v2
77+
- name: Build a tarball for the debs
78+
run: tar -cvJf debs.tar.xz debs
79+
- name: Attach to release
80+
uses: softprops/action-gh-release@a929a66f232c1b11af63782948aa2210f981808a # PR#109
81+
env:
82+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
83+
with:
84+
files: |
85+
python-dist/*
86+
debs.tar.xz
87+
# if it's not already published, keep the release as a draft.
88+
draft: true
89+
# mark it as a prerelease if the tag contains 'rc'.
90+
prerelease: ${{ contains(github.ref, 'rc') }}

0 commit comments

Comments
 (0)