diff --git a/README.md b/README.md index 5fb3669..d968205 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,9 @@ 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.5.0 -- Clipboard refactor -- Password aging support -#### Release v0.6.0 -- Implement "netpin" (quick-unlock) #### Release v1.0.0 +- [ ] Stabilize API (reduce need for future breaking changes) +- [ ] Ensure usability as external C library for use in platform-native languages (e.g. Swift, Kotlin) - [ ] Create packaging scripts (libmuttonserver) - [ ] Stable source PKGBUILD - [ ] Stable source APKBUILD diff --git a/docs/release-notes-archive/2026.md b/docs/release-notes-archive/2026.md index e853c66..32bd0ae 100644 --- a/docs/release-notes-archive/2026.md +++ b/docs/release-notes-archive/2026.md @@ -1,4 +1,42 @@ **libmutton v0.5.0** Release date TBD -This release adds password age tracking support and improves the robustness of core functionality. +This release adds password age tracking support and features large refactors that improve the robustness of core functionality. Many breaking changes are present. Highlights are listed below. + +## Breaking (for users+developers) +- **USERS**: These changes *require* updating your copy of `libmuttonserver`; additionally, you *must* re-generate your config file however your client allows (e.g. `mutn init`) +- (50d51f9d96cca194bc89206fdd56de4db7a696a5) Password age tracking support + - libmutton now tracks when passwords were last updated + - Clients can use this information to warn users when passwords should be changed + - Random (within the last year) age data can be added to existing password entries + - This allows easing into this feature, rather than having all your passwords expire on the same day + - Developers: see the new `age` package +- (e355c810da06d794fd5a6ed10b8a886afa7f3492) (f16078fe01ec8a14fd7f2cd059340b33908ca1d6) (4e6c18db8a6716dcf1a9b73fd523f2f7161ce7f2) (2ab777fd571bb9b79e7601667e5c1f5b15400d03) (941a2dc8b80cb6e0327b33714c4a894962621bda) (35db3bf20b8ab3705bf349fdc7ed4b8e7899cddb) (5e5a7c57e9c5633edb74a968e46f21e141ab81ef) Massive sync refactor + - Sync info is now passed from the server to the client using rigidly defined JSON types + - This greatly improves code maintainability and reduces potential for bugs + - Sync now supports password age tracking data +- (b591e2ef5a6da7f8fbee099c25349dd61433b297) (571bc0a3bd8773771c01191d9b7b8f03c7c5b436) New config file format + - `libmutton.ini` is now `libmuttoncfg.json` + - This format change was made since the JSON package was being adopted for the sync refactor (the `gopkg.in/ini.v1` dependency can now be dropped) + - Developers: see the new `config` package, replacing the old `cfg` package + +## Breaking (for developers) +- (bf1399ce8d6e39d04d3cdad2d99ae787c88effdf) (97037903360c70221e138b22630e7ef90ec378bc) (a0f21b31f743eab4cc9d0f879e3b5fc4d7627ad0) (80cf65775ada4ce7c0f1c6c3ab93d5bb561518ad) (8d1dd48035bd3abb6f4b8847c5a39a61be53f3a4) (c63dff409210e438c27a429b9fdb023a7bba66af) (336dc5c158af21214bd097c2a0eadbc44f7c2cf6) (04e1b0dd37d372fb93c168273761a7285f819dc8) (d2a6ed5eaa6600a44912edbebb3b2df0a78320b0) (fdce036be6d42cf8ab97a9fb66f88b243639252f) (6004a94b7718a97bdc847ea99a8a39761c7b0075) Massive clipboard refactor + - Added new `clip` package + - Non-continuous TOTP copy must use `core.GenTOTP` directly + - The typical copy workflow now only supports continuous copy + - Dropped mobile clipboard support + - This can/should be handled by the GUI toolkit +- (28286788a045a090be67b4f2919b09a8be570801) (a18c3ea1d6412dbb88fba5a5f69693450be9e97c) (5e5a7c57e9c5633edb74a968e46f21e141ab81ef) `core.LibmuttonInit` overhaul + - Now supports non-destructive append + - Now supports custom device ID prefixes + +## Dependencies (direct/replaced) +- Dropped + - golang.design/x/clipboard + - gopkg.in/ini.v1 +- Bumped + - Go: v1.25.4 => v1.25.5 + - github.com/rwinkhart/go-boilerplate: v0.1.0 => v0.1.1 + - golang.org/x/crypto: v0.45.0 => v0.46.0 + - github.com/rwinkhart/sys: v0.38.0 => v0.40.0