Accepting request 867336 from network:messaging:matrix

OBS-URL: https://build.opensuse.org/request/show/867336
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/matrix-synapse?expand=0&rev=26
This commit is contained in:
Dominique Leuenberger 2021-01-28 20:22:43 +00:00 committed by Git OBS Bridge
commit 151829e9d2
7 changed files with 344 additions and 42 deletions

View File

@ -4,7 +4,7 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="url">https://github.com/matrix-org/synapse.git</param>
<param name="scm">git</param>
<param name="revision">v1.24.0</param>
<param name="revision">v1.26.0</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<!--

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b762205ddb67cb50a76f0579a7247b98682d2a81953979fb7b075e30167f93d
size 28951565

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40e21a4c6e009b44a44d56a19e1b40dea50d99187e28c658adaa9591da7704e0
size 29404173

View File

@ -1,7 +1,7 @@
#
# spec file for package matrix-synapse-test
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -18,26 +18,20 @@
# synapse only supports python >= 3.5, which is not available on pre-15 Leap.
# However, future versions of matrix-synapse will no longer support python2 and
# continued use of python2 is not recommended, so on newer distributions we
# only use python3. As a result, at no point do we have two versions of the
# continued use of python2 is not recommended, so we only use the primary
# python3 flavor. As a result, at no point do we have two versions of the
# matrix-synapse package.
%if 0%{?suse_version} < 1500
%define skip_python3 1
%else
%define skip_python2 1
%endif
# Disable debug packages since we're not installing anything.
%define debug_package %{nil}
%define pkgname matrix-synapse
Name: %{pkgname}-test
Version: 1.24.0
Version: 1.26.0
Release: 0
Summary: Test package for %{pkgname}
License: Apache-2.0
BuildRequires: %{pkgname} == %{version}
BuildRequires: python-rpm-macros
%description
.
@ -53,7 +47,7 @@ touch %{_sourcedir}/%{pkgname}
# Following tests disabled which would need to be run as 'synapse' user which
# we can not do easily (or at all) within RPM
# Generate a sample config.
#%{python_flavor} -m synapse.app.homeserver \
#python3 -m synapse.app.homeserver \
# --generate-config \
# --server localhost \
# --config-path dummy-homeserver.yaml \
@ -64,7 +58,7 @@ touch %{_sourcedir}/%{pkgname}
# manually run the module.
#synctl start dummy-homeserver.yaml
#sleep 2s
#%{python_flavor} -m synapse._scripts.register_new_matrix_user \
#python3 -m synapse._scripts.register_new_matrix_user \
# http://localhost:8008 \
# --config dummy-homeserver.yaml \
# --admin --user opensuse --password opensuse

View File

