blob: 7fb85fb63d0f2c51936cd16c93fdbca59b06fea6 [file] [log] [blame] [view]
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -04001# Release Notes
2
Davide Pesaventoebea9092022-02-18 11:30:32 -05003## Version 22.02
4
5Starting with this release, ndn-tools switched to a new versioning scheme:
6`YEAR.MONTH[.REVISION]`.
7
8chunks:
9- Add `--naming-convention` command-line option (Issue #5109)
10- Increase the default segment size to 8000 bytes
11
12dissect:
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
18dissect-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
25peek:
26- Replace `--link-file` option with `--fwhint` and adapt to the new `ForwardingHint`
27 format (Issues #4207, #5187)
28
29poke:
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
34pingserver:
35- Remove deprecated `-x` alias for the `--freshness` option
36
37build system:
38- Upgrade `waf` to version 2.0.23
39
Eric Newberry374f4e42020-10-04 14:15:39 -070040## Version 0.7.1
41
42The build requirements have been increased to require Clang >= 4.0, Xcode >= 9.0, and Python >= 3.6.
43Meanwhile, it is *recommended* to use GCC >= 7.4.0 and Boost >= 1.65.1.
44
45This release contains minor build fixes and code cleanups.
46
Davide Pesavento6ab7f912020-01-13 19:14:02 -050047## Version 0.7
48
49chunks:
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
55ping:
56- Change the short form of ndnpingserver's `--freshness` option to `-f`,
57 for consistency with ndnputchunks
58
59peek:
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
66poke:
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 Pesavento6cc1dfb2019-04-27 14:10:56 -040077## Version 0.6.4
78
79chunks:
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
87dissect & dissect-wireshark:
88- Follow packet specification changes to renumber the `Parameters` element and
89 rename it to `ApplicationParameters` (Issues #4658, #4780)
90
91dump:
92- Fix compilation on CentOS 7 (Issue #4852)
93
94pib:
95- Completely remove this obsolete and unmaintained tool (Issue #4205)
Alexander Afanasyev339161a2016-10-27 22:41:16 +000096
Alexander Afanasyevd5449e52019-01-29 09:32:56 -050097## Version 0.6.3
98
99chunks:
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
104ping:
105- Add systemd unit file for ndnpingserver (Issue #4594)
106- Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919)
107
108poke:
109- Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919)
110
Davide Pesaventoebea9092022-02-18 11:30:32 -0500111build system:
112- Upgrade `waf` to version 2.0.14 and other improvements
Alexander Afanasyevd5449e52019-01-29 09:32:56 -0500113
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400114## Version 0.6.2
115
116The build requirements have been upgraded to gcc >= 5.3 or clang >= 3.6, boost >= 1.58,
117openssl >= 1.0.2. This effectively drops support for all versions of Ubuntu older than 16.04
118that use distribution-provided compilers and packages.
119
120The compilation now uses the C++14 standard.
121
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400122chunks:
123- Fix AIMD hanging with files smaller than the chunk size (Issue #4439)
124
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400125dissect-wireshark:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400126- Show `Name` and `FinalBlockId` as URIs (Issue #3106)
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400127- Improve NDNLPv2 support (Issue #4463)
128- Add support for dissecting PPP frames
129
130dump:
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 Pesavento6cc1dfb2019-04-27 14:10:56 -0400137- Add UDP port 56363 to the default pcap filter
138- Stricter parsing of IP/TCP/UDP headers
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400139- Add IPv6 support
140- Code cleanup
141
142poke:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400143- Use `Face::unsetInterestFilter` instead of `shutdown` (Issue #4642)
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400144- Improve unit testing (Issue #3740)
145
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400146ping:
147- Add `--quiet` option to ndnpingserver (Issue #4673)
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400148- Set `CanBePrefix=false` in Interests sent by ndnping (Issue #4581)
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400149- Code cleanup
150
Davide Pesavento4a43e872018-05-03 22:10:56 -0400151## Version 0.6.1
152
153chunks:
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
157dissect:
158- Recognize `CanBePrefix`, `HopLimit`, and `Parameters` TLV elements (Issue #4590)
159
160dissect-wireshark:
161- Recognize `CanBePrefix`, `HopLimit`, and `Parameters` TLV elements (Issue #4517)
162
163peek:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400164- Drop `Selectors` support (Issue #4571)
Davide Pesavento4a43e872018-05-03 22:10:56 -0400165- Add `-P/--prefix` option to set `CanBePrefix` in the Interest packet
166
Davide Pesaventoebea9092022-02-18 11:30:32 -0500167build system:
168- Upgrade `waf` to version 2.0.6 and other improvements
Davide Pesavento4a43e872018-05-03 22:10:56 -0400169
susmit48cb0b62018-02-13 12:27:24 -0700170## Version 0.6
171
172chunks:
Davide Pesavento4a43e872018-05-03 22:10:56 -0400173- 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)
susmit48cb0b62018-02-13 12:27:24 -0700180
Alexander Afanasyeveacd6172017-10-16 16:40:31 -0400181## Version 0.5
182
183all:
184- Switch to version 2 of certificates, `KeyChain`, and `Validator` (Issue #4089)
185- Compilation fixes (Issue #4259)
186
Alexander Afanasyeveacd6172017-10-16 16:40:31 -0400187chunks:
Davide Pesaventoebea9092022-02-18 11:30:32 -0500188- Make `ndnputchunks` display some output by default; a new `-q` flag makes the tool
Alexander Afanasyeveacd6172017-10-16 16:40:31 -0400189 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 Pesaventoebea9092022-02-18 11:30:32 -0500194peek:
195- Convert use of `Link` into `ForwardingHint` (Issue #4055)
196
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000197## Version 0.4
198
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400199As of this version, NDN Essential Tools require a modern compiler (gcc >= 4.8.2, clang >= 3.4)
200and a relatively new version of the Boost libraries (>= 1.54). This means that the code no
201longer compiles with the packaged version of gcc and Boost libraries on Ubuntu 12.04.
202NDN Essential Tools can still be compiled on such systems, but require a separate
203installation of a newer version of the compiler (e.g., clang-3.4) and dependencies.
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000204
205chunks:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400206- Change default version discovery to iterative
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000207- 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
213dissect-wireshark:
214- Add initial support for NDNLPv2 (Issue #3197)
215- Fix potential memory overflow
216
217dump:
218- Add support for Linux cooked-mode capture (SLL) (Issue #3061)
219- Improve error messages
220
221pib:
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
227ping:
228- Recognize and trace NACK
Davide Pesavento4a43e872018-05-03 22:10:56 -0400229- Fix potential divide-by-zero bug in `StatisticsCollector` (Issue #3504)
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000230
231peek:
232- Recognize and properly handle NACK
233- Refactor implementation
234
235## Version 0.3
236
237chunks: **New** (pair of) tool(s) for segmented file transfer
238
239peek:
240- Allow verbose output
241- Switch from `getopt` to `boost::program_options`
242- Add `--link-file` option
243
244ping:
245- Document ndnping protocol
246
247dump:
248- Capture and print network NACK packets
249- Update docs to include NACK capture feature
250
Davide Pesaventoebea9092022-02-18 11:30:32 -0500251build system:
Davide Pesavento4a43e872018-05-03 22:10:56 -0400252- Enable `-Wextra` by default
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000253- Fix missing tool name in `configure --help` output
254- Fix compatibility with Python 3
255
256## Version 0.2
257
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400258Code improvements and two new tools:
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000259
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
266Initial release of NDN Essential Tools, featuring:
267
268- ndnpeek, ndnpoke: a pair of programs to request and make available for
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400269 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 Afanasyev339161a2016-10-27 22:41:16 +0000272- 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.