From 95e4d47b48639eed28dc5a25dfaf96eaf4f6f61d Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Mon, 4 Aug 2025 17:20:43 -0700 Subject: [PATCH] v0.2.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 bd24914..60471ec 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.2.0 + +### Notable Changes + +#### Wallet merge + +Wallets have been merged into a single class for simplicity's sake. Now, the +`create()` and `import()` static methods have a `type` parameter to indicate the +algorithm to use when generating the wallet seed, either 'BIP-44' or 'BLAKE2b'. +Ledger wallets are still supported and extend the base Wallet class for its +additional implementation details, but the API is largely shared between the +two. + +#### Wallet security + +Security has been improved by removing wallet secrets from the main thread +entirely. All sensitive actions - seed generation, account derivation, signing - +happen within the isolated Web Worker introduced in v0.1, and the mnemonic and +seed are never available for export. The only exception is when calling +`create()` so that they can be backed up; after they are accessed once, the data +self-destructs and can only be accessed by the wallet itself and its isolated +worker environment. The wallet is unlocked with a password as usual and will now +automatically relock after 5 minutes. + +#### Account handling + +Accounts can still be imported via private keys, but only the public keys are +retained. Signing should happen using a Wallet or by passing a key directly to a +block. + +### Other Changes + +Pretty much every other component has been refactored or improved to accomodate the new +wallet system. + + + ## v0.1.0 ### Notable Changes diff --git a/package-lock.json b/package-lock.json index bbe2428..78f22eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "libnemo", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "libnemo", - "version": "0.1.0", + "version": "0.2.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 9b8b2cc..4b3321e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "libnemo", - "version": "0.1.0", + "version": "0.2.0", "description": "Asynchronous, non-blocking Nano cryptocurrency integration toolkit.", "keywords": [ "nemo", -- 2.47.3