Merge branch 'develop' of github.com:matrix-org/synapse into erikj/admin_api_cmd

code_spécifique_watcha
Erik Johnston 5 years ago
commit e8c53b07f2
  1. 12
      .buildkite/pipeline.yml
  2. 145
      .buildkite/synapse_sytest.sh
  3. 5
      .github/ISSUE_TEMPLATE/SUPPORT_REQUEST.md
  4. 6
      .github/SUPPORT.md
  5. 134
      CHANGES.md
  6. 31
      CONTRIBUTING.rst
  7. 1
      MANIFEST.in
  8. 2
      README.rst
  9. 8
      UPGRADE.rst
  10. 1
      changelog.d/4276.misc
  11. 1
      changelog.d/5015.misc
  12. 1
      changelog.d/5042.bugfix
  13. 1
      changelog.d/5051.bugfix
  14. 1
      changelog.d/5092.feature
  15. 1
      changelog.d/5252.feature
  16. 1
      changelog.d/5313.misc
  17. 1
      changelog.d/5325.bugfix
  18. 1
      changelog.d/5363.feature
  19. 1
      changelog.d/5378.misc
  20. 1
      changelog.d/5381.misc
  21. 1
      changelog.d/5382.misc
  22. 1
      changelog.d/5383.misc
  23. 1
      changelog.d/5384.feature
  24. 1
      changelog.d/5386.misc
  25. 1
      changelog.d/5387.bugfix
  26. 1
      changelog.d/5388.bugfix
  27. 1
      changelog.d/5389.bugfix
  28. 1
      changelog.d/5390.bugfix
  29. 1
      changelog.d/5394.bugfix
  30. 1
      changelog.d/5397.doc
  31. 1
      changelog.d/5412.feature
  32. 1
      changelog.d/5425.removal
  33. 1
      changelog.d/5440.feature
  34. 1
      changelog.d/5446.misc
  35. 1
      changelog.d/5447.misc
  36. 1
      changelog.d/5448.removal
  37. 1
      changelog.d/5458.feature
  38. 1
      changelog.d/5459.misc
  39. 1
      changelog.d/5460.misc
  40. 1
      changelog.d/5461.feature
  41. 1
      changelog.d/5464.bugfix
  42. 2
      changelog.d/5465.misc
  43. 1
      changelog.d/5474.feature
  44. 1
      changelog.d/5475.misc
  45. 1
      changelog.d/5476.misc
  46. 1
      changelog.d/5477.feature
  47. 1
      changelog.d/5478.misc
  48. 1
      changelog.d/5480.misc
  49. 1
      changelog.d/5482.misc
  50. 1
      changelog.d/5490.bugfix
  51. 1
      changelog.d/5493.misc
  52. 1
      changelog.d/5498.bugfix
  53. 1
      changelog.d/5499.misc
  54. 1
      changelog.d/5500.bugfix
  55. 1
      changelog.d/5502.misc
  56. 1
      changelog.d/5505.feature
  57. 1
      changelog.d/5507.bugfix
  58. 1
      changelog.d/5509.misc
  59. 1
      changelog.d/5510.misc
  60. 1
      changelog.d/5511.misc
  61. 1
      changelog.d/5512.feature
  62. 1
      changelog.d/5513.feature
  63. 1
      changelog.d/5514.bugfix
  64. 1
      changelog.d/5516.feature
  65. 1
      changelog.d/5521.feature
  66. 1
      changelog.d/5522.feature
  67. 1
      changelog.d/5523.bugfix
  68. 1
      changelog.d/5524.feature
  69. 1
      changelog.d/5525.removal
  70. 1
      changelog.d/5531.feature
  71. 1
      changelog.d/5534.feature
  72. 1
      changelog.d/5537.misc
  73. 1
      changelog.d/5543.misc
  74. 1
      changelog.d/5544.misc
  75. 1
      changelog.d/5545.misc
  76. 1
      changelog.d/5546.feature
  77. 1
      changelog.d/5547.feature
  78. 1
      changelog.d/5548.misc
  79. 1
      changelog.d/5550.feature
  80. 1
      changelog.d/5550.misc
  81. 1
      changelog.d/5555.bugfix
  82. 1
      changelog.d/5557.misc
  83. 1
      changelog.d/5558.misc
  84. 1
      changelog.d/5559.feature
  85. 1
      changelog.d/5561.feature
  86. 1
      changelog.d/5562.feature
  87. 1
      changelog.d/5563.bugfix
  88. 1
      changelog.d/5564.misc
  89. 1
      changelog.d/5565.feature
  90. 1
      changelog.d/5566.feature
  91. 1
      changelog.d/5567.feature
  92. 1
      changelog.d/5568.feature
  93. 1
      changelog.d/5570.misc
  94. 1
      changelog.d/5576.bugfix
  95. 1
      changelog.d/5585.misc
  96. 1
      changelog.d/5606.misc
  97. 1
      changelog.d/5609.bugfix
  98. 1
      changelog.d/5611.misc
  99. 1
      changelog.d/5613.feature
  100. 1
      changelog.d/5616.misc
  101. Some files were not shown because too many files have changed in this diff Show More

