Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Allow poetry-core 1.5.0 #14949

Merged
merged 1 commit into from
Feb 6, 2023
Merged

Conversation

icp1994
Copy link
Contributor

@icp1994 icp1994 commented Jan 31, 2023

Following up from #14931

To force building with poetry-core-1.5.0, I ran the following on a fresh synapse checkout with the pr patch

#!/bin/bash

set -euxo pipefail

poetry install --no-root --extras "saml2 oidc url-preview redis test"
poetry add build installer poetry-core==1.5.0
poetry run python -m build --no-isolation --wheel
poetry run python -m installer --dest=$(poetry env info --path) --prefix=/ dist/matrix_synapse-*.whl
poetry run python -m twisted.trial --jobs=$(nproc) tests
poetry remove build installer poetry-core

Test summary PASSED (skips=60, successes=2574) with the following skipped categories

[SKIPPED]
`BaseFederationServlet` does not support cancellation yet.

[SKIPPED]
Requires Postgres

[SKIPPED]
Requires jaeger_client

[SKIPPED]
Test only applies when postgres is used as the database

[SKIPPED]
Requires PyICU

Pull Request Checklist

  • Pull request is based on the develop branch
  • Pull request includes a changelog file. The entry should:
    • Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from EventStore to EventWorkerStore.".
    • Use markdown where necessary, mostly for code blocks.
    • End with either a period (.) or an exclamation mark (!).
    • Start with a capital letter.
    • Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry.
  • Pull request includes a sign off (requested via email)
  • Code style is correct
    (run the linters)

@icp1994
Copy link
Contributor Author

icp1994 commented Jan 31, 2023

Regarding the auditwheel failures, the wheel built with poetry-core-1.5.0 doesn't contain synapse_rust.abi3.so resulting in the detection error by auditwheel. I built three separate wheels with versions poetry-core versions 1.3.2, 1.4.0 & 1.5.0 and the diffs of the unpacked wheels are as follows:

[icp@snow tmp]$ diff -qr synapse-poetry-core-132/ synapse-poetry-core-140/
Files synapse-poetry-core-132/matrix_synapse-1.76.0rc2.dist-info/METADATA and synapse-poetry-core-140/matrix_synapse-1.76.0rc2.dist-info/METADATA differ
Files synapse-poetry-core-132/matrix_synapse-1.76.0rc2.dist-info/RECORD and synapse-poetry-core-140/matrix_synapse-1.76.0rc2.dist-info/RECORD differ
Files synapse-poetry-core-132/matrix_synapse-1.76.0rc2.dist-info/WHEEL and synapse-poetry-core-140/matrix_synapse-1.76.0rc2.dist-info/WHEEL differ

[icp@snow tmp]$ diff -qr synapse-poetry-core-140/ synapse-poetry-core-150/
Files synapse-poetry-core-140/matrix_synapse-1.76.0rc2.dist-info/METADATA and synapse-poetry-core-150/matrix_synapse-1.76.0rc2.dist-info/METADATA differ
Files synapse-poetry-core-140/matrix_synapse-1.76.0rc2.dist-info/RECORD and synapse-poetry-core-150/matrix_synapse-1.76.0rc2.dist-info/RECORD differ
Files synapse-poetry-core-140/matrix_synapse-1.76.0rc2.dist-info/WHEEL and synapse-poetry-core-150/matrix_synapse-1.76.0rc2.dist-info/WHEEL differ
Only in synapse-poetry-core-140/synapse: synapse_rust.abi3.so

[icp@snow tmp]$ diff -qr synapse-poetry-core-150/ synapse-poetry-core-132/
Files synapse-poetry-core-150/matrix_synapse-1.76.0rc2.dist-info/METADATA and synapse-poetry-core-132/matrix_synapse-1.76.0rc2.dist-info/METADATA differ
Files synapse-poetry-core-150/matrix_synapse-1.76.0rc2.dist-info/RECORD and synapse-poetry-core-132/matrix_synapse-1.76.0rc2.dist-info/RECORD differ
Files synapse-poetry-core-150/matrix_synapse-1.76.0rc2.dist-info/WHEEL and synapse-poetry-core-132/matrix_synapse-1.76.0rc2.dist-info/WHEEL differ
Only in synapse-poetry-core-132/synapse: synapse_rust.abi3.so

