diff --git a/CHANGELOG.md b/CHANGELOG.md
index fd038e68ab066387c44deccacdc661acab3210e6..b494dbe75ad45eb181cd751fa173b0e826486aac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 
 ## [Unreleased]
+### Added
+- **USB Storage mode**!  You can now select 'USB Storage' in the menu and
+  access card10's filesystem via USB.  No more rebooting into bootloader!
+- LED feedback on boot.  If your display is broken, you can still see it doing
+  something now.
+- `./tools/pycard10.py --set-time` to set card10's system time from your host.
+- 4 new functions in `utime` modules:
+  * `set_time_ms()`
+  * `set_unix_time_ms()`
+  * `unix_time()`
+  * `unix_time_ms()`
+
+### Changed
+- Updated BLE stack
+- Refactored gfx API for drawing images (internal).
+- Draw partially clipped primitives in all cases (Fixes menu scrolling
+  animation).
+- Fatal errors are now handled in a central 'panic' module.
+
+### Fixed
+- Make BLE interrupts higher priority than anything else to hopefully increase
+  stability.
+- Turn off BLE encryption after closing a connection.
+- Fixed mainline bootloader being broken.
+- Fixed menu entries being ordered by path instead of name.
+- Fixed menu crashing without a message.
+- Fixed QSTR build-system.
 
 
 ## [v1.11] - 2019-09-24 - [Karotte]
diff --git a/Documentation/pycardium/bhi160.rst b/Documentation/pycardium/bhi160.rst
index 342e8bfcdb29e5ffcd13f54a23a508700b167f61..350f43c72b9bffbfcfea8b398f572d270ac3e491 100644
--- a/Documentation/pycardium/bhi160.rst
+++ b/Documentation/pycardium/bhi160.rst
@@ -34,20 +34,26 @@ clockwise around their respective axis.
         utime.sleep(0.25)
 
 
-.. autoclass:: bhi160.BHI160
-
+Orientation
+-----------
 .. autoclass:: bhi160.BHI160Orientation
    :members:
    :inherited-members:
 
+Accelerometer
+-------------
 .. autoclass:: bhi160.BHI160Accelerometer
   :members:
   :inherited-members:
 
+Gyroscope
+---------
 .. autoclass:: bhi160.BHI160Gyroscope
   :members:
   :inherited-members:
 
+Magnetometer
+------------
 .. autoclass:: bhi160.BHI160Magnetometer
   :members:
   :inherited-members:
diff --git a/Documentation/pycardium/utime.rst b/Documentation/pycardium/utime.rst
index a592abcb10fcd006057caaff2a29cb46e245790c..30af11ef7dcd9e9ae9da6dcd877621a4dc7d3d89 100644
--- a/Documentation/pycardium/utime.rst
+++ b/Documentation/pycardium/utime.rst
@@ -45,6 +45,18 @@ alarm.
 
    .. versionadded:: 1.11
 
+.. py:function:: unix_time()
+
+   Return the current unix time as seconds since the epoch.
+
+   .. versionadded:: 1.12
+
+.. py:function:: unix_time_ms()
+
+   Return the current unix time as milliseconds since the epoch.
+
+   .. versionadded:: 1.12
+
 .. py:function:: set_time(secs)
 
    Sets the time to ``secs`` seconds since 2000-01-01 00:00 in the local
@@ -54,6 +66,13 @@ alarm.
       :py:func:`utime.set_time` previously applied a wrong timezone offset,
       thus leading to wrong results.
 
+.. py:function:: set_time_ms(msecs)
+
+   Set the time to ``msecs`` seconds since 2000-01-01 00:00 in the local
+   timezone.
+
+   .. versionadded:: 1.12
+
 .. py:function:: set_unix_time(secs)
 
    Sets the time to ``secs`` seconds since 1970-01-01 00:00 UTC.
@@ -61,6 +80,12 @@ alarm.
    by running ``date +%s`` in a command line or ``int(time.time())``
    in Python.
 
+.. py:function:: set_unix_time_ms(msecs)
+
+   Set the time to ``msecs`` milliseconds since the unix epoch.
+
+   .. versionadded:: 1.12
+
 .. py:function:: localtime([secs])
 
    Return the current time as a timestruct tuple.  If ``secs`` is given, return