- Introduced
otp-cache
core extension - Included
git
tag/revision in-V
/--version
output - Automatically set
GPG_TTY
environment variable when runninggpg-connect-agent
unless it is already set - Fixed endless loop when a Nitrokey FIDO2 device is present
- Added community maintained Nix flake to the repository
- Adjusted program to use Rust Edition 2021
- Updated minimum supported Rust version to
1.56.0
- Bumped
anyhow
dependency to1.0.89
- Bumped
base32
dependency to0.5.1
- Bumped
directories
dependency to5.0.1
- Bumped
libc
dependency to0.2.159
- Bumped
serde
dependency to1.0.147
- Bumped
structopt
dependency to0.3.26
- Bumped
toml
dependency to0.5.9
- Enabled usage of empty PWS slot fields
- Changed error reporting format to make up only a single line
- Added the
pws add
subcommand to write to a new slot - Added the
pws update
subcommand to update an existing PWS slot - Removed the
pws set
subcommand - Added the
--only-aes-key
option to thereset
command to build a new AES key without performing a factory reset - Added support for reading PWS passwords and OTP secrets from stdin
- Changed the
otp set
,pws add
andpws update
commands to check the length of the input data to improve the error messages - Added
NITROCLI_RESOLVED_USB_PATH
environment variable to be used by extensions - Allowed entering of
base32
encoded strings containing spaces - Fixed pinentry dialog highlighting some messages incorrectly as errors
- Fixed handling of empty user input through pinentry
- Switched to using GitHub Actions as the project's CI pipeline
- Updated minimum supported Rust version to
1.43.0
- Bumped
nitrokey
dependency to0.9.0
- Bumped
anyhow
dependency to1.0.40
- Bumped
directories
dependency to3.0.2
- Bumped
libc
dependency to0.2.94
- Bumped
serde
dependency to1.0.125
- Added support for the Librem Key
- Added support for user provided extensions through lookup via the
PATH
environment variable - Added the
fill
command that fills the SD card of a Nitrokey Storage device with random data- Added the
termion
dependency in version1.5.6
- Added the
- Added SD card usage information to the output of the
status
command for Storage devices - Renamed the
--{no-,}{numlock,capslock,scrollock}
options of theconfig set
command to--{no-,}{num-lock,caps-lock,scroll-lock}
- Added support for generating completion scripts for shells other than
bash
- Bumped
anyhow
dependency to1.0.39
- Bumped
libc
dependency to0.2.90
- Bumped
nitrokey
dependency to0.8.0
- Bumped
serde
dependency to1.0.118
- Bumped
structopt
dependency to0.3.21
- Bumped
toml
dependency to0.5.8
- Bumped various transitive dependencies to most recent versions
- Added support for configuration files
- Added support for configuration files that can be used to set default values for some arguments
- Added
toml
dependency in version0.5.6
- Added
serde
dependency in version1.0.114
- Added
envy
dependency in version0.4.2
- Added
merge
dependency in version0.1.0
- Added
directories
dependency in version3.0.1
- Reworked connection handling for multiple attached Nitrokey devices:
- Fail if multiple attached devices match the filter options (or no filter options are set)
- Added
--serial-number
option that restricts the serial number of the device to connect to - Added
--usb-path
option that restricts the USB path of the device to connect to
- Bumped
structopt
dependency to0.3.17
- Changed default OTP format from
hex
tobase32
- Improved error reporting format and fidelity
- Added
anyhow
dependency in version1.0.32
- Added
- Reworked environment variables:
- Added the
NITROCLI_MODEL
andNITROCLI_VERBOSITY
variables that set the defaults for the--model
and--verbose
options - Changed the handling of the
NITROCLI_NO_CACHE
variable to check the value of the variable instead of only the presence
- Added the
- Declared public API to be the man page
- Adjusted license & copyright headers to comply with REUSE 3.0
- Added CI stage checking compliance
- Updated minimum required Rust version to
1.42.0
- Bumped
nitrokey
dependency to0.7.1
- Bumped
proc-macro2
dependency to1.0.19
- Bumped
syn
dependency to1.0.36
- Added bash completion support via
shell-complete
utility program - Updated minimum required Rust version to
1.40.0
- Converted
Cargo.lock
to new lock file format - Bumped
libc
dependency to0.2.69
- Bumped
structopt
dependency to0.3.13
- Bumped various transitive dependencies to most recent versions
- Added the
list
command that lists all attached Nitrokey devices - Reworked argument handling:
- Added
structopt
dependency in version0.3.7
- Replaced
argparse
withstructopt
- Removed
argparse
dependency - Made the
--verbose
and--model
options global
- Added
- Removed vendored dependencies and moved source code into repository root
- Bumped
nitrokey
dependency to0.6.0
- Bumped
quote
dependency to1.0.3
- Bumped
syn
dependency to1.0.14
- Added note about interaction with GnuPG to
README
file - Bumped
nitrokey
dependency to0.4.0
- Bumped
nitrokey-sys
dependency to3.5.0
- Added
lazy_static
dependency in version1.4.0
- Added
cfg-if
dependency in version0.1.10
- Added
getrandom
dependency in version0.1.13
- Bumped
- Added
unencrypted
command withset
subcommand for changing the unencrypted volume's read-write mode - Changed
storage hidden
subcommand tohidden
top-level command - Renamed
storage
command toencrypted
- Removed
storage status
subcommand- Moved its output into
status
command
- Moved its output into
- Removed previously deprecated
--ascii
option fromotp set
command - Fixed wrong hexadecimal conversion used in
otp set
command - Bumped
nitrokey
dependency to0.3.5
- Bumped
libc
dependency to0.2.66
- Bumped
cc
dependency to1.0.48
- Added the
reset
command to perform a factory reset - Added the
-V
/--version
option to print the program's version - Check the status of a PWS slot before accessing it in
pws get
- Added
NITROCLI_NO_CACHE
environment variable to bypass caching of secrets - Clear cached PIN entry as part of
pin set
command to prevent spurious authentication failures - Bumped
libc
dependency to0.2.57
- Bumped
cc
dependency to1.0.37
- Added the
storage hidden
subcommand for working with hidden volumes - Store cached PINs on a per-device basis to better support multi-device scenarios
- Further decreased binary size by using system allocator
- Bumped
nitrokey
dependency to0.3.4
- Bumped
rand
dependency to0.6.4
- Removed
rustc_version
,semver
, andsemver-parser
dependencies
- Bumped
- Bumped
nitrokey-sys
dependency to3.4.3
- Bumped
libc
dependency to0.2.47
- Added the
-v
/--verbose
option to control libnitrokey log level - Added the
-m
/--model
option to restrict connections to a device model - Added the
-f
/--format
option for theotp set
subcommand to choose the secret format- Deprecated the
--ascii
option
- Deprecated the
- Honor
NITROCLI_ADMIN_PIN
andNITROCLI_USER_PIN
as well asNITROCLI_NEW_ADMIN_PIN
andNITROCLI_NEW_USER_PIN
environment variables for non-interactive PIN supply - Format
nitrokey
reported errors in more user-friendly format - Bumped
nitrokey
dependency to0.3.1
- Added the
pws
command for accessing the password safe - Added the
lock
command for locking the Nitrokey device - Adjusted release build compile options to optimize binary for size
- Bumped
nitrokey
dependency to0.2.3
- Bumped
rand
dependency to0.6.1
- Added
rustc_version
version0.2.3
,semver
version0.9.0
, andsemver-parser
version0.7.0
as indirect dependencies
- Bumped
- Bumped
cc
dependency to1.0.28
- Use the
nitrokey
crate for theopen
,close
, andstatus
commands instead of directly communicating with the Nitrokey device- Added
nitrokey
version0.2.1
as a direct dependency andnitrokey-sys
version3.4.1
as well asrand
version0.4.3
as indirect dependencies - Removed the
hid
,hidapi-sys
andpkg-config
dependencies
- Added
- Added the
otp
command for working with one-time passwords - Added the
config
command for reading and writing the device configuration - Added the
pin
command for managing PINs- Renamed the
clear
command topin clear
- Renamed the
- Moved
open
andclose
commands as subcommands into newly introducedstorage
command- Moved printing of storage related information from
status
command into newstorage status
subcommand
- Moved printing of storage related information from
- Made
status
command work with Nitrokey Pro devices - Enabled CI pipeline comprising code style conformance checks, linting, and building of the project
- Added badges indicating pipeline status, current
crates.io
published version of the crate, and minimum version ofrustc
required - Fixed wrong messages in the pinentry dialog that were caused by unescaped spaces in a string
- Use the
argparse
crate to parse the command-line arguments- Added
argparse
dependency in version0.2.2
- Added
- Show PIN related errors through
pinentry
native reporting mechanism instead of emitting them tostdout
- Added a
man
page (nitrocli(1)
) for the program to the repository - Adjusted program to use Rust Edition 2018
- Enabled more lints
- Applied a couple of
clippy
reported suggestions - Added categories to
Cargo.toml
- Changed dependency version requirements to be less strict (only up to the minor version and not the patch level)
- Bumped
pkg-config
dependency to0.3.14
- Bumped
libc
dependency to0.2.45
- Bumped
cc
dependency to1.0.25
- Replaced deprecated
gcc
dependency withcc
and bumped to1.0.4
- Bumped
hid
dependency to0.4.1
- Bumped
hidapi-sys
dependency to0.1.4
- Bumped
libc
dependency to0.2.36
- Fixed display of firmware version for
status
command - Removed workaround for incorrect CRC checksum produced by the Nitrokey
Storage device
- The problem has been fixed upstream (
nitrokey-storage-firmware
issue #32) - In order to be usable, a minimum firmware version of 0.47 is required
- The problem has been fixed upstream (
- Initial release