Alexander Afanasyev | aa8b378 | 2017-01-19 20:04:31 -0800 | [diff] [blame] | 1 | ndn-cxx version 0.5.1 |
| 2 | --------------------- |
| 3 | |
| 4 | Release date: January 25, 2017 |
| 5 | |
| 6 | .. note:: |
susmit | f47cef6 | 2018-02-13 12:01:14 -0700 | [diff] [blame] | 7 | This is the last release of the library that supports NDN Certificate format version 1 and |
| 8 | the existing implementations of validators. The upcoming 0.6.0 release will include |
| 9 | multiple breaking changes of the security framework. |
Alexander Afanasyev | aa8b378 | 2017-01-19 20:04:31 -0800 | [diff] [blame] | 10 | |
| 11 | Changes since version 0.5.0: |
| 12 | |
Davide Pesavento | 933a567 | 2020-07-03 22:32:43 -0400 | [diff] [blame] | 13 | New features |
| 14 | ^^^^^^^^^^^^ |
Alexander Afanasyev | aa8b378 | 2017-01-19 20:04:31 -0800 | [diff] [blame] | 15 | |
| 16 | - Add version 2 of the security framework (introduced in ``security::v2`` namespace) |
| 17 | |
Davide Pesavento | cad94b0 | 2021-04-09 21:23:03 -0400 | [diff] [blame] | 18 | * :doc:`/specs/certificate` (:issue:`3103`) |
Alexander Afanasyev | aa8b378 | 2017-01-19 20:04:31 -0800 | [diff] [blame] | 19 | * New Public Information Base (PIB) and Trusted Program Module (TPM) framework to manage |
| 20 | public/private keys and NDN Certificate version 2.0 (:issue:`2948`, :issue:`3202`) |
| 21 | * New KeyChain implementation (:issue:`2926`) |
| 22 | * New Validator implementation (:issue:`3289`, :issue:`1872`) |
| 23 | * New security-supporting utilities: trust anchor container and certificate cache |
| 24 | * Creation of `Command Interests |
| 25 | <https://redmine.named-data.net/projects/ndn-cxx/wiki/CommandInterest>`__ delegated to |
Davide Pesavento | cad94b0 | 2021-04-09 21:23:03 -0400 | [diff] [blame] | 26 | :ndn-cxx:`CommandInterestSigner` class, while the new KeyChain only :doc:`signs Interests |
| 27 | </specs/signed-interest>` (:issue:`3912`) |
Alexander Afanasyev | aa8b378 | 2017-01-19 20:04:31 -0800 | [diff] [blame] | 28 | |
| 29 | - Enable validator to fetch certificates directly from the signed/command interest sender |
| 30 | (:issue:`3921`) |
| 31 | |
| 32 | - Add UP and DOWN kinds to :ndn-cxx:`FaceEventNotification` (issue:`3794`) |
| 33 | |
| 34 | - Add support for NIC-associated permanent faces in FaceUri (:issue:`3522`) |
| 35 | |
| 36 | - Add support for CongestionMark and Ack NDNLPv2 fields (:issue:`3797`, :issue:`3931`) |
| 37 | |
| 38 | - Add StrategyChoice equality operators and formatted output (:issue:`3903`) |
| 39 | |
| 40 | Improvements and bug fixes |
| 41 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 42 | |
| 43 | - Ensure that NACK callback is called for matching Interests, regardless of their nonce |
| 44 | (:issue:`3908`) |
| 45 | |
| 46 | - Optimize :ndn-cxx:`name::Component::compare` implementation (:issue:`3807`) |
| 47 | |
| 48 | - Fix memory leak in ndn-cxx:`Regex` (:issue:`3673`) |
| 49 | |
| 50 | - Correct NDNLPv2 rules for whether an unknown field can be ignored (:issue:`3884`) |
| 51 | |
| 52 | - Ensure that port numbers in FaceUri are 16 bits wide |
| 53 | |
| 54 | - Correct ValidityPeriod::isValid check (:issue:`2868`) |
| 55 | |
| 56 | - Fix encoding of type-specific TLV (:issue:`3914`) |
| 57 | |
| 58 | - Rename previously incorrectly named EcdsaKeyParams to EcKeyParams (:issue:`3135`) |
| 59 | |
| 60 | - Various documentation improvements, including ndn-cxx code style updates (:issue:`3795`, :issue:`3857`) |
| 61 | |
| 62 | Deprecated |
| 63 | ^^^^^^^^^^ |
| 64 | |
| 65 | - Old security framework. All old security framework classes are moved to |
| 66 | ``ndn::security::v1`` namespace in this release and will be removed in the next release. |
| 67 | |
| 68 | * ``v1::KeyChain``, use :ndn-cxx:`v2::KeyChain` instead |
| 69 | |
| 70 | * ``v1::Validator`` interface and all implementations of this interface (``ValidatorRegex``, |
| 71 | ``ValidatorConfig``, ``ValidatorNull``). Use :ndn-cxx:`v2::Validator` and the |
| 72 | corresponding implementations of :ndn-cxx:`ValidationPolicy` interfaces (will be introduced |
| 73 | before 0.6.0 release). |
| 74 | |
| 75 | * ``v1::SecPublicInfo`` and its implementation (``SecPublicInfoSqlite``), ``SecTpm`` and its |
| 76 | implementations (``SecTpmFile``, ``SecTpmOsx``). These classes are internal implementation |
| 77 | and not intended to be used without ``v1::KeyChain``. :ndn-cxx:`v2::KeyChain` internally |
| 78 | uses the newly introduced :ndn-cxx:`Pib` and :ndn-cxx:`Tpm` interfaces with their |
| 79 | corresponding implementations. |
| 80 | |
| 81 | * ``v1::Certificate``, ``v1::IdentityCertificate``, ``v1::CertificateExtension``, |
| 82 | ``v1::CertificateSubjectDescription``, use :ndn-cxx:`v2::Certificate` and |
| 83 | :ndn-cxx:`AdditionalDescription` |
| 84 | |
| 85 | * ``v1::SecuredBag``, use ``v2::SafeBag`` instead |
| 86 | |
| 87 | - Constant ``io::BASE_64``, use ``io::BASE64`` instead (:issue:`3741`) |
| 88 | |
| 89 | - Headers ``management/nfd-*``, use ``mgmt/nfd/*`` instead (:issue:`3760`) |
| 90 | |
| 91 | - ``ndn::crypto::sha256`` in favor of ``ndn::crypto::computeSha256Digest`` |
| 92 | |
| 93 | - ``security/cryptopp.hpp`` header. Use ``security/v1/cryptopp.hpp`` when needed, avoid direct |
| 94 | include as CryptoPP dependency will be removed from future versions of the library. |
| 95 | |
| 96 | - ``security/identity-certificate.hpp`` header. Use ``security/v1/identity-certificate.hpp`` instead. |
| 97 | |
| 98 | - ``ndn::PublicKey``, ``ndn::Certificate``, ``ndn::IdentityCertificate``, |
| 99 | ``ndn::CertificateExtension``, ``ndn::CertificateSubjectDescription``. When necessary, use |
| 100 | ``security::v1::PublicKey``, ``security::v1::Certificate``, ``security::v1::IdentityCertificate``, |
| 101 | ``security::v1::CertificateExtension``, ``security::v1::CertificateSubjectDescription`` instead. |