blob: fcc66ebd5607a8cb01ba8078d1fd07fe98245413 [file] [log] [blame]
Ashlesh Gawande6c86e302019-09-17 22:27:05 -05001Release Notes
2=============
3
awlane73add712024-08-12 21:49:00 -05004Mini-NDN version 0.7.0 (Major changes since version 0.6.0)
5----------------------------------------------------------
6
7**Breaking Changes**:
8
9- Install behavior regarding existing installation of dependencies has been reversed; by default, these are now ignored. This is meant
10 to clear up confusion regarding installing on existing installs which have been used for NDN development previously. The previous
Davide Pesavento750d0402025-02-25 16:50:50 -050011 behavior can be enabled using ``--use-existing``.
awlane73add712024-08-12 21:49:00 -050012
13**New features**:
14
Davide Pesavento750d0402025-02-25 16:50:50 -050015- Added ``NFDCBatch`` to NFDC helper, which allows the user to use the existing NFDC wrapper API to instead create and execute a batch file.
16 When running large numbers of commands, this significantly speeds up performance due to not needing to add delay between individual CLI calls.
17- Added ``MinindnAdhoc`` class which can be used to construct adhoc Mini-NDN-Wifi networks from topology files.
awlane73add712024-08-12 21:49:00 -050018- Model mobility parameters can now also be passed to Mini-NDN-Wifi via topology files.
Davide Pesavento750d0402025-02-25 16:50:50 -050019- Working directory can be passed as constructor argument to ``Minindn`` objects.
20- We have added a new ``--release`` flag to the installer which simplifies installing matching releases of dependencies.
21 Reference the :doc:`install documentation <install>` for more information.
22- Experimental WiFi support for NLSR helper.
23 See the :doc:`experiment docs <experiment>` for details (`issue: 5232 <https://redmine.named-data.net/issues/5232>`__)
awlane73add712024-08-12 21:49:00 -050024- Added a Dockerfile for Mini-NDN. A prebuilt image for *linux/amd64* platforms is available on the
Davide Pesavento750d0402025-02-25 16:50:50 -050025 `GitHub container registry <https://github.com/named-data/mini-ndn/pkgs/container/mini-ndn>`__.
26- The previous testbed topology generation script has been deprecated and removed.
27 Please reference the `NDN Play website <https://play.ndn.today/?testbed=1>`__ for a replacement.
awlane73add712024-08-12 21:49:00 -050028
29**Improvements**:
30
31- Ethernet unicast faces are now supported natively by NLSR wrapper, NFDC wrapper, and NDN routing helper. No additional formatting by the user is needed
32 for ethernet addresses extracted from the Mininet API when passed to these functions (`issue: 5321 <https://redmine.named-data.net/issues/5232>`__)
Davide Pesavento750d0402025-02-25 16:50:50 -050033- ``NdnRoutingHelper`` has been parallelized along with minor optimizations. You can now also use it to create
awlane73add712024-08-12 21:49:00 -050034 permanent faces (`issue: 5264 <https://redmine.named-data.net/issues/5264>`__)
Davide Pesavento750d0402025-02-25 16:50:50 -050035- ``checkConvergence`` method of ``Experiment`` helper can now output more detailed information when flag ``returnConvergenceInfo`` is set
awlane73add712024-08-12 21:49:00 -050036 (`issue: 5236 <https://redmine.named-data.net/issues/5236>`__)
Davide Pesavento750d0402025-02-25 16:50:50 -050037- ``getPopen`` can now accept commands formatted as lists as well as strings
38- We now natively edit ``nfd.conf`` files using infoconv to read and write it as json rather than calling infoedit at the shell
awlane73add712024-08-12 21:49:00 -050039 (`issue: 5318 <https://redmine.named-data.net/issues/5318>`__)
40- Added Sprint PoP topology
Davide Pesavento750d0402025-02-25 16:50:50 -050041- Link bandwidth value (``bw``) can now be specified as decimal megabits rather than only integers in topology files
42- NFDC was significantly refactored for the ``NFDCBatch`` change.
awlane73add712024-08-12 21:49:00 -050043
44**Bug fixes**:
45
46- NFDC helper properly supports existing faces and no longer outputs unnecessary error messages if face exists by default.
47- Fixed out of date ndnsec commands
Davide Pesavento750d0402025-02-25 16:50:50 -050048- Socket path now defaults to NFD default as of release 24.07. You can specify a different path with the ``defaultSocketLocation``
49 argument in the ``Nfd`` object constructor (`issue: 5309 <https://redmine.named-data.net/issues/5309>`__)
awlane73add712024-08-12 21:49:00 -050050- Fixed jitter being parsed into incorrect type from topology files
Davide Pesavento750d0402025-02-25 16:50:50 -050051- Moved vestigial CLI arguments relating to ``wifi_ping.py`` example out of the Mini-NDN-Wifi class
awlane73add712024-08-12 21:49:00 -050052
53
dulalsaurab90faa582021-12-19 21:08:01 +000054Mini-NDN version 0.6.0 (Major changes since version 0.5.0)
55----------------------------------------------------------
56
57**Breaking Changes**:
58
59- Rewrite install script (`issue: 4630 <https://redmine.named-data.net/issues/4630>`__)
60
61 - Set dependency versions: PPA, git repository & commit
62 - Separate download and build+install steps
63 - Don't reinstall package if it's already installed
Davide Pesavento750d0402025-02-25 16:50:50 -050064 - More details :doc:`here <install>`
dulalsaurab90faa582021-12-19 21:08:01 +000065
66- `Note: <https://redmine.named-data.net/issues/5161>`__ We have dropped support for python 2, the latest Mini-NDN requires at least python 3.0
67
68**New features**:
69
70- Update Mini-NDN codebase with Mini-NDN-Wifi code (`issue: 4858 <https://redmine.named-data.net/issues/4858>`__)
71
72- Provide pre-built Mini-NDN Vagrant box and Docker container
73
74- Added several new examples:
75
76 - consumer/producer
77 - ndnping
78 - traffic generator
79 - catchunks/putchunks
80
81- Allow for creation of net object without topology (`issue: 5162 <https://redmine.named-data.net/issues/5162>`__)
82
83**Improvements and Bug Fixes**:
84
85- Support running NDN applications on mixed topologies (`issue: 5160 <https://redmine.named-data.net/issues/5160>`__)
86
Davide Pesavento750d0402025-02-25 16:50:50 -050087- Support route addition using face-id in ``Nfdc`` helper (`issue: 5130 <https://redmine.named-data.net/issues/5130>`__)
dulalsaurab90faa582021-12-19 21:08:01 +000088
Davide Pesavento750d0402025-02-25 16:50:50 -050089- Add wrapper for ndnpingserver and fix passing the Mininet host object as a prefix on ndnpingclient
dulalsaurab90faa582021-12-19 21:08:01 +000090
Davide Pesavento750d0402025-02-25 16:50:50 -050091- Show status of route calculation in ``NdnRoutingHelper``
dulalsaurab90faa582021-12-19 21:08:01 +000092
Davide Pesavento750d0402025-02-25 16:50:50 -050093- Incorporate changes of ``NDNPing`` Class (wrapper of pingserver and pingclient) in the examples
dulalsaurab90faa582021-12-19 21:08:01 +000094
95- Support simple topology files with no additional parameters
96
97
Saurab Dulal576a4192020-08-25 00:55:22 -050098Mini-NDN version 0.5.0 (Major changes since version 0.4.0)
99----------------------------------------------------------
100
101**Breaking Changes**:
102
103- `Mini-NDN re-design <https://redmine.named-data.net/issues/5062>`__: simple and robust design with better quality, control, and more consistency with Mininet
104
105**New features**:
106
107- Add a script to generate up-to-date NDN testbed topologies for Mini-NDN
108
109- Add Mini-NDN utility application for PCAP logging
110
111- Add NDN routing helper to compute centralized LS and HR routes
112
113- Add routing helper to allow IP communication in experiments
114
115- Add startup experiments for NLSR and current testbed topology
116
117- Move the NDNPing wrapper method to a helper class
118
119- Create a helper class to provide a wrapper around ``nfdc``
120
121**Improvements and Bug Fixes**:
122
Davide Pesavento750d0402025-02-25 16:50:50 -0500123- Change ``workDir`` and ``resultDir`` to be class attribute
Saurab Dulal576a4192020-08-25 00:55:22 -0500124
125- Quiet apt install for Vagrant
126
127- Fix route computation bug in ``ndn_routing_helper``
128
129- Fix overwriting of existing prefixes in ``ndn_routing_helper``
130
Davide Pesavento750d0402025-02-25 16:50:50 -0500131- Move log files to ``resultDir`` after evaluation finishes
Saurab Dulal576a4192020-08-25 00:55:22 -0500132
133- Check for duplicate HR coordinates in the topology file
134
135- Check PSync integration and add a tests case for it
136
137- Bug fixes in nfdc and experiments
138
139- Added functionality to check Mini-NDN dependencies
140
141- Parser fix to avoid an infinite loop
142
143- Allow use of NFD and NLSR PPA with Mini-NDN
144
145- Remove arbitrary arguments in favor of parsing arguments from experiment files
146
147- Auto-complete command-line arguments
148
149- Add option to set CS size
150
151- Adjust to use ndn-cxx logging
152
153
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500154Mini-NDN version 0.4.0 (changes since version 0.3.0)
155----------------------------------------------------
156
157Release date: January 10, 2018
158
159**New features**:
160
161- Use SIGQUIT to quit Mini-NDN, SIGINT to kill programs
162
163- Use Infoedit to edit NFD and NLSR configuration files
164
Davide Pesavento750d0402025-02-25 16:50:50 -0500165- Use ``nlsr.conf`` installed in the system
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500166
167- Provide a Vagrantfile to setup Mini-NDN and NDN
168
169- Provide option to disable NLSR
170
171- Provide an option to run NLSR in dry-run mode
172
Davide Pesavento750d0402025-02-25 16:50:50 -0500173- Add option to specify whether to use TCP or UDP face in ``nlsr.conf``
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500174
175- Add option to specify arbitrary arguments to use in experiments
176
177- Include a single option to install Mini-NDN and all the dependencies
178
179**Bug fixes**:
180
181- Fix "key does not exist error" after NLSR starts
182
183- Update install.sh to call ldconfig after installing ChronoSync
184
185- Add hyperbolic coordinates to default topology
186
187**Misc changes**:
188
189- Add an experiment to test nlsrc
190
191- Create faces in NFD for each neighbor in NLSR
192
193- Update to latest ndn-cxx
194
Davide Pesavento750d0402025-02-25 16:50:50 -0500195- Use ``/tmp/minindn`` folder as default work dir instead of ``/tmp``
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500196
197Mini-NDN version 0.3.0 (changes since version 0.2.0)
198----------------------------------------------------
199
200Release date: March 3, 2017
201
202**New features**:
203
204- Mini-NDN cluster edition
205
206- New experiments for making NLSR testing easier
207
208**Bug fixes**:
209
210- Set site name correctly
211
212- Install missing certificates in NLSR security config
213
214- Fix quitting of NLSR due to key not found error
215
216**Misc changes**:
217
Davide Pesavento750d0402025-02-25 16:50:50 -0500218- Removed ``nlsr.conf`` file, generate it within the code
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500219
220- Use argparse instead of deprecated optparse
221
222- Update security config section for NLSR
223
224- Change mininet prompt to mini-ndn
225
226- Set network name at one place
227
Davide Pesavento750d0402025-02-25 16:50:50 -0500228- Update ``install.sh`` script to install openssl
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500229
Davide Pesavento750d0402025-02-25 16:50:50 -0500230- Update ``install.sh`` script to install cryptopp from package instead of
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500231 compiling from source
232
Davide Pesavento750d0402025-02-25 16:50:50 -0500233- Update ``install.sh`` to clean build folder every time to get rid of
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500234 removed files such as old experiments
235
Davide Pesavento750d0402025-02-25 16:50:50 -0500236- Fix old code - use ``net.hosts`` instead of storing hosts in a variable
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500237
238- Use nfdc instead of deprecated nfd-status
239
240Mini-NDN version 0.2.0 (changes since version 0.1.1)
241----------------------------------------------------
242
243Release date: August 18, 2016
244
245**New features**:
246
247- Automatic security configuration for NLSR
248
Davide Pesavento750d0402025-02-25 16:50:50 -0500249- Use ``/usr/local/etc/ndn/nfd.conf`` as default config file for NFD
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500250
Davide Pesavento750d0402025-02-25 16:50:50 -0500251- Class to monitor ``/proc/$PID/stat`` file for PID
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500252
253- Mini-NDN exits gracefully on SIGINT and non-convergence
254
Davide Pesavento750d0402025-02-25 16:50:50 -0500255- Faster Mini-NDN install script - does not do ``apt-get update`` every time
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500256
Davide Pesavento750d0402025-02-25 16:50:50 -0500257- NLSR is launched with explicit config file for easier process identification
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500258
259- Add and update more documentation
260
261**Bug fixes**:
262
263- NFD is killed correctly on exit
264
265- Best route strategy is set correctly
266
267Mini-NDN version 0.1.1 (changes since version 0.1.0)
268----------------------------------------------------
269
270Release date: November 4, 2015
271
272**New features**:
273
Davide Pesavento750d0402025-02-25 16:50:50 -0500274- Use ``nfd.conf.sample`` from currently installed NFD
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500275
Davide Pesavento750d0402025-02-25 16:50:50 -0500276- Add working directory option to allow execution environment outside of ``/tmp``
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500277
Davide Pesavento750d0402025-02-25 16:50:50 -0500278- Add results directory option to store experiment results after completion
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500279
280- Add support for switches in GUI and configuration file
281
282- Add failNode and recoverNode methods to Experiment class
283
284- Add most connected node (MCN) failure experiment
285
286- Add option to specify percentage of nodes pinged
287
288**Code changes**:
289
290- Refactor program options into container class
291
292- Remove unused "FIB Entries" option from NDN host options
293
294**Bug fixes**:
295
296- Abort start up if experiment name is invalid
297
298- Restart pings after recovery in failure experiment
299
300Mini-NDN version 0.1.0 (initial release)
301----------------------------------------
302
303Release date: July 15, 2015
304
305Mini-NDN is a lightweight networking emulation tool that enables
306testing, experimentation, and research on the NDN platform. Based on
307Mininet, Mini-NDN uses the NDN libraries, NFD, NLSR, and tools released
Davide Pesavento750d0402025-02-25 16:50:50 -0500308by the `NDN project <https://named-data.net/codebase/platform/>`__ to
Ashlesh Gawande6c86e302019-09-17 22:27:05 -0500309emulate an NDN network on a single system.
310
311**Included features**:
312
313- Run a complete NDN network on a single system
314
315- Automatic configuration of NLSR to provide a routable NDN network
316
317- Supports user created NDN applications
318
319- Create a topology using the included Mini-NDN Edit GUI application
320
321- Allows individual configuration of NFD and NLSR parameters for each
322 node
323
324- Provides an experiment management framework for easy creation of
325 custom networking experiments
326
327- Uses a simple topology file format to define hosts, links, and
328 configuration values
329
330- Configure network link parameters including bandwidth, delay, and
331 loss rate
332
333- Includes a pre-configured topology file to replicate the NDN testbed