diff --git a/changelog.markdown b/changelog.markdown
index 34f7b02..65b0d94 100644
--- a/changelog.markdown
+++ b/changelog.markdown
@@ -1,5 +1,78 @@
# Jester changelog
+## 0.3.0 - 06/07/2018
+
+This is a major new release containing many changes and improvements.
+Primary new addition is support for the brand new HttpBeast server which offers
+unparalleled performance and scalability across CPU cores.
+
+### Modular routes
+
+Routes can now be separated into multiple `router` blocks and each block
+can be placed inside a separate module. For example:
+
+```nim
+import jester
+
+router api:
+ get "/names":
+ resp "Dom,George,Charles"
+
+ get "/info/@name":
+ resp @"name"
+
+routes:
+ extend api, "/api"
+```
+
+The `api` routes are all prefixed with `/api`, for example
+https://localhost:5000/api/names.
+
+### Error handlers
+
+Errors including exceptions and error HTTP codes can now be handled.
+For example:
+
+```nim
+import jester
+
+routes:
+ error Http404:
+ resp Http404, "Looks you took a wrong turn somewhere."
+
+ error Exception:
+ resp Http500, "Something bad happened: " & exception.msg
+```
+
+### Meta routes
+
+Jester now supports `before` and `after` routes. So you can easily perform
+actions before or after requests, you don't have to specify a pattern if you
+want the handler to run before/after all requests. For example:
+
+```nim
+import jester
+
+routes:
+ before:
+ resp Http200, "", "text/xml"
+
+ get "/test":
+ result[3] = "foobar"
+```
+
+
+### Other changes
+
+* **Breaking change:** The `body`, `headers`, `status` templates have been
+ removed. These may be brought back in the future.
+* Templates and macros now work in routes.
+* HttpBeast support.
+* SameSite support for cookies.
+* Multi-core support.
+
+## 0.2.0 - 02/09/2017
+
## 0.1.1 - 01/10/2016
This release contains small improvements and fixes to support Nim 0.15.0.