NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #512 most downloaded on crates.io
Rust bindings to MS Windows Registry API
Last release 6 months ago
14 Mar 2026
Release timing varies
gaps range from 2 weeks to 1.4 years
Most releases are documented
notes for 29 of 34 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
35 releases · first in 2015
Breaking change: RegValue.bytes is now Cow<[u8]> and not Vec<u8> which introduces a lifetime to the structure ( #64 ).
RegValue.bytes is now Cow<[u8]> and not Vec<u8> which introduces a lifetime to the structure (#64).DELETE, KEY_ENUMERATE_SUB_KEYS and KEY_QUERY_VALUE permissions in addition to KEY_CREATE_SUB_KEY and KEY_SET_VALUE used previously. This is required for:RegKey methods: encode_destructive() and encode_destructive_transacted() that wipe all subkeys/values of a target key before writing to it (#76).RegKey methods: enum_keys_os_string() and enum_values_os_string() return iterators that use OsString for key/value names (#80).consts for predefined registry keys: HKCR, HKCU, HKLM, HKU and HKCC.std traits FromRawHandle, IntoRawHandle and AsRawHandle for Transaction.windows-sys version to >=0.59, <=0.61 according to its README recomendation.One column per quarter.
Breaking change: Increate MSRV to 1.60
windows-sys to version 0.59 (#77)Breaking change: Migrate to the 2021 edition of Rust (MSRV 1.56)
Don't stop deserialization of Any due to REG_NONE (pullrequest #67 , fixes #66 )
Breaking change: .commit() and .rollback() now consume the transaction
Breaking change: fix std::Display implementation for RegValue
Breaking change: `winapi-rs` is not maintained any more, so migrate to Microsofts `windows-sys` as a backend (#48, #51)
winapi-rs is not maintained any more, so migrate to Microsofts windows-sys as a backend (#48, #51)1.46 since windows-sys doesn't compile with older versionschrono (#48)Breaking change: RegValue.bytes is now Cow<[u8]> and not Vec<u8> which introduces a lifetime to the structure ( #64 ).
RegValue.bytes is now Cow<[u8]> and not Vec<u8> which introduces a lifetime to the structure (#64).DELETE, KEY_ENUMERATE_SUB_KEYS and KEY_QUERY_VALUE permissions in addition to KEY_CREATE_SUB_KEY and KEY_SET_VALUE used previously. This is required for:RegKey methods: encode_destructive() and encode_destructive_transacted() that wipe all subkeys/values of a target key before writing to it (#76).RegKey methods: enum_keys_os_string() and enum_values_os_string() return iterators that use OsString for key/value names (#80).consts for predefined registry keys: HKCR, HKCU, HKLM, HKU and HKCC.std traits FromRawHandle, IntoRawHandle and AsRawHandle for Transaction.Don't stop deserialization of Any due to REG_NONE (pullrequest #67 , fixes #66 )
Breaking change: increase MSRV to 1.34
FromRegValue for u32 and u64 (#61)Breaking change: .commit() and .rollback() now consume the transaction
Breaking change: fix std::Display implementation for RegValue
Migrate to the 2018 edition of Rust
Bump the minimal required version of winapi to 0.3.9 (required for load_app_key)
winapi to 0.3.9 (required for load_app_key)REG_PROCESS_APPKEY and use it in the load_app_key exampleAdd RegKey::load_app_key() and RegKey::load_app_key_with_flags()
RegKey::load_app_key() and RegKey::load_app_key_with_flags() (#30)rand to 0.8Breaking change: OsStr and OsString registry values are not NULL-terminated any more (#34, #42)
OsStr and OsString registry values are not NULL-terminated any more (#34, #42)ToRegValue impls and tests for string valuesbare_trait_objects warning in the doctestsimpl ToRegValue for OsStringREG_MULTI_SZ and vectors of strings (#16)winapi version to 0.3.7 (earlier versions don't have impl-default and impl-debug features which we use)rust-1.31.1 tooImplement serialization of char and maps
char and mapsstd::fmt::Display for RegValueRegKey::{predef,raw_handle,enum_keys,enum_values} functions constsrc/lib.rs to tests/reg_key.rsBreaking change: remove deprecated Error::description
Add RegKey::delete_subkey_with_flags()
RegKey::delete_subkey_with_flags() (#27)Add last_write_time field to RegKeyMetadata (returned by RegKey::query_info()) (#25).
last_write_time field to RegKeyMetadata (returned by RegKey::query_info()) (#25).get_last_write_time_system() and get_last_write_time_chrono() (under chrono feature) methods to RegKeyMetadata.Breaking change: create_subkey, create_subkey_with_flags, create_subkey_transacted and create_subkey_transacted_with_flags now return a tuple which co…
create_subkey, create_subkey_with_flags, create_subkey_transacted and
create_subkey_transacted_with_flags now return a tuple which contains the subkey and its disposition
which can be REG_CREATED_NEW_KEY or REG_OPENED_EXISTING_KEY (#21).unwrap according to Rust API guidelines.* Reexport HKEY (#15). * Add raw_handle method (#18).
Breaking change: open_subkey now opens a key with readonly permissions. Use create_subkey or open_subkey_with_flags to open with read-write permission…
open_subkey now opens a key with readonly permissions.
Use create_subkey or open_subkey_with_flags to open with read-write permissions.transactions and serialization-serde are now disabled by default.serde instead of rustc-serialize.winapi updated to 0.3.Make transactions and serialization otional features
Implement FromRegValue for OsString and ToRegValue for OsStr
FromRegValue for OsString and ToRegValue for OsStr (#8)replaced to_string with to_owned
copy_tree method to RegKeyunwrapsto_string with to_ownedFix: now able to read values longer than 2048 bytes
Fix: FromRegValue trait now requires Sized (fixes build with rust 1.4)
FromRegValue trait now requires Sized (fixes build with rust 1.4)Fix: bump winapi version to fix build
winapi version to fix buildBreaking change: use std::{Error,Result} instead of own RegError and RegResult
std::io::{Error,Result} instead of own RegError and RegResultNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →