github VowpalWabbit/vowpal_wabbit 8.8.0

latest releases: 9.9.0, wasm_v0.0.7, wasm_v0.0.6...
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)

Don't miss a new vowpal_wabbit release

NewReleases is sending notifications on new releases.