diff --git a/include/mimalloc.h b/include/mimalloc.h
index 6b346daa..29ad51d9 100644
--- a/include/mimalloc.h
+++ b/include/mimalloc.h
@@ -8,7 +8,7 @@ terms of the MIT license. A copy of the license can be found in the file
 #ifndef MIMALLOC_H
 #define MIMALLOC_H
 
-#define MI_MALLOC_VERSION 161   // major + 2 digits minor
+#define MI_MALLOC_VERSION 163   // major + 2 digits minor
 
 // ------------------------------------------------------
 // Compiler specific attributes
@@ -28,7 +28,7 @@ terms of the MIT license. A copy of the license can be found in the file
   #define mi_decl_nodiscard    [[nodiscard]]
 #elif (__GNUC__ >= 4) || defined(__clang__)  // includes clang, icc, and clang-cl
   #define mi_decl_nodiscard    __attribute__((warn_unused_result))
-#elif (_MSC_VER >= 1700) 
+#elif (_MSC_VER >= 1700)
   #define mi_decl_nodiscard    _Check_return_
 #else
   #define mi_decl_nodiscard
diff --git a/readme.md b/readme.md
index 718d5e70..583d54ed 100644
--- a/readme.md
+++ b/readme.md
@@ -11,7 +11,7 @@ mimalloc (pronounced "me-malloc")
 is a general purpose allocator with excellent [performance](#performance) characteristics.
 Initially developed by Daan Leijen for the run-time systems of the
 [Koka](https://github.com/koka-lang/koka) and [Lean](https://github.com/leanprover/lean) languages.
-Latest release:`v1.6.1` (2020-02-17).
+Latest release:`v1.6.2` (2020-04-20).
 
 It is a drop-in replacement for `malloc` and can be used in other programs
 without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
@@ -57,6 +57,9 @@ Enjoy!
 
 ### Releases
 
+* 2020-04-20, `v1.6.2`: stable release 1.6: fix compilation on Android, MingW, Raspberry, and Conda,
+  stability fix for Windows 7, fix multiple mimalloc instances in one executable, fix `strnlen` overload,
+  fix aligned debug padding.
 * 2020-02-17, `v1.6.1`: stable release 1.6: minor updates (build with clang-cl, fix alignment issue for small objects).
 * 2020-02-09, `v1.6.0`: stable release 1.6: fixed potential memory leak, improved overriding
   and thread local support on FreeBSD, NetBSD, DragonFly, and macOSX. New byte-precise
diff --git a/src/alloc.c b/src/alloc.c
index dce834b1..2ebde59f 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -696,7 +696,7 @@ MI_ALLOC_API2(mi_decl_restrict char*, strndup, mi_heap_t*, heap, const char*, s,
 {
   if (s == NULL) return NULL;
   const char* end = (const char*)memchr(s, 0, n);  // find end of string in the first `n` characters (returns NULL if not found)
-  const size_t m = (end != NULL ? (end - s) : n);  // `m` is the minimum of `n` or the end-of-string
+  const size_t m = (end != NULL ? (size_t)(end - s) : n);  // `m` is the minimum of `n` or the end-of-string
   mi_assert_internal(m <= n);
   char* t = (char*)MI_SOURCE_ARG(mi_heap_malloc, heap, m+1);
   if (t == NULL) return NULL;