@ -1,3 +1,316 @@
-------------------------------------------------------------------
Thu Jan 28 01:01:53 UTC 2021 - Marcus Rueckert <mrueckert@suse.de>
- Update to 1.26.0
This release brings a new schema version for Synapse and rolling
back to a previous version is not trivial. Please review
UPGRADE.rst for more details on these changes and for general
upgrade guidance.
- Features
- Add support for multiple SSO Identity Providers. (#9015,
#9017, #9036, #9067, #9081, #9082, #9105, #9107, #9109,
#9110, #9127, #9153, #9154, #9177)
- During user-interactive authentication via single-sign-on,
give a better error if the user uses the wrong account on the
SSO IdP. (#9091)
- Give the public_baseurl a default value, if it is not
explicitly set in the configuration file. (#9159)
- Improve performance when calculating ignored users in large
rooms. (#9024)
- Implement MSC2176 in an experimental room version. (#8984)
- Add an admin API for protecting local media from quarantine.
(#9086)
- Remove a user's avatar URL and display name when deactivated
with the Admin API. (#8932)
- Update /_synapse/admin/v1/users/<user_id>/joined_rooms to
work for both local and remote users. (#8948)
- Add experimental support for handling to-device messages on
worker processes. (#9042, #9043, #9044, #9130)
- Add experimental support for handling /keys/claim and
/room_keys APIs on worker processes. (#9068)
- Add experimental support for handling /devices API on worker
processes. (#9092)
- Add experimental support for moving off receipts and account
data persistence off master. (#9104, #9166)
- Bugfixes
- Fix receipts and account data not being sent down sync.
Introduced in v1.26.0rc1. (#9193, #9195)
- Fix chain cover update to handle events with duplicate auth
events. Introduced in v1.26.0rc1. (#9210)
- Fix a long-standing issue where an internal server error
would occur when requesting a profile over federation that
did not include a display name / avatar URL. (#9023)
- Fix a long-standing bug where some caches could grow larger
than configured. (#9028)
- Fix error handling during insertion of client IPs into the
database. (#9051)
- Fix bug where we didn't correctly record CPU time spent in
on_new_event block. (#9053)
- Fix a minor bug which could cause confusing error messages
from invalid configurations. (#9054)
- Fix incorrect exit code when there is an error at startup.
(#9059)
- Fix JSONDecodeError spamming the logs when sending
transactions to remote servers. (#9070)
- Fix "Failed to send request" errors when a client provides an
invalid room alias. (#9071)
- Fix bugs in federation catchup logic that caused outbound
federation to be delayed for large servers after start up.
Introduced in v1.8.0 and v1.21.0. (#9114, #9116)
- Fix corruption of pushers data when a postgres bouncer is
used. (#9117)
- Fix minor bugs in handling the clientRedirectUrl parameter
for SSO login. (#9128)
- Fix "Unhandled error in Deferred: BodyExceededMaxSize" errors
when .well-known files that are too large. (#9108)
- Fix "UnboundLocalError: local variable 'length' referenced
before assignment" errors when the response body exceeds the
expected size. This bug was introduced in v1.25.0. (#9145)
- Fix a long-standing bug "ValueError: invalid literal for
int() with base 10" when /publicRooms is requested with an
invalid server parameter. (#9161)
- Improved Documentation
- Add some extra docs for getting Synapse running on macOS.
(#8997)
- Correct a typo in the systemd-with-workers documentation.
(#9035)
- Correct a typo in INSTALL.md. (#9040)
- Add missing user_mapping_provider configuration to the
Keycloak OIDC example. Contributed by @chris-ruecker. (#9057)
- Quote pip install packages when extras are used to avoid
shells interpreting bracket characters. (#9151)
- Deprecations and Removals
- Remove broken and unmaintained demo/webserver.py script.
(#9039)
- Internal Changes
- Add an oidc- prefix to any idp_ids which are given in the
oidc_providers configuration. (#9189)
- Bump minimum psycopg2 version to v2.8. (#9204)
- Improve efficiency of large state resolutions. (#8868, #9029,
#9115, #9118, #9124)
- Various clean-ups to the structured logging and logging
context code. (#8939)
- Ensure rejected events get added to some metadata tables.
(#9016)
- Ignore date-rotated homeserver logs saved to disk. (#9018)
- Remove an unused column from access_tokens table. (#9025)
- Add a -noextras factor to tox.ini, to support running the
tests with no optional dependencies. (#9030)
- Fix running unit tests when optional dependencies are not
installed. (#9031)
- Allow bumping schema version when using split out state
database. (#9033)
- Configure the linters to run on a consistent set of files.
(#9038)
- Various cleanups to device inbox store. (#9041)
- Drop unused database tables. (#9055)
- Remove unused SynapseService class. (#9058)
- Remove unnecessary declarations in the tests for the admin
API. (#9063)
- Remove SynapseRequest.get_user_agent. (#9069)
- Remove redundant Homeserver.get_ip_from_request method.
(#9080)
- Add type hints to media repository. (#9093)
- Fix the wrong arguments being passed to
BlacklistingAgentWrapper from MatrixFederationAgent.
Contributed by Timothy Leung. (#9098)
- Reduce the scope of caught exceptions in
BlacklistingAgentWrapper. (#9106)
- Improve UsernamePickerTestCase. (#9112)
- Remove dependency on distutils. (#9125)
- Enforce that replication HTTP clients are called with keyword
arguments only. (#9144)
- Fix the Python 3.5 / old dependencies build in CI. (#9146)
- Replace the old perspectives option in the Synapse docker
config file template with trusted_key_servers. (#9157)
-------------------------------------------------------------------
Mon Jan 25 09:28:42 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Remove python singlespec macro usage: This package only builds
against the primary python3 flavor. No need to pull in and expand
legacy python36
- Remove Leap 42 python2 handling in matrix-synapse-test.spec
-------------------------------------------------------------------
Wed Jan 13 12:28:54 UTC 2021 - Marcus Rueckert <mrueckert@suse.de>
- Update to 1.25.0
Ending Support for Python 3.5 and Postgres 9.5 With this release,
the Synapse team is announcing a formal deprecation policy for
our platform dependencies, like Python and PostgreSQL:
All future releases of Synapse will follow the upstream
end-of-life schedules.
Which means:
This is the last release which guarantees support for Python 3.5.
We will end support for PostgreSQL 9.5 early next month. We will
end support for Python 3.6 and PostgreSQL 9.6 near the end of the
year. Crucially, this means we will not produce .deb packages
for Debian 9 (Stretch) or Ubuntu 16.04 (Xenial) beyond the
transition period described below.
The website https://endoflife.date/ has convenient summaries of
the support schedules for projects like Python and PostgreSQL.
If you are unable to upgrade your environment to a supported
version of Python or Postgres, we encourage you to consider using
the Synapse Docker images instead.
Transition Period We will make a good faith attempt to avoid
breaking compatibility in all releases through the end of March
2021. However, critical security vulnerabilities in dependencies
or other unanticipated circumstances may arise which necessitate
breaking compatibility earlier.
We intend to continue producing .deb packages for Debian 9
(Stretch) and Ubuntu 16.04 (Xenial) through the transition
period.
Removal warning The old Purge Room API and Shutdown Room API are
deprecated and will be removed in a future release. They will be
replaced by the Delete Room APIe
POST /_synapse/admin/v1/rooms/<room_id>/delete replaces
POST /_synapse/admin/v1/purge_room and
POST /_synapse/admin/v1/shutdown_room/<room_id>.
- Features
- Add an admin API that lets server admins get power in rooms
in which local users have power. (#8756)
- Add optional HTTP authentication to replication endpoints.
(#8853)
- Improve the error messages printed as a result of
configuration problems for extension modules. (#8874)
- Add the number of local devices to Room Details Admin API.
Contributed by @dklimpel. (#8886)
- Add X-Robots-Tag header to stop web crawlers from indexing
media. Contributed by Aaron Raimist. (#8887)
- Spam-checkers may now define their methods as async. (#8890)
- Add support for allowing users to pick their own user ID
during a single-sign-on login. (#8897, #8900, #8911, #8938,
#8941, #8942, #8951)
- Add an email.invite_client_location configuration option to
send a web client location to the invite endpoint on the
identity server which allows customisation of the email
template. (#8930)
- The search term in the list room and list user Admin APIs is
now treated as case-insensitive. (#8931)
- Apply an IP range blacklist to push and key revocation
requests. (#8821, #8870, #8954)
- Add an option to allow re-use of user-interactive
authentication sessions for a period of time. (#8970)
- Allow running the redact endpoint on workers. (#8994)
- Bugfixes
- Fix HTTP proxy support when using a proxy that is on a
blacklisted IP. Introduced in v1.25.0rc1. Contributed by
@Bubu. (#9084)
- Fix bug where we might not correctly calculate the current
state for rooms with multiple extremities. (#8827)
- Fix a long-standing bug in the register admin endpoint
(/_synapse/admin/v1/register) when the mac field was not
provided. The endpoint now properly returns a 400 error.
Contributed by @edwargix. (#8837)
- Fix a long-standing bug on Synapse instances supporting
Single-Sign-On, where users would be prompted to enter their
password to confirm certain actions, even though they have
not set a password. (#8858)
- Fix a longstanding bug where a 500 error would be returned if
the Content-Length header was not provided to the upload
media resource. (#8862)
- Add additional validation to pusher URLs to be compliant with
the specification. (#8865)
- Fix the error code that is returned when a user tries to
register on a homeserver on which new-user registration has
been disabled. (#8867)
- Fix a bug where PUT /_synapse/admin/v2/users/<user_id> failed
to create a new user when avatar_url is specified. Bug
introduced in Synapse v1.9.0. (#8872)
- Fix a 500 error when attempting to preview an empty HTML
file. (#8883)
- Fix occasional deadlock when handling SIGHUP. (#8918)
- Fix login API to not ratelimit application services that have
ratelimiting disabled. (#8920)
- Fix bug where we ratelimited auto joining of rooms on
registration (using auto_join_rooms config). (#8921)
- Fix a bug where deactivated users appeared in the user
directory when their profile information was updated. (#8933,
#8964)
- Fix bug introduced in Synapse v1.24.0 which would cause an
exception on startup if both enabled and localdb_enabled were
set to False in the password_config setting of the
configuration file. (#8937)
- Fix a bug where 500 errors would be returned if the
m.room_history_visibility event had invalid content. (#8945)
- Fix a bug causing common English words to not be considered
for a user directory search. (#8959)
- Fix bug where application services couldn't register new
ghost users if the server had reached its MAU limit. (#8962)
- Fix a long-standing bug where a m.image event without a url
would cause errors on push. (#8965)
- Fix a small bug in v2 state resolution algorithm, which could
also cause performance issues for rooms with large numbers of
power levels. (#8971)
- Add validation to the sendToDevice API to raise a missing
parameters error instead of a 500 error. (#8975)
- Add validation of group IDs to raise a 400 error instead of a
500 eror. (#8977)
- Improved Documentation
- Fix the "Event persist rate" section of the included grafana
dashboard by adding missing prometheus rules. (#8802)
- Combine related media admin API docs. (#8839)
- Fix an error in the documentation for the SAML username
mapping provider. (#8873)
- Clarify comments around template directories in
sample_config.yaml. (#8891)
- Moved instructions for database setup, adjusted heading
levels and improved syntax highlighting in INSTALL.md.
Contributed by fossterer. (#8987)
- Update the example value of group_creation_prefix in the
sample configuration. (#8992)
- Link the Synapse developer room to the development section in
the docs. (#9002)
- Deprecations and Removals
- Deprecate Shutdown Room and Purge Room Admin APIs. (#8829)
- Internal Changes
- Properly store the mapping of external ID to Matrix ID for
CAS users. (#8856, #8958)
- Remove some unnecessary stubbing from unit tests. (#8861)
- Remove unused FakeResponse class from unit tests. (#8864)
- Pass room_id to get_auth_chain_difference. (#8879)
- Add type hints to push module. (#8880, #8882, #8901, #8940,
#8943, #9020)
- Simplify logic for handling user-interactive-auth via
single-sign-on servers. (#8881)
- Skip the SAML tests if the requirements (pysaml2 and xmlsec1)
aren't available. (#8905)
- Fix multiarch docker image builds. (#8906)
- Don't publish latest docker image until all archs are built.
(#8909)
- Various clean-ups to the structured logging and logging
context code. (#8916, #8935)
- Automatically drop stale forward-extremities under some
specific conditions. (#8929)
- Refactor test utilities for injecting HTTP requests. (#8946)
- Add a maximum size of 50 kilobytes to .well-known lookups.
(#8950)
- Fix bug in generate_log_config script which made it write
empty files. (#8952)
- Clean up tox.ini file; disable coverage checking for non-test
runs. (#8963)
- Add type hints to the admin and room list handlers. (#8973)
- Add type hints to the receipts and user directory handlers.
(#8976)
- Drop the unused local_invites table. (#8979)
- Add type hints to the base storage code. (#8980)
- Support using PyJWT v2.0.0 in the test suite. (#8986)
- Fix tests.federation.transport.RoomDirectoryFederationTests
and ensure it runs in CI. (#8998)
- Add type hints to the crypto module. (#8999)
-------------------------------------------------------------------
Wed Dec 9 11:34:37 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>

View File

@ -1,5 +1,5 @@
name: matrix-synapse
version: 1.24.0
mtime: 1607512044
commit: 9b26a4ac87cead4846c5bada73927cc2a6353a90
version: 1.26.0
mtime: 1611763324
commit: b685c5e7f193b1afb95b96d0a827d74f7691faef

View File

@ -1,7 +1,7 @@
#
# spec file for package matrix-synapse
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -41,14 +41,11 @@
# https://github.com/matrix-org/synapse/releases or synapse/CHANGES.md
# * Commit+submit
# Synapse 1.1.0 and onwards only supports Python >= 3.5.
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define modname synapse
%define pkgname matrix-synapse
%define eggname matrix_synapse
Name: %{pkgname}
Version: 1.24.0
Version: 1.26.0
Release: 0
Summary: Matrix protocol reference homeserver
License: Apache-2.0
@ -64,19 +61,17 @@ Source51: matrix-synapse-generate-config.sh
# to clean up your working copy afterwards: git reset --hard ; rm -rv .pc patches
Source99: series
Patch: matrix-synapse-1.4.1-paths.patch
BuildRequires: %{python_module base}
BuildRequires: %{python_module psutil >= 2.0.0}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module treq >= 15.1.0}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-base
BuildRequires: python3-psutil >= 2.0.0
BuildRequires: python3-setuptools
BuildRequires: python3-treq >= 15.1.0
BuildRequires: systemd-rpm-macros
BuildRequires: unzip
%{?systemd_requires}
Requires(pre): shadow
%ifpython3
Requires: %{python_flavor} >= 3.5
%endif
Requires: python3-base >= 3.5
# NOTE: Keep this is in the same order as synapse/python_dependencie.py.
BuildRequires: python3-Pillow >= 4.3.0
%requires_eq python3-Pillow
@ -145,7 +140,7 @@ BuildRequires: python3-matrix-synapse-ldap3 >= 0.1
%requires_eq python3-matrix-synapse-ldap3
%endif
%if %{with postgres}
BuildRequires: python3-psycopg2 >= 2.7
BuildRequires: python3-psycopg2 >= 2.8
%requires_eq python3-psycopg2
%endif
%if %{with acme}
@ -191,8 +186,6 @@ Provides: python2-matrix-synapse = %{version}-%{release}
Obsoletes: python3-matrix-synapse < %{version}-%{release}
Provides: python3-matrix-synapse = %{version}-%{release}
%python_subpackages
%description
Synapse is a Python-based reference "homeserver" implementation of
Matrix. Matrix is a system for federated Instant Messaging and VoIP.
@ -205,21 +198,21 @@ find synapse/ -type f -exec sed -i '1{/^#!/d}' {} \;
# Replace all #!/usr/bin/env lines to use #!/usr/bin/$1 directly.
find ./ -type f -exec \
sed -i '1s|^#!/usr/bin/env |#!/usr/bin/|' {} \;
# Force the usage of python_flavor.
# Force the usage of the default python3 sys executable
find ./ -type f \
-exec sed -i '1s|^#!/usr/bin/python$|#!/usr/bin/%{python_flavor}|' {} \;
-exec sed -i '1s|^#!/usr/bin/python.*$|#!%{__python3}|' {} \;
# Update the python flavour in the service file.
sed -i 's|@PYTHON_FLAVOR@|%{_bindir}/%{python_flavor}|g' %{S:50}
sed -i 's|@PYTHON_FLAVOR@|%{__python3}|g' %{S:50}
%build
%python_build
%python3_build
%install
cp %{S:48} README.SUSE
# We install scripts into /usr/lib to avoid silly conflicts with other pkgs.
install -d -m 0755 %{buildroot}%{_libexecdir}/%{pkgname}
%python_install "--install-scripts=%{_libexecdir}/%{pkgname}/"
%python3_install "--install-scripts=%{_libexecdir}/%{pkgname}/"
# While we provide a systemd service, link synctl so it's simpler to use.
install -d -m 0755 %{buildroot}%{_bindir}
@ -251,7 +244,7 @@ install -d -m 0750 %{buildroot}%{_rundir}/%{pkgname}
install -d -m 0750 %{buildroot}%{_localstatedir}/lib/%{pkgname}
install -d -m 0750 %{buildroot}%{_localstatedir}/log/%{pkgname}
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%fdupes %{buildroot}%{python3_sitelib}
%pre
getent group synapse >/dev/null || groupadd -r synapse
@ -277,7 +270,9 @@ usermod --shell=/bin/false --home=%{_localstatedir}/lib/%{pkgname} --gid=synapse
%config(noreplace) %attr(-,root,synapse) %{_sysconfdir}/%{pkgname}/
%dir %attr(0750,%{modname},%{modname}) %{_localstatedir}/lib/%{pkgname}
%dir %attr(0750,%{modname},%{modname}) %{_localstatedir}/log/%{pkgname}
%{python_sitelib}
%{python3_sitelib}/%{modname}
%{python3_sitelib}/synmark
%{python3_sitelib}/%{eggname}-*-info
# Python helper scripts.
%{_bindir}/synctl
%{_libexecdir}/%{pkgname}