aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2020-01-28 17:38:47 +0100
committerRobin Krahl <robin.krahl@ireas.org>2020-02-03 11:30:57 +0100
commit4fb865af37093d9b0ee039d8ae48fb2a820f3760 (patch)
tree99a044ea081cfedc69bd0fc5b9e82e7a406234cc /CHANGELOG.md
parentce4479b6f7a353f388aecda03cddc35389940252 (diff)
downloadnitrokey-rs-4fb865af37093d9b0ee039d8ae48fb2a820f3760.tar.gz
nitrokey-rs-4fb865af37093d9b0ee039d8ae48fb2a820f3760.tar.bz2
Represent serial numbers using SerialNumber struct
In a previous commit, we changed the serial number representation from a string to an integer. This made it easier to compare serial numbers, but also introduced new problems: - Serial numbers should be formatted consistently, for example as "{:#010x}". It is hard to ensure this for an integer value. - The format of the serial number may be subject to change. Users should not rely too much on the u32 representation. Therefore we introduce a new SerialNumber struct that represents a serial number. Currently it only stores a u32 value. The following traits and functions can be used to access its value: - FromStr for string parsing - ToString/Display for string formatting - as_u32 to access the underlying integer value
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md7
1 files changed, 4 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c94e170..9e675f0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,11 +5,12 @@ SPDX-License-Identifier: CC0-1.0
# Unreleased
- Add `String` value to the `Error::UnexpectedError` variant.
-- Always store serial numbers as integers:
+- Always store serial numbers as structs:
+ - Introduce the `SerialNumber` struct.
- Change the return type of `Device::get_serial_number` from `Result<String,
- _>` to `Result<u32, _>`.
+ _>` to `Result<SerialNumber, _>`.
- Change the type of the field `DeviceInfo.serial_number` from
- `Option<String>` to `Option<u32>`.
+ `Option<String>` to `Option<SerialNumber>`.
- Use `NK_get_status` instead of `NK_read_config` to implement the
`Device::get_config` function.