github Lertaro/Lertaro v5.9.8

3 hours ago

Changelog (Commits)

  • bump: version v5.9.8 (d2f1d52)
  • docs(dev-docs): update (a09f8b9)
  • docs(dev-docs): reshape the private exam notes into reusable developer docs (a7a7249)
  • fix(visuals): let the grip, not the chrome border, own window resizing (9a6b976)
  • feat(search): center the full window from a right-click on the logo (ba31d9a)
  • fix(visuals): floor the scrollbar thumb so huge result lists stay grabbable (b0d7252)
  • feat(search): rank results by index rule priority (8c75421)
  • feat(settings): unify exclusion and priority rules into one editor (714300e)
  • feat(core): add unified index rules with priority levels (ba6fea2)
  • feat(search): fix app order error (ee75c50)
  • feat(search): make the configured result-type order the outermost ranking key (b57a57f)
  • search: rank by left-contiguous hit, contiguity, history, coverage, tier and name order (79de946)
  • docs(visuals): the gate shortens the gap, it does not move it off screen (20692d4)
  • fix(installer): add bypass parm to avoid been blocked by system policy (ef1fb63)
  • chore(visuals): log whether the park held and how long the unpainted frame lasts (d5090ae)
  • feat(installer): clear the user-mode shadow stack on Windows 10 22H2 and older (334d798)
  • fix(visuals): gate every surface the app builds fresh, not just the cards (4028dfa)
  • fix(inline): size a card with nothing on screen from the rows that arrive (b59beb2)
  • chore(inline): make the two summon diagnostics survive the log level (71821a3)
  • fix(inline): an empty list is a search bar, not a card full of empty rows (4d1abc1)
  • chore(inline): say what every card sizing pass decided (6e4b6f5)
  • fix(inline): size the card on the summon, or it lands last session's height (af8f944)
  • docs(site): the acceleration switch now governs the whole process, and cards ignore it (4113839)
  • fix(visuals): compose summoned cards on the CPU, and make the acceleration switch mean what it says (06fb5e8)
  • fix(inline): size the card after its dock width is known, not before (036ad31)
  • fix(visuals): compose a card's first frame where nobody can see it (b3a28d6)
  • fix(inline): keep one card window instead of building a new one per summon (183a398)
  • refactor(visuals): put the off-screen parking rule in one helper (681d353)
  • fix(visuals): take the default focus rectangle off every control (b38fe36)
  • fix(menus): stop the menu host painting a dotted focus rectangle (81c9481)
  • fix(typography): put every window surface on the 8 DIP contour the manager cuts (94055c8)
  • fix(windows): apply the corner request once the handle actually exists (6b03e31)
  • fix(typography): make whole numbers the rule and round up to them (74fc606)
  • fix(text): leave the text formatting mode at the framework default (83f2182)
  • feat(tray): make the tray menu an opaque popup surface (106fa93)
  • fix(typography): catch the half-point sizes the first sweep missed (ca9a71e)
  • docs(site): describe the opaque window surface (55dbeff)
  • feat(menus): make the shell menus and their popups opaque (73972a1)
  • feat(windows): make the preview, transfer and plugin windows opaque (9277ffc)
  • feat(settings): make the settings window and dialogs opaque (608aa24)
  • feat(quick-panel): make the quick panel an opaque surface (c8e6fdd)
  • feat(inline): make the inline card an opaque surface (7c0b60b)
  • feat(search): make the full search window an opaque surface (814f3ab)
  • feat(quick-search): make the quick window an opaque surface (23413ad)
  • refactor(theme): stop fading and dimming windows on a theme switch (83987b4)
  • refactor(visuals): replace the layered surface helper with an opaque one (678b8c4)
  • feat(typography): keep computed font sizes on a whole number ladder (3a0469b)

Security Verification

SHA-256 Checksums

  • Lertaro-Setup.exe (x64): 26df8b19db23f257793408cae5bd2e2d18ac4145c799ce73b52df5c018212d34
  • Lertaro-Portable.zip (x64): a508e0f837454f09a23297575348875f00c2c26055ff28068588b03ccb61716d
  • Lertaro-Setup-arm64.exe (arm64): 0af2fbcc935a573364e27a0d6fbda80900cfb65e17c71272206d891087ed902a
  • Lertaro-Portable-arm64.zip (arm64): 25cd51a387faa76ab6062be75656750713ef5fdf6c0eeeecdb64ffb5a7c9d7aa

Signature Verification (ECDsa NistP256)

The portable ZIP release is signed using our official release key.

To verify the signature manually using OpenSSL:

# 1. Save the public key shown above to 'public_key.pem'
# 2. Run the following command:
openssl dgst -sha256 -verify public_key.pem -signature Lertaro-Portable.zip.sig Lertaro-Portable.zip
# Expected output: Verified OK

To verify the signature manually in PowerShell (.NET 5.0+):

$zipBytes = [System.IO.File]::ReadAllBytes('Lertaro-Portable.zip')
$sigBytes = [System.IO.File]::ReadAllBytes('Lertaro-Portable.zip.sig')
$ecdsa = [System.Security.Cryptography.ECDsa]::Create()
$pubKeyPem = '-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE117370jTbSPgIwHLntC+Bi3SD6gJ
QfxAySjSpUWa6zy4n0YHVv/ZWXM9zQlF2LTqpQC0iHNdJNH+MKU9UvDMTQ==
-----END PUBLIC KEY-----'
$ecdsa.ImportFromPem($pubKeyPem)
$ecdsa.VerifyData($zipBytes, $sigBytes, [System.Security.Cryptography.HashAlgorithmName]::SHA256, [System.Security.Cryptography.DSASignatureFormat]::Rfc3279DerSequence)
# Expected output: True

Don't miss a new Lertaro release

NewReleases is sending notifications on new releases.