This month, the VyOS project turns five years old. In these five years, VyOS has been through highs and lows, up to speculation that the project is dead. Past year has been full of good focused work by the core team and community contributors, but the only way to make use of that work was to use nightly builds, and nightly builds are like a
chocolate box a box of WWI era shells—you never know if it blows up when handled or not. Now the codebase has stabilized, and we are ready to present a release candidate. While it has some rough edges, a number of people, including us, are already using recent builds of VyOS 1.2.0 in production, and now it's time to make it public.
VyOS 1.2.0-rc1 is available for download from https://downloads.vyos.io/?dir=testing/1.2.0-rc1
VyOS 1.2.0 (Crux) is the feature expansion release based on Debian Jessie. The release candidate will be the basis for the future long term support release. You can read the full release notes at https://wiki.vyos.net/wiki/1.2.0/release_notes
New features include:
- Wireguard support
- PPPoE server
- mDNS repeater and broadcast relay
- Support for IPv6 VRRP and unicast VRRP operation
- Standards-compliant QinQ ethertype option
- Python APIs for accessing the running config and writing migration scripts (replacements of the Perl Vyatta::Config and XorpConfigParser)
- New XML-based command definitions
- New build system that makes it easy to create custom builds with additional repositories and packages
- SR-IOV support for Intel and Mellanox cards
The following features have been removed:
- Telnet server
- p2p filtering
While the base system if Debian Jessie, multiple packages have been updated to much newer versions, for example, the 4.14.65 kernel, StrongSWAN 5.6, and keepalived 2.0.5.
Additionally, our old Quagga has been replaced with FRR, which opens a way to adding support for many more protocols, including multicast routing.
Some people reported issues with DMVPN in hub mode (T848).
Some people report an issue with routers responding to all ARP requests when VTI is enabled (T852).
If you use DMVPN or VTI, you may either help with testing and debugging those issues, or wait until the issues are confirmed to be resolved.
VyOS 1.2.0 will become the LTS release after one or more release candidates.
We are preparing a release model change that will involve
splitting VyOS into an LTS branch a (roughly) monthly rolling release made from the latest
code from the current branch. Both branches will be entirely open source, but while the rolling release builds will be available free of charge to everyone, the LTS ISO image builds will be only available to those who either contribute to VyOS (code, documentation, and community activities all count) or purchase a subscription. There will always be an option to build the LTS image entirely from source or using package repositories at dev.packages.vyos.net, though commercial support will only be provided for official builds, or by special arrangement.
The current branch will now be used for developing 1.3.0. Top priorities for 1.3.0 include migration to the next Debian release and rewriting more legacy code to enable better testing and easier addition of new features.
In a sense, VyOS 1.2.0 was a test whether the project can exist
independently or not. While 1.1.x was an incremental expansion of the
last Vyatta Core release, development of 1.2.0 coincided with mainstream
Linux distributions switching to systemd, many packages such as
StrongSWAN making big incompatible changes, and parts of VyOS itself
reaching the point when bugs could no longer be fixed without a complete
rewrite. The build system also had to be rewritten from scratch.
A lot of work went into developing the new infrastructure for Python rewrites, including the new system of command definitions and required libraries. By now a a few components including SSH, SNMP, cron, and DNS forwarding have been rewritten in the new way, and the rewrite movement is gaining momentum.
Let's test and polish the 1.2.0 release, and keep working on making VyOS a better, more easily maintainable platform in the future 1.3.0 release.