summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 75f3850..0e0acca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,44 @@ All notable changes to this project are documented here. The format follows
## [Unreleased]
+## [0.5.0] - 2026-10-20
+
+Milestone M5: import. You can now add entries by pasting `otpauth://` links or
+an unencrypted Aegis JSON export into the new Import group of the app settings.
+
+### Added
+
+- `source/import/`:
+ - A streaming JSON tokenizer: strict, with depth and length limits; skips
+ icons natively; reports incomplete input.
+ - The Aegis reader: database versions 1-3, groups, encrypted exports
+ refused, duplicate fields rejected.
+ - The `otpauth://` parser: run-together URIs, `;` separators, Steam forms,
+ issuer mismatch notes.
+ - The import job: Replace mode, the duplicate and replacement checks, a
+ multi-part buffer sealed with the device key (32 KB, 24 h), and a report.
+- `source/settings/`:
+ - The settings processor: the Import form, applied after the first frame
+ and on every settings change. It clears the fields, writes the status,
+ remembers form hashes and opens the results screen.
+ - The results store; the list shows "Results ready" until they're read.
+- The Import group in the phone settings (8 text fields, mode, "Require PIN",
+ "Import now", result).
+- An 8-byte keyed secret fingerprint in every record header, to find
+ duplicates of locked entries while locked (docs/SECURITY.md).
+- Seeded fuzz corpus (`tools/gen_fuzz_corpus.py`, `make corpus`); 29 Monkey C
+ and 5 Python tests. The UI flow imports 100 entries through the settings
+ form and checks the peak memory.
+
+### Changed
+
+- Info screens space out their items; the results screen is titled "Results".
+
+### Deferred
+
+- Google Authenticator `otpauth-migration://` exports (README 11.1): the
+ importer explains that they aren't supported yet.
+
## [0.4.0] - 2026-10-19
Milestone M4: the screens. The app is usable in the simulator with demo