diff --git a/docs/release-notes/release-notes-0.7.1.rst b/docs/release-notes/release-notes-0.7.1.rst
new file mode 100644
index 0000000..4675c3b
--- /dev/null
+++ b/docs/release-notes/release-notes-0.7.1.rst
@@ -0,0 +1,77 @@
+ndn-cxx version 0.7.1
+---------------------
+
+Release date: October 8, 2020
+
+The build requirements have been increased to require Clang >= 4.0, Xcode >= 9.0, and Python >= 3.6.
+Meanwhile, it is *recommended* to use GCC >= 7.4.0 and Boost >= 1.65.1.
+This effectively drops official support for Ubuntu 16.04 when using distribution-provided Boost
+packages -- ndn-cxx may still work on this platform, but we provide no official support for it.
+Additionally, this release drops support for CentOS 7 and adds support for CentOS 8.
+
+New features
+^^^^^^^^^^^^
+
+- Signed Interests according to Packet Specification v0.3 (:issue:`4804`)
+
+- Add "in-order" mode to ``SegmentFetcher`` and a corresponding signal that is emitted after each
+  segment is received and validated in segment order. Segments that arrive out-of-order will be
+  buffered internally until all earlier segments have arrived and passed validation.
+
+- Allow ``KeyLocator`` to either identify the full name of a certificate, an unversioned certificate
+  prefix, or the name of a public key (without issuer and version) (:issue:`5115`)
+
+- Allow face MTU to be changed via management (:issue:`5056`)
+
+Improvements and bug fixes
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Change default key type generated by ndnsec to ECDSA
+
+- Use named curve when encoding ECDSA public keys (:issue:`5037`)
+
+- Allow non-default key to be exported for an identity via ``ndnsec-export`` (:issue:`5043`)
+
+- Fix spurious error message from ``ndnsec-key-gen`` when ``key-id`` is specified (:issue:`5057`)
+
+- Provide more fine-grained choices for ``name::UriFormat`` (:issue:`4777`)
+
+- Allow automatic log flushing to be disabled (:issue:`3668`)
+
+- Avoid unnecessarily invalidating cached wire encodings of Data packets
+
+- Correct extraction of signed portion of Data packets to be compatible with Packet Specification
+  v0.3 (:issue:`4583`)
+
+- Fix regression in ``CertificateBundleFetcher`` with ``FinalBlockId`` handling
+
+- Improve error handling during TPM signing (:issue:`4585`, :issue:`5086`)
+
+- Correctly handle non-existent identity in ``PibImpl::setDefaultIdentity``
+
+- Fix incompatibility with ``time::toIsoString`` in Boost 1.73.0+
+
+- Fix incompatibility with ``<version>`` header in C++20
+
+- Various fixes for Android
+
+- Various improvements to documentation, test suite structure, and authors list
+
+Deprecations
+^^^^^^^^^^^^
+
+- Deprecate old Signed Interest and Command Interest formats (:issue:`4804`)
+
+- Deprecate ``Signature`` in favor of ``SignatureInfo`` in Data packets and certificates (:issue:`4804`)
+
+- ``SignatureInfo::unsetKeyLocator`` and ``SignatureInfo::unsetValidityPeriod`` have been deprecated
+
+- Header files under ``ndn/security/v2`` have been moved into the main ``ndn/security`` directory
+
+Removals
+^^^^^^^^
+
+- Remove deprecated ``PendingInterestId``, ``InterestFilterId``, and ``RegisteredPrefixId``
+  (:issue:`4885`)
+
+- Remove a number of long-deprecated functions and enums
