Skip to content

Commit

Permalink
Prepare release 0.9.0
Browse files Browse the repository at this point in the history
Refs: #5323
Change-Id: Ifd67ae391221916679e79b7a321163792ca3af95
  • Loading branch information
Pesa committed Jul 28, 2024
1 parent 7fffb72 commit 0751bba
Show file tree
Hide file tree
Showing 6 changed files with 136 additions and 48 deletions.
1 change: 1 addition & 0 deletions .jenkins.d/00-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ esac
set -x

if [[ $ID == macos ]]; then
export HOMEBREW_NO_ENV_HINTS=1
if [[ -n $GITHUB_ACTIONS ]]; then
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
fi
Expand Down
34 changes: 0 additions & 34 deletions docs/doxygen.conf.in
Original file line number Diff line number Diff line change
Expand Up @@ -1171,15 +1171,6 @@ HTML_COLORSTYLE_SAT = 0

HTML_COLORSTYLE_GAMMA = 91

# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
# to YES can help to show when doxygen was last run and thus if the
# documentation is up to date.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_TIMESTAMP = NO

# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
Expand Down Expand Up @@ -1747,14 +1738,6 @@ LATEX_HIDE_INDICES = NO

LATEX_BIB_STYLE = plain

# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
# page will contain the date and time when the page was generated. Setting this
# to NO can help when comparing the output of multiple runs.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.

LATEX_TIMESTAMP = NO

#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
Expand Down Expand Up @@ -2122,23 +2105,6 @@ HAVE_DOT = @HAVE_DOT@

DOT_NUM_THREADS = 0

# When you want a differently looking font in the dot files that doxygen
# generates you can specify the font name using DOT_FONTNAME. You need to make
# sure dot is able to find the font, which can be done by putting it in a
# standard location or by setting the DOTFONTPATH environment variable or by
# setting DOT_FONTPATH to the directory containing the font.
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_FONTNAME = Helvetica

# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs.
# Minimum value: 4, maximum value: 24, default value: 10.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_FONTSIZE = 10

# By default doxygen will tell dot to use the default font as specified with
# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
# the path where dot can find it using this tag.
Expand Down
2 changes: 1 addition & 1 deletion docs/release-notes.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Release Notes
=============

.. include:: release-notes/release-notes-0.8.1.rst
.. include:: release-notes/release-notes-0.9.0.rst
112 changes: 112 additions & 0 deletions docs/release-notes/release-notes-0.9.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
ndn-cxx version 0.9.0
---------------------

*Release date: July 28, 2024*

Important changes and new features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- **C++17** is now *required* to build ndn-cxx and when including any of its header files

- The build dependencies have been increased as follows:

- GCC >= 9.3 or Clang >= 7.0 are strongly *recommended* on Linux; GCC 8.x is also known
to work but is not officially supported
- Xcode 13 or later is *recommended* on macOS; older versions may still work but are not
officially supported
- Boost >= 1.71.0 is *required* on all platforms

- Ubuntu 24.04 (Noble), Debian 12 (Bookworm), and macOS 14 (Sonoma) are now officially supported

- Added an official Dockerfile to the repository. From this Dockerfile, two images are currently
published to the GitHub container registry:

- `named-data/ndn-cxx-build <https://github.com/named-data/ndn-cxx/pkgs/container/ndn-cxx-build>`__
- `named-data/ndn-cxx-runtime <https://github.com/named-data/ndn-cxx/pkgs/container/ndn-cxx-runtime>`__

Both images are available for *linux/amd64* and *linux/arm64* platforms.

- The default forwarder socket path for Unix transports changed to ``/run/nfd/nfd.sock`` on Linux
and to ``/var/run/nfd/nfd.sock`` on all other platforms (:issue:`5304`)

- On macOS, the default TPM backend is now **tpm-file** (the same as all other platforms)

- :ndn-cxx:`Interest::matchesData` no longer considers ``MustBeFresh`` and ``FreshnessPeriod``
(:issue:`5270`)

- Modernized several APIs to use ``std::string_view``

- Added :ndn-cxx:`Interest::setApplicationParameters(std::string_view)` and
:ndn-cxx:`Data::setContent(std::string_view)` overloads for convenience

- :ndn-cxx:`SegmentFetcher` gained an option to omit ``MustBeFresh`` from the first Interest sent

- Moved :ndn-cxx:`DummyClientFace`, :ndn-cxx:`Segmenter`, and :ndn-cxx:`SegmentFetcher` to
namespace ``ndn``

- Moved all :ndn-cxx:`Signal`-related classes to namespace ``ndn::signal``

Improvements and bug fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^

- Check the TLV type when constructing :ndn-cxx:`Name` from :ndn-cxx:`Block`

- Provide relational operators for :ndn-cxx:`FaceUri`, to make it usable as a container key

- Generalize and simplify :ndn-cxx:`time::fromUnixTimestamp` and :ndn-cxx:`time::toUnixTimestamp`

- Prevent overflows in ``InterestLifetime`` and ``FreshnessPeriod`` (:issue:`4997`)

- Make HMAC signing and verification compatible with OpenSSL 3.x (:issue:`5251`)

- Better handling of large dates in :ndn-cxx:`ValidityPeriod` (:issue:`5176`)

- :ndn-cxx:`NetworkMonitor` now ignore AWDL interfaces on macOS (:issue:`5074`)

- Avoid dependency on *boost_program_options* when tools are disabled (:issue:`5210`)

- Add fine-grained options to ``./waf configure`` to enable/disable the compilation of
benchmarks, integration tests, and unit tests independently

- Fix building the documentation with Python 3.12 (:issue:`5298`)

- Reduce amount of debugging information produced in compiled binaries by default (:issue:`5279`)

