chore: bump version to v1.1.0

This commit is contained in:
LC mac
2026-01-09 19:30:10 +08:00
parent 109829f1f5
commit a6c84f81ee
3 changed files with 13 additions and 13 deletions

View File

@@ -191,7 +191,7 @@ See [playbook.md](playbook.md) for detailed air-gapped procedures.
--- ---
## 🆕 What's New in v1.0.6 ## 🆕 What's New in v1.1.0
- **BIP85 child mnemonic derivation** via new `gen-child` command - **BIP85 child mnemonic derivation** via new `gen-child` command
- Derive 12/15/18/21/24-word child mnemonics from master seed - Derive 12/15/18/21/24-word child mnemonics from master seed

View File

@@ -1,4 +1,4 @@
# pyhdwallet v1.0.6 (hdwalletpy) # pyhdwallet v1.1.0 (hdwalletpy)
A command-line tool for generating and recovering HD wallets (BIP39) with support for Ethereum, Solana, and Bitcoin. It is designed for offline operation, optional PGP encryption, and writing deterministic AES-encrypted ZIP "wallet artifacts" into a local `.wallet/` folder. A command-line tool for generating and recovering HD wallets (BIP39) with support for Ethereum, Solana, and Bitcoin. It is designed for offline operation, optional PGP encryption, and writing deterministic AES-encrypted ZIP "wallet artifacts" into a local `.wallet/` folder.
@@ -326,7 +326,7 @@ Naming uses UTC timestamps (e.g. `20260108_011830Z`):
## Commands ## Commands
### gen-child (offline) - **NEW in v1.0.6** ### gen-child (offline) - **NEW in v1.1.0**
Derive a child BIP39 mnemonic from a master mnemonic using BIP85 deterministic entropy. Derive a child BIP39 mnemonic from a master mnemonic using BIP85 deterministic entropy.
@@ -387,7 +387,7 @@ m/83696968'/39'/0'/{words}'/{index}'
- `83696968'` — BIP85 magic constant - `83696968'` — BIP85 magic constant
- `39'` — BIP39 application - `39'` — BIP39 application
- `0'` — English language (only supported language in v1.0.6) - `0'` — English language (only supported language in v1.1.0)
- `{words}'` — Child mnemonic word count (12/15/18/21/24) - `{words}'` — Child mnemonic word count (12/15/18/21/24)
- `{index}'` — Your chosen index - `{index}'` — Your chosen index
@@ -444,7 +444,7 @@ When using `--file`, the encrypted ZIP contains a JSON payload with:
```json ```json
{ {
"version": "pyhdwallet v1.0.6", "version": "pyhdwallet v1.1.0",
"purpose": "BIP85 derived child mnemonic", "purpose": "BIP85 derived child mnemonic",
"master_fingerprint": "ABCD1234", "master_fingerprint": "ABCD1234",
"master_word_count": 24, "master_word_count": 24,
@@ -895,7 +895,7 @@ python src/pyhdwallet.py test
## Changelog ## Changelog
- **v1.0.6** (2026-01-09) - **v1.1.0** (2026-01-09)
- **Added**: BIP85 child mnemonic derivation via new `gen-child` command - **Added**: BIP85 child mnemonic derivation via new `gen-child` command
- Supports deriving 12/15/18/21/24-word children from master seed - Supports deriving 12/15/18/21/24-word children from master seed
- Optional master BIP39 passphrase support - Optional master BIP39 passphrase support

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
pyhdwallet v1.0.6 (Python 3.11+) pyhdwallet v1.1.0 (Python 3.11+)
Commands: Commands:
- fetchkey (online): download ASCII-armored PGP public key and print SHA256 + fingerprint - fetchkey (online): download ASCII-armored PGP public key and print SHA256 + fingerprint
@@ -15,7 +15,7 @@ Behavior (current):
- ZIP password is prompted via getpass; if echo-hiding fails, fallback to input() with loud warning. - ZIP password is prompted via getpass; if echo-hiding fails, fallback to input() with loud warning.
- When stdout is not a TTY, refuse to print sensitive data unless --force is provided. - When stdout is not a TTY, refuse to print sensitive data unless --force is provided.
Recover input policy (v1.0.6): Recover input policy (v1.1.0):
- Seed recovery removed (mnemonic only). - Seed recovery removed (mnemonic only).
- No plaintext mnemonic via CLI args. - No plaintext mnemonic via CLI args.
- Use either: - Use either:
@@ -739,7 +739,7 @@ def build_payload_gen(
addresses: Dict[str, Any], addresses: Dict[str, Any],
) -> Dict[str, Any]: ) -> Dict[str, Any]:
return { return {
"version": "pyhdwallet v1.0.6", "version": "pyhdwallet v1.1.0",
"purpose": "generated mnemonic backup", "purpose": "generated mnemonic backup",
"mnemonic": mnemonic, "mnemonic": mnemonic,
"passphrase_used": passphrase_used, "passphrase_used": passphrase_used,
@@ -763,7 +763,7 @@ def build_payload_recover(
addresses: Dict[str, Any], addresses: Dict[str, Any],
) -> Dict[str, Any]: ) -> Dict[str, Any]:
payload: Dict[str, Any] = { payload: Dict[str, Any] = {
"version": "pyhdwallet v1.0.6", "version": "pyhdwallet v1.1.0",
"purpose": "recovery payload", "purpose": "recovery payload",
"master_fingerprint": fp, "master_fingerprint": fp,
"solana_profile": sol_profile, "solana_profile": sol_profile,
@@ -817,7 +817,7 @@ def build_payload_gen_child(
Payload dict ready for JSON serialization Payload dict ready for JSON serialization
""" """
return { return {
"version": "pyhdwallet v1.0.6", "version": "pyhdwallet v1.1.0",
"purpose": "BIP85 derived child mnemonic", "purpose": "BIP85 derived child mnemonic",
"master_fingerprint": master_fingerprint, "master_fingerprint": master_fingerprint,
"master_word_count": master_word_count, "master_word_count": master_word_count,
@@ -1244,8 +1244,8 @@ def cmd_test(args) -> None:
def build_parser() -> argparse.ArgumentParser: def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description="pyhdwallet v1.0.6 - Secure HD Wallet Tool") parser = argparse.ArgumentParser(description="pyhdwallet v1.1.0 - Secure HD Wallet Tool")
parser.add_argument("--version", action="version", version="pyhdwallet v1.0.6") parser.add_argument("--version", action="version", version="pyhdwallet v1.1.0")
sub = parser.add_subparsers(dest="cmd") sub = parser.add_subparsers(dest="cmd")