Update changelog
diff --git a/AUTHORS.txt b/AUTHORS.txt
index 465f107..d966e4c 100644
--- a/AUTHORS.txt
+++ b/AUTHORS.txt
@@ -98,3 +98,19 @@
 Angel ILIEV <a.v.iliev13@gmail.com>
 Jakub Tymejczyk <jakub@tymejczyk.pl>
 Matthew Simmons <simmonmt@acm.org>
+Anthony Pesch <inolen@gmail.com>
+Avik De <avikde@gmail.com>
+ConradWood <github@conradwood.net>
+David Sabatie <david.sabatie@notrenet.com>
+Sebastian Stockhammer <sebastian.stockhammer@rosenberger.de>
+Gil Shapira <gil.shapira@intusurg.com>
+Ian Frosst <ianjfrosst@gmail.com>
+Ingo Kresse <ingo.kresse@kuka.com>
+Ivan Zrno <ivan.zrno2@gmail.com>
+Jonathan Seilkopf <j.seilkopf@isatech.de>
+Karl Ljungkvist <k.ljungkvist@gmail.com>
+Mathis Logemann <mathisloge@gmail.com>
+Oleg Dolgy <60554929+odolgy@users.noreply.github.com>
+Pavel Sokolov <pavel@sokolov.me>
+Slavey Karadzhov <slav@attachix.com>
+Tobias Nießen <tniessen@tnie.de>
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index f2c0650..4ecdc47 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,3 +1,44 @@
+nanopb-0.4.6 (2022-05-30)
+ Fix passing of error message from substream callback (#703)
+ Fix comments going to wrong member variables (#701)
+ Fix regression in 0.4.3 where generator did not find all dependencies (#720)
+ Fix FindNanopb.cmake not finding options file (#659)
+ Fix double-definition errors with size_union (#692)
+ Fix generator error with same inner message name (#746)
+ Fix infinite recursion in generator/protoc script (#762)
+ Fix unicode comment handling for Python 2 (#740)
+ Fix compiler warnings with PB_BUFFER_ONLY (#717)
+ Fix options dependency in nanopb.mk (#666)
+ Fix handling of filenames with dot in them in FindNanopb.cmake (#756)
+ Add fallback_type option (#772, #773)
+ Use C11 static assert mechanism by default (#761, #766)
+ Use 'static_assert'  keyword for iar (#679)
+ Explicitly check for pItem == NULL to satisfy Xcode analyzer (#667, #674)
+ Support --proto-path as alias to -I (#749)
+ Refactor name mangling to separate class, improve error messages (#735)
+ Move PB_WT_PACKED definition to the header to fix compiler warnings (#671)
+ FindNanopb.cmake: use --nanopb_opt for option passing by default (#752)
+ FindNanopb.cmake: Add option NANOPB_GENERATE_CPP_STANDALONE (#741)
+ FindNanopb.cmake: Add PROTOC_OPTIONS variable (#768, #771)
+ CMakeLists: add build interface for using as a submodule (#669)
+ CMakeLists: fix error with nanopb_BUILD_GENERATOR=OFF (#764)
+ CMakeLists: make more uniform (#676)
+ CMakeLists: Fix uninitialized PYTHON_INSTDIR (#652)
+ Clean up CMake examples (#741)
+ Rebuild nanopb_pb2.py and print version numbers on import failure (#733, #742)
+ Use memcpy instead of iterating on buf_read/write (#751)
+ Add generator support for PlatformIO (#718)
+ Add clean target to generator/proto/Makefile (#681)
+ Windows .bats: use standard python invocation instead of py.exe launcher (#657)
+ Fix problems running tests with newer SCons version
+ Improve handling of varint overflows
+ Improve optimization for little-endian platforms
+
+NOTE: During development, prereleases were published on platform.io registry
+as versions 0.4.6 - 0.4.6.3. The version 0.4.6.4 on platform.io corresponds
+to the real final 0.4.6 release.
+
+
 nanopb-0.4.5 (2021-03-22)
  Fix invalid free() with oneof (#647, GHSA-7mv5-5mxh-qg88)
  Fix unordered field numbers inside oneof causing fields to be ignored (#617)
diff --git a/docs/migration.md b/docs/migration.md
index ff4f445..0fde1db 100644
--- a/docs/migration.md
+++ b/docs/migration.md
@@ -6,10 +6,10 @@
 error indications are included, in order to make it easier to find this
 document.
 
-Nanopb-0.4.6 (to come)
+Nanopb-0.4.6 (2022-05-30)
 -------------------------
 
-### `NANOPB_VERSION` define is now a string
+### NANOPB_VERSION define is now a string
 
 **Changes:** To ease `NANOPB_VERSION` macro usage, the value is directly a string.
 
@@ -31,7 +31,7 @@
 
 **Error indications:** "`protoc: Unknown flag: --nanopb_opt`"
 
-### `pb.h` uses C11 `_Static_assert` keyword by default
+### pb.h uses C11 _Static_assert keyword by default
 
 **Rationale:** The nanopb generated headers use static assertions to catch
 errors at compile time. There are several mechanisms to implement this.
@@ -46,7 +46,7 @@
 C11 standard mode if available. If it is not available, define either `PB_C99_STATIC_ASSERT`
 or `PB_NO_STATIC_ASSERT` in `pb.h` or on compiler command line.
 
-**Error indications:** "`Undefined identifier _Static_assert`
+**Error indications:** `Undefined identifier _Static_assert`
 
 Nanopb-0.4.4 (2020-11-25)
 -------------------------