- Update waf build system to version 2.0.27

- Various code cleanups, modernizations, and documentation improvements

Deprecations
^^^^^^^^^^^^

- ``Face::getIoService()``. Use ``Face::getIoContext()`` instead.

- ``Component::fromEscapedString()``. Use :ndn-cxx:`Component::fromUri` instead.

- TPM unlock and related functionality. This includes ``Tpm::isTpmLocked()``,
``Tpm::unlockTpm()``, ``Tpm::isTerminalMode()``, ``Tpm::setTerminalMode()``,
and the ``ndnsec-unlock-tpm`` command-line tool (:issue:`4754`)

Removals
^^^^^^^^

- ``Block::wire()``. Use :ndn-cxx:`Block::data` instead.

- :ndn-cxx:`Component` constructors that take a raw ``const uint8_t*``. Use the ``span``-based
constructors instead.

- ``Component::fromImplicitSha256Digest()`` and ``Component::fromParametersSha256Digest()``

- Previously deprecated overloads of ``Name::append()``

- ``Name::push_back()``. Use :ndn-cxx:`Name::append` instead.

- ``ndn::escape()`` and ``ndn::unescape()`` overloads that take raw strings as ``const char*`` +
``size_t``. Use the corresponding ``std::string_view`` versions instead.

- ``ndn::optional`` and ``ndn::variant``. Use C++17 ``std::optional`` and ``std::variant``
directly instead.

- ``ndn::to_string()``. Use the standard C++ function ``std::to_string()`` instead.

- Previously deprecated ``ndnsec`` command aliases (:issue:`5163`)
33 changes: 21 additions & 12 deletions docs/releases.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
All ndn-cxx Releases
====================
Release History
===============

.. toctree::
:glob:
Expand All @@ -9,17 +9,26 @@ All ndn-cxx Releases

release-notes/*

* **ndn-cxx version 0.8.1**
(:doc:`Release Notes <release-notes/release-notes-0.8.1>`, `Documentation <https://docs.named-data.net/ndn-cxx/0.8.1/>`__)
* **ndn-cxx version 0.9.0**
\| :doc:`Release Notes <release-notes/release-notes-0.9.0>`
\| `GitHub <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.9.0>`__
\| `Source download <https://github.com/named-data/ndn-cxx/releases/download/ndn-cxx-0.9.0/ndn-cxx-0.9.0.tar.xz>`__
(`checksum <https://github.com/named-data/ndn-cxx/releases/download/ndn-cxx-0.9.0/ndn-cxx-0.9.0.tar.xz.sha256>`__)
\| `Documentation <https://docs.named-data.net/ndn-cxx/0.9.0/>`__

`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.1**
\| :doc:`Release Notes <release-notes/release-notes-0.8.1>`
\| `GitHub <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.8.1>`__
\| `Source download <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>`__)
\| `Documentation <https://docs.named-data.net/ndn-cxx/0.8.1/>`__

* **ndn-cxx version 0.8.0**
(:doc:`Release Notes <release-notes/release-notes-0.8.0>`, `Documentation <https://docs.named-data.net/ndn-cxx/0.8.0/>`__)

`src (git) <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.8.0>`__,
`src (tarball) <https://named-data.net/downloads/ndn-cxx-0.8.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/ndn-cxx-0.8.0.tar.bz2.sha256>`__)
\| :doc:`Release Notes <release-notes/release-notes-0.8.0>`
\| `GitHub <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.8.0>`__
\| `Source download <https://named-data.net/downloads/ndn-cxx-0.8.0.tar.bz2>`__
(`checksum <https://named-data.net/downloads/ndn-cxx-0.8.0.tar.bz2.sha256>`__)
\| `Documentation <https://docs.named-data.net/ndn-cxx/0.8.0/>`__

* **ndn-cxx version 0.7.1**
(:doc:`Release Notes <release-notes/release-notes-0.7.1>`, `Documentation <https://docs.named-data.net/ndn-cxx/0.7.1/>`__)
Expand Down Expand Up @@ -72,13 +81,13 @@ All ndn-cxx Releases
`src (tarball) <https://named-data.net/downloads/ndn-cxx-0.6.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/ndn-cxx-0.6.0.tar.bz2.sha256>`__)

* **ndn-cxx version 0.5.1**
(:doc:`Release Notes <release-notes/release-notes-0.5.1>`, `Documentation <https://docs.named-data.net/ndn-cxx/0.5.1/>`__)
(:doc:`Release Notes <release-notes/release-notes-0.5.1>`)

`src (git) <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.5.1>`__,
`src (tarball) <https://named-data.net/downloads/ndn-cxx-0.5.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/ndn-cxx-0.5.1.tar.bz2.sha256>`__)

* **ndn-cxx version 0.5.0**
(:doc:`Release Notes <release-notes/release-notes-0.5.0>`, `Documentation <https://docs.named-data.net/ndn-cxx/0.5.0/>`__)
(:doc:`Release Notes <release-notes/release-notes-0.5.0>`)

`src (git) <https://github.com/named-data/ndn-cxx/releases/tag/ndn-cxx-0.5.0>`__,
`src (tarball) <https://named-data.net/downloads/ndn-cxx-0.5.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/ndn-cxx-0.5.0.tar.bz2.sha256>`__)
Expand Down
2 changes: 1 addition & 1 deletion wscript
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import os
import subprocess
from waflib import Context, Logs, Utils

VERSION = '0.8.1'
VERSION = '0.9.0'
APPNAME = 'ndn-cxx'
GIT_TAG_PREFIX = 'ndn-cxx-'

Expand Down

0 comments on commit 0751bba

Please sign in to comment.