diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0dfb581..ae47832 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,25 @@
# CHANGELOG
-### Version x.x, unreleased
+#### Releasing new versions
+
+- create a release branch
+- update the changelog below
+- update version and copyright-years in `./LICENSE` and `./src/copas/async.lua`
+ (in doc-comments header)
+- create a new rockspec and update the version inside the new rockspec:
+ `cp copas-async-scm-1.rockspec ./rockspecs/copas-async-X.Y.Z-1.rockspec`
+- test: run `make test` and `make lint`
+- clean and render the docs: run `make clean` and `make docs`
+- commit the changes as `release X.Y.Z`
+- push the commit, and create a release PR
+- after merging tag the release commit with `vX.Y.Z`
+- upload to LuaRocks:
+ `luarocks upload ./rockspecs/copas-async-X.Y.Z-1.rockspec --api-key=ABCDEFGH`
+- test the newly created rock:
+ `luarocks install copas-async`
+
+
+### Version 1.0.0, released 26-Jun-2023
- Breaking: the `os_execute` return codes are no longer normalized to Lua 5.3 output
since that didn't work due to platform and version differences. Now it just returns
diff --git a/LICENSE.md b/LICENSE.md
index a9979c5..aaacf12 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
-The MIT License (MIT)
+# MIT License
-Copyright (c) 2016 Hisham Muhammad
+### Copyright (c) 2016 Hisham Muhammad, 2022-2023 Thijs Schreijer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/docs/examples/example-popen.lua.html b/docs/examples/example-popen.lua.html
index c5d9481..2916418 100644
--- a/docs/examples/example-popen.lua.html
+++ b/docs/examples/example-popen.lua.html
@@ -42,7 +42,7 @@