diff --git a/CHANGELOG.md b/CHANGELOG.md
index e4bdfcb2..f058928a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@ The format is inspired by Keep a Changelog, and this project adheres to semantic
## [Unreleased]
+## [2.1.0] - 2026-08-30
+
### Added
- NIP-17 private direct messages, with the NIP-59 gift wrapping they build on. `Nip17DirectMessageService` composes a `ChatMessage` into one gift wrap per participant and reads incoming wraps back; `Nip59GiftWrapper` implements the generic three-layer envelope (unsigned kind-14 rumor, kind-13 seal signed by the real author, kind-1059 wrap signed by a single-use key) and is usable for any event kind, not just messages. Unlike NIP-04, which hides only the message text, this conceals the correspondents, the timing, and the message count.
- `Rumor`, the unsigned event NIP-59 wraps. It is deliberately not `ISignable` and holds no signature field, so the deniability the scheme depends on is enforced by the type system rather than by convention.
diff --git a/nostr-java-client/pom.xml b/nostr-java-client/pom.xml
index 85daf838..62167a81 100644
--- a/nostr-java-client/pom.xml
+++ b/nostr-java-client/pom.xml
@@ -4,7 +4,7 @@
xyz.tcheeric
nostr-java
- 2.0.8
+ 2.1.0
../pom.xml
diff --git a/nostr-java-core/pom.xml b/nostr-java-core/pom.xml
index 0b2d45db..e2c263e8 100644
--- a/nostr-java-core/pom.xml
+++ b/nostr-java-core/pom.xml
@@ -4,7 +4,7 @@
xyz.tcheeric
nostr-java
- 2.0.8
+ 2.1.0
../pom.xml
diff --git a/nostr-java-event/pom.xml b/nostr-java-event/pom.xml
index 23f64618..49686649 100644
--- a/nostr-java-event/pom.xml
+++ b/nostr-java-event/pom.xml
@@ -4,7 +4,7 @@
xyz.tcheeric
nostr-java
- 2.0.8
+ 2.1.0
../pom.xml
diff --git a/nostr-java-identity/pom.xml b/nostr-java-identity/pom.xml
index 06945cd1..2453e40d 100644
--- a/nostr-java-identity/pom.xml
+++ b/nostr-java-identity/pom.xml
@@ -4,7 +4,7 @@
xyz.tcheeric
nostr-java
- 2.0.8
+ 2.1.0
../pom.xml
diff --git a/pom.xml b/pom.xml
index 7725cccd..7f0d80f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
xyz.tcheeric
nostr-java
- 2.0.8
+ 2.1.0
pom
nostr-java