~ireas/nitrokey-rs-dev

[ANNOUNCE] nitrokey-rs v0.8.0 released

Details
Message ID
<20200929072459.GA19094@ireas.org>
DKIM signature
pass
Download raw message
nitrokey-rs v0.8.0 has been released.  It is available as a signed tag in
the nitrokey-rs Git repository:
	https://git.sr.ht/~ireas/nitrokey-rs/refs/v0.8.0
Or on crates.io:
	https://crates.io/crates/nitrokey/0.8.0

This minor release updates the nitrokey-sys-rs/libnitrokey dependency to
v3.6.0 and adds support for the Librem model.

Note that with this release, the main Git repository has moved to
sourcehut.

Thanks to Daniel Müller for many contributions and reviews!

Changelog
---------

- Export the `FirmwareVersion` struct.
- Mark the `Error`, `CommandError`, `CommunicationError`, `LibraryError`,
  `Model` and `DeviceWrapper` enums as non-exhaustive.
  - Bump the MSRV to 1.40.0.
- Rename the `numlock`, `capslock`, `scrollock` fields of the `Config` struct
  to `num_lock`, `caps_lock`, `scroll_lock`.
- Update the `nitrokey-sys` dependency to v3.6.0.
  - Use `NK_device_serial_number_as_u32` instead of `NK_device_serial_number`
    in `Device::get_serial_number`.
  - Use `NK_free_password_safe_slot_status` to free the pointer returned by
    `NK_get_password_safe_slot_status` in `PasswordSafe::get_slot_status`.
  - Use the `NK_config` struct for configuration handling.
  - Use the derived `Default` implementation for the structs defined by
    `nitrokey-sys`.
- Add `get_struct` utility function for querying structs with libnitrokey
  functions that use an output parameter.
- Support the Librem Key model.
  - Add the `Librem` variant to the `Model` and `DeviceWrapper` enums.
  - Add the `Librem` struct.
  - Change the `Display` implementation for the `Model` enum to print the
    complete model name, i. e. Nitrokey Pro, Nitrokey Storage or Librem Key.

Commit summary
--------------

Robin Krahl (19):
      Export the FirmwareVersion struct
      Make *Error, Model, DeviceWrapper non-exhaustive
      Fix link in User doc comment
      Fix serial number check in device tests
      Bump the MSRV to 1.40.0
      Fix dead links in Device documentation
      Rename *lock fields of the Config struct
      Update nitrokey-sys to v3.6.0
      Use NK_device_serial_number_as_u32
      Correctly free pointer to PWS status
      Use NK_config struct for configuration handling
      Use Default::default for nitrokey-sys structs
      Add get_struct utility function
      Support the Librem Key model
      Update deprecated functions in readme
      Update readme
      Update repository and triggers in build scripts
      Update repository URL in Cargo.toml
      Release v0.8.0

Daniel Mueller (1):
      Fix link to nitrocli repository

 .builds/archlinux-msrv.yml           | 10 ++--
 .builds/archlinux-use-system-lib.yml |  8 +++-
 .builds/archlinux.yml                |  8 +++-
 .builds/lint.yml                     | 10 ++--
 CHANGELOG.md                         | 23 +++++++++
 Cargo.toml                           |  6 +--
 README.md                            | 35 +++++++++-----
 src/auth.rs                          | 41 ++++++++++------
 src/config.rs                        | 92 ++++++++++++++++++------------------
 src/device/librem.rs                 | 83 ++++++++++++++++++++++++++++++++
 src/device/mod.rs                    | 52 ++++++++++----------
 src/device/pro.rs                    | 14 +-----
 src/device/storage.rs                | 58 ++---------------------
 src/device/wrapper.rs                | 16 ++++++-
 src/error.rs                         |  4 ++
 src/lib.rs                           | 47 ++++++++++++++----
 src/otp.rs                           |  8 ++--
 src/pws.rs                           | 10 +++-
 src/util.rs                          | 11 +++++
 tests/device.rs                      | 36 ++++++--------
 20 files changed, 362 insertions(+), 210 deletions(-)
Reply to thread Export thread (mbox)