winreg
Rust bindings to MS Windows Registry API
0.56.0
205M downloads/mo
#495 most downloaded on crates.io
gentoo90/winreg-rs
What this package is like to depend on
Last release 5 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
2 releases in the last 12 months
see the full history below
Release timeline
35 releases · Apr 2015 to Mar 2026Releases
latest 35-
0.56.014 Mar 2026Release notes
Open source →- Breaking change:
RegValue.bytesis nowCow<[u8]>and notVec<u8>which introduces a lifetime to the structure (#64). - Breaking change: serialization now opens the key with
DELETE,KEY_ENUMERATE_SUB_KEYSandKEY_QUERY_VALUEpermissions in addition toKEY_CREATE_SUB_KEYandKEY_SET_VALUEused previously. This is required for: - New
RegKeymethods:encode_destructive()andencode_destructive_transacted()that wipe all subkeys/values of a target key before writing to it (#76). - New
RegKeymethods:enum_keys_os_string()andenum_values_os_string()return iterators that useOsStringfor key/value names (#80). - Add
consts for predefined registry keys:HKCR,HKCU,HKLM,HKUandHKCC. - Implement
stdtraitsFromRawHandle,IntoRawHandleandAsRawHandleforTransaction. - Set
windows-sysversion to>=0.59, <=0.61according to its README recomendation.
- Breaking change:
-
0.55.012 Jan 2025Release notes
Open source →- Breaking change: Increate MSRV to 1.60
- Breaking change: Upgrade
windows-systo version 0.59 (#77)
Release notes
Open source →- Breaking change: Increate MSRV to 1.60
- Breaking change: Upgrade
windows-systo version 0.59 (#77)
-
0.54.012 Jan 2025 -
0.53.008 Jan 2025 -
0.52.019 Nov 2023 -
0.51.019 Aug 2023 -
0.50.003 Apr 2023Release notes
Open source →- Breaking change:
winapi-rsis not maintained any more, so migrate to Microsoftswindows-sysas a backend (#48, #51) - Breaking change: Increase minimum supported Rust version to
1.46sincewindows-sysdoesn't compile with older versions - Replace deprecated methods from
chrono(#48)
- Breaking change:
-
0.16.014 Mar 2026Release notes
Open source →- Breaking change:
RegValue.bytesis nowCow<[u8]>and notVec<u8>which introduces a lifetime to the structure (#64). - Breaking change: serialization now opens the key with
DELETE,KEY_ENUMERATE_SUB_KEYSandKEY_QUERY_VALUEpermissions in addition toKEY_CREATE_SUB_KEYandKEY_SET_VALUEused previously. This is required for: - New
RegKeymethods:encode_destructive()andencode_destructive_transacted()that wipe all subkeys/values of a target key before writing to it (#76). - New
RegKeymethods:enum_keys_os_string()andenum_values_os_string()return iterators that useOsStringfor key/value names (#80). - Add
consts for predefined registry keys:HKCR,HKCU,HKLM,HKUandHKCC. - Implement
stdtraitsFromRawHandle,IntoRawHandleandAsRawHandleforTransaction.
Release notes
Open source →- Breaking change:
RegValue.bytesis nowCow<[u8]>and notVec<u8>which introduces a lifetime to the structure (#64). - Breaking change: serialization now opens the key with
DELETE,KEY_ENUMERATE_SUB_KEYSandKEY_QUERY_VALUEpermissions in addition toKEY_CREATE_SUB_KEYandKEY_SET_VALUEused previously. This is required for: - New
RegKeymethods:encode_destructive()andencode_destructive_transacted()that wipe all subkeys/values of a target key before writing to it (#76). - New
RegKeymethods:enum_keys_os_string()andenum_values_os_string()return iterators that useOsStringfor key/value names (#80) - Add
consts for predefined registry keys:HKCR,HKCU,HKLM,HKUandHKCC - Implement
stdtraitsFromRawHandle,IntoRawHandleandAsRawHandleforTransaction.
- Breaking change:
-
0.15.008 Jan 2025 -
0.14.019 Nov 2023Release notes
Open source →- Breaking change: increase MSRV to 1.34
- Fix UB in
FromRegValueforu32andu64(#61)
Release notes
Open source →- Breaking change: increase MSRV to 1.34
- Fix UB in
FromRegValueforu32andu64(#61)
-
0.13.019 Nov 2023 -
0.12.019 Aug 2023 -
0.11.017 Feb 2023 -
0.10.112 Sep 2021Release notes
Open source →- Bump the minimal required version of
winapito0.3.9(required forload_app_key) - Reexport
REG_PROCESS_APPKEYand use it in theload_app_keyexample
- Bump the minimal required version of
-
0.10.012 Sep 2021 withdrawnRelease notes
Open source →- Add
RegKey::load_app_key()andRegKey::load_app_key_with_flags()(#30) - Update dev dependency
randto0.8 - Add Github actions
- Fix some clippy warnings
- Add
-
0.9.022 May 2021Release notes
Open source →- Breaking change:
OsStrandOsStringregistry values are notNULL-terminated any more (#34, #42) - Refactoring: use macros for
ToRegValueimpls and tests for string values - Fix
bare_trait_objectswarning in the doctests - Add
impl ToRegValue for OsString - Add conversion between
REG_MULTI_SZand vectors of strings (#16) - Fix: set minimal
winapiversion to 0.3.7 (earlier versions don't haveimpl-defaultandimpl-debugfeatures which we use) - Appveyor now checks the crate against
rust-1.31.1too
- Breaking change:
-
0.8.011 Dec 2020Release notes
Open source →- Implement serialization of
charand maps - Implement
std::fmt::DisplayforRegValue - Make
RegKey::{predef,raw_handle,enum_keys,enum_values}functionsconst - Give a better error message when compiling on platforms other than Windows (#38)
- Tests are moved from
src/lib.rstotests/reg_key.rs
- Implement serialization of
-
0.7.026 Feb 2020 -
0.6.231 Jul 2019 -
0.6.117 Jul 2019Release notes
Open source →- Add
last_write_timefield toRegKeyMetadata(returned byRegKey::query_info()) (#25). - Add
get_last_write_time_system()andget_last_write_time_chrono()(underchronofeature) methods toRegKeyMetadata.
- Add
-
0.6.021 Nov 2018Release notes
Open source →- Breaking change:
create_subkey,create_subkey_with_flags,create_subkey_transactedandcreate_subkey_transacted_with_flagsnow return a tuple which contains the subkey and its disposition which can beREG_CREATED_NEW_KEYorREG_OPENED_EXISTING_KEY(#21). - Examples fixed to not use
unwrapaccording to Rust API guidelines.
- Breaking change:
-
0.5.101 Jun 2018 -
0.5.018 Dec 2017Release notes
Open source →- Breaking change:
open_subkeynow opens a key with readonly permissions. Usecreate_subkeyoropen_subkey_with_flagsto open with read-write permissions. - Breaking change: features
transactionsandserialization-serdeare now disabled by default. - Breaking change: serialization now uses
serdeinstead ofrustc-serialize. winapiupdated to0.3.- Documentation fixes (#14)
- Breaking change:
-
0.4.031 Oct 2016Release notes
Open source →- Make transactions and serialization otional features
- Update dependencies + minor fixes (#12)
-
0.3.524 Apr 2016Release notes
Open source →- Implement
FromRegValueforOsStringandToRegValueforOsStr(#8) - Minor fixes
- Implement
-
0.3.413 Mar 2016Release notes
Open source →- Add
copy_treemethod toRegKey - Now checked with rust-clippy
- no more
unwraps - replaced
to_stringwithto_owned
- no more
- Fix: reading strings longer than 2048 characters (#6)
- Add
-
0.3.327 Nov 2015 -
0.3.206 Oct 2015 -
0.3.116 Jul 2015 -
0.3.011 Jul 2015Release notes
Open source →- Add transactions support and make serialization transacted
- Breaking change: use
std::io::{Error,Result}instead of ownRegErrorandRegResult
-
0.2.627 May 2015Nothing published for this version
-
0.2.506 May 2015Nothing published for this version
-
0.2.028 Apr 2015Nothing published for this version
-
0.1.118 Apr 2015Nothing published for this version
-
0.1.017 Apr 2015Nothing published for this version