All notable changes to this project will be documented in this file.
2.0.0 - 2024-11-02
This release introduces significant changes to the API with a streamlined structure, new methods for specific registry data handling, and enhanced support for monitoring registry key changes.
-
AccessRights
:win32Value
field renamed tovalue
.
-
Registry
:- Now an
abstract final
class. - Removed
performanceData
static getter.
- Now an
-
RegistryHive
:- Constructor is now private.
win32Value
field renamed tovalue
.
-
RegistryKey
:- Now a
final
class.
- Now a
-
RegistryValue
:- Now a
sealed
class. - Removed
fromWin32
factory constructor. - Removed
toWin32
getter. - Removed
data
field.
- Now a
-
RegistryValueType
:- Constructor is now private.
win32Value
field renamed tovalue
.- Removed
unknown
value. - Removed
win32Type
getter.
-
Registry Hive Construction:
- Added
RegistryHive.fromWin32
factory constructor for creating hives based on Win32 constants.
- Added
-
Enhanced Data Retrieval:
- Added type-specific methods to
RegistryKey
:getBinaryValue
,getIntValue
,getStringValue
, andgetStringArrayValue
for retrieving data in specific formats. - Deprecated
getValueAsInt
andgetValueAsString
methods in favor of the new type-specific methods.
- Added type-specific methods to
-
Registry Change Notifications:
- Introduced
RegistryKey.onChanged
stream for monitoring registry key changes, with optional subkey tracking.
- Introduced
-
Typed Registry Values:
- Introduced specialized subclasses in
RegistryValue
for each registry value type, enhancing clarity and simplifying data handling.
- Introduced specialized subclasses in
-
Registry Value Type Construction:
- Added
RegistryValueType.fromWin32
factory constructor to handle value type creation based on Win32 constants.
- Added
- Bumped the minimum required Dart SDK version to
3.5.0
.
- Fix issue where creating
REG_SZ
orREG_EXPANDED_SZ
string registry values resulted in malformed data. The null terminator for string values was incorrectly encoded as a single byte instead of the required two bytes for UTF-16 encoding (#22, thanks to @dancarrollg).
- Fix issue where
RegistryValue.data
for binary-type registry values might be freed before being read (#19, thanks @tylerlacey). - Bump minimum required Dart SDK version to
3.4.0
- Fix deprecation warnings
- Update links
- Bump minimum required Dart SDK version to
3.3.0
- Improved code quality.
- Improved documentation.
- Update dependency constraints.
- Add
recursive
named option to methoddeleteKey()
ofRegistryKey
(thanks @Zekfad) - Use enhanced enums from Dart 2.17.
- Update dependency constraints.
- Update
ffi
dependency constraints to>=1.1.2 <3.0.0
.
- Minor tweaks to documentation.
- First stable release.