Vowpalwabbit

Latest version: v9.9.0

Safety actively analyzes 619477 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

9.9.0

This release includes several new reductions including contextual bandits with graph feedback as well as a completely new interaction grounded learning reduction. There are also WASM bindings available for Vowpal Wabbit now.

Contextual Bandits with Graph Feedback

Contextual Bandits (CB) with graph feedback can be used for scenarios where some actions, when taken, reveal information other actions (not taken), or maybe don't reveal any information at all. If there exists prior knowledge of this relationship between actions then that knowledge can be used to make exploration and learning more efficient.

See [here](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/CB-with-Graph-Feedback) for more details.

Contextual Bandits with interaction grounded learning

Interaction grounded learning (IGL) can be used for the scenario where user doesn't have a reward function. It will automatically learn a personalized reward function from user's feedback and optimize directly for the latent user satisfaction

See [here](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Interaction-Grounded-Learning) for more details

Vowpal Wabbit package in npm

Now that WASM bindings are available, Vowpal Wabbit can be used in JavaScript and TypeScript applications via the npm package. For more details, see [here](https://www.npmjs.com/package/vowpalwabbit/vowpalwabbit)

<details>
<summary>Click here to see all changes in this release</summary>

What's Changed
* test: [automl] improve runtest and test changes by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4531
* fix: fix multiline typo by swaptr in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4533
* refactor: separate cb_to_cs_adf_mtr and cb_to_cs_adf_dr by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4532
* feat: add a training loss calculation to the predict method of PLT reduction by mwydmuch in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4534
* refactor: [workspace] split 'all' into multiple structs. split config and runtime vars. by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4493
* fix: [parser] Fix potential crash on unjoined parser thread by peterychang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4537
* chore: remove 404 link by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4547
* feat: system for compile feature flags by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4544
* refactor: migrate csv to feature by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4550
* feat: IGL reduction by cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4295
* refactor: move to flatbuffers feature by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4553
* feat: print features in version by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4549
* build: make lda optional with compile feature by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4555
* fix: deprecated github actions by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4559
* feat: IGL save resume by cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4554
* refactor: migrate las simd to compile feature by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4558
* build: add search compile feature by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4561
* feat(CB_GF): correct update rule and simulation unit test by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4565
* feat(CB_GF): turn on graph feedback in generated python wheels by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4566
* feat(CB_GF): accept graph in json format by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4568
* refactor: make allow_override for vector option a compile error instead of runtime error by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4569
* fix: benchmark ci by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4572
* feat: Networking compile time flag by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4571
* feat: initial WASM support by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4562
* feat: WASM initial CB model API by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4574
* fix: [epsilon_decay] dont use exploration for challenger p_pred by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4576
* feat: WASM VW JS wrapper file/classes by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4575
* feat: WASM logging examples to file by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4578
* fix: pydoc ci by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4577
* feat: WASM sample pmf and predict_and_sample by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4579
* feat: IGL predict only model by cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4573
* docs: WASM add jsdoc comments to vw.js by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4580
* refactor: WASM separate logging class by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4582
* feat: Build vw-wasm for browser plugin by cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4583
* feat: Add emt_initial flag to the EMT reduction by mrucker in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4556
* test: turn on tests for rlos2023 by ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4586
* test: python ci on rlos PR by ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4588
* feat: option for user to pass in an array and receive and array durin… by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4584
* fix: [epsilon_decay] deterministic p_pred bug by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4590
* docs: add readme with examples and API docs by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4592
* feat: WASM packaging by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4593
* feat: WASM typescript instead of javascript for vw wrapper by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4594
* fix: WASM package scoping and cleanup error class check by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4596
* fix: WASM versioned docs and 0.0.4 release by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4598
* fix(CB_GF): correct constraints, huge cleanup, and clip and normalize probabilities by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4581
* feat: WASM both node and es6 and version bump to 0.0.5 by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4601
* fix: WASM npm install and test before publish and version bump 0.0.6 by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4602
* build: enable warnings for non exhaustive switches by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4570
* refactor: [eps_decay] Remove unused estimator include by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4604
* feat: expose explore eval stats to python interface by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4451
* fix: vcpkg for windows ci by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4608
* fix: [epsilon_decay] save_load weight indices by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4606
* feat: flag to save and load per model state by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4605
* fix: Add error message when passing unsigned integers to tovw by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4610
* perf: only format model values if writing text model by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4613
* feat: add dense example creation func to wasm by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4615
* fix: changing ftrl defaults by ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4607
* fix: hide graph feedback tests behind flag by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4617
* chore: update version to 9.9.0 by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4625

</details>

New Contributors
* swaptr made their first contribution in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4533

**Full Changelog**: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.8.0...9.9.0

9.8.0

General Notes
Upgrades to benchmarking, naming conventions, and minor bug fixes.

<details>
<summary>Click here to see all changes in this release</summary>

What's Changed

Features

* feat: Switch to scalar code for unimplemented interactions in las simd code path. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4487
* feat: support tags for options by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4507
* feat: [gd] persist ppw extra state by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4023
* feat: [LAS] add example ft hash and cache and re-use rows of matrix if actions do not change by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4509
* feat: [LAS] with CCB by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4520

Fixes

* fix: move explore_eval above epsilon_decay by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4501
* fix: [epsilon_decay] output prob ACTION_PROBS, skip: 449 by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4502
* fix: skip compat tests by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4503
* fix: Fix model merging not reweighting input by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4508
* fix: [epsdecay] return champ prediction always by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4518
* fix: cbzo ppw fix by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4519
* fix: multi-model state for cb_adf by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4513
* fix: [automl] avoid ccb pulling in generate_interactions by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4524

Other Changes

* refactor: split out 400+ valgrind tests by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4482
* build: Don't add SSE flags when cross compiling to MacOS universal2 binary by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4489
* refactor: Migrate raw function pointers to std::function by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4461
* refactor: [all] remove cost_sensitive from workspace by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4490
* refactor: [sd] move prog val config to sd by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4491
* chore: update submodules by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4492
* ci: [epsilon_decay] benchmarks by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4494
* refactor: register additional metrics at start not at finish by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4499
* chore: force eigen submodule path to output a message if submodule mi… by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4504
* refactor: allow any pointer in object_pool by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4473
* chore: [LAS] don't force mtr with LAS by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4516
* test: fix pytype issue in test runner and utl by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4517
* refactor: make flat_example an implementation detail of ksvm by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4505
* refactor: automatically set label parser after stack created by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4471
* refactor: add api to set data object associated with learner by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4523
* refactor: dedup dict const by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4525
* refactor: rename wpp, ppw, ws, params_per_problem, problem_multiplier, num_learners, increment -> feature_width by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4521
* refactor: remove resize in gd setup by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4526
* chore: Update Version to 9.8.0 by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4529

**Full Changelog**: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.7.0...9.8.0

</details>

9.7.0

Eigen Memory Tree

An Eigen Memory Tree (EMT) is a memory based learning reduction. EMTs will remember previous training examples and use this memory to assign labels to future requested predictions. For more information, see the [EMT wiki page](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Eigen-Memory-Trees-(EMT))

Robust confidence sequence estimator

https://github.com/VowpalWabbit/vowpal_wabbit/pull/4297

Cubic config oracle in automl

We are now able to search over cubic interactions on top of quadratic interactions in automl . [Automl](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Automl)

Vector CPU instructions

Vector CPU instructions for faster computation in the CB with Large Action Space reduction. [LAS](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Contextual-Bandits-with-Large-Action-Spaces-(LAS))

Predict only models

Ability to save predict only models from some reductions (automl, epsilon-decay).  this removes the reductions from the reduction stack and allows older versions of VW to predict.

Enforce minimum probability for SquareCB

[SquareCB] (https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Contextual-Bandit-Exploration-with-SquareCB)

Support for probabilities for PLT

Added support for probabilities output for the PLT reduction + fix it in version 9+.

Target rate added to explore eval

The goal of explore eval is to evaluate different exploration algorithms using the data from a logged policy. [Explore Eval](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Explore-Eval)

VW refactors

- Improved finish_example in all reductions
- Parsers for different formats moved into their own libraries
- Namespacing of library fixed - all things under VW

<details>
<summary>Click here to see all changes in this release</summary>

What's Changed

Features

* feat: explore eval example target rate by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4277
* feat: [gd] invert_hash readeable model with hexfloat by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/3999
* feat: explore eval target rate by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4285
* feat: Add explicit simd implementation for one pass svd in large action spaces. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4261
* feat: Add avx2 implementation for one pass svd in large action spaces. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4281
* feat: Handle ignore_linear in las simd and throw on unsupported interactions. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4282
* feat: spin off automl predict_only_model to standard cb model by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4279
* feat: add mix with uniform impl by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4301
* feat: Enforce minimum probability for squarecb and update impl by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4298
* feat: add unique_ptr support to model_utils by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4341
* feat: use strong type for no pred by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4343
* feat: use strong type for no label by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4342
* feat: Adding EMT reduction. by mrucker in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4264
* feat: [automl] trace to csv files by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4355
* feat: robust confidence sequence estimator by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4297
* feat: [automl] config oracle cubic on top of quadratic by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4351
* feat: update for probabilistic label tree reduction (2766) - support for --probabilities option and fixed compatibility with VW 9+ version by mwydmuch in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4138
* feat: constexpr uniform_hash and type fixes by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4415
* feat: Enable learner type checks at build. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4411
* feat: stabilize unique_ptr based initialize function by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4438
* feat: Added new CCB predict benchmark by rajan-chari in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4421
* feat: [CB_GF] CB with graph feedback text input by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4392
* feat: [epsilon_decay] predict_only_model by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4458

Fixes

* fix!: resolve csoaa_ldf prediction return correctness by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4395
* fix!: [LAS] las + squarecb to re-use squarecb gamma by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4479
* fix!: [py] use full word for namespace and add test by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4485
* fix: [Explore_eval] fix threshold for adaptive multiplier by marco-rossi29 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4168
* fix: Add pragma once to merge.h by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4284
* fix: [epsilon_decay] process models in descending order when shifting by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4286
* fix: [CI] check for missing args consistently in forwards/backwards compat by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4289
* fix: [CI] backwards compat don't fail if model file is missing by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4291
* fix: silence unused warning when las simd not enabled by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4299
* fix: Build las simd on x86 only and rename command line flag. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4300
* fix: [automl] update champ score when it matches labelled_action by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4326
* fix: fix get_features function returning dangling pointer by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4328
* fix: [automl] config oracle edge cases by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4327
* fix: remove type numpy aliases as they are now removed upstream by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4363
* fix: fix loop binding to temporary by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4379
* fix: [automl] update print logic for new oracle by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4384
* fix: exception safety in learner builder by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4429
* fix: remove cerr from cs_robust by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4441
* fix: [automl/epsilon_decay] brentq optimization by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4449
* fix: pydocs formatting by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4464
* fix: invert_hash for coin/ftrl by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4465
* fix: Account for | in make_valid_name() by darwinyip in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4468
* fix: [LAS] LAS not a cb adf common reduction, fixes metrics with LAS bug by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4476
* fix: [automl] allow multiple models underneath automl by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4463
* fix: include t, min and max label in model merging by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4483

Other Changes

* ci: use shared caches for vcpkg job by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4270
* build: add missing include by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4275
* refactor: use model utils instead of macro in recall tree by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4248
* refactor: [automl] remove lb_trick by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4283
* docs: Update off_policy_evaluation.md by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4280
* ci: compatibility CI checks to not fail on newly added arguments by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4287
* test: remove flaky test (win) by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4290
* build: Use nix to manage dev tooling starting with clang-tidy by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4292
* build: remove regex from clang-tidy-diff command as it wasnt working by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4294
* chore: use clang-format-14 for formatting by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4302
* build: consume string-view-lite as a sys dep for vcpkg by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4303
* refactor: implement scaffold for finish_example split and POC migrations by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4296
* refactor: move csv parser into csv namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4304
* refactor: split apart output and progressive log by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4308
* refactor: move accumulate funcs into details namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4305
* refactor: migrate mwt finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4311
* build: reduce header dependencies in important headers by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4306
* refactor: split cache parser into separate lib by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4309
* refactor: fix conversion warnings in v_array and removed deprecated usages by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4310
* refactor: allow reduction to control print frequency by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4315
* ci: Python sdist/docs - use 3.10 as that is now the default on 22.04 by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4317
* docs: dont execute epsilon decay notebook by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4318
* ci: used shared cache for asan builds by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4313
* chore: Move cats paper code to demo directory. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4320
* refactor: migrate nn finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4314
* chore: don't try to format vcpkg_installed files by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4323
* refactor: [automl] small clean-up by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4325
* refactor: migate OAA finish func by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4316
* refactor: migrate stagewise_poly finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4322
* perf: arm64 performance optimizations by rami-lv in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4288
* refactor: deprecate alloc/dealloc example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4329
* refactor: deduplicate random_seed state by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4331
* refactor: remove unused field in parser by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4332
* refactor: move some fields out of workspace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4333
* refactor: small namespace cleanup by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4334
* refactor: move shared_data into VW namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4338
* refactor: cleanup unique_sort.h by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4336
* refactor: remove unused stable_unique by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4337
* refactor: mark WRITEIT and WRITEITVAR as deprecated by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4335
* refactor: migrate finish and sender no longer holds on to examples by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4321
* refactor: Migrate plt finish_example. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4339
* refactor: Migrate multilabel_oaa finish_example. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4340
* refactor: migrate topk finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4324
* refactor: namespacing in parser.h by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4345
* refactor: remove scoped_calloc_or_throw in favor of make_unique by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4346
* refactor: Migrate oja newton finish and modernize memory management by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4350
* refactor: fix namespacing of feature_group.h header by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4352
* refactor: remove finish example for count_label by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4349
* refactor: migrate confidence finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4348
* refactor: migrate cbzo finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4347
* refactor: use unique_ptr for parser, fix new/free mismatch by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4357
* refactor: v_array resize_but_with_stl_behavior -> resize rename by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4361
* refactor: cb_explore finish function by peterychang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4360
* chore: clarify daemon support on MacOS by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4367
* chore: add active_interactor deprecation notice by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4359
* refactor: move text parser into its own lib by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4356
* refactor: deprecate some legacy functions by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4369
* refactor: update baseline_cb_test usage of initialize to scoped by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4370
* refactor: move label operations to members for findability by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4374
* refactor: migrate bs finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4366
* test: migrate some tests from boost to gtest by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4376
* refactor: migrate cats_pdf, cats finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4372
* refactor: migrate audit_regressor finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4358
* refactor: migrate boosting finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4362
* test: move more tests and add matcher impl by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4380
* refactor: move confidence_seq code to impl by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4373
* refactor: Migrate cb_explore_adf reductions finish functions by peterychang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4330
* test: move more tests to gtest from boost by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4383
* chore: remove some LAS tests that are not needed by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4386
* refactor: move json parser into its own lib by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4381
* refactor: reduce global namespace pollution by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4385
* test: move more tests from boost to gtest by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4387
* refactor: rename read_line_json_s -> read_line_json by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4388
* ci: csharp benchmarks to run on master by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4389
* build: automate test main.cc file generation by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4390
* refactor: [automl/epsilon_decay] integrate robust confidence sequences by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4377
* refactor: migrate cb_adf finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4397
* build: rely on gtest_main target instead of custom by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4396
* refactor: migrate cs_active finish function by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4394
* refactor: cb_to_cb_adf finish function by peterychang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4398
* test: move last of tests to gtest, remove all boost test infra by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4399
* refactor: fix namespacing of parse_primitives.h by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4405
* refactor: fix namespacing of io_buf.h by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4403
* refactor: fix namespacing of parameters by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4404
* refactor: move vw.h functions to be defined in vw.cc by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4410
* refactor: Add metrics collector by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4407
* refactor: standardize googletest naming by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4408
* refactor: migrate log_multi finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4414
* refactor: migrate memory_tree finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4412
* test: minor testing fixes by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4417
* refactor: migrate automl finish_example by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4419
* refactor: migrate search finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4400
* refactor: migrate recall_tree finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4402
* docs: reproducible doxygen docs using nix by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4425
* refactor: remove learner print_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4423
* refactor: cb_algs finish functions by peterychang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4409
* refactor: migrate ect finish_example by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4424
* refactor: cleanup cb.h header by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4427
* refactor: remove learn and label references from ect predict by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4426
* refactor: cleanup more global namespace pollution by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4428
* docs: Fixed typo from steep cost function to step cost function by bkowshik in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4393
* revert: previous wrong correction in docs by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4433
* refactor: cleanup CB related namespaces by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4431
* refactor: deprecate is_from_pool by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4432
* ci: output valgrind logs on unit test failure by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4430
* test: add tests for uniform_hash by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4436
* refactor: migrate exploration namespace to VW::explore by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4435
* docs: minor tutorial cleanups by ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4437
* refactor: migrate INTERACTIONS namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4434
* refactor: unify locked and unlocked pools in one impl by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4439
* refactor: migrate cbify finish example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4440
* refactor: migrate MULTILABEL namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4443
* refactor: migrate GD namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4442
* refactor: migrate explore_eval finish function by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4448
* refactor: migrate warm_cb finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4447
* build: dont expose eigen in public headers by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4445
* refactor: rename finalize_driver to finish by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4450
* refactor: migrate csoaa finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4446
* refactor: consolidate random into common by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4453
* refactor: migrate lda finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4413
* refactor: migrate csoaa_ldf finish_example by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4452
* refactor: remove internal usage functions from workspace api by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4456
* build: do not override externally set VW_CXX_STANDARD by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4455
* refactor: migrate to new initialize function by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4444
* build: enable consumption of system sse2neon by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4457
* test: add test for interactive active workload by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4454
* refactor: refactor finish_example for active by rajan-chari in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4353
* docs: Fix typo in "Contextual Bandit Content Personalization" tutorial by toldervoll in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4466
* refactor: brentq optimizations by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4462
* refactor: estimator dir by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4470
* refactor: [automl/epsilon decay] bisection method by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4469
* refactor: estimators ns in cressieread by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4472
* refactor: [automl] add tol_x and opt_func flags by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4475
* refactor: python lint (new black version) by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4480
* refactor: make workspace const in add_constant_feature by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4481
* refactor: implement delta add/subtract by actually adding and subtracting weights by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4486

New Contributors
* rami-lv made their first contribution in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4288
* bkowshik made their first contribution in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4393
* toldervoll made their first contribution in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4466
* darwinyip made their first contribution in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4468

**Full Changelog**: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.6.0...9.7.0

</details>

9.6.0

Large Action Spaces
This introduces the Large Actions Spaces (LAS) feature. LAS is an algorithm that lets exploration happen efficiently when there are a large number of actions in a contextual bandit dataset. The main idea behind it is to eliminate actions that are similar and explore only over the most diverse actions in the dataset. For more information, see the [LAS wiki page](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Contextual-Bandits-with-Large-Action-Spaces-(LAS)).

Style Changes
This release introduces additional style changes to make VW code formatting more consistent. Variable and type names are `snake_case`, constants and macros are `UPPERCASE`, and the `VW::details` namespace is used to hide implementation details.

Faster Compile Times
Through jackgerrits's changes to some header files, VW now builds much faster! On one machine, compile times went from around 30 seconds to 17.

<details>
<summary>Click here to see all changes in this release</summary>

What's Changed
* build: remove FORCE_COLORED_OUTPUT by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4213
* style: fix some more style issues by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4211
* feat: implement serialization and deserialization for model deltas by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4222
* chore: update boost_math, fmt, vcpkg, zlib by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4223
* style: another round of style updates by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4224
* style: update style and namespacing for constants by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4226
* fix: [LAS] don't use shared features during SVD calculation by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4225
* fix: [LAS] ensure vw prediction makes it to exploration by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4227
* fix: VW should not add anything to namespace std by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4230
* style: update style of label_type_t by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4229
* test: [epsilon decay] find champ change in simulator by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4228
* refactor: reduce build time by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4232
* feat: [LAS] filter out (potentially) more actions than d based on singular values by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4234
* build: do not add sse flags when doing MacOS arm cross build by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4235
* style: update label type to all caps by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4236
* style: update prediction type to all caps by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4237
* build: allow VW_CXX_STANDARD to be provided by consumer of VW by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4238
* refactor: remove beam.h by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4241
* style: more style fixes by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4240
* style: another round of style updates by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4242
* feat: [LAS] sparse Rademacher by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4243
* chore: [LAS] remove unused implementations and set max actions default by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4247
* refactor: move LabelDict namespace items into other namespaces, add const by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4245
* fix: don't run tests with iterations (and a simulator) with valgrind … by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4251
* chore: [LAS] remove compile time flag and its own custom CI by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4249
* fix: don't run tests with iterations with asan and ubsan by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4253
* fix: [LAS] block size should never be zero by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4252
* fix: [LAS] always return full predictions by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4255
* refactor: use model_utils for save_load in las by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4263
* refactor: remove unused field in sparse_iterator by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4259
* test: add make_args for easier workspace creation in tests by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4267
* ci: change caching for benchmark job by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4269
* build: resolve cmake version check TODO in DetectCXXStandard.cmake by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4268
* fix!: save/load entire tag in flat_example + bump version to 9.6 by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4266
* test: apply make_args across test projects by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4272
* fix: This patches a bug with flat_example collision cleanup by mrucker in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4265
* fix: explore_eval don't learn if logged action not in predicted actions by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4262
* fix: [LAS] full predictions regardless of learn/predict path by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4273

</details>

**Full Changelog**: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.5.0...9.6.0

9.5.0

Style Changes

This release includes some improvements to the style and naming conventions in VW. This includes using `snake_case` for all variable and class names, and converting most structs to classes. These style changes will be standardized and enforced in later releases.

[Confidence Sequence Estimator](https://arxiv.org/pdf/2102.09540.pdf)

Confidence sequences have become the default estimators when evaluating policies in multi-model reductions such as AutoML and Epsilon Decay.

<details>
<summary>Click here to see all changes in this release</summary>

Changes

Features

* feat: integrate confidence sequences in automl and epsilon_decay by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4125
* feat: add experimental to python by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4165
* feat: Improve large actions multithreading. by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4158
* feat: [epsilon decay] add initial epsilon option by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4170
* feat: Model merging with delta objects by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4177
* feat: Add ftrl to dump_weights_to_json and compat CIs by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4193

Fixes

* fix: build issue for model merger tool by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4160
* fix: remove experimental and fix up model version test by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4162
* fix: test 67 windows failure by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4167
* fix: one_of for loss_option by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4178
* fix: Fix test 67 by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4194
* fix: small build fixes for LAS on MacOS by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4202
* fix: LAS unit test bug by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4210
* fix: quake_inv_sqrt func for aarch64 test failure by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4217
* fix: only remove ksvm dump_weights by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4195
* fix: Add native runtime dependencies to nuspec by lokitoth in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4216

Other Changes

* chore: [LAS] code cleanup by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4153
* ci: Upgrade Ubuntu version used in CI pipelines by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4161
* ci: check current VW wheel against most recent models by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4169
* ci: Enable test 67 with ASan by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4176
* refactor: Use github-action-benchmark for running benchmarks by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4152
* docs: Update readme for benchmarks by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4181
* ci: check model weights for gd-based tests for forward and backward compat by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4172
* style: resolve style issues in allreduce project by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4187
* refactor: cleanup includes by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4188
* refactor: split sparse and dense parameters by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4190
* refactor: move open_socket into details namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4189
* refactor: use operators for inequality instead of custom compare functions by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4192
* refactor: remove unused type in allreduce by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4191
* ci: settle on consistent style and add warnings for violation by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4183
* style: fix style issues in config by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4198
* style: don't warn on short variable names, add static constant rule by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4196
* style: move action scores into VW namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4199
* style: update allreduce to snake_case by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4197
* refactor: replace classes with structs for consistency by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4205
* refactor: move ccb items into VW namespace by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4204
* style: rename label_data to VW::simple_label by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4200
* ci: Fix randomly failing .NET benchmarks by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4209
* refactor: move several labels into VW namespace, style updates by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4206
* style: apply more style fixes per clang-tidy by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4208
* docs: only document public includes with doxygen by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4212
* refactor: update structs to classes with public by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4215
* style: style fixes in io project by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4201
* refactor: No RapidJSON in header files by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4219
* refactor: remove empty public: by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4220
* chore: Update Version to 9.5.0 by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4221


**Full Changelog**: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.4.0...9.5.0

</details>

9.4.0

We tagged `9.4.0` a few weeks ago but a few delays caused the rest of the release to only be completed now. The contents of these release notes and all associated artifacts correspond to the `9.4.0` tag on September 15.

DotNet Core

DotNet core support is here! It works if you [manually import dependencies](https://github.com/VowpalWabbit/vowpal_wabbit/issues/4214), but it will become automatic in the upcoming `9.4.1`.

Native CSV Parser

As part of RLOS Fest this year HollowMan6 implemented Native CSV parsing support. It is currently disabled by default but is available using a CMake option (`VW_BUILD_CSV`). This feature makes it possible to download CSV datasets and process them without any extra steps. HollowMan6 also created a [tutorial](
https://vowpalwabbit.org/docs/vowpal_wabbit/python/latest/tutorials/cmd_csv_with_iris_dataset.html) to explain how to use the feature on the well known iris dataset. Thanks for all of your hard work!


<details>
<summary>Click here to see all changes in this release</summary>

Changes

Features

* feat: native CSV parsing by HollowMan6 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4073
* feat: [las] spanner rank one determinant update implementation by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4090
* feat: confidence sequences estimator by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4120
* feat: .NET Core Support by lokitoth in https://github.com/VowpalWabbit/vowpal_wabbit/pull/3969
* feat: Semantic Versioning by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4134
* feat: ptr queue to generic queue by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4140
* feat: simple thread pool by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4137
* feat: [LAS] use thread pool in LAS one_pass implementation by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4141
* feat: Performance benchmarks for .NET C bindings by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4133

Fixes

* fix: [automl] multiple fixes by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4089
* fix: [las] unit-test-fails to link by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4118
* fix: dump_options typo by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4119
* fix: [automl] call process_example before predict by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4122
* fix: [automl] generate challengers on first example by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4123
* fix(csv): default label regardless of if label column present by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4127
* fix: Fix minor typos in large action space benchmarks by zwd-ms in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4128
* fix: add one_of to csoaa_ldf by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4130
* fix: Only create launch_vs target if it does not already exist by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4135

Other changes

* refactor: [automl] split config oracle out by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4107
* refactor: [automl] move files to details dir by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4108
* refactor: [automl] small refactors by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4109
* refactor: clear labels before reading from cache by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4113
* refactor: [automl] template for oracle by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4111
* chore: [las] separate spanners and remove aatop SVD impl by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4116
* test: [automl] add unit tests for oracle & refactor by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4115
* refactor: [automl] remove estimator dependency from oracle by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4117
* refactor: [automl] prepare aml_estimator for other estimator impl by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4114
* test: add csv parser to throughput measurement tool by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4110
* ci: check all runtests models for forwards model compatibility by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4126
* ci: clang-tidy only errors by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4129
* ci: Build and test with AddressSanitizer by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4103
* refactor: [automl] iterator based config generators by lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4121
* perf: [LAS] speedup by removing branch from hot path by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4136
* test: Resolve gtest loading issues on Windows by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4131
* docs: pin theme to 0.9.0 to resolve missing TOC by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4139
* ci: Fix pytype error by byronxu99 in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4142
* build: fix windows.h GetObject issue by jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4143
* refactor: [automl] allow_override for selected options by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4144
* test: [LAS ] add spanner tests and test file separation by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4146
* test: [LAS] calculate num of non-degenerate singular values by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4147
* docs: [LAS] add some comments in the code explaining one-pass SVD by olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4148
* refactor: one_of for wap_ldf and cbzo, clean rank options by bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4145
* chore: Update Version to 9.4.0 by lokitoth in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4151


**Full Changelog**: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.3.0...9.4.0

</details>

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.