# Changelog
## [Unreleased]
### Added
### Changed
### Deprecated
### Fixed
## [0.13.0]
### Added
- [[#266]](https://github.com/rust-vmm/vhost/pull/266) Add support for `VHOST_USER_RESET_DEVICE`
### Changed
- [[#269]](https://github.com/rust-vmm/vhost/pull/269) Update vm-memory to 0.16.0 and virtio-queue to 0.13.0
## [0.12.1]
### Fixed
- [[#267](https://github.com/rust-vmm/vhost/pull/267)] Fix feature unification issues with gpu-socket feature.
## [0.12.0] - yanked
This version got yanked because the `gpu_socket` feature introduced in this
release was causing problems
(see [#265](https://github.com/rust-vmm/vhost/issues/265)).
Starting with the next version (v0.12.1), the `gpu_socket` feature was removed.
### Added
- [[#241]](https://github.com/rust-vmm/vhost/pull/241) Add shared objects support
- [[#239]](https://github.com/rust-vmm/vhost/pull/239) Add support for `VHOST_USER_GPU_SET_SOCKET`
### Changed
- [[#257]](https://github.com/rust-vmm/vhost/pull/257) Update vm-memory from 0.14.0 to 0.15.0.
- [[#243]](https://github.com/rust-vmm/vhost/pull/243) Ignore unknown bits in `VHOST_USER_GET_PROTOCOL_FEATURES` response.
### Remove
- [[#246]](https://github.com/rust-vmm/vhost/pull/246) Remove support for FS_* requests
## [0.11.0]
### Added
- [[#203]](https://github.com/rust-vmm/vhost/pull/203) Add back-end's internal state migration support
- [[#218]](https://github.com/rust-vmm/vhost/pull/218) Adding POSTCOPY support
- [[#206]](https://github.com/rust-vmm/vhost/pull/206) Add bitmap support for tracking dirty pages during migration
## [0.10.0]
### Changed
- [[#219]](https://github.com/rust-vmm/vhost/pull/219) Update vmm-sys-util dependency to 0.12.1.
### Remove
- [[#202](https://github.com/rust-vmm/vhost/pull/202)] Do not expose for internal-usage-only `NOOP` and `MAX_CMD` requests.
- [[#205](https://github.com/rust-vmm/vhost/pull/205)] Remove some commented out code.
### Fixed
- [[#208](https://github.com/rust-vmm/vhost/pull/208)] Fix various message structs being `repr(Rust)` instead of `repr(C)`.
## [0.9.0]
### Changed
- [[#187]](https://github.com/rust-vmm/vhost/pull/187) Clean master slave
- Replaced master/slave with frontend/backend in the codebase and public API.
- Replaced master/slave with frontend/backend in the crate features.
- Updated dependency bitflags from 1.0 to 2.4
- [[#116]](https://github.com/rust-vmm/vhost/pull/116) Upgrade to 2021 edition
### Fixed
- [[#184]](https://github.com/rust-vmm/vhost/pull/184) Safety fixes
- [[#186]](https://github.com/rust-vmm/vhost/pull/186) vhost: Fix clippy warnings.
## [0.8.1]
### Fixed
- [[#175]](https://github.com/rust-vmm/vhost/pull/175) vhost: Always enable vm-memory/backend-mmap
## [0.8.0]
### Added
- [[#169]](https://github.com/rust-vmm/vhost/pull/160) vhost: Add xen memory mapping support
### Fixed
- [[#165]](https://github.com/rust-vmm/vhost/pull/165) vhost: vdpa: Provide custom set_vring_addr() implementation
- [[#172]](https://github.com/rust-vmm/vhost/pull/172) Vhost user fix
## [0.7.0]
### Added
- [[#137]](https://github.com/rust-vmm/vhost/pull/137) vhost_user: add Error::Disconnected
### Changed
- Updated dependency vm-memory 0.10.0 to 0.11.0
### Fixed
- [[#135]](https://github.com/rust-vmm/vhost/pull/135) vhost_user: fix UB on invalid master request
- [[#136]](https://github.com/rust-vmm/vhost/pull/136) vhost_user: fix unsound send_message functions
- [[#153]](https://github.com/rust-vmm/vhost/pull/153) Fix set_vring_addr issues
### Deprecated
## [0.6.0]
### Upgraded
- vm-memory from 0.9 to 0.10
- vmm-sys-util from 0.10 to 0.11
## [0.5.0]
### Changed
- [[#113]](https://github.com/rust-vmm/vhost/pull/113) Improved error messages.
- [[#115]](https://github.com/rust-vmm/vhost/pull/115) Use caret requirements for dependencies.
## [v0.4.0]
### Added
- [[#109]](https://github.com/rust-vmm/vhost/pull/109) vhost_kern: vdpa: Override the implementation of valid()
### Fixed
- [[#102]](https://github.com/rust-vmm/vhost/pull/102) Fix warnings and update test coverage
- [[#104]](https://github.com/rust-vmm/vhost/pull/104) fix CODEOWNERS file
- [[#107]](https://github.com/rust-vmm/vhost/pull/107) vhost_kern/vdpa: fix get_iova_range()
## [v0.3.0]
### Added
- [[#92]](https://github.com/rust-vmm/vhost/pull/92) implement vhost_net backend
- [[#97]](https://github.com/rust-vmm/vhost/pull/97) add method to restore Vdpa objects
### Changed
- [[#90]](https://github.com/rust-vmm/vhost/pull/90) add vdpa and vhost-vdpa simple description
- [[#90]](https://github.com/rust-vmm/vhost/pull/90) use vmm_sys_util::fam for vhost_vdpa_config
- [[#95]](https://github.com/rust-vmm/vhost/pull/95) relax vm-memory dependency
- [[#98]](https://github.com/rust-vmm/vhost/pull/98) generate documentation for doc.rs with all features enabled
### Fixed
- [[#98]](https://github.com/rust-vmm/vhost/pull/98) fix a bug in SlaveReqHandler::set_config() which passes wrong configuration data to backend
### Deprecated
- [[#90]](https://github.com/rust-vmm/vhost/pull/90) remove parse_iotlb_msg
## [v0.2.0]
### Added
- [[#74]](https://github.com/rust-vmm/vhost/pull/74) Implement FromRawFd for Listener
- [[#33]](https://github.com/rust-vmm/vhost/pull/33) Add vhost-vDPA support (in-kernel)
### Changed
- [[#68]](https://github.com/rust-vmm/vhost/pull/68) Enforce ByteValued for received structs
## [v0.1.0]
First release