diff --git a/CHANGES.md b/CHANGES.md
new file mode 100644
index 00000000..399b6b08
--- /dev/null
+++ b/CHANGES.md
@@ -0,0 +1,27 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [5.1.0] - 2022-05-18
+### Added
+
+- Message processing can now be skipped by throwing a SkipProcessingException. Log messages now have a field `status` to indicate this. ([#355](https://github.com/dbmdz/flusswerk/pull/355))
+- New framework metrics `flusswerk_messages_total` and `flusswerk_messages_seconds` (Counter). The prefix is independent from the application prefix since the metric is the same for all Flusswerk-based applications. ([#381](https://github.com/dbmdz/flusswerk/pull/381)).
+- New framework metrics `flusswerk_workers` (Gauge). The prefix is independent from the application prefix since the metric is the same for all Flusswerk-based applications. ([#381](https://github.com/dbmdz/flusswerk/pull/381)).
+- Flusswerk applications now can send raw messages: `Topic.sendRaw(byte[] message)` ([#381](https://github.com/dbmdz/flusswerk/pull/381)).
+
+### Changed
+
+- Autoformatting now uses com.spotify:fmt-maven-plugin and works with JDK17.
+
+### Deprecated
+
+- The framework metrics `flusswerk_processed_times` and `flusswerk_execution_time` have been deprecated since they don't follow Prometheus best practices.
+- The logging field `duration_ms` is deprecated since a corresponding field `duration` exists and will be removed in the future. Logging and metrics will strictly use SI base units where possible.
+
+### Fixed
+
+- Tracing information got lost when the application threw certain exceptions ([#380](https://github.com/dbmdz/flusswerk/pull/380)).
+- The logged values of `duration` and `duration_ms` where switched ([#345](https://github.com/dbmdz/flusswerk/pull/345)).
\ No newline at end of file
diff --git a/framework/pom.xml b/framework/pom.xml
index 185c0235..a124723c 100644
--- a/framework/pom.xml
+++ b/framework/pom.xml
@@ -4,7 +4,7 @@
com.github.dbmdz.flusswerk
flusswerk
- 5.1.0-SNAPSHOT
+ 5.1.0
4.0.0
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 2d1f482f..a541314e 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -3,7 +3,7 @@
com.github.dbmdz.flusswerk
flusswerk
- 5.1.0-SNAPSHOT
+ 5.1.0
4.0.0
diff --git a/pom.xml b/pom.xml
index e413ffc3..126d97a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.github.dbmdz.flusswerk
flusswerk
- 5.1.0-SNAPSHOT
+ 5.1.0
pom
Flusswerk
@@ -72,7 +72,7 @@
5.14.2
1.12.10
7.1.1
- 5.1.0-SNAPSHOT
+ 5.1.0
5.7.0
4.5.1
@@ -83,6 +83,7 @@
1.6.13
2.0.2
8.3.0
+ 5.8.2
@@ -117,7 +118,7 @@
org.junit.jupiter
junit-jupiter
- 5.8.2
+ ${version.junit-jupiter}
test