# Changes in Release 0.9 through 0.9.3 ## Start and Stop the Lab with Netlab Commands **[netlab up](../netlab/up.md)** command creates configuration files, starts the virtual lab, and deploys device configurations. **[netlab down](../netlab/down.md)** destroys the virtual lab. ## Simple YAML inventory Several **netlab** commands (notably **netlab connect**) relied on **ansible-inventory** to get device inventory data. **[netlab create](../netlab/create.md)** can now create a simple lab inventory in a YAML file (default name: netsim-devices.yml). That file can be used with **[netlab connect](../netlab/connect.md)** in Ansible-free environments. ## New or Changed Devices * Linux hosts (Ubuntu VMs or Alpine containers) are available in release 0.9.1.\ [More details](../platforms.md) * Cumulus VX 4.4.0 *Virtualbox* Vagrant box is broken -- box version is fixed @ 4.3.0 (release 0.9.2-2) ## Topology Graphs [**netlab create**](../netlab/create.md) command can create *graphviz*[^1] .DOT files that can be used to draw: * A graph of physical connections (nodes and links) * A graph of autonomous systems, nodes, and BGP sessions [^1]: *graphviz* is an excellent graphing tool that takes graph specification in text format, performs somewhat decent auto-placement and draws the graph in a number of output formats (including JPEG, PNG, and PDF). ## Transformed Lab Topology in YAML or JSON Format [**netlab create**](../netlab/create.md) command can output the transformed lab topology (nodes, links, defaults...) in YAML or JSON format for use in third-party tools. ## Generic Output Framework You can specify desired output format(s) in [**netlab create**](../netlab/create.md) command, including: * Virtualization provider configuration file * Ansible inventory in various formats * Topology graph in DOT format (physical topology or BGP sessions) * YAML or JSON printout of transformed topology. *netsim-tools* uses an extensible output framework implemented with dynamically loaded Python modules allowing you to add your own output formats. ## Other Changes * Undocumented **netlab transform** command introduced in release 0.8 has been removed and replaced with generic output framework within **netlab create** command. * Release 0.9.3 supports [static node IDs](../nodes.md#augmenting-node-data) (used to generate management MAC address, interface addresses on multi-access links, and loopback addresses) and [static interface addresses](../links.md#static-interface-addressing) on multi-access links. * Arista EOS configuration deployment playbook uses **wait_for_connection** module to wait for SSH daemon when connecting to cEOS container (release 0.9.3) *python-box* release 5.4.0 brought good and bad news: * It implemented *mypy* hints forcing me to cleanup the static typing hints and fix odd bits of code. * Unfortunately it also borked the *setdefaults* method. All calls to *setdefaults* have been replaced with more explicit alternatives.