diff --git a/CHANGELOG.md b/CHANGELOG.md
index 44478806..90d02420 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,10 +1,22 @@
# Changelog
-## [Unreleased]
+## [0.14.3] - 2026-04-22
+
+### Fixed
+
+- Fix sender key re-distribution on every group message (Thanks @meinecke)
+
+### Improved
+
+- Performance improvement when assigning admin role to multiple group members
+- Increase disconnect timeout for websocket connections
+- Release builds are now reproducible
### Changed
- Send message results now surface server-advised retry time for plain rate-limit (HTTP 413) failures, not only for proof-required challenges. The `retryAfterSeconds` field in JSON-RPC `SendMessageResult` is populated whenever the server sends a `Retry-After` header. The canonical way to distinguish proof-required failures remains `token != null`. Text output includes "retry after N seconds" when known.
+- Add distinct JSON-RPC error code (6) for captcha rejection (Thanks @tonycpsu)
+- No longer sends busy call response to allow linked devices to accept call
## [0.14.2] - 2026-04-04
diff --git a/build.gradle.kts b/build.gradle.kts
index f1e10f4d..64e29294 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -10,7 +10,7 @@ plugins {
allprojects {
group = "org.asamk"
- version = "0.14.3-SNAPSHOT"
+ version = "0.14.3"
}
java {
diff --git a/data/org.asamk.SignalCli.metainfo.xml b/data/org.asamk.SignalCli.metainfo.xml
index c1730192..3bf04d8c 100644
--- a/data/org.asamk.SignalCli.metainfo.xml
+++ b/data/org.asamk.SignalCli.metainfo.xml
@@ -45,6 +45,9 @@
intense
+
+ https://github.com/AsamK/signal-cli/releases/tag/v0.14.3
+
https://github.com/AsamK/signal-cli/releases/tag/v0.14.2
diff --git a/libsignal-version b/libsignal-version
index ae02209b..da011ce4 100644
--- a/libsignal-version
+++ b/libsignal-version
@@ -1 +1 @@
-0.90.0
+0.92.1