So seems to me as either a regression or an intended change in the poetry-core-1.5.0.

@squahtx squahtx added the X-Awaiting-Changes A contributed PR which needs changes and re-review before it can be merged label Feb 1, 2023
@squahtx squahtx removed the request for review from a team February 1, 2023 23:36
@squahtx
Copy link
Contributor

squahtx commented Feb 1, 2023

If you have the time for it, the regression needs investigating and fixing before we can merge this PR.

@nekopsykose
Copy link

this is because poetry-core 1.5 no longer allows the build= key. the new syntax is:

[tool.poetry.build]      
script = "build_rust.py" 

(instead of build = "build_rust.py"). the specific cause is python-poetry/poetry-core@4f7d44a

i don't know if the above change works with <1.5 too, but it works with 1.5, so distros can backport that [] change.

this also fixes #14966

@nekopsykose
Copy link

actually, even that doesn't work, so nevermind

@mgorny
Copy link

mgorny commented Feb 5, 2023

I see you hit it too while I've been trying to figure the other bug report out. I've filed python-poetry/poetry#7474 to check if it's intentional or a bug in poetry-core.

@DMRobertson
Copy link
Contributor

the specific cause is python-poetry/poetry-core@4f7d44a

The underlying PR is python-poetry/poetry-core#318

actually, even that doesn't work, so nevermind

The PR description reads:

With this change, projects that require a setup.py to be
generated when a build script is used needs to explicitly set
tool.poetry.build.generate-setup-file, introduced in python-poetry/poetry-core#26, to true in pyproject.toml.

Which sounds like it's worth a shot.

@mgorny
Copy link

mgorny commented Feb 5, 2023

According to python-poetry/poetry#7470, this can be worked around by using:

[tool.poetry.build]
script = "build_rust.py"
generate-setup-file = true

That said, this is a short-time solution. Apparently poetry is going to remove setup.py support eventually, so this is going to stop working sooner or later. Poetry docs pretty explicitly say they don't support non-pure wheels, so hacking it around is not the way forward.

@nekopsykose
Copy link

I see you hit it too while I've been trying to figure the other bug report out.

: )

this can be worked around by using:

that is exactly what i was trying (after above; was incomplete) but i apparently typo'd something (classic). thanks, seems to work now instead..

arkamar added a commit to arkamar/gentoo that referenced this pull request Feb 5, 2023
Synapse has frequent releases, we can limit poetry-core to <1.5.0 now
and wait for the next version where the issue will be solved.

Bug: https://bugs.gentoo.org/893244
See-also: matrix-org/synapse#14949
See-also: python-poetry/poetry#7470
Signed-off-by: Petr Vaněk <[email protected]>
arkamar added a commit to arkamar/gentoo that referenced this pull request Feb 5, 2023
Synapse has frequent releases, we can limit poetry-core to <1.5.0 now
and wait for the next version where the issue will be solved.

Bug: https://bugs.gentoo.org/893244
See-also: matrix-org/synapse#14949
See-also: python-poetry/poetry#7470
Signed-off-by: Petr Vaněk <[email protected]>
gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Feb 5, 2023
Synapse has frequent releases, we can limit poetry-core to <1.5.0 now
and wait for the next version where the issue will be solved.

Bug: https://bugs.gentoo.org/893244
See-also: matrix-org/synapse#14949
See-also: python-poetry/poetry#7470
Signed-off-by: Petr Vaněk <[email protected]>
Closes: #29379
Signed-off-by: Sam James <[email protected]>
@DMRobertson
Copy link
Contributor

  • Pull request includes a sign off (requested via email)

Received, many thanks.

@icp1994
Copy link
Contributor Author

icp1994 commented Feb 6, 2023

I have included the upstream workaround in pyproject.toml and built synapse wheels with poetry-core-1.0.0 (current lower bound), poetry-core-1.3.2 (current upper bound), and poetry-core-1.5.0 (proposed upper bound). All the built wheels contain identical files (except the dist-info of course) - all including synapse_rust.abi3.so and passes tests for me locally. I am force pushing this branch to check if CI is happy.

@DMRobertson
Copy link
Contributor

That said, this is a short-time solution. Apparently poetry is going to remove setup.py support eventually, so this is going to stop working sooner or later.

