diff --git a/CHANGELOG.md b/CHANGELOG.md
index b00c8c0bdb1a2f431fe5db18cc6635a1ae4f9760..3794cb201f44ea0ff4d6142e1fbcb5de4dbb1f59 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,35 @@ Change Log
 
 This project adheres to [Semantic Versioning](http://semver.org/).
 
+## [3.0.3] / 2017-02-16
+
+### Changed
+
+* Require fingerprints of lists and subscriptions to be at least 32 characters long. Previously it was possible to assign shorter hexadecimal strings.
+* Key lookup for arguments to X-keywords is stricter than before: if you supply a string containing an "@", gnupg will be told to only match it against email-addresses; if you send a hexadecimal string, gnupg will be told to only match it against fingerprints.
+* Fixed and improved X-DELETE-KEY to only allow deletion of a single key, and only if no matching secret key is present.
+* Fixed and improved X-FETCH-KEY to use the configured keyserver; to handle URLs, fingerprints, and email-addresses alike; and to send internationalized messages.
+* Go back to make mock SKS-server listen on 127.0.0.1 — the former IP resulted in errors on some systems.
+
+
+### Fixed
+
+* Don't break multipart/alternative-parts when inserting our pseudo-headers.
+* X-ADD-KEY handles inline content from Thunderbird correctly.
+* X-SIGN-THIS now looks recursively for attachments to sign.
+* Fixed unsubscribing oneself with X-UNSUBSCRIBE.
+* Fixed setting fingerprint for other subscription than oneself with X-SET-FINGERPRINT.
+* Better output of X-LIST-SUBSCRIPTIONS if no subscriptions are present.
+* Sensible error message if X-GET-KEY doesn't find a matching key.
+* Allow '0x'-prefix of fingerprints when given as keyword-argument.
+* If no keyword generates output, a sensible error message is used.
+
+
+### Added
+
+* More rspec-tests.
+
+
 ## [3.0.2] / 2017-02-01
 
 ### Changed
diff --git a/Gemfile.lock b/Gemfile.lock
index 70ddacabfe8d2f80aa2eaf463a5c7f1fa3c81ae5..1b33d18d021ca1bd2e81273d99c43b04826b9e48 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
 PATH
   remote: .
   specs:
-    schleuder (3.0.2)
+    schleuder (3.0.3)
       activerecord (~> 4.1)
       mail-gpg (~> 0.3.0)
       rake (~> 10)
@@ -102,6 +102,3 @@ DEPENDENCIES
   hirb
   rspec (~> 3.5.0)
   schleuder!
-
-BUNDLED WITH
-   1.13.7
diff --git a/README.md b/README.md
index 79d1ed8258e44675b8ab8596707e413375e61f8b..fcd0559ea33917238aac34848431098a4d168acc 100644
--- a/README.md
+++ b/README.md
@@ -43,15 +43,15 @@ Additionally these **rubygems** are required (will be installed automatically un
 Installing Schleuder
 ------------
 
-1. Download [the gem](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.2.gem) and [the OpenPGP-signature](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.2.gem.sig) and verify:
+1. Download [the gem](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.3.gem) and [the OpenPGP-signature](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.3.gem.sig) and verify:
    ```
    gpg --recv-key 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
-   gpg --verify schleuder-3.0.2.gem.sig
+   gpg --verify schleuder-3.0.3.gem.sig
    ```
 
 2. If all went well install the gem:
    ```
-   gem install schleuder-3.0.2.gem
+   gem install schleuder-3.0.3.gem
    ```
 
 3. Set up schleuder:
@@ -131,4 +131,4 @@ GNU GPL 3.0. Please see [LICENSE.txt](LICENSE.txt).
 Alternative Download
 --------------------
 
-Alternatively to the gem-files you can download the latest release as [a tarball](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.2.tar.gz) and [its OpenPGP-signature](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.2.tar.gz.sig).
+Alternatively to the gem-files you can download the latest release as [a tarball](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.3.tar.gz) and [its OpenPGP-signature](https://0xacab.org/schleuder/schleuder/raw/master/gems/schleuder-3.0.3.tar.gz.sig).
diff --git a/gems/schleuder-3.0.3.gem b/gems/schleuder-3.0.3.gem
new file mode 100644
index 0000000000000000000000000000000000000000..91963c9c47fa35024d207771f6ed2d3235b1be6b
Binary files /dev/null and b/gems/schleuder-3.0.3.gem differ
diff --git a/gems/schleuder-3.0.3.gem.sig b/gems/schleuder-3.0.3.gem.sig
new file mode 100644
index 0000000000000000000000000000000000000000..517c5838f2d4c6085a271e01c79220fdb6bb303e
Binary files /dev/null and b/gems/schleuder-3.0.3.gem.sig differ
diff --git a/gems/schleuder-3.0.3.tar.gz b/gems/schleuder-3.0.3.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e03eb9be865bea21421ddaf5e120bc8fc13a4c5d
Binary files /dev/null and b/gems/schleuder-3.0.3.tar.gz differ
diff --git a/gems/schleuder-3.0.3.tar.gz.sig b/gems/schleuder-3.0.3.tar.gz.sig
new file mode 100644
index 0000000000000000000000000000000000000000..43de7467984b6f044c5aa8fcc1244c774a9b9a9f
Binary files /dev/null and b/gems/schleuder-3.0.3.tar.gz.sig differ
diff --git a/lib/schleuder/version.rb b/lib/schleuder/version.rb
index ff771b282a34dbd9e5002670a564f5700dd36d09..eba372e150bfbcaae99cbc62b811bd57ea7dc680 100644
--- a/lib/schleuder/version.rb
+++ b/lib/schleuder/version.rb
@@ -1,3 +1,3 @@
 module Schleuder
-  VERSION = '3.0.2'
+  VERSION = '3.0.3'
 end