977 lines
48 KiB
Markdown
977 lines
48 KiB
Markdown
## 2023-08-01 CORE 9.0.3
|
|
|
|
* Installation
|
|
* updated various dependencies
|
|
* Documentation
|
|
* improved GUI docs to include node interaction and note xhost usage
|
|
* \#780 - fixed gRPC examples
|
|
* \#787 - complete documentation revamp to leverage mkdocs material
|
|
* \#790 - fixed custom emane model example
|
|
* core-daemon
|
|
* update type hinting to avoid deprecated imports
|
|
* updated commands ran within docker based nodes to have proper environment variables
|
|
* fixed issue improperly setting session options over gRPC
|
|
* \#668 - add fedora sbin path to frr service
|
|
* \#774 - fixed pcap configservice
|
|
* \#805 - fixed radvd configservice template error
|
|
* core-gui
|
|
* update type hinting to avoid deprecated imports
|
|
* fixed issue allowing duplicate named hook scripts
|
|
* fixed issue joining sessions with RJ45 nodes
|
|
* utility scripts
|
|
* fixed issue in core-cleanup for removing devices
|
|
|
|
## 2023-03-02 CORE 9.0.2
|
|
|
|
* Installation
|
|
* updated python dependencies, including invoke to resolve python 3.10+ issues
|
|
* improved example dockerfiles to use less space for built images
|
|
* Documentation
|
|
* updated emane install instructions
|
|
* added Docker related issues to install instructions
|
|
* core-daemon
|
|
* fixed issue using invalid device name in sysctl commands
|
|
* updated PTP nodes to properly disable mac learning for their linux bridge
|
|
* fixed issue for LXC nodes to properly use a configured image name and write it to XML
|
|
* \#742 - fixed issue with bad wlan node id being used
|
|
* \#744 - fixed issue not properly setting broadcast address
|
|
* core-gui
|
|
* fixed sample1.xml to remove SSH service
|
|
* fixed emane demo examples
|
|
* fixed issue displaying emane configs generally configured for a node
|
|
|
|
## 2022-11-28 CORE 9.0.1
|
|
|
|
* Installation
|
|
* updated protobuf and grpcio-tools versions in pyproject.toml to account for bad version mix
|
|
|
|
## 2022-11-18 CORE 9.0.0
|
|
|
|
* Breaking Changes
|
|
* removed session nodes file
|
|
* removed session state file
|
|
* emane now runs in one process per nem with unique control ports
|
|
* grpc client has been refactored and updated
|
|
* removed tcl/legacy gui, imn file support and the tlv api
|
|
* link configuration is now different, but consistent, for wired links
|
|
* Installation
|
|
* added packaging for single file distribution
|
|
* python3.9 is now the minimum required version
|
|
* updated Dockerfile examples
|
|
* updated various python dependencies
|
|
* virtual environment is now installed to /opt/core/venv
|
|
* Documentation
|
|
* updated emane invoke task examples
|
|
* revamped install documentation
|
|
* added wireless node notes
|
|
* core-gui
|
|
* updated config services to display rendered templated and allow editing
|
|
* fixed node icon issue when updating preferences
|
|
* \#89 - throughput widget now works for hubs/switches
|
|
* \#691 - fixed custom nodes to properly use config services
|
|
* gRPC API
|
|
* add linked call to support linking and unlinking interfaces without destroying them
|
|
* fixed issue during start session clearing out session options
|
|
* added call to get rendered config service files
|
|
* removed get_node_links from links from client
|
|
* nem id and nem port have been added to GetNode and AddLink calls
|
|
* core-daemon
|
|
* wired links always create two veth pairs joined by a bridge
|
|
* node interfaces are now configured within the container to apply to outgoing traffic
|
|
* session.add_node now uses NodeOptions, allowing for node specific options
|
|
* fixed issue with xml reading node canvas values
|
|
* removed Session.add_node_file
|
|
* fixed get requirements logic
|
|
* fixed docker/lxd node support terminal commands on remote servers
|
|
* improved docker node command execution time using nsenter
|
|
* new wireless node type added to support dynamic loss based on distance
|
|
* \#513 - add and deleting distributed links during runtime is now supported
|
|
* \#703 - fixed issue not starting emane event listening service
|
|
|
|
## 2022-03-21 CORE 8.2.0
|
|
|
|
* core-gui
|
|
* improved failed starts to trigger runtime to allow node investigation
|
|
* core-daemon
|
|
* improved default service loading to use a full import path
|
|
* updated session instantiation to always set to a runtime state
|
|
* core-cli
|
|
* \#672 - fixed xml loading
|
|
* \#578 - restored json flag and added geo output to session overview
|
|
* Documentation
|
|
* updated emane example and documentation
|
|
* improved table markdown
|
|
|
|
## 2022-02-18 CORE 8.1.0
|
|
|
|
* Installation
|
|
* updated dependency versions to account for known vulnerabilities
|
|
* GUI
|
|
* fixed issue drawing asymmetric link configurations when joining a session
|
|
* daemon
|
|
* fixed issue getting templates and creating files for config services
|
|
* added by directional support for network to network links
|
|
* \#647 - fixed issue when creating RJ45 nodes
|
|
* \#646 - fixed issue when creating files for Docker nodes
|
|
* \#645 - improved wlan change updates to account for all updates with no delay
|
|
* services
|
|
* fixed file generation for OSPFv2 config service
|
|
|
|
## 2022-01-12 CORE 8.0.0
|
|
|
|
*Breaking Changes
|
|
* heavily refactored gRPC client, removing some calls, adding others, all using type hinted classes representing their protobuf counterparts
|
|
* emane adjustments to run each nem in its own process, includes adjustments to configuration, which may cause issues
|
|
* internal daemon cleanup and refactoring, in a script directly driving a scenario is used
|
|
* Installation
|
|
* added options to allow installation without ospf mdr
|
|
* removed tasks that are no longer needed
|
|
* updates to properly install/remove example files
|
|
* pipx/poetry/invoke versions are now locked to help avoid update related issues
|
|
* install.sh is now setup.sh and is a convenience to get tool setup to run invoke
|
|
* Documentation
|
|
* formally added notes for Docker and LXD based node types
|
|
* added config services
|
|
* Updated README to have quick notes for installation
|
|
* \#563 - update to note how to enable core service
|
|
* Examples
|
|
* \#598 - update to fix sample1.imn to working order
|
|
* core-daemon
|
|
* emane global configuration is now configurable per nem
|
|
* fixed wlan loss to support float values
|
|
* improved default service loading to use full core path
|
|
* improved emane model loading to occur one time
|
|
* fixed handling rj45 link edits from tlv api
|
|
* fixed wlan config getting a default value for the promiscuous setting when not provided
|
|
* ebtables usage has now been replaced with nftables
|
|
* \#564 - logging is now using module named loggers
|
|
* \#573 - emane processes are not created 1 to 1 with nems
|
|
* \#608 - update lxml version
|
|
* \#609 - update pyyaml version
|
|
* \#623 - fixed issue with ovs mode and mac learning
|
|
* core-gui
|
|
* config services are now the default service type
|
|
* legacy services are marked as deprecated
|
|
* fix to properly load session options
|
|
* logging is now using module named loggers
|
|
* save as will not update the current session file name as expected
|
|
* fix to properly clear out removed customized services
|
|
* adding directories to a service that do not exist, is now valid
|
|
* added flag to exit after creating gui directory from command line
|
|
* added new options to enable/disable ip4/ip6 assignment
|
|
* improved canvas draw order, when joining sessions
|
|
* improved node copy/paste to avoid issues when pasting text into service config dialogs
|
|
* each canvas will not correctly save and load their size from xml
|
|
* gRPC API
|
|
* session options are now returned for GetSession
|
|
* fixed issue not properly creating the session directory during start session definition state
|
|
* updates to separate editing a node and moving a node, new MoveNode call added, EditNode is now used for editing icons
|
|
* Services
|
|
* fixed default route config service
|
|
* config services now have options for shadowing directories, including per node customization
|
|
|
|
## 2021-09-17 CORE 7.5.2
|
|
|
|
* Installation
|
|
* \#596 - fixes issue related to installing poetry by pinning version to 1.1.7
|
|
* updates pipx installation to pinned version 0.16.4
|
|
* core-daemon
|
|
* \#600 - fixes known vulnerability for pillow dependency by updating version
|
|
|
|
## 2021-04-15 CORE 7.5.1
|
|
|
|
* core-pygui
|
|
* fixed issues creating and drawing custom nodes
|
|
|
|
## 2021-03-11 CORE 7.5.0
|
|
|
|
* core-daemon
|
|
* fixed issue setting mobility loop value properly
|
|
* fixed issue that some states would not properly remove session directories
|
|
* \#560 - fixed issues with sdt integration for mobility movement and layer creation
|
|
* core-pygui
|
|
* added multiple canvas support
|
|
* added support to hide nodes and restore them visually
|
|
* update to assign full netmasks to wireless connected nodes by default
|
|
* update to display services and action controls for nodes during runtime
|
|
* fixed issues with custom nodes
|
|
* fixed issue auto assigning macs, avoiding duplication
|
|
* fixed issue joining session with different netmasks
|
|
* fixed issues when deleting a session from the sessions dialog
|
|
* \#550 - fixed issue not sending all service customization data
|
|
* core-cli
|
|
* added delete session command
|
|
|
|
## 2021-01-11 CORE 7.4.0
|
|
|
|
* Installation
|
|
* fixed issue for automated install assuming ID_LIKE is always present in /etc/os-release
|
|
* gRPC API
|
|
* fixed issue stopping session and not properly going to data collect state
|
|
* fixed issue to have start session properly create a directory before configuration state
|
|
* core-pygui
|
|
* fixed issue handling deletion of wired link to a switch
|
|
* avoid saving edge metadata to xml when values are default
|
|
* fixed issue editing node mac addresses
|
|
* added support for configuring interface names
|
|
* fixed issue with potential node names to allow hyphens and remove under bars
|
|
* \#531 - fixed issue changing distributed nodes back to local
|
|
* core-daemon
|
|
* fixed issue to properly handle deleting links from a network to network node
|
|
* updated xml to support writing and reading link buffer configurations
|
|
* reverted change and removed mac learning from wlan, due to promiscuous like behavior
|
|
* fixed issue creating control interfaces when starting services
|
|
* fixed deadlock issue when clearing a session using sdt
|
|
* \#116 - fixed issue for wlans handling multiple mobility scripts at once
|
|
* \#539 - fixed issue in udp tlv api
|
|
|
|
## 2020-12-02 CORE 7.3.0
|
|
|
|
* core-daemon
|
|
* fixed issue where emane global configuration was not being sent to core-gui
|
|
* updated controlnet names on host to be prefixed with ctrl
|
|
* fixed RJ45 link shutdown from core-gui causing an error
|
|
* fixed emane external transport xml generation
|
|
* \#517 - update to account for radvd required directory
|
|
* \#514 - support added for session specific environment files
|
|
* \#529 - updated to configure netem limit based on delay or user specified, requires kernel 3.3+
|
|
* core-pygui
|
|
* fixed issue drawing wlan/emane link options when it should not have
|
|
* edge labels are now placed a set distance from nodes like original gui
|
|
* link color/width are now saved to xml files
|
|
* added support to configure buffer size for links
|
|
* \#525 - added support for multiple wired links between the same nodes
|
|
* \#526 - added option to hide/show links with 100% loss
|
|
* Documentation
|
|
* \#527 - typo in service documentation
|
|
* \#515 - added examples to docs for using EMANE features within a CORE context
|
|
|
|
## 2020-09-29 CORE 7.2.1
|
|
|
|
* core-daemon
|
|
* fixed issue where shutting down sessions may not have removed session directories
|
|
* fixed issue with multiple emane interfaces on the same node not getting the right configuration
|
|
* Installation
|
|
* updated automated install to be a bit more robust for alternative distros
|
|
* added force install type to try and leverage a redhat/debian like install
|
|
* locked ospf mdr version installed to older commit to avoid issues with multiple interfaces on same node
|
|
|
|
## 2020-09-15 CORE 7.2.0
|
|
|
|
* Installation
|
|
* locked down version of ospf-mdr installed in automated install
|
|
* locked down version of emane to v1.2.5 in automated emane install
|
|
* added option to install locally using the -l option
|
|
* core-daemon
|
|
* improve error when retrieving services that do not exist, or failed to load
|
|
* fixed issue with writing/reading emane node interface configurations to xml
|
|
* fixed issue with not setting the emane model when creating a node
|
|
* added common utility method for getting a emane node interface config id in core.utils
|
|
* fixed issue running emane on more than one interface for a node
|
|
* fixed issue validating paths when creating emane transport xml for a node
|
|
* fixed issue avoiding multiple calls to shutdown, if already in shutdown state
|
|
* core-pygui
|
|
* fixed issue configuring emane for a node interface
|
|
* gRPC API
|
|
* added wrapper client that can provide type hinting and a simpler interface at core.api.grpc.clientw
|
|
* fixed issue creating sessions that default to having a very large reference scale
|
|
* fixed issue with GetSession returning control net nodes
|
|
|
|
## 2020-08-21 CORE 7.1.0
|
|
|
|
* Installation
|
|
* added core-python script that gets installed to help globally reference the virtual environment
|
|
* gRPC API
|
|
* GetSession will now return all configuration information for a session and the file it was opened from, if applicable
|
|
* node update events will now include icon information
|
|
* fixed issue with getting session throughputs for sessions with a high id
|
|
* core-daemon
|
|
* \#503 - EMANE networks will now work with mobility again
|
|
* \#506 - fixed service dependency resolution issue
|
|
* fixed issue sending hooks to core-gui when joining session
|
|
* core-pygui
|
|
* fixed issues editing hooks
|
|
* fixed issue with cpu usage when joining a session
|
|
* fixed mac field not being disabled during runtime when configuring a node
|
|
* removed unlimited button from link config dialog
|
|
* fixed issue with copy/paste links and their options
|
|
* fixed issue with adding nodes/links and editing links during runtime
|
|
* updated open file dialog in config dialogs to open to ~/.coregui home directory
|
|
* fixed issue double clicking sessions dialog in invalid areas
|
|
* added display of asymmetric link options on links
|
|
* fixed emane config dialog display
|
|
* fixed issue saving backgrounds in xml files
|
|
* added view toggle for wired/wireless links
|
|
* node events will now update icons
|
|
|
|
## 2020-07-28 CORE 7.0.1
|
|
|
|
* Bugfixes
|
|
* \#500 - fixed issue running node commands with shell=True
|
|
* fixed issue for poetry based install not properly vetting requirements for dataclasses dependency
|
|
|
|
## 2020-07-23 CORE 7.0.0
|
|
|
|
* Breaking Changes
|
|
* core.emudata and core.data combined and cleaned up into core.data
|
|
* updates to consistently use mac instead of hwaddr/mac
|
|
* \#468 - code related to adding/editing/deleting links cleaned up
|
|
* \#469 - usages of per all changed to loss to be consistent
|
|
* \#470 - variables with numbered names now use numbers directly
|
|
* \#471 - node startup is no longer embedded within its constructor
|
|
* \#472 - code updated to refer to interfaces consistently as iface
|
|
* \#475 - code updates changing how ip addresses are stored on interfaces
|
|
* \#476 - executables to check for moved into own module core.executables
|
|
* \#486 - core will now install into its own python virtual environment managed by poetry
|
|
* core-daemon
|
|
* updates to properly save/load distributed servers to xml
|
|
* \#474 - added type hinting to all service files
|
|
* \#478 - fixed typo in config service directory
|
|
* \#479 - opening an xml file will now cycle through states like a normal session
|
|
* \#480 - ovs configuration will now save/load from xml and display in guis
|
|
* \#484 - changes to support adding emane links during runtime
|
|
* core-pygui
|
|
* fixed issue not displaying services for the default group in service dialogs
|
|
* fixed issue starting a session when the daemon is not present
|
|
* fixed issue attempting to open terminals for invalid nodes
|
|
* fixed issue syncing session location
|
|
* fixed issue joining a session with mobility, not in runtime
|
|
* added cpu usage monitor to status bar
|
|
* emane configurations can now be seen during runtime
|
|
* rj45 nodes can only have one link
|
|
* disabling throughputs will clear labels
|
|
* improvements to custom service copy
|
|
* link options will now be drawn on as a label
|
|
* updates to handle runtime link events
|
|
* \#477 - added optional details pane for a quick view of node/link details
|
|
* \#485 - pygui fixed observer widget for invalid nodes
|
|
* \#496 - improved alert handling
|
|
* core-gui
|
|
* \#493 - increased frame size to show all emane configuration options
|
|
* gRPC API
|
|
* added set session user rpc
|
|
* added cpu usage stream
|
|
* interface objects returned from get_node will now provide node_id, net_id, and net2_id data
|
|
* peer to peer nodes will not be included in get_session calls
|
|
* pathloss events will now throw an error when nem id not found
|
|
* \#481 - link rpc calls will broadcast out
|
|
* \#496 - added alert rpc call
|
|
* Services
|
|
* fixed issue reading files in security services
|
|
* \#494 - add staticd to daemons list for frr services
|
|
|
|
## 2020-06-11 CORE 6.5.0
|
|
* Breaking Changes
|
|
* CoreNode.newnetif - both parameters are required and now takes an InterfaceData object as its second parameter
|
|
* CoreNetworkBase.linkconfig - now takes a LinkOptions parameter instead of a subset of some of the options (ie bandwidth, delay, etc)
|
|
* \#453 - Session.add_node and Session.get_node now requires the node class you expect to create/retrieve
|
|
* \#458 - rj45 cleanup to only inherit from one class
|
|
* Enhancements
|
|
* fixed issues with handling bad commands for TLV execute messages
|
|
* removed unused boot.sh from CoreNode types
|
|
* added linkconfig to CoreNetworkBase and cleaned up function signature
|
|
* emane position hook now saves geo position to node
|
|
* emane pathloss support
|
|
* core.emulator.emudata leveraged dataclass and type hinting
|
|
* \#459 - updated transport type usage to an enum
|
|
* \#460 - updated network policy type usage to an enum
|
|
* Python GUI Enhancements
|
|
* fixed throughput events do not work for joined sessions
|
|
* fixed exiting app with a toolbar picker showing
|
|
* fixed issue with creating interfaces and reusing subnets after deletion
|
|
* fixed issue with moving text shapes
|
|
* fixed scaling with custom node selected
|
|
* fixed toolbar state switching issues
|
|
* enable/disable toolbar when running stop/start
|
|
* marker config integrated into toolbar
|
|
* improved color picker layout
|
|
* shapes can now be moved while drawing shapes
|
|
* added observers to toolbar in run mode
|
|
* gRPC API
|
|
* node events will now have geo positional data
|
|
* node geo data is now returned in get_session and get_node calls
|
|
* \#451 - added wlan link api to allow direct linking/unlinking of wireless links between nodes
|
|
* \#462 - added streaming call for sending node position/geo changes
|
|
* \#463 - added streaming call for emane pathloss events
|
|
* Bugfixes
|
|
* \#454 - fixed issue creating docker nodes, but containers are now required to have networking tools
|
|
* \#466 - fixed issue in python gui when xml file is loading nodes with no ip4 addresses
|
|
|
|
## 2020-05-11 CORE 6.4.0
|
|
* Enhancements
|
|
* updates to core-route-monitor, allow specific session, configurable settings, and properly
|
|
listen on all interfaces
|
|
* install.sh now has a "-r" option to help with reinstalling from current branch and installing
|
|
current python dependencies
|
|
* \#202 - enable OSPFv2 fast convergence
|
|
* \#178 - added comments to OVS service
|
|
* Python GUI Enhancements
|
|
* added initial documentation to help support usage
|
|
* supports drawing multiple links for wireless connections
|
|
* supports differentiating wireless networks with different colored links
|
|
* implemented unlink in node context menu to delete links to other nodes
|
|
* implemented node run tool dialog
|
|
* implemented find node dialog
|
|
* implemented address configuration dialog
|
|
* implemented mac configuration dialog
|
|
* updated link address creation to more closely mimic prior behavior
|
|
* updated configuration to use yaml class based configs
|
|
* implemented auto grid layout for nodes
|
|
* fixed drawn wlan ranges during configuration
|
|
* Bugfixes
|
|
* no longer writes link option data for WLAN/EMANE links in XML
|
|
* avoid configuring links for WLAN/EMANE link options in XML, due to them being written to XML prior
|
|
* updates to allow building python docs again
|
|
* \#431 - peer to peer node uplink link data was not using an enum properly due to code changes
|
|
* \#432 - loading XML was not setting EMANE nodes model
|
|
* \#435 - loading XML was not maintaining existing session options
|
|
* \#448 - fixed issue sorting hooks being saved to XML
|
|
|
|
## 2020-04-13 CORE 6.3.0
|
|
* Features
|
|
* \#424 - added FRR IS-IS service
|
|
* Enhancements
|
|
* \#414 - update GUI OSPFv2 adjacency widget to work with FRR
|
|
* \#416 - EMANE links can now be drawn for 80211 and RF Pipe models
|
|
* \#418 #409 - code cleanup
|
|
* \#425 - added route monitor script for SDT3D integration
|
|
* a formal error will now be thrown when EMANE binding are not installed, but attempted to be used
|
|
* node positions will now default to 0,0 to avoid GUI errors, when one is not provided
|
|
* improved SDT3D integration, multiple link support and usage of custom layers
|
|
* Python GUI Enhancements
|
|
* enabled edit menu delete
|
|
* cleaned up node context menu and enabled delete
|
|
* Bugfixes
|
|
* \#427 - fixed issue in default route service
|
|
* \#426 - fixed issue reading ipsec template file
|
|
* \#420 - fixed issue with TLV API udp handler
|
|
* \#411 - allow wlan to be configured with 0 values
|
|
* \#415 - general EMANE configuration was not being saved/loaded from XML
|
|
|
|
## 2020-03-16 CORE 6.2.0
|
|
* gRPC API
|
|
* Added call to execute python script
|
|
* Enhancements
|
|
* \#371 - improved coretk gui scaling
|
|
* \#374 - display range visually for wlan in coretk gui, when configuring
|
|
* \#377 - improved coretk error dialogs
|
|
* \#379 - fixed issues with core converting between x,y and lon,lat for values that would cross utm zones
|
|
* \#384 - sdt integration moved internally to core code allowing it to work for coretk gui as well
|
|
* \#387 - coretk gui will now auto detect potential valid terminal and command to use for interacting with nodes during runtime
|
|
* \#389 - coretk gui will now attempt to reconnect to daemon without need to restart
|
|
* \#395 - coretk gui now has "save" and "save as" menu options
|
|
* \#402 - coretk will now allow terminal preference to be directly edited
|
|
* Bugfixes
|
|
* \#375 - fixed issues with emane event monitor handling data
|
|
* \#381 - executing a python script will now wait until completion before looking to join a new session
|
|
* \#391 - fixed configuring node ip addresses in coretk gui
|
|
* \#392 - fixed coretk link display when addresses are cleared out
|
|
* \#393 - coretk gui will properly clear marker annotations when switching sessions
|
|
* \#396 - Docker and LXC nodes will now properly save to XML
|
|
* \#406- WLAN bridge initialization was not ran when all nodes are disconnected
|
|
|
|
## 2020-02-20 CORE 6.1.0
|
|
* New
|
|
* config services - these services leverage a proper template engine and have configurable parameters, given enough time may replace existing services
|
|
* core-imn-to-xml - IMN to XML utility script
|
|
* replaced internal code for determining ip/mac address with netaddr library
|
|
* Enhancements
|
|
* added distributed package for built packages
|
|
* made use of python type hinting for functions and their return values
|
|
* updated Quagga zebra service to remove deprecated warning
|
|
* Removed
|
|
* removed stale ns3 code
|
|
* CORETK GUI
|
|
* added logging
|
|
* improved error dialog
|
|
* properly use global ipv6 addresses for nodes
|
|
* disable proxy usage by default, flag available to enable
|
|
* gRPC API
|
|
* add_link - now returns created interface information
|
|
* set_node_service - can now set files and directories to properly replicate previous usage
|
|
* get_emane_event_channel - return information related to the currently used emane event channel
|
|
* Bugfixes
|
|
* fixed session SDT functionality back to working order, due to python3 changes
|
|
* avoid shutting down services for nodes that are not up
|
|
* EMANE bypass model options will now display properly in GUIs
|
|
* XML scenarios will now properly read in custom node icons
|
|
* \#372 - fixed mobility waypoint comparisons
|
|
* \#370 - fixed radvd service
|
|
* \#368 - updated frr services to properly start staticd when needed
|
|
* \#358 - fixed systemd service install path
|
|
* \#350 - fixed frr babel wireless configuration
|
|
* \#354 - updated frr to reset interfaces to properly take configurations
|
|
|
|
## 2020-01-01 CORE 6.0.0
|
|
* New
|
|
* beta release of the python based tk GUI, use **coretk-gui** to try it out, plan will be to eventually sunset the old GUI once this is good enough
|
|
* this GUI will allow us to provide enhancements and a consistent python dev environment for developers
|
|
* Major Changes
|
|
* python3.6+ support only, due to python2 EOL https://pyfound.blogspot.com/2019/12/python-2-sunset.html
|
|
* distributed sessions now leverages the fabric library for sending remote SSH commands
|
|
* Enhancements
|
|
* changed usage of bridge-utils to using ip based bridge commands due to deprecation
|
|
* installation.sh script to help automate a standard make install or dev install
|
|
* when sessions are created without an id they will now always start from 1 and return the next unused id
|
|
* gRPC is now running by default
|
|
* Session API
|
|
* removed **create_emane_network** and **create_wlan_network** to help force using **add_node** for all cases
|
|
* removed **session.master** as it was only used for previous distributed sessions
|
|
* updated **add_node** to allow providing a custom class for node creation
|
|
* gRPC API
|
|
* added get all services configurations
|
|
* added get all wlan configurations
|
|
* added start/stop session calls, provides more freedom for startup and shutdown logic
|
|
* session events now have a session id to help differentiate which session they are coming from
|
|
* throughput events now require a session id and responses include session id for differentiating data
|
|
* session events can now be subscribed to with a subset of events or all
|
|
* emane model config data now include interface ids properly
|
|
* sessions returned from get sessions call may include file names when created from xml
|
|
* when opening an xml the session can now be started or not
|
|
* edit node will now broadcast the edit for others to listen to
|
|
* all config responses will now be in the form of a mapped value of key to ConfigOption, or a list of these when retrieving all, sometimes the config response may be wrapped in a different message to include other metadata
|
|
* Bugfixes
|
|
* \#311 - initialize ebtables chains for wlan networks only
|
|
* \#312 - removed sudo from init script
|
|
* \#313 - check if interface exists before flushing, previously would log an exception that didn't matter
|
|
* \#314 - node locations stored as floats instead of ints to avoid mobility calculations due to loss of precision
|
|
* \#321 - python installation path will be based on distr ibution/python building it
|
|
* emane options xml parsing didn't properly take into account the **emane_prefix** configuration
|
|
* updates services that checked for ipv4/ipv6 addresses to not fail for valid ipv6 addresses with a decimal
|
|
* Documentation
|
|
* updated NRL links to new GitHub locations
|
|
* updates for distributed session
|
|
* updates to dev guide
|
|
* updates to examples LXD/Docker setup
|
|
* updates to FRR service documentation
|
|
* gRPC get node service file will not throw an exception when node doesn't exist
|
|
|
|
## 2019-10-12 CORE 5.5.2
|
|
* gRPC
|
|
* Added emane_link API for linking/unlinking EMANE nodes within the GUI
|
|
* Bugfixes
|
|
* Fixed python3 issues when configuring WLAN nodes
|
|
* Fixed issue due to refactoring when running distributed
|
|
* Fixed issue when running python script from GUI
|
|
|
|
## 2019-10-09 CORE 5.5.1
|
|
* Bugfix
|
|
* Fixed issue with 5.5.0 refactoring causing issues in python2.
|
|
* Fixed python3 issues with NRL services
|
|
|
|
## 2019-10-03 CORE 5.5.0
|
|
* Documentation
|
|
* updated dependencies for building OSPF MDR on installation page
|
|
* added python/pip instruction on installation page
|
|
* added ethtool dependency for CORE
|
|
* GUI
|
|
* removed experimental OVS node to avoid confusion and issues related to using it
|
|
* Daemon
|
|
* fixed core-daemon --ovs flag back to working order for running CORE using OVS bridges instead of Linux bridges
|
|
* updated requirements.txt to refer to configparser 4.0.2, due to 4.0.1 removal by developers
|
|
* update to fail fast for dependent executables that are not found within PATH
|
|
* update to not load services that fail during service.on_load and move on
|
|
* Build
|
|
* fixed issue with configure script when using option flags
|
|
* python install path will use the native install path for AM_PATH_PYTHON, instead of coercing to python3
|
|
* Issues
|
|
* \#271 - OVS node error in GUI
|
|
* \#291 - configparser 4.0.1 issue
|
|
* \#290 - python3 path issue when building
|
|
|
|
## 2019-09-23 CORE 5.4.0
|
|
* Documentation
|
|
* Updates to documentation dev guide
|
|
* Improvements
|
|
* Added support for Pipenv for development
|
|
* Added configuration to leverage pre-commit during development
|
|
* Added configuration to leverage isort, black, and flake8 during development
|
|
* Added Github Actions to help verify pull requests in the same way as pre-commit
|
|
* Issues
|
|
* \#279 - WLAN configuration does not get set by default
|
|
* \#272 - error installing python package futures==3.2.0
|
|
* Pull Requests
|
|
* \#275 - Disable MAC learning on WLAN
|
|
* \#281 - Bumped jackson version on corefx
|
|
|
|
## 2019-07-05 CORE 5.3.1
|
|
* Documentation
|
|
* Updates to provide more information regarding several of the included services
|
|
* Issues
|
|
* \#252 - fixed changing wlan configurations during runtime
|
|
* \#256 - fixed mobility waypoint comparison for python3
|
|
* \#174 - turn tx/rx checksums off by default as they will never be valid for virtual interfaces
|
|
* \#259 - fixes for distributed EMANE
|
|
* \#260 - fixed issue with how execfile was being used due to it not existing within python3
|
|
|
|
## 2019-06-10 CORE 5.3.0
|
|
* Enhancements
|
|
* python 2 / 3 support
|
|
* added new API using [gRPC](https://grpc.io/)
|
|
* --grpc --grpc-port --grpc-address flags added to core-daemon
|
|
* core.api.grpc.client.CoreGrpcClient, provides a convenience wrapper for leveraging the API
|
|
* Docs
|
|
* Updates to installation instructions for latest changes
|
|
* Services
|
|
* Added FRR service
|
|
* EMANE
|
|
* Added EMANE prefix configuration when looking for emane model manifest files
|
|
* requires configuring **emane_prefix** in /etc/core/core.conf
|
|
* Cleanup
|
|
* Refactoring of the core python package structure, trying to help provide better organization and
|
|
logical groupings
|
|
* Issues
|
|
* \#246 - Fixed network to network link handling when reading xml files
|
|
* \#236 - Fixed storing/reading of link configuration values within xml files
|
|
* \#170 - FRR Service
|
|
* \#155 - EMANE path configuration
|
|
* \#233 - Python 3 support
|
|
* \#245 - Fixed bidirectional link configurations when reading from xml files
|
|
* \#208 - gRPC API
|
|
* Fixed link configuration dup handling when loaded from xml files
|
|
|
|
## 2019-06-07 CORE 5.2.2
|
|
* Enhancements:
|
|
* adds back in core-daemon udp support for coresendmsg, people may have depended on previously for certain scenarios
|
|
* Bug Fixes:
|
|
* fixes issue in GUI that would prevent moving nodes during mobility scenarios
|
|
|
|
## 2019-03-25 CORE 5.2.1
|
|
* Packaging:
|
|
* documentation no longer builds by default, must use configure flag
|
|
* added configure flag to allow only building vcmd
|
|
* sphinx will no long be required when not building documentation
|
|
* Services:
|
|
* Added source NAT service
|
|
* Fixed DHCP service for Ubuntu 18.04
|
|
* BUGFIXES:
|
|
* \#188 - properly remove session on delete TLV API call
|
|
* \#192 - updated default gnome terminal command for nodes to be Ubuntu 18.04 compatible
|
|
* \#193 - updates to service validation, will retry on failure and better exception logging
|
|
* \#195 - TLV link message data fix
|
|
* \#196 - fix to avoid clearing out default services
|
|
* \#197 - removed wireless_link_all API from EmuSession
|
|
* \#216 - updated default WLAN bandwidth to 54Mbps
|
|
* \#223 - fix to saving RJ45 to session XML files
|
|
|
|
## 2018-05-22 CORE 5.1
|
|
* DAEMON:
|
|
* removed and cleared out code that is either legacy or no longer supported (Xen, BSD, Kernel patching, RPM/DEB
|
|
specific files)
|
|
* default nodes are now set in the node map
|
|
* moved ns3 and netns directories to the top of the repo
|
|
* changes to make use of fpm as the tool for building packages
|
|
* removed usage of logzero to avoid dependency issues for built packages
|
|
* removed daemon addons directory
|
|
* added CoreEmu to core.emulator.coreemu to help begin serving as the basis for a more formal API for scripting
|
|
and creating new external APIs out of
|
|
* cleaned up logging, moved more logging to DEBUG from INFO, tried to mold INFO message to be more simple and
|
|
informative
|
|
* EMANE 1.0.1-1.21 supported
|
|
* updates to leverage EMANE python bindings for dynamically parsing phy/mac manifest files
|
|
* example custom EMANE model lives under /usr/share/core/examples/myemane/examplemodel.py
|
|
* EMANE TDMA model now supports an option to start a TDMA schedule when running
|
|
* fixed issues with coresendmsg script due to code refactoring
|
|
* added make target for generating documentation "make doc"
|
|
* Python 2.7+ is now required
|
|
* ns3 is no longer bundled by default, but will be produced as a separate package for installation
|
|
* GUI:
|
|
* updated broken help links in GUI Help->About
|
|
* Packaging:
|
|
* fixed PYTHON_PATH to PYTHONPATH in sysv script
|
|
* added make command to leverage FPM as the tool for creating deb/rpm packages going forward, there is documentation
|
|
within README.md to try it out
|
|
* TEST:
|
|
* fixed some broken tests
|
|
* new test cases based on CoreEmu usage
|
|
* BUGFIXES:
|
|
* \#142 - duplication of custom services
|
|
* \#136 - sphinx-apidoc command not found
|
|
* \#137 - make command fails when using distclean
|
|
|
|
## 2017-09-01 CORE 5.0
|
|
* DEVELOPMENT:
|
|
* support for editorconfig to help standardize development across IDEs, from the defined configuration file
|
|
* support for sonarqube analysis, from the defined configuration file
|
|
* DAEMON:
|
|
* code cleanup and improvements to adhere to coding standards (SonarQube)
|
|
* leverage "logzero" module to make easy usage of the standard logging module
|
|
* improvements to documentation across the code base
|
|
* initial work to separate the dependence on TCP API messaging from the core library (easier core scripting)
|
|
* beta support for running core in Open vSwitch mode, leveraging Open vSwitch bridges, instead of Linux bridges
|
|
* SERVICES:
|
|
* added Ryu SDN controller service
|
|
* added Open vSwitch service
|
|
* TEST:
|
|
* added unit/integration tests to support validating changes going forward
|
|
* BUGFIXES:
|
|
* merged pull requests for: #115, #110, #109, #107, #106, #105, #103, #102, #101, #96
|
|
|
|
## 2015-06-05 CORE 4.8
|
|
* EMANE:
|
|
* support for EMANE 0.9.2
|
|
* run emane in each container when using EMANE 0.9.2
|
|
* support using separate control networks for EMANE OTA and event traffic
|
|
* GUI:
|
|
* fixed an issue where the adjacency widget lines pointed to old node positions
|
|
* fixed an issue where not all EMANE 0.9.x IEEE 802.11 MAC parameter were configurable
|
|
* fixed an issue related to running python scripts from the GUI when using tcl/tk version 8.6
|
|
* improved batch mode execution to display the check emulation light status
|
|
* improved managing multiple sessions
|
|
* improved support for using multiple canvases
|
|
* added a reload option to the file menu to revert back to a saved scenario
|
|
* DAEMON:
|
|
* support exporting scenarios in NRL Network Modeling Framework 1.0 XML format
|
|
* support importing scenarios in NRL Network Modeling Framework 1.0 XML format
|
|
* support exporting the deployed scenario state in NRL NMF XML 1.0 format
|
|
* improved EMANE post-startup processing to better synchronize distributed emulations
|
|
* improved how addresses are assigned to tun/tap devices
|
|
* added support for python state-change callbacks
|
|
* SERVICES:
|
|
* added mgen sink and mgen actor services
|
|
* added oslrv2 and olsr.org services
|
|
* added a docker service
|
|
* BUILD:
|
|
* improved the install/uninstall process
|
|
* improved debian and rpm packaging
|
|
* BUGFIXES:
|
|
* updated the http service for ubuntu 14.04
|
|
* improved included examples
|
|
* shortened the length of network interface names
|
|
* improved how the core system service manages running the core daemon
|
|
* fixed an issues related to applying session configuration setting
|
|
* improved detecting when a distributed emulation is already running
|
|
* improved documentation
|
|
|
|
## 2014-08-06 CORE 4.7
|
|
* EMANE:
|
|
* support for EMANE 0.9.1
|
|
* fix error when using Comm Effect model with loss/duplicate string values
|
|
* enable flow control in virtual transport if enabled in the MAC model
|
|
* fix bug #150 where EMANE event service/address port were not used
|
|
* GUI:
|
|
* support Tcl/Tk 8.6 when available
|
|
* added --(a)ddress and --(p)ort arguments to core-gui command-line
|
|
* added File > Execute XML or Python script... option
|
|
* added File > Execute Python script with options... menu item
|
|
* when executing Python script from GUI, run in background thread, wait for
|
|
RUNTIME state
|
|
* enter RUNTIME state when start button pressed with empty canvas
|
|
* added support for asymmetric link effects
|
|
* support link delays up to 274 seconds (netem maximum)
|
|
* allow runtime changes of WLAN link effects
|
|
* DAEMON:
|
|
* set NODE_NAME, NODE_NUMBER, SESSION_SHORT in default vnoded environment
|
|
* changed host device naming to use veth, tap prefixes; b.n.SS for bridges
|
|
* allow parsing XML files into live running session
|
|
* enable link effects between hub/switch and hub/switch connections
|
|
* update MDR service to use broadcast interfaces for non-WLAN links
|
|
* allow node class to be specified when initializing XML parser
|
|
* save and parse canvas origin (reference point) and scale in MP XML
|
|
* up/down control script session option
|
|
* fix hash calculation used to determine GRE tunnel keys
|
|
* use shell script to detach SMF on startup
|
|
* added NRL services for mgen sink and nrlolsrv2
|
|
* use SDT URL session option
|
|
* added core-manage tool for addons to add/remove/check services, models,
|
|
and custom node types
|
|
* API:
|
|
* implement local flag in Execute Message for running host commands
|
|
* jitter changed to 64-bit value to align with delay in Link Message
|
|
* added unidirectional link flag TLV to Link Message
|
|
* added reconfigure event type for re-generating service config files
|
|
* return errors in API with failed services
|
|
* BUGFIXES:
|
|
* fix HTTP service running under Ubuntu
|
|
* fixed the following bugs: #150, 169, 188, 220, 225, 230, 231, 242, 244,
|
|
247, 248, 250, 251
|
|
|
|
## 2013-09-25 CORE 4.6
|
|
* NOTE: cored is now core-daemon, and core is now core-gui (for Debian acceptance)
|
|
* NOTE: /etc/init.d/core is now /etc/init.d/core-daemon (for insserv compatibility)
|
|
* EMANE:
|
|
* don't start EMANE locally if no local NEMs
|
|
* EMANE poststartup() to re-transmit location events during initialization
|
|
* added debug port to EMANE options
|
|
* added a basic EMANE 802.11 CORE Python script example
|
|
* expose transport XML block generation to EmaneModels
|
|
* expose NEM entry to the EmaneModel so it can be overridden by a model
|
|
* add the control interface bridge prior to starting EMANE, as some models may
|
|
* depend on the controlnet functionality
|
|
* added EMANE model to CORE converter
|
|
* parse lat/long/alt from node messages, for moving nodes using command-line
|
|
* fix bug #196 incorrect distance when traversing UTM zones
|
|
* GUI:
|
|
* added Cut, Copy, and Paste options to the Edit menu
|
|
* paste will copy selected services and take care of node and interface
|
|
* renumbering
|
|
* implement Edit > Find dialog for searching nodes and links
|
|
* when copying existing file for a service, perform string replacement of:
|
|
* "~", "%SESSION%", "%SESSION_DIR%", "%SESSION_USER%", "%NODE%", "%NODENAME%"
|
|
* use CORE_DATA_DIR insteadof LIBDIR
|
|
* fix Adjacency Widget to work with OSPFv2 only networks
|
|
* BUILD:
|
|
* build/packaging improvements for inclusion on Debian
|
|
* fix error when running scenario with a mobility script in batch mode
|
|
* include Linux kernel patches for 3.8
|
|
* renamed core-cleanup.sh to core-cleanup for Debian conformance
|
|
* don't always generate man pages from Makefile; new manpages for
|
|
coresendmsg and core-daemon
|
|
* BUGFIXES:
|
|
* don't auto-assign IPv4/IPv6 addresses when none received in Link Messages (session reconnect)
|
|
* fixed lock view
|
|
* fix GUI spinbox errors for Tk 8.5.8 (RHEL/CentOS 6.2)
|
|
* fix broker node count for distributed session entering the RUNTIME state when
|
|
* (non-EMANE) WLANs or GreTapBridges are involved;
|
|
* fix "file exists" error message when distributed session number is re-used
|
|
* and servers file is written
|
|
* fix bug #194 configuration dialog too long, make dialog scrollable/resizable
|
|
* allow float values for loss and duplicates percent
|
|
* fix the following bugs: 166, 172, 177, 178, 192, 194, 196, 201, 202,
|
|
205, 206, 210, 212, 213, 214, 221
|
|
|
|
## 2013-04-13 CORE 4.5
|
|
* GUI:
|
|
* improved behavior when starting GUI without daemon, or using File New after connection with daemon is lost
|
|
* fix various GUI issues when reconnecting to a session
|
|
* support 3D GUI via output to SDT3D
|
|
* added "Execute Python script..." entry to the File Menu
|
|
* support user-defined terminal program instead of hard-coded xterm
|
|
* added session options for "enable RJ45s", "preserve session dir"
|
|
* added buttons to the IP Addresses dialog for removing all/selected IPv4/IPv6
|
|
* allow sessions with multiple canvases to enter RUNTIME state
|
|
* added "--addons" startup mode to pass control to code included from addons dir
|
|
* added "Locked" entry to View menu to prevent moving items
|
|
* use currently selected node type when invoking a topology generator
|
|
* updated throughput plots with resizing, color picker, plot labels, locked scales, and save/load plot
|
|
configuration with imn file
|
|
* improved session dialog
|
|
* EMANE:
|
|
* EMANE 0.8.1 support with backwards-compatibility for 0.7.4
|
|
* extend CommEffect model to generate CommEffect events upon receipt of Link Messages having link effects
|
|
* Services:
|
|
* updated FTP service with root directory for anonymous users
|
|
* added HTTP, PCAP, BIRD, RADVD, and Babel services
|
|
* support copying existing files instead of always generating them
|
|
* added "Services..." entry to node right-click menu
|
|
* added "View" button for side-by-side comparison when copying customized config files
|
|
* updated Quagga daemons to wait for zebra.vty VTY file before starting
|
|
* General:
|
|
* XML import and export
|
|
* renamed "cored.py" to "cored", "coresendmsg.py" to "coresendmsg"
|
|
* code reorganization and clean-up
|
|
* updated XML export to write NetworkPlan, MotionPlan, and ServicePlan within a Scenario tag, added new
|
|
"Save As XML..." File menu entry
|
|
* added script_start/pause/stop options to Ns2ScriptedMobility
|
|
* "python" source sub-directory renamed to "daemon"
|
|
* added "cored -e" option to execute a Python script, adding its session to the active sessions list, allowing for
|
|
GUI connection
|
|
* support comma-separated list for custom_services_dir in core.conf file
|
|
* updated kernel patches for Linux kernel 3.5
|
|
* support RFC 6164-style IPv6 /127 addressing
|
|
* ns-3:
|
|
* integrate ns-3 node location between CORE and ns-3 simulation
|
|
* added ns-3 random walk mobility example
|
|
* updated ns-3 Wifi example to allow GUI connection and moving of nodes
|
|
* fixed the following bugs: 54, 103, 111, 136, 145, 153, 157, 160, 161, 162, 164, 165, 168, 170, 171, 173, 174, 176,
|
|
184, 190, 193
|
|
|
|
## 2012-09-25 CORE 4.4
|
|
* GUI:
|
|
* real-time bandwidth plotting tool
|
|
* added Wireshark and tshark right-click menu items
|
|
* X,Y coordinates shown in the status bar
|
|
* updated GUI attribute option to link messages for changing color/width/dash
|
|
* added sample IPsec and VPN scenarios, how many nodes script
|
|
* added jitter parameter to WLANs
|
|
* renamed Experiment menu to Session menu, added session options
|
|
* use 'key=value' configuration for services, EMANE models, WLAN models, etc.
|
|
* save only service values that have been customized
|
|
* copy service parameters from one customized service to another
|
|
* right-click menu to start/stop/restart each service
|
|
* EMANE:
|
|
* EMANE 0.7.4 support
|
|
* added support for EMANE CommEffect model and Comm Effect controller GUI
|
|
* added support for EMANE Raw Transport when using RJ45 devices
|
|
* Services:
|
|
* improved service customization; allow a service to define custom Tcl tab
|
|
* added vtysh.conf for Quagga service to support 'write mem'
|
|
* support scheduled events and services that start N seconds after runtime
|
|
* added UCARP service
|
|
* Documentation:
|
|
* converted the CORE manual to reStructuredText using Sphinx; added Python docs
|
|
* General:
|
|
* Python code reorganization
|
|
* improved cored.py thread locking
|
|
* merged xen branch into trunk
|
|
* added an event queue to a session with notion of time zero
|
|
* added UDP support to cored.py
|
|
* use UDP by default in coresendmsg.py; added '-H' option to print examples
|
|
* enter a bash shell by default when running vcmd with no arguments
|
|
* fixes to distributed emulation entering runtime state
|
|
* write 'nodes' file upon session startup
|
|
* make session number and other attributes available in environment
|
|
* support /etc/core/environment and ~/.core/environment files
|
|
* added Ns2ScriptedMobility model to Python, removed from the GUI
|
|
* namespace nodes mount a private /sys
|
|
* fixed the following bugs: 80, 81, 84, 99, 104, 109, 110, 122, 124, 131, 133, 134, 135, 137, 140, 143, 144, 146,
|
|
147, 151, 154, 155
|
|
|
|
## 2012-03-07 CORE 4.3
|
|
* EMANE 0.7.2 and 0.7.3 support
|
|
* hook scripts: customize actions at any of six different session states
|
|
* Check Emulation Light (CEL) exception feedback system
|
|
* added FTP and XORP services, and service validate commands
|
|
* services can flag when customization is required
|
|
* Python classes to support ns-3 simulation experiments
|
|
* write state, node X,Y position, and servers to pycore session dir
|
|
* removed over 9,000 lines of unused GUI code
|
|
* performance monitoring script
|
|
* batch mode improvements and --closebatch option
|
|
* export session to EmulationScript XML files
|
|
* basic range model moved from GUI to Python, supports 3D coordinates
|
|
* improved WLAN dialog with tabs
|
|
* added PhysicalNode class for joining real nodes with emulated networks
|
|
* fixed the following bugs: 50, 75, 76, 79, 82, 83, 85, 86, 89, 90, 92, 94, 96, 98, 100, 112, 113, 116, 119, 120
|
|
|
|
## 2011-08-19 CORE 4.2
|
|
* EMANE 0.7.1 support
|
|
* support for Bypass model, Universal PHY, logging, realtime
|
|
* configurable MAC addresses
|
|
* control interfaces (backchannel between node and host)
|
|
* service customization dialog improved (tabbed)
|
|
* new testing scripts for MDR and EMANE performance testing
|
|
* improved upgrading of old imn files
|
|
* new coresendmsg.py utility (deprecates libcoreapi and coreapisend)
|
|
* new security services, custom service becomes UserDefined
|
|
* new services and Python scripting chapters in manual
|
|
* fixes to distributed emulation, linking tunnels/RJ45s with WLANs/hubs/switches
|
|
* fixed the following bugs: 18, 32, 34, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 55, 57, 58, 60, 62, 64,
|
|
65, 66, 68, 71, 72, 74
|
|
|
|
## 2011-01-05 CORE 4.1
|
|
* new icons for toolbars and nodes
|
|
* node services introduced, node models deprecated
|
|
* customizable node types
|
|
* traffic flow editor with MGEN support
|
|
* user configs moved from /etc/core/`*` to ~/.core/
|
|
* allocate addresses from custom IPv4/IPv6 prefixes
|
|
* distributed emulation using GRE tunnels
|
|
* FreeBSD 8.1 now uses cored.py
|
|
* EMANE 0.6.4 support
|
|
* numerous bugfixes
|
|
|
|
## 2010-08-17 CORE 4.0
|
|
* Python framework with Linux network namespace (netns) support (Linux netns is now the primary supported platform)
|
|
* ability to close the GUI and later reconnect to a running session (netns only)
|
|
* EMANE integration (netns only)
|
|
* new topology generators, host file generator
|
|
* user-editable Observer Widgets
|
|
* use of /etc/core instead of /usr/local/etc/core
|
|
* various bugfixes
|
|
|
|
## 2009-09-15 CORE 3.5
|
|
|
|
## 2009-06-23 CORE 3.4
|
|
|
|
## 2009-03-11 CORE 3.3
|