Poetry docs pretty explicitly say they don't support non-pure wheels, so hacking it around is not the way forward.

@mgorny (or anyone else): do you have any links for these two points? I would like to better understand the situation here.

@DMRobertson DMRobertson requested a review from a team February 6, 2023 17:50
@mgorny
Copy link

mgorny commented Feb 6, 2023

This is the first step in removing setup file generation from Poetry projects.

Well, I might be misunderstanding but I'd assume that if there's the "first step", there will be next steps, and the eventual result will be the removal of it.

From: python-poetry/poetry-core#318

Note that, at the moment, only pure python wheels are supported.

From: https://python-poetry.org/docs/cli/#build

@DMRobertson
Copy link
Contributor

Related: python-poetry/poetry#2740 (thanks @clokep)

Copy link
Contributor

@squahtx squahtx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have included the upstream workaround in pyproject.toml and built synapse wheels with poetry-core-1.0.0 (current lower bound), poetry-core-1.3.2 (current upper bound), and poetry-core-1.5.0 (proposed upper bound). All the built wheels contain identical files (except the dist-info of course) - all including synapse_rust.abi3.so and passes tests for me locally. I am force pushing this branch to check if CI is happy.

Sounds great. Let's get this merged.

@squahtx squahtx merged commit 64a6318 into matrix-org:develop Feb 6, 2023
@icp1994 icp1994 deleted the bump-poetry-core branch February 6, 2023 19:36
@DMRobertson
Copy link
Contributor

(Many thanks to all, and @icp1994 especially, for bearing with us and for putting in the effort to check that this change was safe to make.)

@DMRobertson
Copy link
Contributor

DMRobertson commented Feb 6, 2023

Hmm. Develop CI is failing to build wheels on OSX:

https://github.com/matrix-org/synapse/actions/runs/4107246533/jobs/7086484359

  
  + pip install virtualenv -c /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/cibuildwheel/resources/constraints-python37.txt
  Requirement already satisfied: virtualenv in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (20.16.3)
  Requirement already satisfied: filelock<4,>=3.4.1 in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (from virtualenv) (3.8.0)
  Requirement already satisfied: distlib<1,>=0.3.5 in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (from virtualenv) (0.3.5)
  Requirement already satisfied: platformdirs<3,>=2.4 in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (from virtualenv) (2.5.2)
  Requirement already satisfied: importlib-metadata>=4.8.3 in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (from virtualenv) (4.12.0)
  Requirement already satisfied: zipp>=0.5 in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (from importlib-metadata>=4.8.3->virtualenv) (3.8.1)
  Requirement already satisfied: typing-extensions>=3.6.4 in /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/build/venv/lib/python3.7/site-packages (from importlib-metadata>=4.8.3->virtualenv) (4.3.0)
  + python -m virtualenv --no-download /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/venv-test
  created virtual environment CPython3.7.9.final.0-64 in 1032ms
    creator CPython3Posix(dest=/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/venv-test, clear=False, no_vcs_ignore=False, global=False)
    seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/runner/Library/Application Support/virtualenv)
      added seed packages: pip==22.2.2, setuptools==63.4.1, wheel==0.37.1
    activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
  + which python
  /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/venv-test/bin/python
  + pip install /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/repaired_wheel/matrix_synapse-1.76.0-cp37-abi3-macosx_11_0_x86_64.whl
  ERROR: matrix_synapse-1.76.0-cp37-abi3-macosx_11_0_x86_64.whl is not a supported wheel on this platform.
  Error: Command ['pip', 'install', '/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-b0_mzyp3/cp37-macosx_x86_64/repaired_wheel/matrix_synapse-1.76.0-cp37-abi3-macosx_11_0_x86_64.whl'] failed with code 1. None

@erikjohnston does this mean anything to you? Smells like it's related to https://github.com/matrix-org/synapse/blob/1e73effebf4f307f499c8cd4be58f805959beb38/.ci/scripts/auditwheel_wrapper.py

@icp1994
Copy link
Contributor Author

icp1994 commented Feb 7, 2023

Related I assume: pypa/cibuildwheel#1410
Is building *-cp37-* wheels necessary? README badge shows 3.8 as the minimum python version.

@clokep
Copy link
Member

clokep commented Feb 7, 2023