@ -173,11 +173,13 @@ steps:
queue: "medium"
command:
- "bash .buildkite/merge_base_branch.sh"
- "bash .buildkite/synapse_sytest.sh"
- "bash /synapse_sytest.sh"
plugins:
- docker#v3.0.1:
image: "matrixdotorg/sytest-synapse:py35"
propagate-environment: true
always-pull: true
workdir: "/src"
retry:
automatic:
- exit_status: -1
@ -192,11 +194,13 @@ steps:
POSTGRES: "1"
command:
- "bash .buildkite/merge_base_branch.sh"
- "bash .buildkite/synapse_sytest.sh"
- "bash /synapse_sytest.sh"
plugins:
- docker#v3.0.1:
image: "matrixdotorg/sytest-synapse:py35"
propagate-environment: true
always-pull: true
workdir: "/src"
retry:
automatic:
- exit_status: -1
@ -212,11 +216,13 @@ steps:
WORKERS: "1"
command:
- "bash .buildkite/merge_base_branch.sh"
- "bash .buildkite/synapse_sytest.sh"
- "bash /synapse_sytest.sh"
plugins:
- docker#v3.0.1:
image: "matrixdotorg/sytest-synapse:py35"
propagate-environment: true
always-pull: true
workdir: "/src"
soft_fail: true
retry:
automatic:

@ -1,145 +0,0 @@
#!/bin/bash
#
# Fetch sytest, and then run the tests for synapse. The entrypoint for the
# sytest-synapse docker images.
set -ex
if [ -n "$BUILDKITE" ]
then
SYNAPSE_DIR=`pwd`
else
SYNAPSE_DIR="/src"
fi
# Attempt to find a sytest to use.
# If /sytest exists, it means that a SyTest checkout has been mounted into the Docker image.
if [ -d "/sytest" ]; then
# If the user has mounted in a SyTest checkout, use that.
echo "Using local sytests..."
# create ourselves a working directory and dos2unix some scripts therein
mkdir -p /work/jenkins
for i in install-deps.pl run-tests.pl tap-to-junit-xml.pl jenkins/prep_sytest_for_postgres.sh; do
dos2unix -n "/sytest/$i" "/work/$i"
done
ln -sf /sytest/tests /work
ln -sf /sytest/keys /work
SYTEST_LIB="/sytest/lib"
else
if [ -n "BUILDKITE_BRANCH" ]
then
branch_name=$BUILDKITE_BRANCH
else
# Otherwise, try and find out what the branch that the Synapse checkout is using. Fall back to develop if it's not a branch.
branch_name="$(git --git-dir=/src/.git symbolic-ref HEAD 2>/dev/null)" || branch_name="develop"
fi
# Try and fetch the branch
echo "Trying to get same-named sytest branch..."
wget -q https://github.com/matrix-org/sytest/archive/$branch_name.tar.gz -O sytest.tar.gz || {
# Probably a 404, fall back to develop
echo "Using develop instead..."
wget -q https://github.com/matrix-org/sytest/archive/develop.tar.gz -O sytest.tar.gz
}
mkdir -p /work
tar -C /work --strip-components=1 -xf sytest.tar.gz
SYTEST_LIB="/work/lib"
fi
cd /work
# PostgreSQL setup
if [ -n "$POSTGRES" ]
then
export PGUSER=postgres
export POSTGRES_DB_1=pg1
export POSTGRES_DB_2=pg2
# Start the database
su -c 'eatmydata /usr/lib/postgresql/9.6/bin/pg_ctl -w -D /var/lib/postgresql/data start' postgres
# Use the Jenkins script to write out the configuration for a PostgreSQL using Synapse
jenkins/prep_sytest_for_postgres.sh
# Make the test databases for the two Synapse servers that will be spun up
su -c 'psql -c "CREATE DATABASE pg1;"' postgres
su -c 'psql -c "CREATE DATABASE pg2;"' postgres
fi
if [ -n "$OFFLINE" ]; then
# if we're in offline mode, just put synapse into the virtualenv, and
# hope that the deps are up-to-date.
#
# (`pip install -e` likes to reinstall setuptools even if it's already installed,
# so we just run setup.py explicitly.)
#
(cd $SYNAPSE_DIR && /venv/bin/python setup.py -q develop)
else
# We've already created the virtualenv, but lets double check we have all
# deps.
/venv/bin/pip install -q --upgrade --no-cache-dir -e $SYNAPSE_DIR
/venv/bin/pip install -q --upgrade --no-cache-dir \
lxml psycopg2 coverage codecov tap.py
# Make sure all Perl deps are installed -- this is done in the docker build
# so will only install packages added since the last Docker build
./install-deps.pl
fi
# Run the tests
>&2 echo "+++ Running tests"
RUN_TESTS=(
perl -I "$SYTEST_LIB" ./run-tests.pl --python=/venv/bin/python --synapse-directory=$SYNAPSE_DIR --coverage -O tap --all
)
TEST_STATUS=0
if [ -n "$WORKERS" ]; then
RUN_TESTS+=(-I Synapse::ViaHaproxy --dendron-binary=/pydron.py)
else
RUN_TESTS+=(-I Synapse)
fi
"${RUN_TESTS[@]}" "$@" > results.tap || TEST_STATUS=$?
if [ $TEST_STATUS -ne 0 ]; then
>&2 echo -e "run-tests \e[31mFAILED\e[0m: exit code $TEST_STATUS"
else
>&2 echo -e "run-tests \e[32mPASSED\e[0m"
fi
>&2 echo "--- Copying assets"
# Copy out the logs
mkdir -p /logs
cp results.tap /logs/results.tap
rsync --ignore-missing-args --min-size=1B -av server-0 server-1 /logs --include "*/" --include="*.log.*" --include="*.log" --exclude="*"
# Upload coverage to codecov and upload files, if running on Buildkite
if [ -n "$BUILDKITE" ]
then
/venv/bin/coverage combine || true
/venv/bin/coverage xml || true
/venv/bin/codecov -X gcov -f coverage.xml
wget -O buildkite.tar.gz https://github.com/buildkite/agent/releases/download/v3.13.0/buildkite-agent-linux-amd64-3.13.0.tar.gz
tar xvf buildkite.tar.gz
chmod +x ./buildkite-agent
# Upload the files
./buildkite-agent artifact upload "/logs/**/*.log*"
./buildkite-agent artifact upload "/logs/results.tap"
if [ $TEST_STATUS -ne 0 ]; then
# Annotate, if failure
/venv/bin/python $SYNAPSE_DIR/.buildkite/format_tap.py /logs/results.tap "$BUILDKITE_LABEL" | ./buildkite-agent annotate --style="error" --context="$BUILDKITE_LABEL"
fi
fi
exit $TEST_STATUS

