diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c4ece1b7..cdb80f291 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,9 +4,11 @@ All notable changes to this project will be documented in this file. This
project adheres to [Semantic Versioning][SemVer].
## [Unreleased]
+
+## [1.10.1] - 2022-08-02
### Added
-- Improve TCP/TLS performance if no traffic shaper is configured (using the
- `max_bps` option).
+- Improve TCP/TLS performance if no traffic shaper is configured using the
+ `max_bps` option.
- `mod_stats_prometheus`: Add a counter for STUN/TURN protocol errors, bucketed
by transport and error condition.
- `build.config`: Add `code_loading` option to specify whether code is loaded
@@ -14,18 +16,20 @@ project adheres to [Semantic Versioning][SemVer].
desirable for (distribution) builds that use separately packaged Erlang
dependencies, as it avoids hard-coding dependency versions at build time.
- Docker: Include STUN lookup at container start for an IPv6 address as well.
-- Docker: Allow to define a different external STUN service for the IPv4 and
- IPv6 address lookup by adding the container-image-specific environment variable
+- Docker: Allow to define a different external STUN service for IP address
+ lookups by adding the container-image-specific environment variable
`STUN_SERVICE`, defaulting to: `STUN_SERVICE="stun.conversations.im 3478"`.
This same variable may also be used to disable the STUN lookup by defining
`STUN_SERVICE=false`.
### Changed
- `build.config`: Rename the `eturnal_bin_prefix` option to `eturnal_prefix`.
-- `build.config`: Remove the `eturnal_etc_prefix` option.
- Binary release: Reduce code size by omitting an unused transitive dependency
(which had slipped back into the previous release).
+### Removed
+- `build.config`: Remove the `eturnal_etc_prefix` option.
+
### Fixed
- Fix dynamic loading of `mod_stats_prometheus` dependencies (for distribution
builds).
@@ -403,7 +407,8 @@ project adheres to [Semantic Versioning][SemVer].
### Added
- Initial (pre-)release of the eturnal STUN/TURN server.
-[Unreleased]: https://github.com/processone/eturnal/compare/1.10.0...HEAD
+[Unreleased]: https://github.com/processone/eturnal/compare/1.10.1...HEAD
+[1.10.1]: https://github.com/processone/eturnal/releases/tag/1.10.1
[1.10.0]: https://github.com/processone/eturnal/releases/tag/1.10.0
[1.9.1]: https://github.com/processone/eturnal/releases/tag/1.9.1
[1.9.0]: https://github.com/processone/eturnal/releases/tag/1.9.0
diff --git a/INSTALL.md b/INSTALL.md
index 809c7cfd6..c5b958e23 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -20,11 +20,11 @@ and `openssl-devel`.
> (`chmod +x rebar3`), first. On Erlang/OTP 21.x and 22.x, you need an [older
> Rebar3][6] version.
- curl https://eturnal.net/download/eturnal-1.10.0.tar.gz | tar -C /tmp -xzf -
- cd /tmp/eturnal-1.10.0
+ curl https://eturnal.net/download/eturnal-1.10.1.tar.gz | tar -C /tmp -xzf -
+ cd /tmp/eturnal-1.10.1
./rebar3 as prod tar
-This generates the archive file `_build/prod/rel/eturnal/eturnal-1.10.0.tar.gz`.
+This generates the archive file `_build/prod/rel/eturnal/eturnal-1.10.1.tar.gz`.
The default installation prefix is set to `/opt/eturnal`, and it's assumed the
server will be executed by a user named `eturnal`. To change these defaults,
edit the [build.config][7] file, re-run `./rebar3 as prod tar`, and adapt the
@@ -56,7 +56,7 @@ or `sudo -i`, first.
2. Extract the archive generated [above](#compilation):
cd /opt/eturnal
- tar -xzf /tmp/eturnal-1.10.0/_build/prod/rel/eturnal/eturnal-1.10.0.tar.gz
+ tar -xzf /tmp/eturnal-1.10.1/_build/prod/rel/eturnal/eturnal-1.10.1.tar.gz
chown eturnal /opt/eturnal/etc/eturnal.yml
3. Copy the `eturnal.yml` file to `/etc` (optional):
@@ -80,8 +80,8 @@ configuration and usage instructions.
[4]: https://gcc.gnu.org
[5]: https://s3.amazonaws.com/rebar3/rebar3
[6]: https://github.com/erlang/rebar3/releases/download/3.15.2/rebar3
- [7]: https://github.com/processone/eturnal/blob/1.10.0/build.config
- [8]: https://github.com/processone/eturnal/blob/1.10.0/config/shell.config
- [9]: https://github.com/processone/eturnal/blob/1.10.0/config/eturnal.yml
-[10]: https://github.com/processone/eturnal/blob/1.10.0/README.md
+ [7]: https://github.com/processone/eturnal/blob/1.10.1/build.config
+ [8]: https://github.com/processone/eturnal/blob/1.10.1/config/shell.config
+ [9]: https://github.com/processone/eturnal/blob/1.10.1/config/eturnal.yml
+[10]: https://github.com/processone/eturnal/blob/1.10.1/README.md
[11]: https://eturnal.net/documentation/
diff --git a/QUICK-TEST.md b/QUICK-TEST.md
index 4cd7b04a2..af6588b10 100644
--- a/QUICK-TEST.md
+++ b/QUICK-TEST.md
@@ -4,7 +4,7 @@ On Linux/x64 systems, the following commands provide STUN/TURN services on
UDP/TCP port 3478 (on Linux/arm64 systems, replace `x64` with `arm64`):
```
-curl https://eturnal.net/eturnal-1.10.0-linux-x64.tar.gz | tar -xzf -
+curl https://eturnal.net/eturnal-1.10.1-linux-x64.tar.gz | tar -xzf -
eturnal/bin/eturnalctl foreground
```
diff --git a/README.md b/README.md
index 38ed4ad91..714c66669 100644
--- a/README.md
+++ b/README.md
@@ -96,15 +96,15 @@ As an alternative, there's an `#eturnal` channel [on Slack][22].
[7]: https://software.opensuse.org/download/?package=eturnal&project=devel:languages:erlang
[8]: https://eturnal.net/documentation/#Installation
[9]: https://eturnal.net/windows/
-[10]: https://github.com/processone/eturnal/blob/1.10.0/INSTALL.md
+[10]: https://github.com/processone/eturnal/blob/1.10.1/INSTALL.md
[11]: https://en.wikipedia.org/wiki/YAML
-[12]: https://github.com/processone/eturnal/blob/1.10.0/config/eturnal.yml
+[12]: https://github.com/processone/eturnal/blob/1.10.1/config/eturnal.yml
[13]: https://www.freedesktop.org/software/systemd/man/systemctl.html
-[14]: https://github.com/processone/eturnal/blob/1.10.0/scripts/eturnal.init
-[15]: https://github.com/processone/eturnal/blob/1.10.0/scripts/eturnal.openrc
+[14]: https://github.com/processone/eturnal/blob/1.10.1/scripts/eturnal.init
+[15]: https://github.com/processone/eturnal/blob/1.10.1/scripts/eturnal.openrc
[16]: https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html
[17]: https://eturnal.net/documentation/
-[18]: https://github.com/processone/eturnal/blob/1.10.0/CHANGELOG.md
+[18]: https://github.com/processone/eturnal/blob/1.10.1/CHANGELOG.md
[19]: https://github.com/processone/eturnal/issues
[20]: https://xmpp.org
[21]: https://eturnal.net/chat/
diff --git a/doc/overview.edoc b/doc/overview.edoc
index 5eae70991..769e5fd99 100644
--- a/doc/overview.edoc
+++ b/doc/overview.edoc
@@ -19,7 +19,7 @@ limitations under the License.
--------------------------------------------------------------------------------
@title eturnal Documentation
-@version 1.10.0 ({@date})
+@version 1.10.1 ({@date})
@copyright 2020-2022 ProcessOne, SARL
@author Holger Weiss
@@ -33,7 +33,7 @@ clients receive temporary TURN credentials where the user name is comprised of
the (Unix) expiry timestamp and the password is derived from a {@section secret}
shared between the service generating those credentials and eturnal. The service
offering the credentials performs
+href="https://github.com/processone/eturnal/blob/1.10.1/scripts/examples/make-credentials">performs
a `Base64(HMAC-SHA1($secret, $timestamp))' operation to generate the ephemeral
password, and eturnal does the same to verify it.
@@ -51,18 +51,18 @@ Linux/x64 and Linux/arm64 systems, the binary release can be
installed as described in this section. For building eturnal from source, see
the INSTALL.md
+href="https://github.com/processone/eturnal/blob/1.10.1/INSTALL.md">INSTALL.md
file shipped with eturnal's source code
+href="https://eturnal.net/download/eturnal-1.10.1.tar.gz">source code
archive.
The binary release is installed using the following commands (on AArch64
systems, `x64' must be replaced with `arm64'):
```
-curl -O https://eturnal.net/eturnal-1.10.0-linux-x64.run
-chmod +x eturnal-1.10.0-linux-x64.run
-sudo ./eturnal-1.10.0-linux-x64.run
+curl -O https://eturnal.net/eturnal-1.10.1-linux-x64.run
+chmod +x eturnal-1.10.1-linux-x64.run
+sudo ./eturnal-1.10.1-linux-x64.run
'''
The installer extracts the release archive into `/opt/eturnal' and creates a
diff --git a/docker-k8s/README.md b/docker-k8s/README.md
index 8ac6eb128..067fe83b6 100644
--- a/docker-k8s/README.md
+++ b/docker-k8s/README.md
@@ -19,7 +19,7 @@ The image is available as `ghcr.io/processone/eturnal` from [GitHub Packages](ht
| Tags | Description | Additional notes |
| ------------ | ------------ | ------------ |
| `edge` | Built from `master` branch, see [changelog](https://github.com/processone/eturnal/blob/master/CHANGELOG.md) | For testing purposes. |
-| `1.10.0`, `latest` | [Release changelog](https://github.com/processone/eturnal/releases/tag/1.10.0) | |
+| `1.10.1`, `latest` | [Release changelog](https://github.com/processone/eturnal/releases/tag/1.10.1) | |
Images are scanned daily by [Trivy](https://www.aquasec.com/products/trivy) and, if necessary, the `latest` release will be rebuilt and updated.
diff --git a/scripts/get-version b/scripts/get-version
index 5ec628e2e..57b69489e 100755
--- a/scripts/get-version
+++ b/scripts/get-version
@@ -5,7 +5,7 @@
set -e
set -u
-rel_vsn='1.10.0'
+rel_vsn='1.10.1'
( git describe --tags --match '[0-9]*' 2>'/dev/null' || echo "$rel_vsn" ) \
| sed -e 's/-g.*//' -e 's/-/+/' | tr -d '[:space:]'