Vowpal Wabbit Versions Save

Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

9.0.0

2 years ago

Vowpal Wabbit 9 is the first major release in over 6 years! There are a number of usability improvements, new reductions, bug fixes and internal improvements here. The Python package has undergone a bit of a modernization with a more understandable module structure, naming and types. Most changes should be non breaking for standard use cases. See here for the Python migration guide.

Click here to read the full release notes.

8.11.0

2 years ago

This release includes python API improvements, --cubic ::: and --interactions [:]* speedup, deprecations, logging line limiting, bug fixes and more

Click here to read the full release notes.

8.10.2

2 years ago

This patch release contains a fix for model loading in --cb_explore

Fixes

  • fix: Fix model corruption on reading model for --cb_explore (#3063)

8.10.1

3 years ago

This release includes no code changes but fixes the Python source distribution, and adds support for Python 3.9 binary wheels on MacOS and Windows.

Since this only affects Python, only the PyPi release channel will be updated.

All changes:

  • ci: run CI on release branches (#2942)
  • ci: update brew to mitigate bintray brownout (#2941)
  • chore: update version to 8.10.1
  • build: add 3.9 to windows python build (#2939)
  • Fix python manifest for ext_libs (#2938)
  • build: Update build_python_wheels_macos.yml (#2937)

8.10.0

3 years ago

This release includes quadratic interaction speed improvements, ARM support, logging updates and more.

Click here to read the full release notes.

8.9.2

3 years ago

This patch release contains a fix for Neural Network reduction (--nn).

Fixes

  • [nn] fix double free (#2802)

8.9.1

3 years ago

This patch release contains a fix for the Java bindings. It changes no other code paths apart from the version number changing.

Fixes

  • Don't export lib symbols from vw_jni binary when static linking (#2789)

8.9.0

3 years ago

This release includes major features such as continuous actions, square CB, probabilistic label tree, slates, CB distributionally robust optimization, CB ADF RND, Python wheels and many bug fixes.

Click here to read the full release notes.

8.8.1

4 years ago

This patch release fixes an issue in the Python bindings where parsing examples from text sometimes caused crashes.

Fixes:

  • Fix delete behavior for examples created using parse function (#2206)

8.8.0

4 years ago
  • There has significant work in streamlining and improving support for the Python bindings. Thanks @peterychang! (#1928)
  • The Conditional Contextual Bandit reduction got merged in, this reduction allows you to express problems where there are multiple slots to fill. See here for the wiki page. (#1816) (#1995) (#2078) (#2141)
  • CMake install targets have been added to the build files (#2172) (#2135)
    • Now you can find and link VW easily in other projects:
    find_package(VowpalWabbit REQUIRED)
    add_executable(my_exe main.cpp)
    target_link_libraries(my_exe PRIVATE VowpalWabbit::vw)
    
  • Slim VW got merged into master. This is an experimental lightweight inference runtime that supports a subset of VW features. (#2028)
  • Bug fixes! (see all changes below)

Internal improvements

We are at work overhauling and modernizing VW, some of the relevant changes on that front are below:

  • Migrate c arrays to std::array (#2094)
  • Make hashing constexpr in C++14 and unify rotl impl (#2093)
  • Make is_example_header const (#2095)
  • Allow constructor arugments for calloc_or_throw (#2070)
  • Learner now holds type erased reduction data (#2060)
  • Use numeric_limits (#2107)
  • Unify throwing of exceptions to use vw_exception instead of bare std:exception (#2171)
  • Cb explore adf atomization (#2069)
  • Refactor cb_adf reduction (#2057)
  • Move cb_sample to be class based (#2087)
  • Atomize topk reduction (#2050)
  • Atomize autolink reduction (#2047)

Other notable changes:

  • --version now includes commit id if available at build time (#1951)
  • Macos added as CI target (#1965)
  • Allow escaped command lines (#2157)
  • Update MSVC Toolchain to v14.1 (#1988)
  • Multiinstance mode for multiline examples (#1934)

All Changes

Click to expand all changes in 8.8.0
  • Fix warning (#2179)
  • Add/exclude new folders in the python MANIFEST (#2180)
  • fix some warnings (#2177)
  • Fixes for Learning2Search Subsystem (#2176)
  • Install rapidjson too (#2174)
  • Use standard save/load functionality for sklearn Python lib (#2142)
  • Default the label for CCB when reading cached labels (#2158)
  • Allow escaped command lines (#2157)
  • Fix header install locations (#2172)
  • Unify throwing of exceptions to use vw_exception instead of bare std::exception (#2171)
  • Disallow combining no_sample and cb_sample (#2148)
  • Fix memory leak in search.cc (#2167)
  • Fix unlabeled sgd examples (#2162)
  • Add deleter for parsed examples (#2153)
  • Fix misinterpreted negative option (#2149)
  • Catalina segfault mitigation (#2152)
  • Implement CCB type binding for Python (#2141)
  • Update test dependencies (#2147)
  • Fix typo: setup.py is not in vowpal_wabbit/python (#2143)
  • Throw instead of silently append nullptr when types don't match (#2139)
  • Fix variadic macro warning (#2138)
  • Create testing harness for cluster operation of VW and add test (#2134)
  • Improve VW support for CMake install process (#2135)
  • Properly support default build type, fix comment, define project version (#2133)
  • Update cluster readme to markdown, cleanup, format code (#2131)
  • Fix slim build and various CMake fixes (#2130)
  • Update CMakeLists.txt (#2127)
  • fixed docker image version (#2126)
  • Fix segfault when ring_size argument is not supplied (#2125)
  • Python: fix deprecated joblib (#2068)
  • forgot to set a parameter (#2114)
  • Add option to turn off sampling for CCB (#2096)
  • Remove redunant copy from CCB reduction (#2112)
  • Fix segfault in CCB - MTR must clean up predictions allocated for cost sensitive examples (#2111)
  • Softmaxpredfile (#2113)
  • Update vw_types.natvis (#2109)
  • Use numeric_limits (#2107)
  • Refactor cb_adf reduction (#2057)
  • Fix an LGTM warning in recommend (#2105)
  • Update CMakeSettings.json (#2104)
  • Remove all usages of "using namespace std" (#2071)
  • Fix lots of warnings and clang-tidy suggestions (#2085)
  • Make hashing constexpr in C++14 and unify rotl impl (#2093)
  • Migrate c arrays to std::array (#2094)
  • Cb explore adf initialize vars (#2102)
  • "-q" as default nc delay option (#2098)
  • Move cb_sample to be class based (#2087)
  • Cb explore adf atomization (#2069)
  • Fix OSX builds when not using Anaconda. (#2097)
  • Mac Os X CI tests fixes (#2035)
  • Make is_example_header const (#2095)
  • Enable use of newer standards (#2092)
  • mitigate clang-cl SIMD issue (#2091)
  • Java Binding Improvements (#2081)
  • fix: softmax can overflow (#2088)
  • Fix type issues and windows version in cmake file (#2084)
  • Atomize topk reduction (#2050)
  • Update badges in Python readme (#2086)
  • pdrop support for cb/ccb dsjson (#2078)
  • Add CMake option to force color codes (#2082)
  • Atomize autolink reduction (#2047)
  • Add forwarding header for commonly used objects in reductions headers (#2080)
  • Fix initilizer (#2073)
  • Force OSX to build .so files for python (#2061)
  • Allow constructor arugments for calloc_or_throw (#2070)
  • Propagate cache reading failures (#2062)
  • Learner now holds type erased reduction data (#2060)
  • Remove unnecessary null checks (#2067)
  • Remove most usages of unsafe sprintf function (#2054)
  • Fix LGTM Java build issues (#2063)
  • Add unit tests to coverage report (#2053)
  • remove copy from closure, and do by reference (#2058)
  • Limit python install parallelisation to number of cpus (#2056)
  • Update noexcept specifier (#2048)
  • Fix memory leak in CCB prediction (#2065)
  • Constrain doxygen input dirs, remove graphs (#2055)
  • vw_slim into master (#2028)
  • DBG helper and new natvis (#2042)
  • Multiinstance mode for multiline examples (#1934)
  • Properly add CCB index feature with stride/offset (#2041)
  • Ataymano/memory leaks fixes (#2020)
  • Implement explicit included actions for CCB (#1995)
  • Add VW-JNI SNAPSHOT publishing to nightly build
  • Fix compile errors on centos (#2005)
  • Install all headers as fix for missing headers in installed library (#1994)
  • Add comment to to tovw to clarify usage (#1999)
  • Add comment to learner.h (#1997)
  • Update MSVC Toolchain to v14.1 (#1988)
  • Remove deprecated projects and old scripts (#1992)
  • fixed command line argument retrieval from parsed model (#1993)
  • Fix implicit fallthrough warning and unused variable warning in GCC (#1984)
  • Replace nanpattern and infpattern with std:: equivalents (#1983)
  • Migrate Travis to migrated Docker image + cleanup old files (#1982)
  • Add Azure pipeline for Linux CI (#1981)
  • Add constexpr and noexcept to some functions, cleanup unused functions (#1985)
  • vw-hyperopt. Passing additional command when training and validating (#1959)
  • Ensure vw object cannot be moved or copied (#1986)
  • Fix building GCOV with Clang (#1980)
  • Update RunTests to be able to find binaries in the build directory (#1979)
  • Test and unify usage of ec_is_example_header (#1970)
  • Remove thread_local_storage from ccb (#1976)
  • Remove hard requirement for git during Windows build (#1977)
  • Action scores print tag (#1971)
  • Fix some warnings (#1973)
  • Remove two makefiles that were missed in Cmake change (#1969)
  • cd_adf: Added importance weight probability clipping for cb_type mtr, ips, dr (#1952)
  • Fix file permissions for macos CI scripts (#1966)
  • Add macos pipeline (#1965)
  • Add LICENSE to the python source package (#1963)
  • Add source info to VW Nuget description, and update copyright years. (#1962)
  • Update new_version script (#1956)
  • Update python README to reflect new build proceedures (#1961)
  • Conditional Contextual Bandit (#1816)
  • Java Maven pom.xml.in update (#1954)
  • Add git commit to output of --version (#1951)
  • cover and regcb: data.counter++ only in learn examples (not predict) (#1950)
  • Spark/JNI multipass fixes and AllReduce quiet support (#1949)
  • cb_explore_adf: fixed bug when resetting cb_type + improvements (#1948)
  • vw-hyperopt (add support for passing namespaces) (#1941)
  • Tau first should count only learn examples (not predict) (#1944)
  • Python distributions (#1928)
  • Enable suppressing NuGet version tag for official builds (#1946)
  • Fix predict path for cb_explore_adf First (#1939)
  • CS simulator v3.0 (#1932)
  • cs/cli/vw_label.h: Avoid to throw for precision issues (#1933)
  • Remove hard-coded version in Windows CI package gen script. (#1936)
  • Fix clear labels the correct way (#1930)