Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2022-09-27 - (expected chart version 4.24.0) #2728

Merged
merged 60 commits into from
Sep 27, 2022

Conversation

zebot
Copy link
Contributor

@zebot zebot commented Sep 27, 2022

[2022-09-27] (Chart Release 4.24.0)

Release notes

API changes

Features

Bug fixes and other updates

  • SCIM user deletion suffered from a couple of race conditions. The user in now first deleted in spar, because this process depends on data from brig. Then, the user is deleted in brig. If any error occurs, the SCIM deletion request can be made again. This change depends on brig being completely deployed before using the SCIM deletion endpoint in brig. In the unlikely event of using SCIM deletion during the deployment, these requests can be retried (in case of error). (Make deletions via SCIM more stable #2637)

  • The 2nd factor password challenge team feature is disabled for SSO users ([SQSERVICE- 1509] 2FA in the context of sso #2693)

  • Less surprising handling of SIGINT, SIGTERM for proxy, stern. Increase grace period for shutdown from 5s to 30s for all services. (Better signal handling for proxy, stern #2715)

Documentation

Internal changes

smatting and others added 30 commits September 1, 2022 12:59
Master->Develop after release
* gundeck/cassandra: TWCS for 'notifications' table

In Gundeck's 'notifications' cassandra table, switch to [TWCS](https://cassandra.apache.org/doc/latest/cassandra/operating/compaction/twcs.html) compaction strategy, which should be more efficient for this workload, and possibly bring performance benefits to latencies.

It may be beneficial to run a manual compaction before rolling out this
change (but things should also work without this manual operation).

In case you have time, run the following before deploying this update:

```
nodetool compact gundeck notifications
```

Co-authored-by: Akshay Mankar <[email protected]>
* docs(swagger): Remove old swagger Client model

Old swagger Client model was unused.

* docs(swagger): Add mls_public_keys description

* docs(swagger): Add base64-specific example string

* docs(swagger): Add MLSPublicKeys example value

* refactor(split): MLSPublicKeys: separate modifiers

General type modifiers for MLSPublicKeys (like name, description) are
applied in one location, but adapter for use as an optional field named
"mls_public_keys" are done separately.

Also, generalize a HasDescription instance.

* docs(changelog)

* refactor: where clause taste

* refactor: allow overlaps of HasExample like HasDescription

Co-authored-by: fisx <[email protected]>
* Add /mls/public-keys to nginz chart

* Add /mls/public-keys to demo conf
…ndpoint (#2677)

* charts/coturn: refactor labels.

This adds the labels app, chart, heritage, and release to the coturn chart
(same as the wire-server charts), and removes the boilerplate for overriding
resource names.

* changelog: update.

* charts/coturn: add optional ServiceMonitor

* charts/coturn: add metrics port to Service.

The Service is headless, so this port is not exposed to the outside world; this
is required so that the metrics endpoint is visible to the metrics collection
agent which consumes the ServiceMonitor.

* changelog: update.
* Move module files.

* Change module names inside files.

find ./services/brig/ -name '*.hs' -exec perl -i -pe 's/Brig.Sem/Brig.Effects/g' {} \;

* Fix cabal file.

* changelog
* Remove CPU limits to avoid CPU throttling
* adjust request CPU and memory based on observed values.

Overall this decreases the amount of CPU/memory that the wire-server chart needs to install/schedule pods.
Cassandra doesn't support transactions. Thus, in rare circumstances, a user
could be only partially deleted in brig (e.g. due to the pod shutting down). To
be able to clean up a partially deleted user/account, the SCIM user deletion
handler now executes the internal deletion function in brig again even if the
user is not found in brig as it's only a "tombstone". This internal deletion
function then figures out if the user ever existed and if there are any left
overs. In case, deletion is executed for the user/account again.

To gather the result of a user deletion, the brig endpoint is now synchronous
(was asynchronous before).

Co-authored-by: Matthias Fischmann <[email protected]>
* Drop the `managed` column from `team_conv` table

* Improve the description of the managed key
* Update mls-test-cli to version 0.5
* Implement most of the new MLS test framework

* Automatically keep track of clients in the group

* Assert that add proposal is forwarded

* Remove dead code

* Keep track of clients in the test state

* Port more external proposal tests to new framework

* Refactor test testSenderNotInConversation

- Also add a utility for creating an application message

* Port welcome tests to new MLS test framework

* Refactor test testSendAnotherUsersCommit

* Port some commit tests to new MLS test framework

* Port more commit tests

* Refactor test testAppMessage

* Refactor test testRemoteAppMessage

* Port more commit tests

* Fix bracket in testAppMessage

* Finish porting commit tests

* Refactor test testAppMessage2

* Port proposal tests

* Refactor test testLocalToRemote

* Refactor test testLocalToRemoteNonMember

* Refactor test testRemoteToLocal

* Refactor test testRemoteNonMemberToLocal

* Refactor test testRemoteToLocalWrongConversation

* Refactor test testAddUsersDirectly

* Refactor test testRemoveUsersDirectly

* Refactor test testProteusMessage

* Refactor test testAddUsersToProteus

* Generalise return type of awaitMatch and friends

Fix error reporting in assertNoEvent

* Port backend removal test

* Port final test in API/MLS

* Move MLS tests out of the Federation module

* Remove old MLS test framework

* Add CHANGELOG entry

* Fix a test setup in runMLSTest

* Update mls-test-cli

Co-authored-by: Paolo Capriotti <[email protected]>
Co-authored-by: Marko Dimjašević <[email protected]>
* Allow leaving an MLS conversation via Wire API

* Add failing test for user leaving

* Move MLS clients to their own table

* Refactor leave action: remove list of leavers

* Update conversation object after removal

* Fix integration tests

* Implement a remote leaver test

* Update federation golden tests

* Split leave test into two

* Make removing already-removed users a no-op

* Add CHANGELOG entries

Co-authored-by: Paolo Capriotti <[email protected]>
zebot and others added 24 commits September 20, 2022 14:47
* SER-162: updated monitoring

* added a new entry in changelog.d
* Add new custom hlint rule for runSetting.

Also applies hlint again to the whole codebase (excluding tests), as we
had some drift between finalising hlint and new PRs being merged without
being linted / having CI catch those cases.

I also disalbed the pipefail from the script, as that would
short-circuit the linter on first issue found. Hopefully that doesn't
mess with CI.

PS: This will fail CI linters phase until #2715 has been merged.

* Removed Federator.Response from runSettings rule.
This PR replaces the prefix-tree matcher used in libzauth for matching ACL
paths with a simple regex-based matcher, which constructs a single regular
expression containing all possible paths. This makes it trivial to accept
user-provided regular expressions in the ACL language itself.
* Update nginz whitelists and blacklists

* Update cannon zauth.acl

* Add changelog entry

Co-authored-by: Stefan Matting <[email protected]>
After #2667, when users are kicked out of a conversation, the events
being sent out would look like normal leave events. This commit restores
the previous behaviour: the events reflect the fact that the user was
kicked out, with the originating user set to the user who caused the
change that required users to be removed.
For wire-server cloud, on kubernetes 1.21+, favour topology-aware routing, which reduces unnecessary inter-availability-zone traffic, reducing latency and cloud provider costs.

Documentation: https://kubernetes.io/docs/concepts/services-networking/topology-aware-hints/
See SQPIT-1439
* Avoid qualified Util import

* Use viewGalley everywhere

* Add v2 prefix to all galley requests

* Add v2 prefix to all brig requests

* client tests

* account tests

* auth tests wip

* Fix one more client test

* Add versioned paths to legalhold ACL

* Refactor: factor out test cases

* fix bug: regex routes match too much

* Fix the remaining brig tests

* Use versioned API in cargohold tests

* Always use most recent version in galley tests

* Use latest API version in brig

* Use latest API version in cargohold

* Use v1 API in End2End tests

* Add CHANGELOG entry

Co-authored-by: Stefan Matting <[email protected]>
)

* Add the DB column for PublicGroupState
* Processing a commit bundle: store PublicGroupState
* Implement group-info endpoint (local conversation)
* Implement group-info endpoint (remote conversation)

Co-authored-by: Stefan Matting <[email protected]>
@zebot zebot temporarily deployed to cachix September 27, 2022 13:14 Inactive
@zebot zebot temporarily deployed to cachix September 27, 2022 13:14 Inactive
@zebot zebot added the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Sep 27, 2022
@supersven supersven merged commit b0b3f1c into master Sep 27, 2022
@supersven supersven deleted the release_2022-09-27_13_14 branch September 27, 2022 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist
Projects
None yet
Development

Successfully merging this pull request may close these issues.