@ -4,6 +4,7 @@ about: I need support for Synapse
---
# Please ask for support in [**#matrix:matrix.org**](https://matrix.to/#/#matrix:matrix.org)
Please don't file github issues asking for support.
## Don't file an issue as a support request.
Instead, please join [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org)
(from a matrix.org account if necessary), and ask there.

@ -1,3 +1,3 @@
[**#matrix:matrix.org**](https://matrix.to/#/#matrix:matrix.org) is the official support room for Matrix, and can be accessed by any client from https://matrix.org/docs/projects/try-matrix-now.html
It can also be access via IRC bridge at irc://irc.freenode.net/matrix or on the web here: https://webchat.freenode.net/?channels=matrix
[**#synapse:matrix.org**](https://matrix.to/#/#synapse:matrix.org) is the official support room for
Synapse, and can be accessed by any client from https://matrix.org/docs/projects/try-matrix-now.html.
Please ask for support there, rather than filing github issues.

@ -1,3 +1,137 @@
Synapse 1.1.0 (2019-07-04)
==========================
As of v1.1.0, Synapse no longer supports Python 2, nor Postgres version 9.4.
See the [upgrade notes](UPGRADE.rst#upgrading-to-v110) for more details.
This release also deprecates the use of environment variables to configure the
docker image. See the [docker README](https://github.com/matrix-org/synapse/blob/release-v1.1.0/docker/README.md#legacy-dynamic-configuration-file-support)
for more details.
No changes since 1.1.0rc2.
Synapse 1.1.0rc2 (2019-07-03)
=============================
Bugfixes
--------
- Fix regression in 1.1rc1 where OPTIONS requests to the media repo would fail. ([\#5593](https://github.com/matrix-org/synapse/issues/5593))
- Removed the `SYNAPSE_SMTP_*` docker container environment variables. Using these environment variables prevented the docker container from starting in Synapse v1.0, even though they didn't actually allow any functionality anyway. ([\#5596](https://github.com/matrix-org/synapse/issues/5596))
- Fix a number of "Starting txn from sentinel context" warnings. ([\#5605](https://github.com/matrix-org/synapse/issues/5605))
Internal Changes
----------------
- Update github templates. ([\#5552](https://github.com/matrix-org/synapse/issues/5552))
Synapse 1.1.0rc1 (2019-07-02)
=============================
As of v1.1.0, Synapse no longer supports Python 2, nor Postgres version 9.4.
See the [upgrade notes](UPGRADE.rst#upgrading-to-v110) for more details.
Features
--------
- Added possibilty to disable local password authentication. Contributed by Daniel Hoffend. ([\#5092](https://github.com/matrix-org/synapse/issues/5092))
- Add monthly active users to phonehome stats. ([\#5252](https://github.com/matrix-org/synapse/issues/5252))
- Allow expired user to trigger renewal email sending manually. ([\#5363](https://github.com/matrix-org/synapse/issues/5363))
- Statistics on forward extremities per room are now exposed via Prometheus. ([\#5384](https://github.com/matrix-org/synapse/issues/5384), [\#5458](https://github.com/matrix-org/synapse/issues/5458), [\#5461](https://github.com/matrix-org/synapse/issues/5461))
- Add --no-daemonize option to run synapse in the foreground, per issue #4130. Contributed by Soham Gumaste. ([\#5412](https://github.com/matrix-org/synapse/issues/5412), [\#5587](https://github.com/matrix-org/synapse/issues/5587))
- Fully support SAML2 authentication. Contributed by [Alexander Trost](https://github.com/galexrt) - thank you! ([\#5422](https://github.com/matrix-org/synapse/issues/5422))
- Allow server admins to define implementations of extra rules for allowing or denying incoming events. ([\#5440](https://github.com/matrix-org/synapse/issues/5440), [\#5474](https://github.com/matrix-org/synapse/issues/5474), [\#5477](https://github.com/matrix-org/synapse/issues/5477))
- Add support for handling pagination APIs on client reader worker. ([\#5505](https://github.com/matrix-org/synapse/issues/5505), [\#5513](https://github.com/matrix-org/synapse/issues/5513), [\#5531](https://github.com/matrix-org/synapse/issues/5531))
- Improve help and cmdline option names for --generate-config options. ([\#5512](https://github.com/matrix-org/synapse/issues/5512))
- Allow configuration of the path used for ACME account keys. ([\#5516](https://github.com/matrix-org/synapse/issues/5516), [\#5521](https://github.com/matrix-org/synapse/issues/5521), [\#5522](https://github.com/matrix-org/synapse/issues/5522))
- Add --data-dir and --open-private-ports options. ([\#5524](https://github.com/matrix-org/synapse/issues/5524))
- Split public rooms directory auth config in two settings, in order to manage client auth independently from the federation part of it. Obsoletes the "restrict_public_rooms_to_local_users" configuration setting. If "restrict_public_rooms_to_local_users" is set in the config, Synapse will act as if both new options are enabled, i.e. require authentication through the client API and deny federation requests. ([\#5534](https://github.com/matrix-org/synapse/issues/5534))
- The minimum TLS version used for outgoing federation requests can now be set with `federation_client_minimum_tls_version`. ([\#5550](https://github.com/matrix-org/synapse/issues/5550))
- Optimise devices changed query to not pull unnecessary rows from the database, reducing database load. ([\#5559](https://github.com/matrix-org/synapse/issues/5559))
- Add new metrics for number of forward extremities being persisted and number of state groups involved in resolution. ([\#5476](https://github.com/matrix-org/synapse/issues/5476))
Bugfixes
--------
- Fix bug processing incoming events over federation if call to `/get_missing_events` fails. ([\#5042](https://github.com/matrix-org/synapse/issues/5042))
- Prevent more than one room upgrade happening simultaneously on the same room. ([\#5051](https://github.com/matrix-org/synapse/issues/5051))
- Fix a bug where running synapse_port_db would cause the account validity feature to fail because it didn't set the type of the email_sent column to boolean. ([\#5325](https://github.com/matrix-org/synapse/issues/5325))
- Warn about disabling email-based password resets when a reset occurs, and remove warning when someone attempts a phone-based reset. ([\#5387](https://github.com/matrix-org/synapse/issues/5387))
- Fix email notifications for unnamed rooms with multiple people. ([\#5388](https://github.com/matrix-org/synapse/issues/5388))
- Fix exceptions in federation reader worker caused by attempting to renew attestations, which should only happen on master worker. ([\#5389](https://github.com/matrix-org/synapse/issues/5389))
- Fix handling of failures fetching remote content to not log failures as exceptions. ([\#5390](https://github.com/matrix-org/synapse/issues/5390))
- Fix a bug where deactivated users could receive renewal emails if the account validity feature is on. ([\#5394](https://github.com/matrix-org/synapse/issues/5394))
- Fix missing invite state after exchanging 3PID invites over federaton. ([\#5464](https://github.com/matrix-org/synapse/issues/5464))
- Fix intermittent exceptions on Apple hardware. Also fix bug that caused database activity times to be under-reported in log lines. ([\#5498](https://github.com/matrix-org/synapse/issues/5498))
- Fix logging error when a tampered event is detected. ([\#5500](https://github.com/matrix-org/synapse/issues/5500))
- Fix bug where clients could tight loop calling `/sync` for a period. ([\#5507](https://github.com/matrix-org/synapse/issues/5507))
- Fix bug with `jinja2` preventing Synapse from starting. Users who had this problem should now simply need to run `pip install matrix-synapse`. ([\#5514](https://github.com/matrix-org/synapse/issues/5514))
- Fix a regression where homeservers on private IP addresses were incorrectly blacklisted. ([\#5523](https://github.com/matrix-org/synapse/issues/5523))
- Fixed m.login.jwt using unregistred user_id and added pyjwt>=1.6.4 as jwt conditional dependencies. Contributed by Pau Rodriguez-Estivill. ([\#5555](https://github.com/matrix-org/synapse/issues/5555), [\#5586](https://github.com/matrix-org/synapse/issues/5586))
- Fix a bug that would cause invited users to receive several emails for a single 3PID invite in case the inviter is rate limited. ([\#5576](https://github.com/matrix-org/synapse/issues/5576))
Updates to the Docker image
---------------------------
- Add ability to change Docker containers [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) with the `TZ` variable. ([\#5383](https://github.com/matrix-org/synapse/issues/5383))
- Update docker image to use Python 3.7. ([\#5546](https://github.com/matrix-org/synapse/issues/5546))
- Deprecate the use of environment variables for configuration, and make the use of a static configuration the default. ([\#5561](https://github.com/matrix-org/synapse/issues/5561), [\#5562](https://github.com/matrix-org/synapse/issues/5562), [\#5566](https://github.com/matrix-org/synapse/issues/5566), [\#5567](https://github.com/matrix-org/synapse/issues/5567))
- Increase default log level for docker image to INFO. It can still be changed by editing the generated log.config file. ([\#5547](https://github.com/matrix-org/synapse/issues/5547))
- Send synapse logs to the docker logging system, by default. ([\#5565](https://github.com/matrix-org/synapse/issues/5565))
- Open the non-TLS port by default. ([\#5568](https://github.com/matrix-org/synapse/issues/5568))
- Fix failure to start under docker with SAML support enabled. ([\#5490](https://github.com/matrix-org/synapse/issues/5490))
- Use a sensible location for data files when generating a config file. ([\#5563](https://github.com/matrix-org/synapse/issues/5563))
Deprecations and Removals
-------------------------
- Python 2.7 is no longer a supported platform. Synapse now requires Python 3.5+ to run. ([\#5425](https://github.com/matrix-org/synapse/issues/5425))
- PostgreSQL 9.4 is no longer supported. Synapse requires Postgres 9.5+ or above for Postgres support. ([\#5448](https://github.com/matrix-org/synapse/issues/5448))
- Remove support for cpu_affinity setting. ([\#5525](https://github.com/matrix-org/synapse/issues/5525))
Improved Documentation
----------------------
- Improve README section on performance troubleshooting. ([\#4276](https://github.com/matrix-org/synapse/issues/4276))
- Add information about how to install and run `black` on the codebase to code_style.rst. ([\#5537](https://github.com/matrix-org/synapse/issues/5537))
- Improve install docs on choosing server_name. ([\#5558](https://github.com/matrix-org/synapse/issues/5558))
Internal Changes
----------------
- Add logging to 3pid invite signature verification. ([\#5015](https://github.com/matrix-org/synapse/issues/5015))
- Update example haproxy config to a more compatible setup. ([\#5313](https://github.com/matrix-org/synapse/issues/5313))
- Track deactivated accounts in the database. ([\#5378](https://github.com/matrix-org/synapse/issues/5378), [\#5465](https://github.com/matrix-org/synapse/issues/5465), [\#5493](https://github.com/matrix-org/synapse/issues/5493))
- Clean up code for sending federation EDUs. ([\#5381](https://github.com/matrix-org/synapse/issues/5381))
- Add a sponsor button to the repo. ([\#5382](https://github.com/matrix-org/synapse/issues/5382), [\#5386](https://github.com/matrix-org/synapse/issues/5386))
- Don't log non-200 responses from federation queries as exceptions. ([\#5383](https://github.com/matrix-org/synapse/issues/5383))
- Update Python syntax in contrib/ to Python 3. ([\#5446](https://github.com/matrix-org/synapse/issues/5446))
- Update federation_client dev script to support `.well-known` and work with python3. ([\#5447](https://github.com/matrix-org/synapse/issues/5447))
- SyTest has been moved to Buildkite. ([\#5459](https://github.com/matrix-org/synapse/issues/5459))
- Demo script now uses python3. ([\#5460](https://github.com/matrix-org/synapse/issues/5460))
- Synapse can now handle RestServlets that return coroutines. ([\#5475](https://github.com/matrix-org/synapse/issues/5475), [\#5585](https://github.com/matrix-org/synapse/issues/5585))
- The demo servers talk to each other again. ([\#5478](https://github.com/matrix-org/synapse/issues/5478))
- Add an EXPERIMENTAL config option to try and periodically clean up extremities by sending dummy events. ([\#5480](https://github.com/matrix-org/synapse/issues/5480))
- Synapse's codebase is now formatted by `black`. ([\#5482](https://github.com/matrix-org/synapse/issues/5482))
- Some cleanups and sanity-checking in the CPU and database metrics. ([\#5499](https://github.com/matrix-org/synapse/issues/5499))
- Improve email notification logging. ([\#5502](https://github.com/matrix-org/synapse/issues/5502))
- Fix "Unexpected entry in 'full_schemas'" log warning. ([\#5509](https://github.com/matrix-org/synapse/issues/5509))
- Improve logging when generating config files. ([\#5510](https://github.com/matrix-org/synapse/issues/5510))
- Refactor and clean up Config parser for maintainability. ([\#5511](https://github.com/matrix-org/synapse/issues/5511))
- Make the config clearer in that email.template_dir is relative to the Synapse's root directory, not the `synapse/` folder within it. ([\#5543](https://github.com/matrix-org/synapse/issues/5543))
- Update v1.0.0 release changelog to include more information about changes to password resets. ([\#5545](https://github.com/matrix-org/synapse/issues/5545))
- Remove non-functioning check_event_hash.py dev script. ([\#5548](https://github.com/matrix-org/synapse/issues/5548))
- Synapse will now only allow TLS v1.2 connections when serving federation, if it terminates TLS. As Synapse's allowed ciphers were only able to be used in TLSv1.2 before, this does not change behaviour. ([\#5550](https://github.com/matrix-org/synapse/issues/5550))
- Logging when running GC collection on generation 0 is now at the DEBUG level, not INFO. ([\#5557](https://github.com/matrix-org/synapse/issues/5557))
- Reduce the amount of stuff we send in the docker context. ([\#5564](https://github.com/matrix-org/synapse/issues/5564))
- Point the reverse links in the Purge History contrib scripts at the intended location. ([\#5570](https://github.com/matrix-org/synapse/issues/5570))
Synapse 1.0.0 (2019-06-11)
==========================

@ -30,11 +30,10 @@ use github's pull request workflow to review the contribution, and either ask
you to make any refinements needed or merge it and make them ourselves. The
changes will then land on master when we next do a release.
We use `CircleCI <https://circleci.com/gh/matrix-org>`_ and `Buildkite
<https://buildkite.com/matrix-dot-org/synapse>`_ for continuous integration.
Buildkite builds need to be authorised by a maintainer. If your change breaks
the build, this will be shown in GitHub, so please keep an eye on the pull
request for feedback.
We use `Buildkite <https://buildkite.com/matrix-dot-org/synapse>`_ for
continuous integration. Buildkite builds need to be authorised by a
maintainer. If your change breaks the build, this will be shown in GitHub, so
please keep an eye on the pull request for feedback.
To run unit tests in a local development environment, you can use:
@ -70,13 +69,21 @@ All changes, even minor ones, need a corresponding changelog / newsfragment
entry. These are managed by Towncrier
(https://github.com/hawkowl/towncrier).
To create a changelog entry, make a new file in the ``changelog.d``
file named in the format of ``PRnumber.type``. The type can be
one of ``feature``, ``bugfix``, ``removal`` (also used for
deprecations), or ``misc`` (for internal-only changes).
The content of the file is your changelog entry, which can contain Markdown
formatting. The entry should end with a full stop ('.') for consistency.
To create a changelog entry, make a new file in the ``changelog.d`` file named
in the format of ``PRnumber.type``. The type can be one of the following:
* ``feature``.
* ``bugfix``.
* ``docker`` (for updates to the Docker image).
* ``doc`` (for updates to the documentation).
* ``removal`` (also used for deprecations).
* ``misc`` (for internal-only changes).
The content of the file is your changelog entry, which should be a short
description of your change in the same style as the rest of our `changelog
<https://github.com/matrix-org/synapse/blob/master/CHANGES.md>`_. The file can
contain Markdown formatting, and should end with a full stop ('.') for
consistency.
Adding credits to the changelog is encouraged, we value your
contributions and would like to have you shouted out in the release notes!

@ -7,6 +7,7 @@ include demo/README
include demo/demo.tls.dh
include demo/*.py
include demo/*.sh
include sytest-blacklist
recursive-include synapse/storage/schema *.sql
recursive-include synapse/storage/schema *.sql.postgres

@ -272,7 +272,7 @@ to install using pip and a virtualenv::
virtualenv -p python3 env
source env/bin/activate
python -m pip install --no-pep-517 -e .[all]
python -m pip install --no-use-pep517 -e .[all]
This will run a process of downloading and installing all the needed
dependencies into a virtual env.

@ -49,16 +49,16 @@ returned by the Client-Server API:
# configured on port 443.
curl -kv https://<host.name>/_matrix/client/versions 2>&1 | grep "Server:"
Upgrading to v1.1
=================
Upgrading to v1.1.0
===================
Synapse 1.1 removes support for older Python and PostgreSQL versions, as
Synapse v1.1.0 removes support for older Python and PostgreSQL versions, as
outlined in `our deprecation notice <https://matrix.org/blog/2019/04/08/synapse-deprecating-postgres-9-4-and-python-2-x>`_.
Minimum Python Version
----------------------
Synapse v1.1 has a minimum Python requirement of Python 3.5. Python 3.6 or
Synapse v1.1.0 has a minimum Python requirement of Python 3.5. Python 3.6 or
Python 3.7 are recommended as they have improved internal string handling,
significantly reducing memory usage.

@ -1 +0,0 @@
Improve README section on performance troubleshooting.

@ -1 +0,0 @@
Add logging to 3pid invite signature verification.

@ -1 +0,0 @@
Fix bug processing incoming events over federation if call to `/get_missing_events` fails.

@ -1 +0,0 @@
Prevent >1 room upgrades happening simultaneously on the same room.

@ -1 +0,0 @@
Added possibilty to disable local password authentication. Contributed by Daniel Hoffend.

@ -1 +0,0 @@
Add monthly active users to phonehome stats.

@ -1 +0,0 @@
Update example haproxy config to a more compatible setup.

@ -1 +0,0 @@
Fix a bug where running synapse_port_db would cause the account validity feature to fail because it didn't set the type of the email_sent column to boolean.

@ -1 +0,0 @@
Allow expired user to trigger renewal email sending manually.

@ -1 +0,0 @@
Track deactivated accounts in the database.

@ -1 +0,0 @@
Clean up code for sending federation EDUs.

@ -1 +0,0 @@
Add a sponsor button to the repo.

@ -1 +0,0 @@
Don't log non-200 responses from federation queries as exceptions.

@ -1 +0,0 @@
Statistics on forward extremities per room are now exposed via Prometheus.

@ -1 +0,0 @@
Add a sponsor button to the repo.

@ -1 +0,0 @@
Warn about disabling email-based password resets when a reset occurs, and remove warning when someone attempts a phone-based reset.

@ -1 +0,0 @@
Fix email notifications for unnamed rooms with multiple people.

@ -1 +0,0 @@
Fix exceptions in federation reader worker caused by attempting to renew attestations, which should only happen on master worker.

@ -1 +0,0 @@
Fix handling of failures fetching remote content to not log failures as exceptions.

@ -1 +0,0 @@
Fix a bug where deactivated users could receive renewal emails if the account validity feature is on.

@ -0,0 +1 @@
Add information about nginx normalisation to reverse_proxy.rst. Contributed by @skalarproduktraum - thanks!

@ -1 +0,0 @@
Add --no-daemonize option to run synapse in the foreground, per issue #4130. Contributed by Soham Gumaste.

@ -1 +0,0 @@
Python 2.7 is no longer a supported platform. Synapse now requires Python 3.5+ to run.

@ -1 +0,0 @@
Allow server admins to define implementations of extra rules for allowing or denying incoming events.

@ -1 +0,0 @@
Update Python syntax in contrib/ to Python 3.

@ -1 +0,0 @@
Update federation_client dev script to support `.well-known` and work with python3.

@ -1 +0,0 @@
PostgreSQL 9.4 is no longer supported. Synapse requires Postgres 9.5+ or above for Postgres support.

@ -1 +0,0 @@
Statistics on forward extremities per room are now exposed via Prometheus.

@ -1 +0,0 @@
SyTest has been moved to Buildkite.

@ -1 +0,0 @@
Demo script now uses python3.

@ -1 +0,0 @@
Statistics on forward extremities per room are now exposed via Prometheus.

@ -1 +0,0 @@
Fix missing invite state after exchanging 3PID invites over federaton.

@ -1,2 +0,0 @@
Track deactivated accounts in the database.

@ -1 +0,0 @@
Allow server admins to define implementations of extra rules for allowing or denying incoming events.

@ -1 +0,0 @@
Synapse can now handle RestServlets that return coroutines.

@ -1 +0,0 @@
Add new metrics for number of forward extremities being persisted and number of state groups involved in resolution.

@ -1 +0,0 @@
Allow server admins to define implementations of extra rules for allowing or denying incoming events.

@ -1 +0,0 @@
The demo servers talk to each other again.

@ -1 +0,0 @@
Add an EXPERIMENTAL config option to try and periodically clean up extremities by sending dummy events.

@ -1 +0,0 @@
Synapse's codebase is now formatted by `black`.

@ -1 +0,0 @@
Fix failure to start under docker with SAML support enabled.

@ -1 +0,0 @@
Track deactivated accounts in the database.

@ -1 +0,0 @@
Fix intermittent exceptions on Apple hardware. Also fix bug that caused database activity times to be under-reported in log lines.

@ -1 +0,0 @@
Some cleanups and sanity-checking in the CPU and database metrics.

@ -1 +0,0 @@
Fix logging error when a tampered event is detected.

@ -1 +0,0 @@
Improve email notification logging.

@ -1 +0,0 @@
Add support for handling pagination APIs on client reader worker.

@ -1 +0,0 @@
Fix bug where clients could tight loop calling `/sync` for a period.

@ -1 +0,0 @@
Fix "Unexpected entry in 'full_schemas'" log warning.

@ -1 +0,0 @@
Improve logging when generating config files.

@ -1 +0,0 @@
Refactor and clean up Config parser for maintainability.

@ -1 +0,0 @@
Improve help and cmdline option names for --generate-config options.

@ -1 +0,0 @@
Add support for handling pagination APIs on client reader worker.

@ -1 +0,0 @@
Fix bug with `jinja2` preventing Synapse from starting. Users who had this problem should now simply need to run `pip install matrix-synapse`.

@ -1 +0,0 @@
Allow configuration of the path used for ACME account keys.

@ -1 +0,0 @@
Allow configuration of the path used for ACME account keys.

@ -1 +0,0 @@
Allow configuration of the path used for ACME account keys.

@ -1 +0,0 @@
Fix a regression where homeservers on private IP addresses were incorrectly blacklisted.

@ -1 +0,0 @@
Add --data-dir and --open-private-ports options.

@ -1 +0,0 @@
Remove support for cpu_affinity setting.

@ -1 +0,0 @@
Add support for handling pagination APIs on client reader worker.

@ -1 +0,0 @@
Split public rooms directory auth config in two settings, in order to manage client auth independently from the federation part of it. Obsoletes the "restrict_public_rooms_to_local_users" configuration setting. If "restrict_public_rooms_to_local_users" is set in the config, Synapse will act as if both new options are enabled, i.e. require authentication through the client API and deny federation requests.

@ -1 +0,0 @@
Add information about how to install and run `black` on the codebase to code_style.rst.

@ -1 +0,0 @@
Make the config clearer in that email.template_dir is relative to the Synapse's root directory, not the `synapse/` folder within it.

@ -0,0 +1 @@
Added opentracing and configuration options.

@ -1 +0,0 @@
Update v1.0.0 release changelog to include more information about changes to password resets.

@ -1 +0,0 @@
Update docker image to use Python 3.7.

@ -1 +0,0 @@
Increase default log level for docker image to INFO. It can still be changed by editing the generated log.config file.

@ -1 +0,0 @@
Remove non-functioning check_event_hash.py dev script.

@ -1 +0,0 @@
The minimum TLS version used for outgoing federation requests can now be set with `federation_client_minimum_tls_version`.

@ -1 +0,0 @@
Synapse will now only allow TLS v1.2 connections when serving federation, if it terminates TLS. As Synapse's allowed ciphers were only able to be used in TLSv1.2 before, this does not change behaviour.

@ -1 +0,0 @@
Fixed m.login.jwt using unregistred user_id and added pyjwt>=1.6.4 as jwt conditional dependencies. Contributed by Pau Rodriguez-Estivill.

@ -1 +0,0 @@
Logging when running GC collection on generation 0 is now at the DEBUG level, not INFO.

@ -1 +0,0 @@
Improve install docs on choosing server_name.

@ -1 +0,0 @@
Optimise devices changed query to not pull unnecessary rows from the database, reducing database load.

@ -1 +0,0 @@
Update Docker image to deprecate the use of environment variables for configuration, and make the use of a static configuration the default.

@ -1 +0,0 @@
Update Docker image to deprecate the use of environment variables for configuration, and make the use of a static configuration the default.

@ -1 +0,0 @@
Docker: Use a sensible location for data files when generating a config file.

@ -1 +0,0 @@
Reduce the amount of stuff we send in the docker context.

@ -1 +0,0 @@
Docker: Send synapse logs to the docker logging system, by default.

@ -1 +0,0 @@
Update Docker image to deprecate the use of environment variables for configuration, and make the use of a static configuration the default.

@ -1 +0,0 @@
Update Docker image to deprecate the use of environment variables for configuration, and make the use of a static configuration the default.

@ -1 +0,0 @@
Docker image: open the non-TLS port by default.

@ -1 +0,0 @@
Point the reverse links in the Purge History contrib scripts at the intended location.

@ -1 +0,0 @@
Fix a bug that would cause invited users to receive several emails for a single 3PID invite in case the inviter is rate limited.

@ -1 +0,0 @@
Synapse can now handle RestServlets that return coroutines.

@ -0,0 +1 @@
Move logging code out of `synapse.util` and into `synapse.logging`.

@ -0,0 +1 @@
Fix 'utime went backwards' errors on daemonization.

@ -0,0 +1 @@
Add a blacklist file to the repo to blacklist certain sytests from failing CI.

@ -0,0 +1 @@
Add `sender` and `origin_server_ts` fields to `m.replace`.

@ -0,0 +1 @@
Make runtime errors surrounding password reset emails much clearer.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save