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

Commit

Permalink
Add release note and update doc regarding ICU
Browse files Browse the repository at this point in the history
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
  • Loading branch information
Mathieu Velten committed Dec 20, 2022
1 parent 4be998a commit 8e94ece
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 6 deletions.
1 change: 1 addition & 0 deletions changelog.d/14712.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add release note and update documentation regarding optional ICU support in user search.
2 changes: 2 additions & 0 deletions docs/development/contributing_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ The code of Synapse is written in Python 3. To do pretty much anything, you'll n

Synapse can connect to PostgreSQL via the [psycopg2](https://pypi.org/project/psycopg2/) Python library. Building this library from source requires access to PostgreSQL's C header files. On Debian or Ubuntu Linux, these can be installed with `sudo apt install libpq-dev`.

Synapse has some optional improved user search supporting Unicode. For that you need the development package of `libicu`. On Debian or Ubuntu Linux, these can be installed with `sudo apt install libicu-dev`.

The source code of Synapse is hosted on GitHub. You will also need [a recent version of git](https://github.com/git-guides/install-git).

For some tests, you will need [a recent version of Docker](https://docs.docker.com/get-docker/).
Expand Down
18 changes: 12 additions & 6 deletions docs/setup/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ Installing prerequisites on Ubuntu or Debian:
```sh
sudo apt install build-essential python3-dev libffi-dev \
python3-pip python3-setuptools sqlite3 \
libssl-dev virtualenv libjpeg-dev libxslt1-dev
libssl-dev virtualenv libjpeg-dev libxslt1-dev libicu-dev
```

##### ArchLinux
Expand All @@ -287,7 +287,7 @@ Installing prerequisites on ArchLinux:

```sh
sudo pacman -S base-devel python python-pip \
python-setuptools python-virtualenv sqlite3
python-setuptools python-virtualenv sqlite3 icu
```

##### CentOS/Fedora
Expand All @@ -297,7 +297,8 @@ Installing prerequisites on CentOS or Fedora Linux:
```sh
sudo dnf install libtiff-devel libjpeg-devel libzip-devel freetype-devel \
libwebp-devel libxml2-devel libxslt-devel libpq-devel \
python3-virtualenv libffi-devel openssl-devel python3-devel
python3-virtualenv libffi-devel openssl-devel python3-devel \
libicu-devel
sudo dnf groupinstall "Development Tools"
```

Expand All @@ -310,8 +311,12 @@ You may need to install the latest Xcode developer tools:
xcode-select --install
```

On ARM-based Macs you may need to install libjpeg and libpq.
You can use Homebrew (https://brew.sh):
Some extra dependencies may be needed, you can use Homebrew (https://brew.sh) for that.

You may need to install icu, and make the icu binaries and libraries accessible.
Please follow [official instructions](https://pypi.org/project/PyICU/) of PyICU to do so.

On ARM-based Macs you may also need to install libjpeg and libpq:
```sh
brew install jpeg libpq
```
Expand All @@ -332,7 +337,8 @@ Installing prerequisites on openSUSE:
```sh
sudo zypper in -t pattern devel_basis
sudo zypper in python-pip python-setuptools sqlite3 python-virtualenv \
python-devel libffi-devel libopenssl-devel libjpeg62-devel
python-devel libffi-devel libopenssl-devel libjpeg62-devel \
libicu-devel
```

##### OpenBSD
Expand Down
12 changes: 12 additions & 0 deletions docs/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,18 @@ process, for example:
dpkg -i matrix-synapse-py3_1.3.0+stretch1_amd64.deb
```
# Upgrading to v1.74.0
## Unicode support in user search
This version introduces optional support for an [improved user search dealing with Unicode characters](https://github.com/matrix-org/synapse/pull/14464).
To do so it uses the ICU library through PyICU.
If you want to take advantage of this feature you need to install PyICU
but also ICU native dependency and its development headers
so that PyICU can build since no prebuild wheels is available.
You can follow [PyICU documentation](https://pypi.org/project/PyICU/) to do so.
# Upgrading to v1.73.0
## Legacy Prometheus metric names have now been removed
Expand Down

0 comments on commit 8e94ece

Please sign in to comment.