···1616syntect = "5.2"
1717anyhow = "1.0"
1818unicode-width = "0.1"
1919+reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] }
2020+serde = { version = "1.0", features = ["derive"] }
2121+semver = "1.0"
2222+sha2 = "0.10"
+12
README.md
···75757676# Open the file picker in the current directory
7777leaf
7878+7979+# Update to the latest published version
8080+leaf --update
7881```
79828083## Keybindings
···107110- ✅ Bold, italic, strikethrough, blockquotes, lists, and horizontal rules
108111- ✅ YAML frontmatter is ignored in both preview and TOC
109112- ✅ Native stdin input with bounded size
113113+- ✅ `leaf --update` to fetch, verify via published SHA256, and install the latest release on supported platforms
110114- ✅ File picker when launched without a file
111115- ✅ Theme picker with runtime preview
112116- ✅ Help modal with in-app shortcuts
···141145- https://aka.ms/vc14/vc_redist.x64.exe
142146143147For `leaf-windows-x86_64.exe`, the relevant package is the latest supported **X64** Visual C++ v14 Redistributable.
148148+149149+### Windows: `leaf --update`
150150+151151+`leaf --update` verifies the downloaded binary against the published `checksums.txt` SHA256 before installation.
152152+153153+On Unix-like systems, it then replaces the current binary in place.
154154+155155+On Windows, replacing the running `.exe` can be blocked by the OS. If `leaf --update` cannot complete there, rerun the PowerShell installer from the install section.