Related I assume: pypa/cibuildwheel#1410 Is building *-cp37-* wheels necessary? README badge shows 3.8 as the minimum python version.

Python 3.7 is the minimum supported version:

python = "^3.7.1"

DMRobertson pushed a commit that referenced this pull request Feb 7, 2023
DMRobertson pushed a commit that referenced this pull request Feb 7, 2023
does this break it?

This reverts commit 50936db.
@icp1994
Copy link
Contributor Author

icp1994 commented Feb 9, 2023

Sorry this took so much time/effort post-merge to be fixed properly and thanks for handling that!

arkamar added a commit to arkamar/gentoo that referenced this pull request Feb 14, 2023
Upstream fixed the issue with poetry-core-1.5.0 in this version.

Closes: https://bugs.gentoo.org/893244
See-also: matrix-org/synapse#14949
Signed-off-by: Petr Vaněk <[email protected]>
gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Feb 17, 2023
Upstream fixed the issue with poetry-core-1.5.0 in this version.

Closes: https://bugs.gentoo.org/893244
See-also: matrix-org/synapse#14949
Signed-off-by: Petr Vaněk <[email protected]>
Closes: #29579
Signed-off-by: Sam James <[email protected]>
Fizzadar added a commit to Fizzadar/synapse that referenced this pull request Feb 20, 2023
Synapse 1.77.0 (2023-02-14)
===========================

No significant changes since 1.77.0rc2.

Synapse 1.77.0rc2 (2023-02-10)
==============================

Bugfixes
--------

