diff --git a/CHANGELOG.md b/CHANGELOG.md
index 02703e63a6019b82098b99f6c978ddc5e094723f..832b3a272e8fb030b47d53c8958414e3ad1f212d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
 
 ## [(next version)](https://gitlab.cs.uni-duesseldorf.de/api/v4/projects/848/jobs/artifacts/master/raw/build/libs/prob2-jupyter-kernel-1.3.1-SNAPSHOT-all.jar?job=test)
 
+* (no changes yet)
+
+## [1.4.0](https://stups.hhu-hosting.de/downloads/prob2-jupyter/prob2-jupyter-kernel-1.4.0-all.jar)
+
 * Updated to ProB 1.12.0 (ProB Java API version 4.12.0).
 * Added position information to formula evaluation errors (e. g. type or well-definedness errors).
 * Changed `:exec` and `:init` to automatically set up constants and initialize the machine if necessary. Previously this caused an error "Machine is not initialised".
diff --git a/README.md b/README.md
index 6b656381f0ec73756be8bdf4b9658d2bc89f3461..05b84283d5522827d41f9ae3edb9ffa18b635dcd 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ This is a [Jupyter](https://jupyter.org/) kernel for the [ProB animator and mode
 
 ## Downloads
 
-* **[Download the latest version of the ProB2 Jupyter kernel here](https://stups.hhu-hosting.de/downloads/prob2-jupyter/prob2-jupyter-kernel-1.3.0-all.jar).**
+* **[Download the latest version of the ProB2 Jupyter kernel here](https://stups.hhu-hosting.de/downloads/prob2-jupyter/prob2-jupyter-kernel-1.4.0-all.jar).**
 * Download links for previous versions can be found in the [changelog].
 * A [snapshot build](https://gitlab.cs.uni-duesseldorf.de/api/v4/projects/848/jobs/artifacts/master/raw/build/libs/prob2-jupyter-kernel-1.3.1-SNAPSHOT-all.jar?job=test) of the latest development version is also available. **Warning:** this is an unstable version that can contain bugs or breaking changes.
 
@@ -31,17 +31,10 @@ See the [requirements](#requirements) and [installation instructions](#installat
 1. Ensure that all [requirements](#requirements) are installed.
 2. [Download the latest version of the kernel](#downloads).
 3. If Jupyter is installed in a virtual environment, activate it.
-4. Run `java -jar <jarfile> install` to install the kernel. (`<jarfile>` is the name of the jar file that you just downloaded.)
-	* If you get a permission error when installing the kernel spec, add the option `--user` after `install`. This will install the kernel spec into your user home instead of the Python install directory (which may not be writable).
-	* This assumes that Jupyter can be called using the command `jupyter`. To use a different command in place of `jupyter`, pass it as an argument after `install`, e. g. `java -jar <jarfile> install /path/to/jupyter`.
-	* To use a different ProB home directory than the default, pass `-Dprob.home=/path/to/prob/home` before the `-jar` option. (The path must be absolute.)
-5. (Optional) The jar file can be deleted after installation.
-<!--
-New instructions once the next version is released:
 4. Run `python3 <jarfile> install` to install the kernel. (`<jarfile>` is the name of the jar file that you just downloaded. Yes, you need to run the jar file using Python.)
 	* If you get a permission error when installing the kernel spec, add the option `--user` after `install`. This will install the kernel spec into your user home instead of the Python install directory (which may not be writable).
 	* To use a different ProB home directory than the default, set the environment variable `PROB_HOME` to the desired path. (The path must be absolute.)
--->
+5. (Optional) The jar file can be deleted after installation.
 
 ### For developers
 
diff --git a/build.gradle b/build.gradle
index 9ae086174ace827256c8fb06de6ffdf46156841f..2afaab132dc50ae4ae20d8b486ac3215fd388b26 100644
--- a/build.gradle
+++ b/build.gradle
@@ -8,7 +8,7 @@ plugins {
 	id("com.github.johnrengelman.shadow").version("7.1.2")
 }
 
-version = "1.3.1-SNAPSHOT"
+version = "1.4.0"
 
 final isSnapshot = project.version.endsWith("-SNAPSHOT")