diff --git a/rzk/ChangeLog.md b/rzk/ChangeLog.md
index 1f5efdf65..49e06a096 100644
--- a/rzk/ChangeLog.md
+++ b/rzk/ChangeLog.md
@@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to the
[Haskell Package Versioning Policy](https://pvp.haskell.org/).
+## v0.4.0 — 2022-05-18
+
+This version introduces sections and variables. The feature is similar to `Variable` command in Coq. An important difference, however, is that `rzk` does not allow definitions to use variables implicitly and adds `uses (...)` annotations to ensure such dependencies are not accidental.
+
+- Variables and sections (Coq-style) (see [#38]( https://github.com/fizruk/rzk/pull/38 ));
+
+Minor improvements:
+
+- Add flake, set up nix and cabal builds, cache nix store on CI (see [#39]( https://github.com/fizruk/rzk/pull/39 ));
+- Apply stylish-haskell (see [7d42ef62]( https://github.com/fizruk/rzk/commit/7d42ef62 ));
+
## v0.3.0 — 2022-04-28
This version introduces an experimental feature for generating visualisations for simplicial terms in SVG.
diff --git a/rzk/package.yaml b/rzk/package.yaml
index 8ff8fef17..399e6c6b3 100644
--- a/rzk/package.yaml
+++ b/rzk/package.yaml
@@ -1,5 +1,5 @@
name: rzk
-version: 0.3.0
+version: 0.4.0
github: "fizruk/rzk"
license: BSD3
author: "Nikolai Kudasov"
diff --git a/rzk/rzk.cabal b/rzk/rzk.cabal
index e7795edae..7ab52c146 100644
--- a/rzk/rzk.cabal
+++ b/rzk/rzk.cabal
@@ -7,7 +7,7 @@ cabal-version: 1.12
-- hash: 7855530fcdfd2a28c4ea3654677ed2d18f83d419f5d1c173f4bb44a915464c06
name: rzk
-version: 0.3.0
+version: 0.4.0
synopsis: An experimental proof assistant for synthetic ∞-categories
description: Please see the README on GitHub at
category: Dependent Types