# Changes in Release 1.2 ## New Functionality in Release 1.2.5 * [VXLAN](../module/vxlan.md) configuration module implemented on Arista EOS, Cisco Nexus OS, Dell OS 10, Nokia SR Linux and VyOS * [EVPN](../module/evpn.md) configuration module implemented on Arista EOS, Nokia SR Linux and VyOS. * [MPLS configuration module](../module/mpls.md) got 6PE address family implemented on Arista EOS and Cisco IOS/IOS XE. * IS-IS on VyOS * VLAN and VRF on Cisco Nexus OS * VRF support for Nokia SR Linux * Device-specific module requirements (example: VXLAN on Nokia SR Linux works only with EVPN) * Custom interface index on node-to-link attachments ## New Functionality in Release 1.2.4 * [VLAN support](../module/vlan.md) for Mikrotik RouterOS and VyOS (contributed by Stefano Sasso) * Routed VLANs and [routed VLAN subinterfaces](module-vlan-creating-interfaces) * ebgp_utils plugin (contributed by Stefano Sasso) * User-modifiable templates used in Vagrantfile creation ## New Functionality in Release 1.2.3 * Add VLAN support for SR Linux (contributed by Jeroen van Bemmel) ## New Functionality in Release 1.2.2 * [VLAN configuration module](../module/vlan.md) supporting access VLANs, VLAN trunks, and native VLANs -- implemented on Cisco IOS, Arista EOS, VyOS, and Dell OS10 (VyOS and OS10 support contributed by Stefano Sasso) * [External topology provider](../providers.md) allows you to use *netlab* with hardware labs (contributed by Stefano Sasso) * Support for [additional VRF loopback interfaces](vrf-loopback) (contributed by Stefano Sasso) * [netlab restart](../netlab/restart.md) command restarts or reconfigures the lab * [Use the snapshot file to start a lab](../netlab/up.md) from a topology previously modified through CLI arguments * [Specify NIC model used by *libvirt* virtualization provider](../nodes.md#libvirt-attributes) (by Stefano Sasso) * [Set device type or configuration modules in groups](../groups.md#setting-device-type-or-list-of-modules-in-groups) * Persistent Linux network provisioning (by Stefano Sasso) * Debian supported by the [installation scripts](../netlab/install.md) (by Jody Lemoine) ## New Functionality in Release 1.2.1 * Graphite GUI by Stefano Sasso * New platform: [Dell OS10 on *libvirt*](../labs/dellos10.md) (including BGP, OSPFv2, OSPFv3 and VRF Lite) by Stefano Sasso * [Mikrotik RouterOS support for VRFs, MPLS, and MPLS/VPN](platform-dataplane-support) by Stefano Sasso * [VyOS support for VRFs, MPLS, and MPLS/VPN](platform-dataplane-support) by Stefano Sasso * [Containerlab support for Cumulus NVUE](platform-provider-support) by Julien Dhaille * [Simple VRF-Lite support](module-vrf-platform-support) (no inter-VRF route leaking) on Cumulus NVUE by Julien Dhaille ## New Functionality in Release 1.2.0 * [VRF definitions and layer-3 VRFs](../module/vrf.md) * [VRF-aware OSPF, IS-IS and BGP](../module/vrf.md#interaction-with-routing-protocols) * [Traditional MPLS with LDP](../module/mpls.md#label-distribution-protocol-ldp) (SR-MPLS was already available) * [BGP Labeled Unicast](../module/mpls.md#bgp-labeled-unicast-bgp-lu) * MPLS/VPN: [VPNv4 and VPNv6 address family](mpls-l3vpn-supported-platforms) support * [OSPFv3](../module/ospf.md) support on Juniper vSRX * Use topology snapshot file in **[netlab down](../netlab/down.md)** ## Minor Changes in Release 1.2.0 * Use **selective** Ansible callback in **[netlab up](../netlab/up.md)** and **[netlab initial](../netlab/initial.md)** ## New Developer Resources in Release 1.2.4 * [VRF developer guide](../dev/config/vrf.md) * Implement "VLAN device model" instead of convoluted decision tree * VLAN integration test cases ## Bug Fixes in Release 1.2.5 * VyOS BGP configuration syntax changed _local-as_ to _system-as_ in release 1.4. * Unnumbered BGP sessions over IPv6 LLA interfaces ## Bug Fixes in Release 1.2.4 * Fix VLAN support in platform overview document * Use topology groups as graph clusters * Fix the merge of interface- and VLAN subinterface data * Implement complete vlan.mode inheritance * Remove 'vlan_name' attribute from links and interfaces * Update routed VLAN subinterface name in neighbor lists * Link-level attributes are propagated to attached nodes based on configuration modules used by those nodes * Propagate global VLAN attributes to VLAN access links * Doc fix: updated description of vlan.trunk dictionary * Set VLAN mode on routed virtual links, not on parent interfaces * Copy VLAN data into routed subinterfaces * Use parent interface and subinterface data to create subinterface name (needed to get VLAN ID into subinterface name) ## Bug Fixes in Release 1.2.3 * Don't create bogus VLAN data for single-node VLANs * Don't copy provider-specific attributes into VLAN interfaces * Disable Ansible deprecation warnings * Don't use **sudo** for Ansible installed in Python virtual environment * User default file has been renamed to `~/.netlab.yml` ## Bug Fixes in Release 1.2.2 * Create *libvirt* UDP tunnels based on the number of nodes attached to a link, not link type * Use **auto** Python interpreter setting for FRR containers * Don't create VRF OSPF instances if the VRF has no OSPF neighbors * Don't try to advertise VRF prefixes in the global BGP table * Generate more concise error messages on invalid topology-level attributes * Add empty 'modules' and 'custom_configs' groups to Ansible inventory to prevent superfluous warnings * Refactor Linux initialization script to support distro-specific scripts * Revert to non-collection Ansible module names to work with Ansible 2.9 * Remove interfaces without a usable IPv4/IPv6 address from IGP processes * Load more than one plugin from a subdirectory ## Bug Fixes in Release 1.2.1 * Link prefix in transformed data structure should always be a dictionary of address families * Containerlab configuration template crashed on a topology with no links * Use DHCP-supplied DNS server in Ubuntu VMs * Quote node names in Graphviz files * Fix Python interpreter on Linux and Cumulus NVUE devices * Even more addresses in *vagrant-libvirt* DHCP pool * Add comments to RouterOS IP addresses * Remove interfaces without usable IPv4/IPv6 addresses from IGP routing processes * Load more than one plugin from a subdirectory ## Bug Fixes in Release 1.2.0 * Rewrite configuration deployment code to work around [Ansible "optimization" attempts](https://blog.ipspace.net/2022/03/ansible-reorder-list-values.html).