- Fix bug where retried replication requests would return a failure. Introduced in v1.76.0. ([\matrix-org#15024](matrix-org#15024))

Internal Changes
----------------

- Prepare for future database schema changes. ([\matrix-org#15036](matrix-org#15036))

Synapse 1.77.0rc1 (2023-02-07)
==============================

Features
--------

- Experimental support for [MSC3952](matrix-org/matrix-spec-proposals#3952): intentional mentions. ([\matrix-org#14823](matrix-org#14823), [\matrix-org#14943](matrix-org#14943), [\matrix-org#14957](matrix-org#14957), [\matrix-org#14958](matrix-org#14958))
- Experimental support to suppress notifications from message edits ([MSC3958](matrix-org/matrix-spec-proposals#3958)). ([\matrix-org#14960](matrix-org#14960), [\matrix-org#15016](matrix-org#15016))
- Add profile information, devices and connections to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.77/usage/administration/admin_faq.html#how-can-i-export-user-data). ([\matrix-org#14894](matrix-org#14894))
- Improve performance when joining or sending an event in large rooms. ([\matrix-org#14962](matrix-org#14962))
- Improve performance of joining and leaving large rooms with many local users. ([\matrix-org#14971](matrix-org#14971))

Bugfixes
--------

- Fix a bug introduced in Synapse 1.53.0 where `next_batch` tokens from `/sync` could not be used with the `/relations` endpoint. ([\matrix-org#14866](matrix-org#14866))
- Fix a bug introduced in Synapse 1.35.0 where the module API's `send_local_online_presence_to` would fail to send presence updates over federation. ([\matrix-org#14880](matrix-org#14880))
- Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier. ([\matrix-org#14915](matrix-org#14915))
- Fix a regression introduced in Synapse 1.69.0 which can result in database corruption when database migrations are interrupted on sqlite. ([\matrix-org#14926](matrix-org#14926))
- Fix a bug introduced in Synapse 1.68.0 where we were unable to service remote joins in rooms with `@room` notification levels set to `null` in their (malformed) power levels. ([\matrix-org#14942](matrix-org#14942))
- Fix a bug introduced in Synapse 1.64.0 where boolean power levels were erroneously permitted in [v10 rooms](https://spec.matrix.org/v1.5/rooms/v10/). ([\matrix-org#14944](matrix-org#14944))
- Fix a long-standing bug where sending messages on servers with presence enabled would spam "Re-starting finished log context" log lines. ([\matrix-org#14947](matrix-org#14947))
- Fix a bug introduced in Synapse 1.68.0 where logging from the Rust module was not properly logged. ([\matrix-org#14976](matrix-org#14976))
- Fix various long-standing bugs in Synapse's config, event and request handling where booleans were unintentionally accepted where an integer was expected. ([\matrix-org#14945](matrix-org#14945))

Internal Changes
----------------

- Add missing type hints. ([\matrix-org#14879](matrix-org#14879), [\matrix-org#14886](matrix-org#14886), [\matrix-org#14887](matrix-org#14887), [\matrix-org#14904](matrix-org#14904), [\matrix-org#14927](matrix-org#14927), [\matrix-org#14956](matrix-org#14956), [\matrix-org#14983](matrix-org#14983), [\matrix-org#14984](matrix-org#14984), [\matrix-org#14985](matrix-org#14985), [\matrix-org#14987](matrix-org#14987), [\matrix-org#14988](matrix-org#14988), [\matrix-org#14990](matrix-org#14990), [\matrix-org#14991](matrix-org#14991), [\matrix-org#14992](matrix-org#14992), [\matrix-org#15007](matrix-org#15007))
- Use `StrCollection` to avoid potential bugs with `Collection[str]`. ([\matrix-org#14922](matrix-org#14922))
- Allow running the complement tests suites with the asyncio reactor enabled. ([\matrix-org#14858](matrix-org#14858))
- Improve performance of `/sync` in a few situations. ([\matrix-org#14908](matrix-org#14908), [\matrix-org#14970](matrix-org#14970))
- Document how to handle Dependabot pull requests. ([\matrix-org#14916](matrix-org#14916))
- Fix typo in release script. ([\matrix-org#14920](matrix-org#14920))
- Update build system requirements to allow building with poetry-core 1.5.0. ([\matrix-org#14949](matrix-org#14949), [\matrix-org#15019](matrix-org#15019))
- Add an [lnav](https://lnav.org) config file for Synapse logs to `/contrib/lnav`. ([\matrix-org#14953](matrix-org#14953))
- Faster joins: Refactor internal handling of servers in room to never store an empty list. ([\matrix-org#14954](matrix-org#14954))
- Faster joins: tag `v2/send_join/` requests to indicate if they served a partial join response. ([\matrix-org#14950](matrix-org#14950))
- Allow running `cargo` without the `extension-module` option. ([\matrix-org#14965](matrix-org#14965))
- Preparatory work for adding a denormalised event stream ordering column in the future. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#14979](matrix-org#14979), [9cd7610](matrix-org@9cd7610), [f10caa7](matrix-org@f10caa7); see [\matrix-org#15014](matrix-org#15014))
- Add tests for `_flatten_dict`. ([\matrix-org#14981](matrix-org#14981), [\matrix-org#15002](matrix-org#15002))

<details><summary>Dependabot updates</summary>

- Bump dtolnay/rust-toolchain from e645b0cf01249a964ec099494d38d2da0f0b349f to 9cd00a88a73addc8617065438eff914dd08d0955. ([\matrix-org#14968](matrix-org#14968))
- Bump docker/build-push-action from 3 to 4. ([\matrix-org#14952](matrix-org#14952))
- Bump ijson from 3.1.4 to 3.2.0.post0. ([\matrix-org#14935](matrix-org#14935))
- Bump types-pyyaml from 6.0.12.2 to 6.0.12.3. ([\matrix-org#14936](matrix-org#14936))
- Bump types-jsonschema from 4.17.0.2 to 4.17.0.3. ([\matrix-org#14937](matrix-org#14937))
- Bump types-pillow from 9.4.0.3 to 9.4.0.5. ([\matrix-org#14938](matrix-org#14938))
- Bump hiredis from 2.0.0 to 2.1.1. ([\matrix-org#14939](matrix-org#14939))
- Bump hiredis from 2.1.1 to 2.2.1. ([\matrix-org#14993](matrix-org#14993))
- Bump types-setuptools from 65.6.0.3 to 67.1.0.0. ([\matrix-org#14994](matrix-org#14994))
- Bump prometheus-client from 0.15.0 to 0.16.0. ([\matrix-org#14995](matrix-org#14995))
- Bump anyhow from 1.0.68 to 1.0.69. ([\matrix-org#14996](matrix-org#14996))
- Bump serde_json from 1.0.91 to 1.0.92. ([\matrix-org#14997](matrix-org#14997))
- Bump isort from 5.11.4 to 5.11.5. ([\matrix-org#14998](matrix-org#14998))
- Bump phonenumbers from 8.13.4 to 8.13.5. ([\matrix-org#14999](matrix-org#14999))
</details>

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQSTI7xPaHQ1yo0PA8uSL1esuTqr+QUCY+ubcgAKCRCSL1esuTqr
# +foKAP9K8HQeGlOns6GRRiyY1EPILRvptAXeMit2eQ19J+ROKAD+JZM5WqlpWAdW
# ikmC4GV8hps01IAWFwKtK3+pLqg79gc=
# =yBT7
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Feb 14 14:32:18 2023 GMT
# gpg:                using EDDSA key 9323BC4F687435CA8D0F03CB922F57ACB93AABF9
# gpg: Can't check signature: No public key

# Conflicts:
#	docker/Dockerfile
#	poetry.lock
#	rust/src/push/base_rules.rs
#	rust/src/push/evaluator.rs
#	rust/src/push/mod.rs
#	synapse/config/experimental.py
#	synapse/event_auth.py
#	synapse/handlers/message.py
#	synapse/handlers/pagination.py
#	synapse/push/bulk_push_rule_evaluator.py
#	synapse/rest/admin/rooms.py
#	synapse/storage/databases/main/devices.py
#	synapse/storage/databases/main/roommember.py
#	tests/push/test_push_rule_evaluator.py
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 1, 2023
Synapse 1.77.0 (2023-02-14)
===========================

No significant changes since 1.77.0rc2.


Synapse 1.77.0rc2 (2023-02-10)
==============================

Bugfixes
--------

- Fix bug where retried replication requests would return a failure. Introduced in v1.76.0. ([\#15024](matrix-org/synapse#15024))


Internal Changes
----------------

- Prepare for future database schema changes. ([\#15036](matrix-org/synapse#15036))


Synapse 1.77.0rc1 (2023-02-07)
==============================

Features
--------

- Experimental support for [MSC3952](matrix-org/matrix-spec-proposals#3952): intentional mentions. ([\#14823](matrix-org/synapse#14823), [\#14943](matrix-org/synapse#14943), [\#14957](matrix-org/synapse#14957), [\#14958](matrix-org/synapse#14958))
- Experimental support to suppress notifications from message edits ([MSC3958](matrix-org/matrix-spec-proposals#3958)). ([\#14960](matrix-org/synapse#14960), [\#15016](matrix-org/synapse#15016))
- Add profile information, devices and connections to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.77/usage/administration/admin_faq.html#how-can-i-export-user-data). ([\#14894](matrix-org/synapse#14894))
- Improve performance when joining or sending an event in large rooms. ([\#14962](matrix-org/synapse#14962))
- Improve performance of joining and leaving large rooms with many local users. ([\#14971](matrix-org/synapse#14971))


Bugfixes
--------

- Fix a bug introduced in Synapse 1.53.0 where `next_batch` tokens from `/sync` could not be used with the `/relations` endpoint. ([\#14866](matrix-org/synapse#14866))
- Fix a bug introduced in Synapse 1.35.0 where the module API's `send_local_online_presence_to` would fail to send presence updates over federation. ([\#14880](matrix-org/synapse#14880))
- Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier. ([\#14915](matrix-org/synapse#14915))
- Fix a regression introduced in Synapse 1.69.0 which can result in database corruption when database migrations are interrupted on sqlite. ([\#14926](matrix-org/synapse#14926))
- Fix a bug introduced in Synapse 1.68.0 where we were unable to service remote joins in rooms with `@room` notification levels set to `null` in their (malformed) power levels. ([\#14942](matrix-org/synapse#14942))
- Fix a bug introduced in Synapse 1.64.0 where boolean power levels were erroneously permitted in [v10 rooms](https://spec.matrix.org/v1.5/rooms/v10/). ([\#14944](matrix-org/synapse#14944))
- Fix a long-standing bug where sending messages on servers with presence enabled would spam "Re-starting finished log context" log lines. ([\#14947](matrix-org/synapse#14947))
- Fix a bug introduced in Synapse 1.68.0 where logging from the Rust module was not properly logged. ([\#14976](matrix-org/synapse#14976))
- Fix various long-standing bugs in Synapse's config, event and request handling where booleans were unintentionally accepted where an integer was expected. ([\#14945](matrix-org/synapse#14945))


Internal Changes
----------------

- Add missing type hints. ([\#14879](matrix-org/synapse#14879), [\#14886](matrix-org/synapse#14886), [\#14887](matrix-org/synapse#14887), [\#14904](matrix-org/synapse#14904), [\#14927](matrix-org/synapse#14927), [\#14956](matrix-org/synapse#14956), [\#14983](matrix-org/synapse#14983), [\#14984](matrix-org/synapse#14984), [\#14985](matrix-org/synapse#14985), [\#14987](matrix-org/synapse#14987), [\#14988](matrix-org/synapse#14988), [\#14990](matrix-org/synapse#14990), [\#14991](matrix-org/synapse#14991), [\#14992](matrix-org/synapse#14992), [\#15007](matrix-org/synapse#15007))
- Use `StrCollection` to avoid potential bugs with `Collection[str]`. ([\#14922](matrix-org/synapse#14922))
- Allow running the complement tests suites with the asyncio reactor enabled. ([\#14858](matrix-org/synapse#14858))
- Improve performance of `/sync` in a few situations. ([\#14908](matrix-org/synapse#14908), [\#14970](matrix-org/synapse#14970))
- Document how to handle Dependabot pull requests. ([\#14916](matrix-org/synapse#14916))
- Fix typo in release script. ([\#14920](matrix-org/synapse#14920))
- Update build system requirements to allow building with poetry-core 1.5.0. ([\#14949](matrix-org/synapse#14949), [\#15019](matrix-org/synapse#15019))
- Add an [lnav](https://lnav.org) config file for Synapse logs to `/contrib/lnav`. ([\#14953](matrix-org/synapse#14953))
- Faster joins: Refactor internal handling of servers in room to never store an empty list. ([\#14954](matrix-org/synapse#14954))
- Faster joins: tag `v2/send_join/` requests to indicate if they served a partial join response. ([\#14950](matrix-org/synapse#14950))
- Allow running `cargo` without the `extension-module` option. ([\#14965](matrix-org/synapse#14965))
- Preparatory work for adding a denormalised event stream ordering column in the future. Contributed by Nick @ Beeper (@Fizzadar). ([\#14979](matrix-org/synapse#14979), [9cd7610](matrix-org/synapse@9cd7610), [f10caa7](matrix-org/synapse@f10caa7); see [\#15014](matrix-org/synapse#15014))
- Add tests for `_flatten_dict`. ([\#14981](matrix-org/synapse#14981), [\#15002](matrix-org/synapse#15002))

<details><summary>Locked dependency updates</summary>

- Bump dtolnay/rust-toolchain from e645b0cf01249a964ec099494d38d2da0f0b349f to 9cd00a88a73addc8617065438eff914dd08d0955. ([\#14968](matrix-org/synapse#14968))
- Bump docker/build-push-action from 3 to 4. ([\#14952](matrix-org/synapse#14952))
- Bump ijson from 3.1.4 to 3.2.0.post0. ([\#14935](matrix-org/synapse#14935))
- Bump types-pyyaml from 6.0.12.2 to 6.0.12.3. ([\#14936](matrix-org/synapse#14936))
- Bump types-jsonschema from 4.17.0.2 to 4.17.0.3. ([\#14937](matrix-org/synapse#14937))
- Bump types-pillow from 9.4.0.3 to 9.4.0.5. ([\#14938](matrix-org/synapse#14938))
- Bump hiredis from 2.0.0 to 2.1.1. ([\#14939](matrix-org/synapse#14939))
- Bump hiredis from 2.1.1 to 2.2.1. ([\#14993](matrix-org/synapse#14993))
- Bump types-setuptools from 65.6.0.3 to 67.1.0.0. ([\#14994](matrix-org/synapse#14994))
- Bump prometheus-client from 0.15.0 to 0.16.0. ([\#14995](matrix-org/synapse#14995))
- Bump anyhow from 1.0.68 to 1.0.69. ([\#14996](matrix-org/synapse#14996))
- Bump serde_json from 1.0.91 to 1.0.92. ([\#14997](matrix-org/synapse#14997))
- Bump isort from 5.11.4 to 5.11.5. ([\#14998](matrix-org/synapse#14998))
- Bump phonenumbers from 8.13.4 to 8.13.5. ([\#14999](matrix-org/synapse#14999))
</details>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
X-Awaiting-Changes A contributed PR which needs changes and re-review before it can be merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants