vhost
a pure rust library for vdpa, vhost and vhost-user
0.17.0
4.2M downloads/mo
#4896 most downloaded on crates.io
rust-vmm/vhost
What this package is like to depend on
Last release 1 months ago
09 Jul 2026
Ships fairly regularly
a new release about every 3 months
Nearly every release is documented
notes for 18 of 19 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
20 releases · first in 2021
3 releases in the last 12 months
see the full history below
Release timeline
20 releases · Aug 2021 to Jul 2026Releases
latest 20-
0.17.009 Jul 2026Release notes
Open source →vhost-v0.17.0
Added
=====- [[#355]](#355) Add socket-cloning helpers for backend request handlers.
- [[#360]](#360) Validate AF_UNIX SOCK_STREAM socket file descriptors and
add Error::InvalidSocketFd, Error::NotUnixSocket and Error::NotStreamSocket.Changed
=======- [[#364]](#364) Updated vm-memory to 0.18.0
- [[#366]](#366) Update virtio-bindings to v0.2.7Fixed
=====- [[#367]](#367) Fix `SHMEM` protocol feature bit position (bit 21 → bit 22)
to align with the vhost-user spec, and add missing `GPA_ADDRESSES` at bit 21.Release notes
Open source →Added
- [#355] Add socket-cloning helpers for backend request handlers.
- [#360] Validate AF_UNIX SOCK_STREAM socket file descriptors and add Error::InvalidSocketFd, Error::NotUnixSocket and Error::NotStreamSocket.
Changed
Fixed
- [#367] Fix
SHMEMprotocol feature bit position (bit 21 → bit 22) to align with the vhost-user spec, and add missingGPA_ADDRESSESat bit 21.
-
0.16.025 Mar 2026Release notes
Open source →vhost v0.16.0
Added
- [#251] Add
SHMEM_MAPandSHMEM_UNMAPsupport - [#336] Add frontend support for device state transfer (
VHOST_USER_PROTOCOL_F_DEVICE_STATE) - [#339] Add support for
GET_SHMEM_CONFIGmessage
Changed
- [#338] Implement
From<Error>forio::Error, renameBackend::nodetoinnerand inlinelock()calls - [#347] Shift feature bits to accommodate
GET_VRING_BASE_INFLIGHTspec change
Fixed
Release notes
Open source →Added
- [#251] Add
SHMEM_MAPandSHMEM_UNMAPsupport - [#336] Add frontend support for device state transfer (
VHOST_USER_PROTOCOL_F_DEVICE_STATE) - [#339] Add support for
GET_SHMEM_CONFIGmessage
Changed
- [#338] Implement
From<Error>forio::Error, renameBackend::nodetoinnerand inlinelock()calls - [#347] Shift feature bits to accommodate
GET_VRING_BASE_INFLIGHTspec change
Fixed
- [#251] Add
-
0.15.018 Nov 2025Release notes
Open source →vhost v0.15.0
Added
- [#311] Implement
From<UnixListener>forvhost_user::Listener.
Changed
- [#321] Don't take ownership of listener in
BackendListener. - [#334] Updated vm-memory to 0.17.1 and vmm-sys-util to 0.15.0
Fixed
Release notes
Open source →Added
- [#311] Implement
From<UnixListener>forvhost_user::Listener.
Changed
- [#321] Don't take ownership of listener in
BackendListener. - [#334] Updated vm-memory to 0.17.1 and vmm-sys-util to 0.15.0
Fixed
- [#311] Implement
-
0.14.004 Jun 2025Release notes
Open source →vhost v0.14.0
Added
- [#268] Add support for
VHOST_USER_GET_SHARED_OBJECT
Changed
- [#290] Backends now
always supportVHOST_USER_PROTOCOL_F_REPLY_ACK, without the
VhostUserBackendReqHandlerimplementation having to include it in
the features returned fromget_protocol_features. - [#295] Updated vm-memory to 0.16.2 and vmm-sys-util to 0.14.0
Fixed
- [#277] vhost: Fix reply header for error case in POSTCOPY_ADVISE
Release notes
Open source →Added
- [#268] Add support for
VHOST_USER_GET_SHARED_OBJECT
Changed
- [#290] Backends now
always support
VHOST_USER_PROTOCOL_F_REPLY_ACK, without theVhostUserBackendReqHandlerimplementation having to include it in the features returned fromget_protocol_features. - [#295] Updated vm-memory to 0.16.2 and vmm-sys-util to 0.14.0
Fixed
- [#277] vhost: Fix reply header for error case in POSTCOPY_ADVISE
- [#268] Add support for
-
0.13.004 Nov 2024Release notes
Open source →Added
- [#266] Add support for
VHOST_USER_RESET_DEVICE
Changed
- [#269] Update vm-memory to 0.16.0 and virtio-queue to 0.13.0
- [#266] Add support for
-
0.12.125 Oct 2024 -
0.12.013 Sep 2024 withdrawnRelease notes
Open source →This version got yanked because the
gpu_socketfeature introduced in this release was causing problems (see #265). Starting with the next version (v0.12.1), thegpu_socketfeature was removed.Added
Changed
- [#257] Update vm-memory from 0.14.0 to 0.15.0.
- [#243] Ignore unknown bits in
VHOST_USER_GET_PROTOCOL_FEATURESresponse.
Remove
- [#246] Remove support for FS_* requests
-
0.11.015 Mar 2024 -
0.10.008 Jan 2024Release notes
Open source →Changed
- [#219] Update vmm-sys-util dependency to 0.12.1.
Remove
- [#202] Do not expose for internal-usage-only
NOOPandMAX_CMDrequests. - [#205] Remove some commented out code.
Fixed
- [#208] Fix various message structs being
repr(Rust)instead ofrepr(C).
-
0.9.007 Nov 2023Release notes
Open source →Changed
- [#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] Upgrade to 2021 edition
Fixed
- [#187] Clean master slave
-
0.8.117 Jul 2023 -
0.8.005 Jul 2023 -
0.7.019 May 2023Release notes
Open source →Added
- [#137] vhost_user: add Error::Disconnected
Changed
- Updated dependency vm-memory 0.10.0 to 0.11.0
Fixed
- [#135] vhost_user: fix UB on invalid master request
- [#136] vhost_user: fix unsound send_message functions
- [#153] Fix set_vring_addr issues
Deprecated
-
0.6.117 Aug 2023Nothing published for this version
-
0.6.030 Nov 2022 -
0.5.009 Sep 2022Release notes
Open source → -
0.4.018 Mar 2022Release notes
Open source → -
0.3.020 Dec 2021Release notes
Open source →Added
Changed
- [#90] add vdpa and vhost-vdpa simple description
- [#90] use vmm_sys_util::fam for vhost_vdpa_config
- [#95] relax vm-memory dependency
- [#98] generate documentation for doc.rs with all features enabled
Fixed
- [#98] fix a bug in SlaveReqHandler::set_config() which passes wrong configuration data to backend
Deprecated
- [#90] remove parse_iotlb_msg
-
0.2.023 Sep 2021 -
0.1.006 Aug 2021