blob: dda6baff52fe530305ef54d2f7a6101c293be6a6 [file] [log] [blame] [view]
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -04001# Release Notes
2
Eric Newberry374f4e42020-10-04 14:15:39 -07003## Version 0.7.1
4
5The build requirements have been increased to require Clang >= 4.0, Xcode >= 9.0, and Python >= 3.6.
6Meanwhile, it is *recommended* to use GCC >= 7.4.0 and Boost >= 1.65.1.
7
8This release contains minor build fixes and code cleanups.
9
Davide Pesavento6ab7f912020-01-13 19:14:02 -050010## Version 0.7
11
12chunks:
13- Add `--no-version-discovery` option to ndncatchunks (Issue #5021)
14- Improve CUBIC performance on lossy networks (Issue #5036)
15- Switch to ndn-cxx's `RttEstimatorWithStats` class (Issue #4887)
16- Remove previously deprecated options `-d` and `-t` from ndncatchunks
17
18ping:
19- Change the short form of ndnpingserver's `--freshness` option to `-f`,
20 for consistency with ndnputchunks
21
22peek:
23- Add `--app-params`, `--app-params-file`, and `--hop-limit` options
24- The `--link-file` option now expects a raw binary file
25- Print Data name and Nack reason if `--verbose` is specified
26- Code cleanup
27- Manual page improvements
28
29poke:
30- Add `--signing-info` option, replacing `--digest` and `--identity` which are
31 now deprecated
32- Add `--verbose` option
33- Wait indefinitely if `--timeout` is not specified
34- The program now exits with status 3 when a timeout occurs and with status 5
35 if prefix registration fails
36- Rename `--force` option to `--unsolicited`
37- Code cleanup
38- Major rewrite of the manual page
39
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -040040## Version 0.6.4
41
42chunks:
43- Add metadata-based version discovery and remove iterative discovery (Issue #4556)
44- Remove manual selection of version discovery method via `-d` option (Issue #4832)
45- Implement CUBIC congestion window adaptation in ndncatchunks (Issue #4861)
46- Increase the default retransmission limit from 3 to 15 (Issue #4861)
47- Improve stats printed by ndncatchunks after transfer completes (Issue #4603)
48- Add manual page for ndnputchunks
49
50dissect & dissect-wireshark:
51- Follow packet specification changes to renumber the `Parameters` element and
52 rename it to `ApplicationParameters` (Issues #4658, #4780)
53
54dump:
55- Fix compilation on CentOS 7 (Issue #4852)
56
57pib:
58- Completely remove this obsolete and unmaintained tool (Issue #4205)
Alexander Afanasyev339161a2016-10-27 22:41:16 +000059
Alexander Afanasyevd5449e52019-01-29 09:32:56 -050060## Version 0.6.3
61
62chunks:
63- Fix impossible RTT values (Issue #4604)
64- Add support for RDR metadata in ndnputchunks (Issue #4556)
65- Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919)
66
67ping:
68- Add systemd unit file for ndnpingserver (Issue #4594)
69- Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919)
70
71poke:
72- Use `PendingInterestHandle` and `RegisteredPrefixHandle` (Issues #4316, #3919)
73
74Various build system and build script improvements.
75
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -040076## Version 0.6.2
77
78The build requirements have been upgraded to gcc >= 5.3 or clang >= 3.6, boost >= 1.58,
79openssl >= 1.0.2. This effectively drops support for all versions of Ubuntu older than 16.04
80that use distribution-provided compilers and packages.
81
82The compilation now uses the C++14 standard.
83
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -040084chunks:
85- Fix AIMD hanging with files smaller than the chunk size (Issue #4439)
86
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -040087dissect-wireshark:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -040088- Show `Name` and `FinalBlockId` as URIs (Issue #3106)
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -040089- Improve NDNLPv2 support (Issue #4463)
90- Add support for dissecting PPP frames
91
92dump:
93- Remove dependency on Boost.Regex
94- Stop using tcpdump headers files
95- Compile pcap filter with optimizations enabled
96- Capture in promiscuous mode by default, add an option to disable it
97- Add `-t` option to suppress printing per-packet timestamp
98- Properly handle exceptions thrown by `lp::Packet::wireDecode()` (Issue #3943)
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -040099- Add UDP port 56363 to the default pcap filter
100- Stricter parsing of IP/TCP/UDP headers
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400101- Add IPv6 support
102- Code cleanup
103
104poke:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400105- Use `Face::unsetInterestFilter` instead of `shutdown` (Issue #4642)
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400106- Improve unit testing (Issue #3740)
107
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400108ping:
109- Add `--quiet` option to ndnpingserver (Issue #4673)
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400110- Set `CanBePrefix=false` in Interests sent by ndnping (Issue #4581)
Alexander Afanasyeva8b03df2018-09-16 21:06:07 -0400111- Code cleanup
112
Davide Pesavento4a43e872018-05-03 22:10:56 -0400113## Version 0.6.1
114
115chunks:
116- Show correct packet loss stats in final summary (Issue #4437)
117- Avoid printing meaningless values when no RTT measurements are available (Issue #4551)
118
119dissect:
120- Recognize `CanBePrefix`, `HopLimit`, and `Parameters` TLV elements (Issue #4590)
121
122dissect-wireshark:
123- Recognize `CanBePrefix`, `HopLimit`, and `Parameters` TLV elements (Issue #4517)
124
125peek:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400126- Drop `Selectors` support (Issue #4571)
Davide Pesavento4a43e872018-05-03 22:10:56 -0400127- Add `-P/--prefix` option to set `CanBePrefix` in the Interest packet
128
129build scripts:
130- Upgrade `waf` to the latest version and other improvements
131
susmit48cb0b62018-02-13 12:27:24 -0700132## Version 0.6
133
134chunks:
Davide Pesavento4a43e872018-05-03 22:10:56 -0400135- Change the default Interest pipeline to AIMD (Issue #4402)
136- Include RTT stats in final summary (Issue #4406)
137- Respect `--retries=-1` in the AIMD pipeline (Issue #4409)
138- React to congestion marks by default as a timeout event (can be disabled using
139 `--aimd-ignore-cong-marks`) (Issue #4289)
140- Print a final summary of the transfer regardless of the pipeline type, and even if
141 `--verbose` was not specified (Issue #4421)
susmit48cb0b62018-02-13 12:27:24 -0700142
Alexander Afanasyeveacd6172017-10-16 16:40:31 -0400143## Version 0.5
144
145all:
146- Switch to version 2 of certificates, `KeyChain`, and `Validator` (Issue #4089)
147- Compilation fixes (Issue #4259)
148
149peek:
150- Convert use of `Link` into `ForwardingHint` (Issue #4055)
151
152chunks:
153- Make `ndnputchunks` display some output by default. A new `-q` flag makes output
154 completely silent, except for errors (Issue #4286)
155- Refactor `ndnputchunks` options handling
156- Reduce initial timeout of iterative version discovery in `ndncatchunks` (Issue #4291)
157- Fix potential `ndncatchunks` crash on exit
158
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000159## Version 0.4
160
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400161As of this version, NDN Essential Tools require a modern compiler (gcc >= 4.8.2, clang >= 3.4)
162and a relatively new version of the Boost libraries (>= 1.54). This means that the code no
163longer compiles with the packaged version of gcc and Boost libraries on Ubuntu 12.04.
164NDN Essential Tools can still be compiled on such systems, but require a separate
165installation of a newer version of the compiler (e.g., clang-3.4) and dependencies.
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000166
167chunks:
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400168- Change default version discovery to iterative
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000169- Improve help text of `ndnputchunks`
170- Fix `DiscoverVersionIterative` build error
171- Modularize Interest pipeline implementation
172- Add AIMD congestion control (Issue #3636)
173- Code cleanup and improvements
174
175dissect-wireshark:
176- Add initial support for NDNLPv2 (Issue #3197)
177- Fix potential memory overflow
178
179dump:
180- Add support for Linux cooked-mode capture (SLL) (Issue #3061)
181- Improve error messages
182
183pib:
184- Disable by default (can be compiled with ndn-cxx version 0.5.0)
185- Fix compilation error with new version of ndn-cxx library
186- Avoid use of deprecated block helpers
187- Correct build target path
188
189ping:
190- Recognize and trace NACK
Davide Pesavento4a43e872018-05-03 22:10:56 -0400191- Fix potential divide-by-zero bug in `StatisticsCollector` (Issue #3504)
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000192
193peek:
194- Recognize and properly handle NACK
195- Refactor implementation
196
197## Version 0.3
198
199chunks: **New** (pair of) tool(s) for segmented file transfer
200
201peek:
202- Allow verbose output
203- Switch from `getopt` to `boost::program_options`
204- Add `--link-file` option
205
206ping:
207- Document ndnping protocol
208
209dump:
210- Capture and print network NACK packets
211- Update docs to include NACK capture feature
212
213build scripts:
Davide Pesavento4a43e872018-05-03 22:10:56 -0400214- Enable `-Wextra` by default
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000215- Fix missing tool name in `configure --help` output
216- Fix compatibility with Python 3
217
218## Version 0.2
219
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400220Code improvements and two new tools:
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000221
222- PIB service to manage the public information of keys and publish certificates
223 (Issue 3018)
224- A Wireshark dissector for NDN packets (Issue 3092)
225
226## Version 0.1
227
228Initial release of NDN Essential Tools, featuring:
229
230- ndnpeek, ndnpoke: a pair of programs to request and make available for
Davide Pesavento6cc1dfb2019-04-27 14:10:56 -0400231 retrieval a single Data packet.
232- ndnping, ndnpingserver: reachability testing tools for Named Data Networking.
233- ndndump: a traffic analysis tool that captures NDN packets on the wire.
Alexander Afanasyev339161a2016-10-27 22:41:16 +0000234- ndn-dissect: an NDN packet format inspector. It reads zero or more NDN
235 packets from either an input file or the standard input, and displays the
236 Type-Length-Value (TLV) structure of those packets on the standard output.