Get started Features Tutorials Blog Research
July 14, 2021

VowpalWabbit 8.11.0 Release Notes

author's avatar
Olga Vrousgou

Release highlights

  • VW for Python 3.9 added to Windows Python build (#2939)
  • VW for Python 2.7 and Python 3.5 will no longer be supported (#3118)

The Python DataFrame-to-VW effort has been growing, the latest available changes beeing:

cb_to_cb_adf reduction

cb and cb_adf code paths have been consolidated into using the cb_adf path, without however issuing any breaking changes (#2680). cb examples are internally translated to cb_adf examples. This behaviour can be turned off by supplying the --cb_force_legacy flag when --cb N is used. The motivation behind this change is so that the cb reduction can benefit from the work done on cb_adf which has gotten more attention over the years

--cubic ::: and --interactions [:]* speedup

Using the wildcard (:) when doing cubic (--cubic :::) and higher order (--interactions ::::) interactions has been significantly sped up (#2993). This optimization now affects cubics and higher order interactions

Logging line limiting now available

A new flag has been added that allows the limiting of the log output of VW (#3021). By using --limit_output <N> a hard limit N can be set to the total printed lines. This does not include vw progressive validation loss output which will remain unaffected

Track upcoming deprecations

Upcoming deprecations can now be tracked here.

Deprecation warnings will be added in minor releases and the warnings will state the major release in which they will take effect.

Deprecation warnings for this release added to:

Experimental: Metrics for debugging purposes

Experimental support for getting internal VW metrics has been added (#2959) and can be enabled using the --extra_metrics <output_file> argument. Currently richer information exists for reductions that use cb_explore (see example output for ccb_explore_adf here). The resulting json schema is still very fluid and is expected to change. Users that build and use VW from source can add their own metrics if they wish to do so. The metrics are also made available via the Python API (see here for a usage example) where they can be accessed via a Python dictionary

Multi-line example data files no longer need to have an extra newline for the last multi-line example at the end of the file

(#2890)

Some minor changes that are worth pointing out

Internal improvements

Learners can now be built using templated builders (#2918) and reductions builders are slowly being transitioned to use the new builders.

Thank you

A huge thank you and welcome to all of the new contributors since the last release:

And of course thank you to existing contributors:

Full changelist