Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 1 | # Release Notes |
| 2 | |
Davide Pesavento | ebea909 | 2022-02-18 11:30:32 -0500 | [diff] [blame] | 3 | ## Version 22.02 |
| 4 | |
| 5 | Starting with this release, ndn-tools switched to a new versioning scheme: |
| 6 | `YEAR.MONTH[.REVISION]`. |
| 7 | |
| 8 | chunks: |
| 9 | - Add `--naming-convention` command-line option (Issue #5109) |
| 10 | - Increase the default segment size to 8000 bytes |
| 11 | |
| 12 | dissect: |
| 13 | - Support `InterestSignature` fields and more types of name components |
| 14 | - The `Content` field is no longer dissected by default; use the new `--content` option |
| 15 | to enable it |
| 16 | - Minor cosmetic improvements to the tool output |
| 17 | |
| 18 | dissect-wireshark: |
| 19 | - Remove support for obsolete TLV elements |
| 20 | - Recognize `ForwardingHint` (Issue #4185) |
| 21 | - Recognize `ParametersSha256DigestComponent` |
| 22 | - Fix decoding of several TLV elements such as `HopLimit` and `PitToken` |
| 23 | - Update the TLV type of `IncomingFaceId` (Issue #5185) |
| 24 | |
| 25 | peek: |
| 26 | - Replace `--link-file` option with `--fwhint` and adapt to the new `ForwardingHint` |
| 27 | format (Issues #4207, #5187) |
| 28 | |
| 29 | poke: |
| 30 | - Remove deprecated `--force` option; use `--unsolicited` instead |
| 31 | - Remove deprecated `--identity` and `--digest` options; use `--signing-info` instead |
| 32 | - Change the short form of `--freshness` to `-f` |
| 33 | |
| 34 | pingserver: |
| 35 | - Remove deprecated `-x` alias for the `--freshness` option |
| 36 | |
| 37 | build system: |
| 38 | - Upgrade `waf` to version 2.0.23 |
| 39 | |
Eric Newberry | 374f4e4 | 2020-10-04 14:15:39 -0700 | [diff] [blame] | 40 | ## Version 0.7.1 |
| 41 | |
| 42 | The build requirements have been increased to require Clang >= 4.0, Xcode >= 9.0, and Python >= 3.6. |
| 43 | Meanwhile, it is *recommended* to use GCC >= 7.4.0 and Boost >= 1.65.1. |
| 44 | |
| 45 | This release contains minor build fixes and code cleanups. |
| 46 | |
Davide Pesavento | 6ab7f91 | 2020-01-13 19:14:02 -0500 | [diff] [blame] | 47 | ## Version 0.7 |
| 48 | |
| 49 | chunks: |
| 50 | - Add `--no-version-discovery` option to ndncatchunks (Issue #5021) |
| 51 | - Improve CUBIC performance on lossy networks (Issue #5036) |
| 52 | - Switch to ndn-cxx's `RttEstimatorWithStats` class (Issue #4887) |
| 53 | - Remove previously deprecated options `-d` and `-t` from ndncatchunks |
| 54 | |
| 55 | ping: |
| 56 | - Change the short form of ndnpingserver's `--freshness` option to `-f`, |
| 57 | for consistency with ndnputchunks |
| 58 | |
| 59 | peek: |
| 60 | - Add `--app-params`, `--app-params-file`, and `--hop-limit` options |
| 61 | - The `--link-file` option now expects a raw binary file |
| 62 | - Print Data name and Nack reason if `--verbose` is specified |
| 63 | - Code cleanup |
| 64 | - Manual page improvements |
| 65 | |
| 66 | poke: |
| 67 | - Add `--signing-info` option, replacing `--digest` and `--identity` which are |
| 68 | now deprecated |
| 69 | - Add `--verbose` option |
| 70 | - Wait indefinitely if `--timeout` is not specified |
| 71 | - The program now exits with status 3 when a timeout occurs and with status 5 |
| 72 | if prefix registration fails |
| 73 | - Rename `--force` option to `--unsolicited` |
| 74 | - Code cleanup |
| 75 | - Major rewrite of the manual page |
| 76 | |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 77 | ## Version 0.6.4 |
| 78 | |
| 79 | chunks: |
| 80 | - Add metadata-based version discovery and remove iterative discovery (Issue #4556) |
| 81 | - Remove manual selection of version discovery method via `-d` option (Issue #4832) |
| 82 | - Implement CUBIC congestion window adaptation in ndncatchunks (Issue #4861) |
| 83 | - Increase the default retransmission limit from 3 to 15 (Issue #4861) |
| 84 | - Improve stats printed by ndncatchunks after transfer completes (Issue #4603) |
| 85 | - Add manual page for ndnputchunks |
| 86 | |
| 87 | dissect & dissect-wireshark: |
| 88 | - Follow packet specification changes to renumber the `Parameters` element and |
| 89 | rename it to `ApplicationParameters` (Issues #4658, #4780) |
| 90 | |
| 91 | dump: |
| 92 | - Fix compilation on CentOS 7 (Issue #4852) |
| 93 | |
| 94 | pib: |
| 95 | - Completely remove this obsolete and unmaintained tool (Issue #4205) |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 96 | |
Alexander Afanasyev | d5449e5 | 2019-01-29 09:32:56 -0500 | [diff] [blame] | 97 | ## Version 0.6.3 |
| 98 | |
| 99 | chunks: |
| 100 | - Fix impossible RTT values (Issue #4604) |
| 101 | - Add support for RDR metadata in ndnputchunks (Issue #4556) |
| 102 | - Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919) |
| 103 | |
| 104 | ping: |
| 105 | - Add systemd unit file for ndnpingserver (Issue #4594) |
| 106 | - Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919) |
| 107 | |
| 108 | poke: |
| 109 | - Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919) |
| 110 | |
Davide Pesavento | ebea909 | 2022-02-18 11:30:32 -0500 | [diff] [blame] | 111 | build system: |
| 112 | - Upgrade `waf` to version 2.0.14 and other improvements |
Alexander Afanasyev | d5449e5 | 2019-01-29 09:32:56 -0500 | [diff] [blame] | 113 | |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 114 | ## Version 0.6.2 |
| 115 | |
| 116 | The build requirements have been upgraded to gcc >= 5.3 or clang >= 3.6, boost >= 1.58, |
| 117 | openssl >= 1.0.2. This effectively drops support for all versions of Ubuntu older than 16.04 |
| 118 | that use distribution-provided compilers and packages. |
| 119 | |
| 120 | The compilation now uses the C++14 standard. |
| 121 | |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 122 | chunks: |
| 123 | - Fix AIMD hanging with files smaller than the chunk size (Issue #4439) |
| 124 | |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 125 | dissect-wireshark: |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 126 | - Show `Name` and `FinalBlockId` as URIs (Issue #3106) |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 127 | - Improve NDNLPv2 support (Issue #4463) |
| 128 | - Add support for dissecting PPP frames |
| 129 | |
| 130 | dump: |
| 131 | - Remove dependency on Boost.Regex |
| 132 | - Stop using tcpdump headers files |
| 133 | - Compile pcap filter with optimizations enabled |
| 134 | - Capture in promiscuous mode by default, add an option to disable it |
| 135 | - Add `-t` option to suppress printing per-packet timestamp |
| 136 | - Properly handle exceptions thrown by `lp::Packet::wireDecode()` (Issue #3943) |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 137 | - Add UDP port 56363 to the default pcap filter |
| 138 | - Stricter parsing of IP/TCP/UDP headers |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 139 | - Add IPv6 support |
| 140 | - Code cleanup |
| 141 | |
| 142 | poke: |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 143 | - Use `Face::unsetInterestFilter` instead of `shutdown` (Issue #4642) |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 144 | - Improve unit testing (Issue #3740) |
| 145 | |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 146 | ping: |
| 147 | - Add `--quiet` option to ndnpingserver (Issue #4673) |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 148 | - Set `CanBePrefix=false` in Interests sent by ndnping (Issue #4581) |
Alexander Afanasyev | a8b03df | 2018-09-16 21:06:07 -0400 | [diff] [blame] | 149 | - Code cleanup |
| 150 | |
Davide Pesavento | 4a43e87 | 2018-05-03 22:10:56 -0400 | [diff] [blame] | 151 | ## Version 0.6.1 |
| 152 | |
| 153 | chunks: |
| 154 | - Show correct packet loss stats in final summary (Issue #4437) |
| 155 | - Avoid printing meaningless values when no RTT measurements are available (Issue #4551) |
| 156 | |
| 157 | dissect: |
| 158 | - Recognize `CanBePrefix`, `HopLimit`, and `Parameters` TLV elements (Issue #4590) |
| 159 | |
| 160 | dissect-wireshark: |
| 161 | - Recognize `CanBePrefix`, `HopLimit`, and `Parameters` TLV elements (Issue #4517) |
| 162 | |
| 163 | peek: |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 164 | - Drop `Selectors` support (Issue #4571) |
Davide Pesavento | 4a43e87 | 2018-05-03 22:10:56 -0400 | [diff] [blame] | 165 | - Add `-P/--prefix` option to set `CanBePrefix` in the Interest packet |
| 166 | |
Davide Pesavento | ebea909 | 2022-02-18 11:30:32 -0500 | [diff] [blame] | 167 | build system: |
| 168 | - Upgrade `waf` to version 2.0.6 and other improvements |
Davide Pesavento | 4a43e87 | 2018-05-03 22:10:56 -0400 | [diff] [blame] | 169 | |
susmit | 48cb0b6 | 2018-02-13 12:27:24 -0700 | [diff] [blame] | 170 | ## Version 0.6 |
| 171 | |
| 172 | chunks: |
Davide Pesavento | 4a43e87 | 2018-05-03 22:10:56 -0400 | [diff] [blame] | 173 | - Change the default Interest pipeline to AIMD (Issue #4402) |
| 174 | - Include RTT stats in final summary (Issue #4406) |
| 175 | - Respect `--retries=-1` in the AIMD pipeline (Issue #4409) |
| 176 | - React to congestion marks by default as a timeout event (can be disabled using |
| 177 | `--aimd-ignore-cong-marks`) (Issue #4289) |
| 178 | - Print a final summary of the transfer regardless of the pipeline type, and even if |
| 179 | `--verbose` was not specified (Issue #4421) |
susmit | 48cb0b6 | 2018-02-13 12:27:24 -0700 | [diff] [blame] | 180 | |
Alexander Afanasyev | eacd617 | 2017-10-16 16:40:31 -0400 | [diff] [blame] | 181 | ## Version 0.5 |
| 182 | |
| 183 | all: |
| 184 | - Switch to version 2 of certificates, `KeyChain`, and `Validator` (Issue #4089) |
| 185 | - Compilation fixes (Issue #4259) |
| 186 | |
Alexander Afanasyev | eacd617 | 2017-10-16 16:40:31 -0400 | [diff] [blame] | 187 | chunks: |
Davide Pesavento | ebea909 | 2022-02-18 11:30:32 -0500 | [diff] [blame] | 188 | - Make `ndnputchunks` display some output by default; a new `-q` flag makes the tool |
Alexander Afanasyev | eacd617 | 2017-10-16 16:40:31 -0400 | [diff] [blame] | 189 | completely silent, except for errors (Issue #4286) |
| 190 | - Refactor `ndnputchunks` options handling |
| 191 | - Reduce initial timeout of iterative version discovery in `ndncatchunks` (Issue #4291) |
| 192 | - Fix potential `ndncatchunks` crash on exit |
| 193 | |
Davide Pesavento | ebea909 | 2022-02-18 11:30:32 -0500 | [diff] [blame] | 194 | peek: |
| 195 | - Convert use of `Link` into `ForwardingHint` (Issue #4055) |
| 196 | |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 197 | ## Version 0.4 |
| 198 | |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 199 | As of this version, NDN Essential Tools require a modern compiler (gcc >= 4.8.2, clang >= 3.4) |
| 200 | and a relatively new version of the Boost libraries (>= 1.54). This means that the code no |
| 201 | longer compiles with the packaged version of gcc and Boost libraries on Ubuntu 12.04. |
| 202 | NDN Essential Tools can still be compiled on such systems, but require a separate |
| 203 | installation of a newer version of the compiler (e.g., clang-3.4) and dependencies. |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 204 | |
| 205 | chunks: |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 206 | - Change default version discovery to iterative |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 207 | - Improve help text of `ndnputchunks` |
| 208 | - Fix `DiscoverVersionIterative` build error |
| 209 | - Modularize Interest pipeline implementation |
| 210 | - Add AIMD congestion control (Issue #3636) |
| 211 | - Code cleanup and improvements |
| 212 | |
| 213 | dissect-wireshark: |
| 214 | - Add initial support for NDNLPv2 (Issue #3197) |
| 215 | - Fix potential memory overflow |
| 216 | |
| 217 | dump: |
| 218 | - Add support for Linux cooked-mode capture (SLL) (Issue #3061) |
| 219 | - Improve error messages |
| 220 | |
| 221 | pib: |
| 222 | - Disable by default (can be compiled with ndn-cxx version 0.5.0) |
| 223 | - Fix compilation error with new version of ndn-cxx library |
| 224 | - Avoid use of deprecated block helpers |
| 225 | - Correct build target path |
| 226 | |
| 227 | ping: |
| 228 | - Recognize and trace NACK |
Davide Pesavento | 4a43e87 | 2018-05-03 22:10:56 -0400 | [diff] [blame] | 229 | - Fix potential divide-by-zero bug in `StatisticsCollector` (Issue #3504) |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 230 | |
| 231 | peek: |
| 232 | - Recognize and properly handle NACK |
| 233 | - Refactor implementation |
| 234 | |
| 235 | ## Version 0.3 |
| 236 | |
| 237 | chunks: **New** (pair of) tool(s) for segmented file transfer |
| 238 | |
| 239 | peek: |
| 240 | - Allow verbose output |
| 241 | - Switch from `getopt` to `boost::program_options` |
| 242 | - Add `--link-file` option |
| 243 | |
| 244 | ping: |
| 245 | - Document ndnping protocol |
| 246 | |
| 247 | dump: |
| 248 | - Capture and print network NACK packets |
| 249 | - Update docs to include NACK capture feature |
| 250 | |
Davide Pesavento | ebea909 | 2022-02-18 11:30:32 -0500 | [diff] [blame] | 251 | build system: |
Davide Pesavento | 4a43e87 | 2018-05-03 22:10:56 -0400 | [diff] [blame] | 252 | - Enable `-Wextra` by default |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 253 | - Fix missing tool name in `configure --help` output |
| 254 | - Fix compatibility with Python 3 |
| 255 | |
| 256 | ## Version 0.2 |
| 257 | |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 258 | Code improvements and two new tools: |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 259 | |
| 260 | - PIB service to manage the public information of keys and publish certificates |
| 261 | (Issue 3018) |
| 262 | - A Wireshark dissector for NDN packets (Issue 3092) |
| 263 | |
| 264 | ## Version 0.1 |
| 265 | |
| 266 | Initial release of NDN Essential Tools, featuring: |
| 267 | |
| 268 | - ndnpeek, ndnpoke: a pair of programs to request and make available for |
Davide Pesavento | 6cc1dfb | 2019-04-27 14:10:56 -0400 | [diff] [blame] | 269 | retrieval a single Data packet. |
| 270 | - ndnping, ndnpingserver: reachability testing tools for Named Data Networking. |
| 271 | - ndndump: a traffic analysis tool that captures NDN packets on the wire. |
Alexander Afanasyev | 339161a | 2016-10-27 22:41:16 +0000 | [diff] [blame] | 272 | - ndn-dissect: an NDN packet format inspector. It reads zero or more NDN |
| 273 | packets from either an input file or the standard input, and displays the |
| 274 | Type-Length-Value (TLV) structure of those packets on the standard output. |