From 8f23589459fcf34ab198f18331cdaceed2fb02c3 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Mon, 21 Apr 2025 12:17:38 -0400 Subject: [PATCH] Prepare for release v0.3.1 --- README.md | 9 ++++----- core/1globals.go | 2 +- core/utilitiesMisc.go | 8 ++++---- docs/release-notes-archive/2025.md | 29 ++++++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 95346f7..1417fb8 100644 --- a/README.md +++ b/README.md @@ -12,14 +12,13 @@ libmutton is a library for building simple, SSH-synchronized password managers i See the [developer guide](https://github.com/rwinkhart/libmutton/blob/main/wiki/developers.md). # Roadmap -#### Release v0.3.0 -- [ ] Add refresh/re-encrypt functionality #### Release v0.4.0 +- [ ] Swap to native (cascade) encryption (custom) +- [ ] Add refresh/re-encrypt functionality +#### Release v0.5.0 +- [ ] Implement "netpin" (quick-unlock) with new encryption - [ ] Password aging support - [ ] Append UNIX timestamp to entry names -#### Release v0.5.0 -- [ ] Swap to native (cascade) encryption (custom) -- [ ] Implement "netpin" (quick-unlock) with new encryption #### Release v1.0.0 - [ ] Create packaging scripts (libmuttonserver) - [ ] Stable source PKGBUILD diff --git a/core/1globals.go b/core/1globals.go index 737a53b..632872a 100644 --- a/core/1globals.go +++ b/core/1globals.go @@ -12,7 +12,7 @@ var ( ) const ( - LibmuttonVersion = "0.3.B" // Untagged releases feature a letter suffix corresponding to the eventual release version, e.g "0.2.A" -> "0.2.0", "0.2.B" -> "0.2.1" + LibmuttonVersion = "0.3.1" // Untagged releases feature a letter suffix corresponding to the eventual release version, e.g "0.2.A" -> "0.2.0", "0.2.B" -> "0.2.1" FSSpace = "\u259d" // ▝ Space/list separator FSPath = "\u259e" // ▞ Path separator diff --git a/core/utilitiesMisc.go b/core/utilitiesMisc.go index 5b9c9f9..1900ec1 100644 --- a/core/utilitiesMisc.go +++ b/core/utilitiesMisc.go @@ -131,7 +131,7 @@ func EntryAddPrecheck(targetLocation string) uint8 { // StringGen generates a random string of a specified length and complexity. // Requires: complexity (minimum percentage of special characters to be returned in the generated string; set to 0 to generate a simple string), -// complexCharsetLevel (0 = safe for filenames, 1 = safe for most password entries, 2 = safe only for well-made password entries) +// complexCharsetLevel (1 = safe for filenames, 2 = safe for most password entries, 3 = safe only for well-made password entries) func StringGen(length int, complexity float64, complexCharsetLevel uint8) string { var actualSpecialChars int // track the number of special characters in the generated string var minSpecialChars int // track the minimum number of special characters to accept @@ -145,11 +145,11 @@ func StringGen(length int, complexity float64, complexCharsetLevel uint8) string if complexity > 0 { minSpecialChars = int(math.Round(float64(length) * complexity)) // determine minimum number of special characters to accept switch complexCharsetLevel { - case 0: - extendedCharset = extendedCharsetFiles case 1: - extendedCharset = extendedCharsetMostPassword + extendedCharsetFiles[:len(extendedCharsetFiles)-9] + extendedCharset = extendedCharsetFiles case 2: + extendedCharset = extendedCharsetMostPassword + extendedCharsetFiles[:len(extendedCharsetFiles)-9] + case 3: extendedCharset = extendedCharsetFiles + extendedCharsetMostPassword + extendedCharsetSpecialPassword } charset += extendedCharset diff --git a/docs/release-notes-archive/2025.md b/docs/release-notes-archive/2025.md index ea2b614..e550192 100644 --- a/docs/release-notes-archive/2025.md +++ b/docs/release-notes-archive/2025.md @@ -1,3 +1,31 @@ +**libmutton v0.3.1** +April 21, 2025 + +## Features +- (da95ede80704e667f75372e2142de4cef1dd42da) Added `EntryAddPrecheck()` utility function for ensuring the target locations for new entries are valid +- (17223758b11eae301106f398fe2a8815a04f2d62) (44924737ab0830ad49e90c1d1930b05bba307284) (0f90e8251413af2be73f56d071c14af6c00cdb79) Added initial native Android support +- (51bb67f3150e70c2c8e8dc3cc72de5666d7c058a) Split device ID retrieval into dedicated exported function, `GetCurrentDeviceID` +- (4ed816cb112686d995b1cb7ae8f5df990117ae4d) Allow more control over string generation to improve generated password compatibility + +## Fixes +- (51bb67f3150e70c2c8e8dc3cc72de5666d7c058a) Fixed clients having multiple device IDs after failed registrations +- (451d695649c659a510a117254a9311fe621082b1) Fixed inability to add a folder on the server if the folder was already created on a client that failed to sync + +## Dependencies +- Bumps (direct and indirect) + - Go: v1.24.0 => v1.24.2 + - github.com/pkg/sftp: v1.13.7 => v1.13.9 + - golang.org/x/crypto: v0.34.0 => v0.37.0 + - golang.org/x/sys: v0.30.0 => v0.32.0 +- New + - Android builds only + - golang.design/x/clipboard v0.7.0 + - golang.org/x/exp/shiny v0.0.0-20250408133849-7e4ce0ab07d0 + - golang.org/x/image v0.26.0 + - golang.org/x/mobile v0.0.0-20250408133729-978277e7eaf7 + +--- + **libmutton v0.3.0** February 22, 2025 @@ -12,7 +40,6 @@ February 22, 2025 - (2feeeb74d7813dbbb75795d5ccdd817bbcea3602) `core.ParseConfig` now returns errors for proper handling in interactive clients - (68e3108741fae0aaf316dcf33a5074b0e19a7b4f) `sync.RunJob` can now return lists of synchronized entries for display in interactive clients - ## Fixes - (eb2b349697ede136ea031cf7d82bfb72a5a0dcf9) Deletions are now synchronized before folders to avoid sync failures under unlikely conditions - (fc1cd349b8c5468afa3feaf7b5b9042eb4c467e7) Double-space line breaks with Markdown formatting are now preserved when saving an entry