Draft documentation for release v0.5.0

This commit is contained in:
2026-01-08 18:20:04 -05:00
parent ed19d0a416
commit d54b59030e
2 changed files with 41 additions and 6 deletions
+2 -5
View File
@@ -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). See the [developer guide](https://github.com/rwinkhart/libmutton/blob/main/wiki/developers.md).
# Roadmap # Roadmap
#### Release v0.5.0
- Clipboard refactor
- Password aging support
#### Release v0.6.0
- Implement "netpin" (quick-unlock)
#### Release v1.0.0 #### 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) - [ ] Create packaging scripts (libmuttonserver)
- [ ] Stable source PKGBUILD - [ ] Stable source PKGBUILD
- [ ] Stable source APKBUILD - [ ] Stable source APKBUILD
+39 -1
View File
@@ -1,4 +1,42 @@
**libmutton v0.5.0** **libmutton v0.5.0**
Release date TBD 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