diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4d174352b..8b88b8ea9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,13 @@
# Changelog
-## 9.4.2 (work in progress) - see https://github.com/flyingsaucerproject/flyingsaucer/milestone/7
+## 9.5.1 (work in progress) - see https://github.com/flyingsaucerproject/flyingsaucer/milestone/8
* ...
+## 9.5.0 (released 21.01.2024) - see https://github.com/flyingsaucerproject/flyingsaucer/milestone/7?closed=1
+* Require Java 11 or later (#257)
+* Bump OpenPDF from 1.3.35 to 1.3.38 (#256) (#258)
+* Bump Slf4j from 2.0.10 to 2.0.11 (#254)
+
## 9.4.1 (released 07.01.2024) - see https://github.com/flyingsaucerproject/flyingsaucer/milestone/6?closed=1
* Use URLStreamHandler for classpath protocol if available (#250)
* Add debug logs for font resolver (#252)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..317ec3183
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,42 @@
+Any contributions to FlyingSaucer are both welcomed and appreciated.
+
+## How to run tests
+
+ mvn test
+
+## How to build
+
+ mvn install
+
+This puts the `*.jar` files in your local maven repository at: `~/.m2/repository/org/xhtmlrenderer`
+
+
+## How to release
+
+To make a release, you need to
+1. have a write permission to `org.xhtmlrenderer` group in Maven central repository.
+2. have these lines in `~/.gradle/gradle.properties`:
+ > signing.keyId=2#####8
+ > signing.password=***********************
+ > signing.secretKeyRingFile=/Users/andrei/.gnupg/secring.gpg
+ > sonatypeUsername=*******
+ > sonatypePassword=********************
+
+Steps to release version 9.5.0 (for example)
+1. Fill the CHANGELOG.md
+2. mvn versions:set -DnewVersion=9.5.0 // replaces previous version by "9.5.0" in pom.xml files
+3. git commit -am "Release 9.5.0"
+4. git tag v9.5.0
+5. git push --tags origin master
+6. mvn clean deploy // uploads the `*.jar` files to https://oss.sonatype.org
+7. mvn versions:set -DnewVersion=9.5.1-SNAPSHOT
+8. git commit -am "Working on 9.5.1"
+9. git push origin master
+
+10. Login to https://oss.sonatype.org/#stagingRepositories
+ * Click "Release" (no need to fill description)
+ * After ~5 minutes, the new jar will be available in Central Maven repo
+11. Open https://github.com/flyingsaucerproject/flyingsaucer/milestone -> 9.5.0 -> "Edit milestone" -> "Close milestone"
+12. Open https://github.com/flyingsaucerproject/flyingsaucer/releases -> "Draft a new release"
+ * fill the release details (copy-paste from CHANGELOG.md)
+ * click "Publish release"
diff --git a/README.md b/README.md
index 726049a8d..f5e0f71e9 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@ New releases of Flying Saucer are distributed through Maven. The available artif
* `org.xhtmlrenderer:flying-saucer-swt` - SWT output
* `org.xhtmlrenderer:flying-saucer-log4j` - Logging plugin for log4j
-Flying Saucer from version 9.4.2 requires Java 11 or later.
+Flying Saucer from version 9.5.0, requires Java 11 or later.
## GETTING STARTED
diff --git a/flying-saucer-core/pom.xml b/flying-saucer-core/pom.xml
index cbb0d54fa..36791325d 100644
--- a/flying-saucer-core/pom.xml
+++ b/flying-saucer-core/pom.xml
@@ -7,7 +7,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-examples/pom.xml b/flying-saucer-examples/pom.xml
index 34df0cd99..9bd125248 100644
--- a/flying-saucer-examples/pom.xml
+++ b/flying-saucer-examples/pom.xml
@@ -6,7 +6,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-fop/pom.xml b/flying-saucer-fop/pom.xml
index cfcc4d006..d9c654e24 100644
--- a/flying-saucer-fop/pom.xml
+++ b/flying-saucer-fop/pom.xml
@@ -7,7 +7,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-log4j/pom.xml b/flying-saucer-log4j/pom.xml
index 4b1819bd7..06cd8f98a 100644
--- a/flying-saucer-log4j/pom.xml
+++ b/flying-saucer-log4j/pom.xml
@@ -7,7 +7,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-pdf-itext5/pom.xml b/flying-saucer-pdf-itext5/pom.xml
index 3d4716e15..9b0b4a61b 100644
--- a/flying-saucer-pdf-itext5/pom.xml
+++ b/flying-saucer-pdf-itext5/pom.xml
@@ -7,7 +7,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-pdf-osgi/pom.xml b/flying-saucer-pdf-osgi/pom.xml
index d13a4d52f..d79e4a886 100644
--- a/flying-saucer-pdf-osgi/pom.xml
+++ b/flying-saucer-pdf-osgi/pom.xml
@@ -7,7 +7,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-pdf/pom.xml b/flying-saucer-pdf/pom.xml
index c237d8ac5..239f3d34a 100644
--- a/flying-saucer-pdf/pom.xml
+++ b/flying-saucer-pdf/pom.xml
@@ -6,7 +6,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-swt-examples/pom.xml b/flying-saucer-swt-examples/pom.xml
index c5852b5ce..1d4d7d752 100644
--- a/flying-saucer-swt-examples/pom.xml
+++ b/flying-saucer-swt-examples/pom.xml
@@ -6,7 +6,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/flying-saucer-swt/pom.xml b/flying-saucer-swt/pom.xml
index 961dbf7f7..5471de61f 100644
--- a/flying-saucer-swt/pom.xml
+++ b/flying-saucer-swt/pom.xml
@@ -7,7 +7,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
../pom.xml
diff --git a/pom.xml b/pom.xml
index b3de11911..0a98ae96b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.xhtmlrenderer
flying-saucer-parent
- 9.4.2-SNAPSHOT
+ 9.5.0
pom