Prepare release 0.8.1

Refs: #5250
Change-Id: I99931c1300cd752554aea764e9688d027b5de29e
This commit is contained in:
Davide Pesavento committed 2022-12-31 01:50:11 -05:00
1 parent 15fa994bf6
commit 81de5d98e9
17 files changed
+192 -79

No files matched your search

+1 -1
View File
@@ -53,7 +53,7 @@ jobs:
- os: macos-12
xcode: '13.4'
- os: macos-12
xcode: '14.1'
xcode: '14.2'
steps:
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
+1 -1
View File
@@ -21,7 +21,7 @@ set -x
if [[ $ID == macos ]]; then
if [[ -n $GITHUB_ACTIONS ]]; then
export HOMEBREW_NO_INSTALL_UPGRADE=1
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
fi
brew update
brew install --formula "${FORMULAE[@]}"
+2 -2
View File
@@ -145,9 +145,9 @@ class GccBasicFlags(CompilerFlags):
flags = super(GccBasicFlags, self).getDebugFlags(conf)
flags['CXXFLAGS'] += ['-Og',
'-g3',
'-pedantic',
'-Wall',
'-Wextra',
'-Wpedantic',
'-Werror',
'-Wcatch-value=2',
'-Wextra-semi',
@@ -163,9 +163,9 @@ class GccBasicFlags(CompilerFlags):
flags = super(GccBasicFlags, self).getOptimizedFlags(conf)
flags['CXXFLAGS'] += ['-O2',
'-g',
'-pedantic',
'-Wall',
'-Wextra',
'-Wpedantic',
'-Wcatch-value=2',
'-Wextra-semi',
'-Wnon-virtual-dtor',
+4 -4
View File
@@ -1,8 +1,8 @@
# ndn-cxx Authors
The following lists maintainers, primary developers, and all much-appreciated contributors to ndn-cxx in alphabetic order.
The following lists maintainers, primary developers, and all much-appreciated contributors to ndn-cxx in alphabetical order.
The specific contributions of individual authors can be obtained from the git history of the [official ndn-cxx repository](https://github.com/named-data/ndn-cxx).
If you would like to become a contributor to the official repository, please follow the recommendations in https://github.com/named-data/.github/blob/master/CONTRIBUTING.md.
If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>.
* Sepehr Abdous <https://sepehrabdous.github.io>
* ***(Maintainer)*** Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
@@ -23,7 +23,7 @@ If you would like to become a contributor to the official repository, please fol
* Xiaoke Jiang <http://netarchlab.tsinghua.edu.cn/~shock>
* Marcin Juszkiewicz <https://marcin.juszkiewicz.com.pl>
* Luca Keidel <https://lucakeidel.de>
* Spencer Lee <https://wwsw.linkedin.com/in/spenlee>
* Spencer Lee <https://www.linkedin.com/in/spenlee>
* Vince Lehman <http://vslehman.com>
* Yanbiao Li <https://www.linkedin.com/pub/yanbiao-li/24/7a1/4ba>
* Teng Liang <https://cs.arizona.edu/~philoliang>
@@ -39,7 +39,7 @@ If you would like to become a contributor to the official repository, please fol
* Arthi Padmanabhan <https://github.com/arthipadmanabhan>
* Ju Pan <https://cs-jupan.com>
* João Pereira <http://website.jpereira.co.uk>
* Davide Pesavento <https://github.com/Pesa>
* ***(Maintainer)*** Davide Pesavento <https://github.com/Pesa>
* José Quevedo <http://atnog.av.it.pt/members/jquevedo>
* Md Ashiqur Rahman <https://ashiqrahman.com>
* Niv Sardi <http://core.evilgiggle.com>
+2 -4
View File
@@ -26,18 +26,16 @@ ndn-cxx relies on third-party software, licensed under the following licenses:
- The waf build system is licensed under the terms of the
[BSD license](https://github.com/named-data/ndn-cxx/blob/master/waf)
The ndn-cxx library also relies on other third-party software with a GPL-incompatible
free software license. The following libraries fall into the category of "System
Libraries" under the GPL license definitions and are used in accordance with the GPL
license exception for "System Libraries":
- (macOS platform only) The macOS Security Framework is licensed under the
- *(macOS platform only)* The macOS Security Framework is licensed under the
[Apple Public Source License 2.0](https://opensource.apple.com/apsl)
The LGPL and GPL licenses are provided below in this file. For more information
about these licenses, see https://www.gnu.org/licenses/
about these licenses, see <https://www.gnu.org/licenses/>
--------------------------------------------------------------------------------
+16 -9
View File
@@ -1,5 +1,11 @@
<div align="center">
[<img alt height="70" src="docs/named_data_theme/static/ndn-logo.svg"/>](https://named-data.net/)
# ndn-cxx: NDN C++ library with eXperimental eXtensions
</div>
[![CI](https://github.com/named-data/ndn-cxx/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/ci.yml)
[![Docs](https://github.com/named-data/ndn-cxx/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/docs.yml)
![Language](https://img.shields.io/badge/C%2B%2B-14-blue)
@@ -9,15 +15,16 @@
that can be used to write various NDN applications. The library is currently being
used by the following projects:
* [NFD - NDN Forwarding Daemon](https://github.com/named-data/NFD)
* [NLSR - Named-data Link-State Routing protocol](https://github.com/named-data/NLSR)
* [ndn-tools - Essential NDN command-line tools](https://github.com/named-data/ndn-tools)
* [repo-ng - Next generation NDN repository](https://github.com/named-data/repo-ng)
* [ChronoSync - Sync library for multi-user real-time applications](https://github.com/named-data/ChronoSync)
* [PSync - Partial and full synchronization library](https://github.com/named-data/PSync)
* [ndn-traffic-generator - Traffic generator for NDN](https://github.com/named-data/ndn-traffic-generator)
* [NAC - Name-based Access Control](https://github.com/named-data/name-based-access-control)
* [NDNS - Domain Name Service for NDN](https://github.com/named-data/ndns)
* [**NFD** - NDN Forwarding Daemon](https://github.com/named-data/NFD)
* [**NLSR** - Named-data Link-State Routing protocol](https://github.com/named-data/NLSR)
* [**ndn-tools** - Essential NDN command-line tools](https://github.com/named-data/ndn-tools)
* [**ndn-svs** - State Vector Sync library](https://github.com/named-data/ndn-svs)
* [**PSync** - Partial and full Sync library](https://github.com/named-data/PSync)
* [**ChronoSync** - Sync library for distributed real-time applications *(deprecated)*](https://github.com/named-data/ChronoSync)
* [**NAC** - Name-based Access Control library](https://github.com/named-data/name-based-access-control)
* [**NDNCERT** - NDN certificate management protocol](https://github.com/named-data/ndncert)
* [**repo-ng** - NDN repository implementation in C++ *(deprecated)*](https://github.com/named-data/repo-ng)
* [**ndn-traffic-generator** - Simple NDN traffic generator](https://github.com/named-data/ndn-traffic-generator)
## Documentation
-1
View File
@@ -1 +0,0 @@
docs/release-notes-latest.rst
+4 -8
View File
@@ -7,14 +7,10 @@ Supported platforms
ndn-cxx is built against a continuous integration system and has been tested on the
following platforms:
- Ubuntu 18.04
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 18.04 / 20.04 / 22.04
- Debian 11
- CentOS Stream 9
- macOS 10.15
- macOS 11
- macOS 12
- macOS 10.15 / 11 / 12 / 13
ndn-cxx is known to work on the following platforms, although they are not officially
supported:
@@ -316,5 +312,5 @@ will be treated as errors. This default behavior can be overridden by setting th
.. code-block:: sh
CXXFLAGS="-O1 -g3" ./waf configure --debug --with-tests
...
CXXFLAGS="-O1 -g3 -Wall" ./waf configure --debug --with-tests
./waf
-4
View File
@@ -1,4 +0,0 @@
Release Notes
=============
.. include:: release-notes-latest.rst
+37 -31
View File
@@ -1,26 +1,6 @@
ndn-cxx: NDN C++ library with eXperimental eXtensions
=====================================================
**ndn-cxx** is a C++14 library implementing Named Data Networking (NDN) primitives
that can be used to write various NDN applications. The library is currently being
used by the following projects:
* `NFD - NDN Forwarding Daemon <https://github.com/named-data/NFD>`_
* `NLSR - Named-data Link-State Routing protocol <https://github.com/named-data/NLSR>`_
* `ndn-tools - Essential NDN command-line tools <https://github.com/named-data/ndn-tools>`_
* `repo-ng - Next generation of NDN repository <https://github.com/named-data/repo-ng>`_
* `ChronoSync - Sync library for multiuser realtime applications <https://github.com/named-data/ChronoSync>`_
* `PSync - Partial and full synchronization library <https://github.com/named-data/PSync>`_
* `ndn-traffic-generator - Traffic generator for NDN <https://github.com/named-data/ndn-traffic-generator>`_
* `NAC - Name-based Access Control <https://github.com/named-data/name-based-access-control>`_
* `NDNS - Domain Name Service for NDN <https://github.com/named-data/ndns>`_
Please submit any bugs or feature requests to the `ndn-cxx issue tracker
<https://redmine.named-data.net/projects/ndn-cxx/issues>`_.
ndn-cxx Documentation
---------------------
.. toctree::
:hidden:
:maxdepth: 3
@@ -36,34 +16,60 @@ ndn-cxx Documentation
:maxdepth: 1
code-style
RELEASE_NOTES
release-notes
releases
**ndn-cxx** is a C++14 library implementing Named Data Networking (NDN) primitives
that can be used to write various NDN applications. The library is currently being
used by the following projects:
* `NFD - NDN Forwarding Daemon <https://github.com/named-data/NFD>`_
* `NLSR - Named-data Link-State Routing protocol <https://github.com/named-data/NLSR>`_
* `ndn-tools - Essential NDN command-line tools <https://github.com/named-data/ndn-tools>`_
* `ndn-svs - State Vector Sync library <https://github.com/named-data/ndn-svs>`_
* `PSync - Partial and full Sync library <https://github.com/named-data/PSync>`_
* `ChronoSync - Sync library for distributed real-time applications (deprecated) <https://github.com/named-data/ChronoSync>`_
* `NAC - Name-based Access Control library <https://github.com/named-data/name-based-access-control>`_
* `NDNCERT - NDN certificate management protocol <https://github.com/named-data/ndncert>`_
* `repo-ng - NDN repository implementation in C++ (deprecated) <https://github.com/named-data/repo-ng>`_
* `ndn-traffic-generator - Simple NDN traffic generator <https://github.com/named-data/ndn-traffic-generator>`_
Documentation
-------------
- :doc:`INSTALL`
- :doc:`examples`
- :doc:`tutorials`
+ `NDN Software Contributor's Guide <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>`_ (guide for newcomers to the NDN community of software generally)
+ :doc:`tutorials/utils-ndn-regex`
+ :doc:`tutorials/security-validator-config`
- :doc:`manpages`
- :doc:`release-notes`
- :doc:`releases`
For developers
^^^^^^^^^^^^^^
- `NDN Software Contributor's Guide <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>`__
(guide for newcomers to the NDN community of software)
- :doc:`specs`
+ :doc:`specs/safe-bag`
+ :doc:`specs/signed-interest`
- :doc:`manpages`
Additional Documentation
^^^^^^^^^^^^^^^^^^^^^^^^
- `API documentation (doxygen) <doxygen/annotated.html>`_
- `API documentation (doxygen) <doxygen/annotated.html>`__
- :doc:`code-style`
- :doc:`RELEASE_NOTES`
- :doc:`releases`
Issues
------
Please submit any bugs or feature requests to the
`ndn-cxx issue tracker <https://redmine.named-data.net/projects/ndn-cxx/issues>`__.
License
-------
ndn-cxx is an open source project licensed under the LGPL version 3. For more information about
the license, refer to `COPYING.md <https://github.com/named-data/ndn-cxx/blob/master/COPYING.md>`_.
the license, refer to `COPYING.md <https://github.com/named-data/ndn-cxx/blob/master/COPYING.md>`__.
+5 -5
View File
@@ -2,9 +2,9 @@ Man pages
=========
.. toctree::
:glob:
:maxdepth: 1
:glob:
:maxdepth: 1
ndn-client.conf <manpages/ndn-client.conf>
ndn-log: ndn-cxx logging <manpages/ndn-log>
manpages/ndnsec*
ndn-client.conf <manpages/ndn-client.conf>
ndn-log: ndn-cxx logging <manpages/ndn-log>
manpages/ndnsec*
-1
View File
@@ -1 +0,0 @@
release-notes/release-notes-0.8.0.rst
+4
View File
@@ -0,0 +1,4 @@
Release Notes
=============
.. include:: release-notes/release-notes-0.8.1.rst
+2 -2
View File
@@ -7,10 +7,10 @@ Important changes
^^^^^^^^^^^^^^^^^
- Flip default value of ``CanBePrefix`` to **false** (:issue:`4582`). This means that
Interests created without explicitly specifying ``CanBePrefix`` option, will be treaded
Interests created without explicitly specifying ``CanBePrefix`` option will be treated
as Interests for exact Data name.
- Change default name component encoding convention to typed (:issue:`5044`)
- Change default name component encoding convention to ``TYPED`` (:issue:`5044`)
- Update TLV-TYPE numbers to revision 3 of the `naming conventions`_
+102
View File
@@ -0,0 +1,102 @@
ndn-cxx version 0.8.1
---------------------
Release date: December 31, 2022
.. note::
This is the last release of ndn-cxx to support the C++14 standard.
Future versions will require C++17 to build.
Important changes and new features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- The minimum build requirements have been increased as follows:
- Either GCC >= 7.4.0 or Clang >= 6.0 is required on Linux
- On macOS, Xcode 11.3 or later is recommended; older versions may still work but are not
officially supported
- Boost >= 1.65.1 and OpenSSL >= 1.1.1 are required on all platforms
- Sphinx 4.0 or later is required to build the documentation
- CentOS Stream 9 is now officially supported; CentOS 8 has been dropped (:issue:`5181`)
- macOS 12 (Monterey) and 13 (Ventura) running on arm64 are now officially supported
(:issue:`5135`)
- Add the initial version of a :ndn-cxx:`Segmenter` API that applications can use to simplify
the process of chunking a large object into multiple signed Data packets (:issue:`5247`)
- Add ``KeyChain::makeCertificate()`` to simplify the creation of certificates
- Put the full certificate name in the ``KeyLocator`` field, instead of just the key name
(:issue:`5112`)
- NFD management commands sent by :ndn-cxx:`nfd::Controller` now use the `new signed Interest
format <https://named-data.net/doc/NDN-packet-spec/0.3/signed-interest.html>`__ (:issue:`4804`)
Improvements and bug fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^
- Several enhancements and cleanups in :ndn-cxx:`Name` and :ndn-cxx:`Component` to make
the API more consistent and simpler to use (:issue:`5186`)
- Various improvements in the validation framework and policies
- Avoid redundant TLV decoding during Interest validation
- Fix validation of signed Interests with malformed ``InterestSignatureInfo``
- More accurate validation error codes are returned in several cases
- Rename ``ValidationError::NO_SIGNATURE`` to ``MALFORMED_SIGNATURE``
- Optimize parsing of PIB and TPM locators in :ndn-cxx:`KeyChain`
- Major cleanup and modernization of PIB implementation
- Gracefully handle invalid or unsupported public keys stored in the PIB
- Fix OpenSSL 3.0 deprecation warnings in private key generation routines (:issue:`5154`)
- Change ``Certificate::getPublicKey()`` to return a ``span``
- Make :ndn-cxx:`Block` convertible to ``span<const uint8_t>``
- Avoid assertion failure in :ndn-cxx:`OBufferStream` under certain conditions (:issue:`5240`)
- Allow customizing the FaceId in :ndn-cxx:`DummyClientFace` (:issue:`5011`)
- Improve pretty-printing of certificates, e.g., in ``ndnsec list`` and ``ndnsec cert-dump``
- Relax restrictions on KeyId component type in ``ndnsec key-gen``
- Fix handling of ``--without-osx-keychain`` configure option (:issue:`3338`)
- Stop using the ``gold`` linker on Linux; prefer instead linking with ``lld`` if installed
- Update waf build system to version 2.0.24
- Various documentation improvements
Deprecations
^^^^^^^^^^^^
- ``Name::append()`` overloads and :ndn-cxx:`Component` constructors that take a
``const uint8_t*``. Use the ``span``-based overloads instead.
- ``Component::fromImplicitSha256Digest()`` and ``Component::fromParametersSha256Digest()``.
Use one of the constructors directly instead.
Removals
^^^^^^^^
- Obsolete TLV-TYPE definitions
- Many previously deprecated functions that take raw byte buffers as ``uint8_t*`` + ``size_t``,
replaced by equivalent functions that take a ``span``. These include ``Data::setContent()``,
``Interest::setApplicationParameters()``, ``Block::fromBuffer()``, ``verifySignature()``,
``PublicKey::loadPkcs8()``, ``transform::bufferSource()``, ``random::generateSecureBytes()``,
``printHex()``, ``toHex()``, and so on.
- Previously deprecated ``Name::append(Block)`` overload
- Previously deprecated ``Interest::setDefaultCanBePrefix()``
- ``ndn::any`` and related functionality
+11 -5
View File
@@ -2,12 +2,18 @@ All ndn-cxx Releases
====================
.. toctree::
:glob:
:hidden:
:maxdepth: 1
:reversed:
:glob:
:hidden:
:maxdepth: 1
:reversed:
release-notes/*
release-notes/*
* **ndn-cxx version 0.8.1**
(:doc:`Release Notes <release-notes/release-notes-0.8.1>`, `Documentation <https://named-data.net/doc/ndn-cxx/0.8.1/>`__)
`src (git) <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.8.1>`__,
`src (tarball) <https://named-data.net/downloads/ndn-cxx-0.8.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/ndn-cxx-0.8.1.tar.bz2.sha256>`__)
* **ndn-cxx version 0.8.0**
(:doc:`Release Notes <release-notes/release-notes-0.8.0>`, `Documentation <https://named-data.net/doc/ndn-cxx/0.8.0/>`__)
+1 -1
View File
@@ -3,7 +3,7 @@
from waflib import Context, Logs, Utils
import os, subprocess
VERSION = '0.8.0'
VERSION = '0.8.1'
APPNAME = 'ndn-cxx'
GIT_TAG_PREFIX = 'ndn-cxx-'