Skip to content

Commit 69bed38

Browse files
authored
Merge pull request #4820 from wireapp/release_2025-10-21_10_25
[WPB-21261] Release 2025-10-21 - (expected chart version 5.23.0)
2 parents 3ae0d93 + d953c31 commit 69bed38

File tree

381 files changed

+50687
-3188
lines changed

Some content is hidden

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

381 files changed

+50687
-3188
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ jobs:
3232
CURRENT_BRANCH="${GITHUB_REF#refs/heads/}"
3333
fi
3434
35-
sed -i "s|url = https://github.com/wireapp/wire-server.git|url = ${CURRENT_REPO_URL}|g" .gitmodules
36-
sed -i "s|branch = clean-wire-server-docs|branch = ${CURRENT_BRANCH}|g" .gitmodules
35+
git config -f .gitmodules submodule.wire-server.branch ${CURRENT_BRANCH}
3736
3837
cat .gitmodules
3938
make build

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,6 @@ logs-integration
105105

106106
# BOM file - https://github.com/wireapp/tom-bombadil
107107
sbom.json
108+
109+
# HLS config for haskell-tools plugin (Neovim)
110+
hls.json

CHANGELOG.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,137 @@
1+
# [2025-10-21] (Chart Release 5.23.0)
2+
3+
## Release notes
4+
5+
6+
* Team user search role filter has been fixed and results now include each member's team role. Note: existing search index documents will only show roles after a reindex or when users get updated; newly created or updated users populate their role automatically. (#4728)
7+
8+
* Elasticsearch/OpenSearch mapping updated for team user search to support filtering by unverified email addresses. For the new filter `email=verified|unverified` on `GET /teams/{tid}/search` to work as intended, it is necessary to create a new index and re-index the data either by [migrating to a new index](https://docs.wire.com/latest/developer/reference/elastic-search.html?h=#migrate-to-a-new-index) or by [recreating the index](https://docs.wire.com/latest/developer/reference/elastic-search.html?h=#recreate-an-index-requires-downtime).
9+
10+
* Allow storing conversation data in postgres.
11+
12+
This is currently not the default and is experimental.
13+
The migration path from Cassandra is yet to be programmed.
14+
15+
However, new installations can use this by configuring the wire-server helm
16+
chart like this:
17+
18+
```yaml
19+
galley:
20+
config:
21+
postgresqlMigration:
22+
conversation: postgresql
23+
``` (#4764)
24+
25+
26+
## API changes
27+
28+
29+
* Stub endpoints for enterprise provisioning (only in V13) (#4743)
30+
31+
* Finalize API Version V12, start new develop version V13. (#4817)
32+
33+
* The blocked domains feature
34+
(`optSettings.setCustomerExtensions.domainsBlockedForRegistration`) is now
35+
more strict: It is not only forbidden to register users with these domains in
36+
their email addresses, but also to change a user's email address to one of
37+
these domains.
38+
39+
This affects the endpoints:
40+
- `/register` (as before)
41+
- `/activate/send`
42+
- `/users/{uid}/email`
43+
- `/i/self/email` (internal endpoint)
44+
- `/access/self/email`
45+
- `/i/teams/{tid}/invitations` (internal endpoint)
46+
- `/teams/{tid}/invitations` (#4624)
47+
48+
49+
## Features
50+
51+
52+
* Allow collaborator to be removed from a team. (#4694)
53+
54+
* Add PodDisruptionBudget for Backoffice (#4751)
55+
56+
* Implement user-groups channels association (`/user-groups/{gid}/channels`). (#4783)
57+
58+
* Implement `channels` and `channelsCount` in `user-groups` endpoints. (#4776)
59+
60+
* Add `entreprise-provisioning`, a CLI to batch provision various entities, currently, creates and associate channels to existing user-groups. (#4790)
61+
62+
* Brig: Add optional `email` query parameter to `GET /teams/{tid}/search` ("browse-team"). (#4774)
63+
64+
* Add feature flag for "simplified user connection requests" QR codes
65+
(`simplifiedUserConnectionRequestQRCode`). As it has been implicitly enabled
66+
before - there was no way to turn it off - it's enabled by default. (#4763)
67+
68+
* Added user group endpoints to nginz config (#4744)
69+
70+
* New endpoint to update the users of a user group (#4768)
71+
72+
* Include total count in user group list/search responses (#4773)
73+
74+
* Allow updates of SCIM users by SCIM even if E2EID is enabled (#4772)
75+
76+
* Add global `AssetAuditLog` feature flag (#4779)
77+
78+
* cargohold: add asset audit logging (#4782, #4784, #4787)
79+
80+
* Add `searchable` field to users, users who have it set to `false` won't be found by the public endpoint.
81+
Add `POST /users/:uid/searchable` endpoint where team admin can change it for user.
82+
Add `/teams/:tid/search?searchable=false`, where the query parameter makes it return only non-searchable users. (#4786)
83+
84+
* Add user group ids to team member search result (#4809)
85+
86+
* Add endpoint for a team admin to get a new app cookie (#4769)
87+
88+
* Introduce apps and the corresponding creation endpoint `POST /teams/:tid/apps`. (#4696)
89+
90+
* Add `stealthUsers` feature flag (#4803)
91+
92+
* Remove user from all user groups on deletion (#4781)
93+
94+
* Add `type` field to user profiles. The possible values are "regular" for regular users, "bot" for services and "app" for apps. (#4758)
95+
96+
97+
## Bug fixes and other updates
98+
99+
100+
* The role filter of the team search is fixed (#4728)
101+
102+
* Changed Swagger data type `Pict` from `{}` which is interpreted as `string` to
103+
`{"type":"object"}`. Also, static Swagger specifications of earlier API versions
104+
have been adapted. (#4785)
105+
106+
* Added nginz rules for missing endpoints (#4808)
107+
108+
109+
## Documentation
110+
111+
112+
* add documentation on setting up federated calling (#4796)
113+
114+
* Update multi-ingress deeplink documentation to have a better example (#4807)
115+
116+
117+
## Internal changes
118+
119+
120+
* Add a preStopHook to gundeck helm chart to avoid spurious 500s on gundeck restarts. (#4730)
121+
122+
* Add `hls.json` to `.gitignore`. It's only useful in specific editor setups. (#4747)
123+
124+
* New make rule and python script for creating `/postgres-schema.sql`. (not hooked into CI yet) (#4760)
125+
126+
* Add postgres dynamic query builder (#4812)
127+
128+
* charts/{redis-ephemeral,reaper}: switch away from non-working bitnami registry (#4792)
129+
130+
* Update kubectl, restund, redis-cluster, and rabbitmq images to use bitnamilegacy registry (#4791)
131+
132+
* Switch reaper and restund kubectl images to bitnamilegacy registry to ensure shell access compatibility (#4801)
133+
134+
1135
# [2025-09-02] (Chart Release 5.22.0)
2136

3137
## Release notes

Makefile

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ ingress-nginx-controller nginx-ingress-services reaper restund \
2121
k8ssandra-test-cluster ldap-scim-bridge wire-server-enterprise
2222
KIND_CLUSTER_NAME := wire-server
2323
HELM_PARALLELISM ?= 1 # 1 for sequential tests; 6 for all-parallel tests
24-
PSQL_DB ?= wire-server
24+
# (run `psql -h localhost -p 5432 -d backendA -U wire-server -w` for the list of options for PSQL_DB)
25+
PSQL_DB ?= backendA
26+
export PSQL_DB
2527

2628
package ?= all
2729
EXE_SCHEMA := ./dist/$(package)-schema
@@ -100,10 +102,10 @@ endif
100102
./hack/bin/cabal-install-artefacts.sh $(package)
101103

102104
# ci here doesn't refer to continuous integration, but to cabal-run-integration.sh
103-
# Usage: make ci - build & run all tests, excluding integration
104-
# make ci package=all - build & run all tests, including integration
105-
# make ci package=brig - build brig & run "brig-integration"
106-
# make ci package=integration - build & run "integration"
105+
# Usage: make ci-fast - build & run all tests, excluding integration
106+
# make ci-fast package=all - build & run all tests, including integration
107+
# make ci-fast package=brig - build brig & run "brig-integration"
108+
# make ci-fast package=integration - build & run "integration"
107109
#
108110
# You can pass environment variables to all the suites, like so
109111
# TASTY_PATTERN=".." make ci package=brig
@@ -128,7 +130,7 @@ ci:
128130
@echo -en "\n\n\nplease choose between goals ci-fast and ci-safe.\n\n\n"
129131

130132
# Compile and run services
131-
# Usage: make crun `OR` make crun package=galley
133+
# Usage: make cr `OR` make cr package=galley
132134
.PHONY: cr
133135
cr: c db-migrate
134136
./dist/run-services
@@ -170,6 +172,7 @@ devtest-package:
170172
sanitize-pr: check-weed treefmt
171173
make lint-all-shallow
172174
make cassandra-schema
175+
make postgres-schema
173176
@git diff-files --quiet -- || ( echo "There are unstaged changes, please take a look, consider committing them, and try again."; exit 1 )
174177
@git diff-index --quiet --cached HEAD -- || ( echo "There are staged changes, please take a look, consider committing them, and try again."; exit 1 )
175178
make list-flaky-tests
@@ -320,20 +323,27 @@ upload-hoogle-image:
320323
./hack/bin/upload-image.sh wireServer.hoogleImage
321324

322325
#################################
323-
## cassandra management
326+
## cassandra / postgres management
324327

325328
.PHONY: git-add-cassandra-schema
326329
git-add-cassandra-schema:
327330
@echo "deprecated. use 'make cassandra-schema' instead."
328331
@false
329332

330333
.PHONY: cassandra-schema
331-
cassandra-schema: db-migrate git-add-cassandra-schema-impl
334+
cassandra-schema: db-migrate cassandra-schema-impl
332335

333336
.PHONY: cassandra-schema-impl
334337
cassandra-schema-impl:
335338
./hack/bin/cassandra_dump_schema > ./cassandra-schema.cql
336339

340+
.PHONY: postgres-reset postgres-schema-impl
341+
postgres-schema: postgres-reset postgres-schema-impl
342+
343+
.PHONY: postgres-schema-impl
344+
postgres-schema-impl:
345+
./hack/bin/postgres_dump_schema > ./postgres-schema.sql
346+
337347
.PHONY: cqlsh
338348
cqlsh:
339349
$(eval CASSANDRA_CONTAINER := $(shell docker ps | grep '/cassandra:' | perl -ne '/^(\S+)\s/ && print $$1'))
@@ -344,7 +354,7 @@ cqlsh:
344354
psql:
345355
@grep -q wire-server:wire-server ~/.pgpass || \
346356
echo "consider running 'echo localhost:5432:wire-server:wire-server:posty-the-gres > ~/.pgpass ; chmod 600 ~/.pgpass '"
347-
psql -h localhost -p 5432 -d $(PSQL_DB) -U wire-server -w || \
357+
pg_dump -h localhost -p 5432 $(PSQL_DB) -U wire-server -w --schema-only || \
348358
echo 'if the database is missing, consider running "make postgres-reset", or setting $$PSQL_DB to the correct table space.'
349359

350360
.PHONY: db-reset-package

cabal.project

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ packages:
6060
, tools/stern/
6161
, tools/mlsstats/
6262
, tools/test-stats/
63+
, tools/entreprise-provisioning/
6364

6465
tests: True
6566
benchmarks: True

cassandra-schema.cql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,12 +1622,12 @@ CREATE TABLE galley_test.conversation (
16221622
group_id blob,
16231623
message_timer bigint,
16241624
name text,
1625+
parent_conv uuid,
16251626
protocol int,
16261627
public_group_state blob,
16271628
receipt_mode int,
16281629
team uuid,
1629-
type int,
1630-
parent_conv uuid
1630+
type int
16311631
) WITH bloom_filter_fp_chance = 0.1
16321632
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
16331633
AND comment = ''
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{{- if gt (int .Values.replicaCount) 1 }}
2+
apiVersion: policy/v1
3+
kind: PodDisruptionBudget
4+
metadata:
5+
name: backoffice
6+
labels:
7+
app: backoffice
8+
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
9+
release: {{ .Release.Name }}
10+
heritage: {{ .Release.Service }}
11+
spec:
12+
maxUnavailable: {{ sub (int .Values.replicaCount) 1 }}
13+
selector:
14+
matchLabels:
15+
app: backoffice
16+
{{- end }}

charts/cargohold/templates/configmap.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ data:
5555
{{- if .downloadLinkTTL }}
5656
downloadLinkTTL: {{ .downloadLinkTTL }}
5757
{{- end }}
58+
assetAuditLogEnabled: {{ .assetAuditLogEnabled }}
5859
federationDomain: {{ .federationDomain }}
5960
disabledAPIVersions: {{ toJson .disabledAPIVersions }}
6061
{{- end }}

charts/cargohold/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ config:
3030
settings:
3131
maxTotalBytes: 104857632 # limit to 100 MiB + 32 bytes
3232
downloadLinkTTL: 300 # Seconds
33+
assetAuditLogEnabled: false
3334
# Disable one ore more API versions. Please make sure the configuration value is the same in all these charts:
3435
# brig, cannon, cargohold, galley, gundeck, proxy, spar.
3536
disabledAPIVersions: [ development ]

charts/galley/templates/configmap.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ data:
6666
endpoint: {{ .journal.endpoint }}
6767
{{- end }}
6868
69+
postgresMigration: {{- toYaml .postgresMigration | nindent 6 }}
70+
6971
settings:
7072
httpPoolSize: {{ .settings.httpPoolSize }}
7173
intraListing: {{ .settings.intraListing }}
@@ -187,6 +189,10 @@ data:
187189
allowedGlobalOperations:
188190
{{- toYaml .settings.featureFlags.allowedGlobalOperations | nindent 10 }}
189191
{{- end }}
192+
{{- if .settings.featureFlags.assetAuditLog }}
193+
assetAuditLog:
194+
{{- toYaml .settings.featureFlags.assetAuditLog | nindent 10 }}
195+
{{- end }}
190196
{{- if .settings.featureFlags.consumableNotifications }}
191197
consumableNotifications:
192198
{{- toYaml .settings.featureFlags.consumableNotifications | nindent 10 }}
@@ -199,5 +205,13 @@ data:
199205
apps:
200206
{{- toYaml .settings.featureFlags.apps | nindent 10 }}
201207
{{- end }}
208+
{{- if .settings.featureFlags.simplifiedUserConnectionRequestQRCode }}
209+
simplifiedUserConnectionRequestQRCode:
210+
{{- toYaml .settings.featureFlags.simplifiedUserConnectionRequestQRCode | nindent 10 }}
211+
{{- end }}
212+
{{- if .settings.featureFlags.stealthUsers }}
213+
stealthUsers:
214+
{{- toYaml .settings.featureFlags.stealthUsers | nindent 10 }}
215+
{{- end }}
202216
{{- end }}
203217
{{- end }}

0 commit comments

Comments
 (0)