Add release notes for version 6.1, 6.2 and 6.3

Change-Id: Ie6067ba071770006ddea77dbb39a2e606c23b16f
Signed-off-by: Sadiya Kazi <sadiyakazi@google.com>
Co-developed-by: Daniel Latypov <dlatypov@google.com>
diff --git a/release_notes.rst b/release_notes.rst
index 7bc187a..559fb30 100644
--- a/release_notes.rst
+++ b/release_notes.rst
@@ -13,7 +13,7 @@
 ===
 
 - KUnit introduced, including all the basic functionality.
-- ``kunitconfig`` was renamed to ``.kunitconfig`` later in in 5.5 (`commit
+- ``kunitconfig`` was renamed to ``.kunitconfig`` later in 5.5 (`commit
   <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=14ee5cfd4512ee3d1e0047d8751450dcc6544070>`__)
 
 .. _v5.6:
@@ -256,8 +256,8 @@
 
 .. _v6.0:
 
-6.0 (tentative)
-===============
+6.0
+===
 
 - Overhaul support for building tests as modules
 
@@ -282,3 +282,93 @@
 - Add support for KASAN to run on 64-bit UML.
 
 - By default, enable PCI support under UML.
+
+.. _v6.1:
+
+6.1
+===
+
+- ``kunit.py run --alltests`` now works.
+
+  - Renamed ``all_tests_uml.config`` (added in :ref:`v5.19`) to ``all_tests.config``.
+
+  - Changed the ``--alltests`` flag to use this manually curated file instead of
+    trying to get ``allyesconfig`` to work.
+
+  - Removed Virtio and PCI UML specific options from ``all_tests_uml.config``.
+
+- ``Documentation/`` updates and fixes.
+
+- Further reduction in the stack consumption of ``KUNIT_EXPECT_`` macros.
+
+  - For context, see :ref:`v5.18`.
+
+  - On UML, now ``KUNIT_FAIL()`` uses 0 bytes (was 8), and ``KUNIT_EXPECT_EQ()``
+    uses 24 (was 32).
+
+- In edge cases, ``kunit_kfree()`` matches ``kfree()``:
+
+  -  ``kunit_kfree(NULL)`` is a no-op.
+
+  -  ``kunit_kfree(invalid_ptr)`` will no longer crash, but it will now fail the test.
+
+- Introduce new ``kunit.enable`` kernel command-line argument.
+
+  - This is a niche feature. If you don't want to run tests, prefer setting
+    ``CONFIG_KUNIT=n``.
+
+  - However, if you need to compile KUnit, you can use this to forcibly prevent
+    tests from running.
+
+  - You can set the default value of the option via ``CONFIG_KUNIT_DEFAULT_ENABLED``.
+
+.. _v6.2:
+6.2
+===
+
+- Added new ``KUNIT_EXPECT_MEMEQ(test, a, b, size)`` macro for comparing memory blocks.
+
+  - This is an alternative to ``KUNIT_EXPECT_EQ(test, memcmp(a, b, size), 0)``.
+
+  - On failure, KUnit will print out the bytes and highlight where the regions differ.
+
+- Failure logs are available in decimal and hexadecimal output.
+
+- Use a static key to check if tests are currently running.
+
+  - This reduces the performance overhead of `kunit_get_current_test()` and
+    `kunit_fail_current_test()` when no test is running.
+
+  - For more details, see `kunit: Provide a static key to check if KUnit is actively running tests <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=908d0c177bbc7c34ab9129c6f2bcd87487115632>`__.
+
+- Make KUnit output and the kunit.py parser compliant with KTAP version 1 specification.
+
+  - In KUnit output, subtests are now indicated using "KTAP version 1" headers.
+
+- Added two macros, `VISIBLE_IF_KUNIT` and `EXPORT_SYMBOL_IF_KUNIT`, that let
+  tests to conditionally expose  static symbols.
+
+  - For an example of how to use these macros, see `apparmor: test: make static symbols visible during kunit testing <https://git.kernel.org/pub/scm/ linux/kernel/git/torvalds/linux.git/commit/?id=b11e51dd70947107fa4076c6286dce301671afc1>`__.
+
+- Made the following KUnit documentation changes:
+
+  - Updated the "architecture.rst" page for style and grammatical issues.
+
+  - Made "usage.rst" a superset of "tips.rst" and removed "tips.rst" page.
+
+  - Reworded assertion description.
+
+  - Fix "How Do I Use This" / "Next Steps" section.
+
+  - Updated the requirements for test result description in KTAP specification.
+
+.. _v6.3:
+
+6.3 (tentative)
+===============
+
+- Added "hooks" to call into KUnit when it's built as a module.
+
+- Introduced a "static_stub" feature to add redirection support for KUnit tests.
+  Any function that wants to be intercepted adds a call to a macro which checks
+  if a test has redirected calls to it, and then calls the corresponding replacement.