From b50126d28c54a9066d9fc924c737e160dbc0c878 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Wed, 3 Sep 2025 12:30:30 -0700 Subject: [PATCH] v0.5.0 --- CHANGELOG.md | 37 +++++++++++++++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1250928..fbd6735 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,43 @@ SPDX-FileCopyrightText: 2025 Chris Duncan SPDX-License-Identifier: GPL-3.0-or-later --> +## v0.5.0 + +### Notable Changes + +#### Sign arbitrary data with Wallet + +The ability to "log in with Nano" is gaining traction, and while the `sign()` +function from `Tools` allows signing arbitrary string data using a private key, +there was no way to sign with a `libnemo` wallet which does not expose private +keys. Now, the `sign()` instance method of the `Wallet` class has been updated +to accept one or more strings of data, hash them to a 32-byte value using +BLAKE2b, sign with a given account index, and return the signature. Note that +the data is first hashed only to maintain compatibility with other Nano tools; a +future update could enable signing full-length messages without hashing them. +Also note that the Nano app for Ledger wallets still have a bug which prevents +them from signing nonces. + +#### Implement missing password update method + +The `Vault` class for wallet secrets supports an `update` action to re-encrypt +them using a new password if the wallet is unlocked. However, the `Wallet` class +itself did not have a method to make this request to its vault. This has now +been implemented. + +### Other Changes + +The `convert()` tool now supports denomination output as a float in addition to +string and bigint. + +Some functions extracted to separate files to improve organization. + +Type definitions updated. + +Tests added or updated to accomodate new features. + + + ## v0.4.1 ### Notable Changes diff --git a/package-lock.json b/package-lock.json index bfe8809..256977d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "libnemo", - "version": "0.4.1", + "version": "0.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "libnemo", - "version": "0.4.1", + "version": "0.5.0", "license": "(GPL-3.0-or-later AND MIT AND ISC)", "dependencies": { "nano-pow": "^5.1.4" diff --git a/package.json b/package.json index a44675c..fd9bbdf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "libnemo", - "version": "0.4.1", + "version": "0.5.0", "description": "Asynchronous, non-blocking Nano cryptocurrency integration toolkit.", "keywords": [ "nemo", -- 2.47.3