diff --git a/CHANGELOG.md b/CHANGELOG.md index 970ce50..0b9fad4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All notable LeanMark changes are recorded here. The project follows semantic versioning. +## [0.7.1] - 2026-11-06 + +### Fixed + +- A document with fewer than two H2 or H3 headings, so no "On this page" + outline, was shown in a 220 px column in windows 1180 px wide or wider, + whatever the text width setting. The wide layout kept its outline columns + and put the text in the first one. The side columns now apply only when + there is an outline. Present since 0.1.0. + ## [0.7.0] - 2026-11-06 ### Added @@ -260,6 +270,7 @@ versioning. - WebView2 keeps the package small but uses a browser-process memory footprint. - LeanMark reads Markdown; it does not edit or manage a document vault. +[0.7.1]: https://github.com/abooodbah/leanmark/releases/tag/v0.7.1 [0.7.0]: https://github.com/abooodbah/leanmark/releases/tag/v0.7.0 [0.6.0]: https://github.com/abooodbah/leanmark/releases/tag/v0.6.0 [0.5.0]: https://github.com/abooodbah/leanmark/releases/tag/v0.5.0 diff --git a/README.md b/README.md index aed4ab1..c1d36d5 100644 --- a/README.md +++ b/README.md @@ -117,18 +117,19 @@ for 14 days. The APK is also attached to each ## Platform releases -| Operating system | Architecture | v0.7.0 artifact | Runtime and verification | +| Operating system | Architecture | v0.7.1 artifact | Runtime and verification | | --- | --- | --- | --- | -| Windows 10 / 11 | x64 | [ZIP](https://github.com/abooodbah/leanmark/releases/download/v0.7.0/LeanMark-v0.7.0-windows-x64.zip) | Evergreen WebView2; CI-built, with source checks and the reader page tested in Edge | -| Ubuntu 24.04 / compatible Debian-based systems | x86-64 | [DEB](https://github.com/abooodbah/leanmark/releases/download/v0.7.0/LeanMark-v0.7.0-linux-x86_64.deb) | GTK 4 + WebKitGTK 6.0; package and WebKit smoke-verified in CI | -| macOS 12 or later | Intel + Apple silicon | [Universal app preview ZIP](https://github.com/abooodbah/leanmark/releases/download/v0.7.0/LeanMark-v0.7.0-macos-universal-preview.zip) | Preview: system WKWebView; CI verifies both Mach-O slices and a real WebKit smoke test | +| Windows 10 / 11 | x64 | [ZIP](https://github.com/abooodbah/leanmark/releases/download/v0.7.1/LeanMark-v0.7.1-windows-x64.zip) | Evergreen WebView2; CI-built, with source checks and the reader page tested in Edge | +| Ubuntu 24.04 / compatible Debian-based systems | x86-64 | [DEB](https://github.com/abooodbah/leanmark/releases/download/v0.7.1/LeanMark-v0.7.1-linux-x86_64.deb) | GTK 4 + WebKitGTK 6.0; package and WebKit smoke-verified in CI | +| macOS 12 or later | Intel + Apple silicon | [Universal app preview ZIP](https://github.com/abooodbah/leanmark/releases/download/v0.7.1/LeanMark-v0.7.1-macos-universal-preview.zip) | Preview: system WKWebView; CI verifies both Mach-O slices and a real WebKit smoke test | Each artifact has an adjacent .sha256 sidecar on the -[v0.7.0 release](https://github.com/abooodbah/leanmark/releases/tag/v0.7.0). +[v0.7.1 release](https://github.com/abooodbah/leanmark/releases/tag/v0.7.1). The verification column records tested coverage; it does not imply publisher signing. The Windows column reflects CI; the WebView2 window itself was -runtime-verified on Windows 11 for 0.6.0, from a CI build of the same source; -0.7.0 was tested in CI only. +runtime-verified on Windows 11 for 0.6.0, from a CI build of the same source. +0.7.0 was tested in CI only. The 0.7.1 column fix was also checked in the +WebView2 window on Windows 11, from a CI build of the fix branch. Windows ARM64, Linux ARM64, and distro-independent Linux packages are not part of this release. @@ -183,7 +184,7 @@ The Debian package declares its GTK 4 and WebKitGTK 6.0 dependencies. A local download can be installed through APT: ~~~sh -sudo apt install ./LeanMark-v0.7.0-linux-x86_64.deb +sudo apt install ./LeanMark-v0.7.1-linux-x86_64.deb ~~~ The package installs /usr/bin/leanmark, desktop and AppStream @@ -198,7 +199,7 @@ slices. The application bundle may be placed in /Applications or another application directory. Finder recognizes the four supported Markdown extensions and offers LeanMark as a viewer. -Because the v0.7.0 preview is not notarized, Gatekeeper may block the first launch. +Because the v0.7.1 preview is not notarized, Gatekeeper may block the first launch. macOS records any explicit approval under **System Settings > Privacy & Security**. Environments that require a Developer ID/notarized application are not supported by this release. @@ -447,7 +448,7 @@ WebView2 Runtime, and Node.js. ~~~powershell .\scripts\build.ps1 -Configuration Release -Platform x64 .\tests\Test-LeanMark.ps1 -DistPath .\dist -.\scripts\package-release.ps1 -Version 0.7.0 +.\scripts\package-release.ps1 -Version 0.7.1 ~~~ ### Linux @@ -458,7 +459,7 @@ WebKitGTK 6.0, Node.js, and Debian packaging tools. Ubuntu 24.04 build packages: ~~~sh sudo apt install build-essential cmake ninja-build pkg-config \ libgtk-4-dev libwebkitgtk-6.0-dev -./scripts/package-linux.sh --version 0.7.0 +./scripts/package-linux.sh --version 0.7.1 ~~~ ### macOS diff --git a/docs/releases/v0.7.1.md b/docs/releases/v0.7.1.md new file mode 100644 index 0000000..6987323 --- /dev/null +++ b/docs/releases/v0.7.1.md @@ -0,0 +1,73 @@ +# LeanMark v0.7.1 + +LeanMark 0.7.1 fixes the reading column of short documents in wide windows. + +## Release assets + +| Platform | Artifact | +| --- | --- | +| Windows x64 | **LeanMark-v0.7.1-windows-x64.zip** | +| Ubuntu 24.04 / Debian-compatible x86-64 | **LeanMark-v0.7.1-linux-x86_64.deb** | +| macOS Intel and Apple silicon | **LeanMark-v0.7.1-macos-universal-preview.zip** | + +Every artifact has an adjacent **.sha256** sidecar in this release. + +## Fixed + +- A document with fewer than two second- or third-level headings has no + "On this page" outline. In a window 1180 px wide or wider, its text was + shown in a column only 220 px wide, the width of the missing outline, with + empty space beside it. The text width setting made no difference. It now + gets the Narrow, Wide or Full column like any other document. Documents + with an outline look the same as before. + +It was reported on 6 November 2026 with a short status note (one title, +four paragraphs and a diagram) in a maximised window. The layout rule dates +from 0.1.0, so every earlier release has it. + +## What changed + +The wide layout has three columns: the outline, the text, and an empty +column of the same width on the other side. A document without an outline +hid the outline but kept the three columns, so the text went into the +first, 220 px one. The reader now marks the page when the document has an +outline, and uses the three columns only then (#35). + +## How it was measured + +In the `launch-time` workflow on Windows (run 42245348765), the document was +ready in a median 573.6 ms for simple.md and 573.1 ms for showcase.md, +against 578.8 ms and 569.4 ms for v0.7.0. With an 8 MiB file open, peak +working set was 1,827.7 MiB against 1,828.1 MiB. LeanMark.exe is 457,216 +bytes in both; the Windows files are 461 bytes larger. + +The column was checked in the Windows app itself, from a CI build of the +fix, with a made-up document of the same shape and with the reported file: +in a 1,900 px window the text column went from 220 px to 720 px (Narrow). + +The reader browser test now opens a document without an outline in each +text width at 760, 761, 966, 1179, 1180 and 1880 px and checks the column +width and that it is centred. The Windows, Linux and macOS test suites +pass. + +## Installing + +On Windows, run the installer from the extracted ZIP: + +```powershell +powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\installer\install.ps1 -OpenDefaultAppsSettings +``` + +For a portable copy, clear the downloaded-file mark once from the extracted +folder with `Get-ChildItem -Recurse | Unblock-File`. + +`winget upgrade abooodbah.LeanMark` picks up 0.7.1 once the winget community +repository has accepted the new manifest. + +## Known gaps + +- The real-app (WebView2) layout check is not part of CI; it was run by hand + on Windows 11 for this fix. Linux and macOS were tested in CI only. +- Launch time was measured on Windows only. +- The macOS preview remains ad-hoc signed and not notarized, so Gatekeeper may + require an explicit approval in **System Settings > Privacy & Security**. diff --git a/installer/install.ps1 b/installer/install.ps1 index 85116dd..c6470d1 100644 --- a/installer/install.ps1 +++ b/installer/install.ps1 @@ -287,7 +287,7 @@ $InstalledUninstaller = Join-Path $InstallDir 'uninstall.ps1' $UninstallCommand = $Quote + (Join-Path $PSHOME 'powershell.exe') + $Quote + ' -NoProfile -ExecutionPolicy Bypass -File ' + $Quote + $InstalledUninstaller + $Quote $Version = [Diagnostics.FileVersionInfo]::GetVersionInfo($InstalledExe).ProductVersion -if (-not $Version) { $Version = '0.7.0' } +if (-not $Version) { $Version = '0.7.1' } Set-RegString $UninstallKey 'DisplayName' $AppName Set-RegString $UninstallKey 'DisplayVersion' $Version Set-RegString $UninstallKey 'DisplayIcon' ($InstalledExe + ',0') diff --git a/macos/BUILDING.md b/macos/BUILDING.md index 1308a51..73dffe1 100644 --- a/macos/BUILDING.md +++ b/macos/BUILDING.md @@ -31,11 +31,11 @@ Create a deterministic local-testing archive, checksum, and trust metadata: cmake --build obj/macos --config Release --target package_macos ``` -For version `0.7.0`, the target writes these explicitly preview-labelled files: +For version `0.7.1`, the target writes these explicitly preview-labelled files: -- `LeanMark-v0.7.0-macos-universal-preview.zip` -- `LeanMark-v0.7.0-macos-universal-preview.zip.sha256` -- `LeanMark-v0.7.0-macos-universal-preview.zip.metadata.json` +- `LeanMark-v0.7.1-macos-universal-preview.zip` +- `LeanMark-v0.7.1-macos-universal-preview.zip.sha256` +- `LeanMark-v0.7.1-macos-universal-preview.zip.metadata.json` The package target applies an ad-hoc signature with the hardened-runtime flag and no timestamp authority. It does **not** use Developer ID, contact Apple's diff --git a/package-lock.json b/package-lock.json index 8970ca3..3a58008 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "leanmark-runtime-assets", - "version": "0.7.0", + "version": "0.7.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "leanmark-runtime-assets", - "version": "0.7.0", + "version": "0.7.1", "license": "MIT", "dependencies": { "@fontsource/ibm-plex-mono": "5.3.0", diff --git a/package.json b/package.json index 011dadb..8f8789c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "leanmark-runtime-assets", - "version": "0.7.0", + "version": "0.7.1", "private": true, "description": "Pinned build-time packages used to create LeanMark's offline runtime assets.", "license": "MIT", diff --git a/packaging/linux/io.github.abooodbah.leanmark.metainfo.xml.in b/packaging/linux/io.github.abooodbah.leanmark.metainfo.xml.in index c5a7efe..a06b67f 100644 --- a/packaging/linux/io.github.abooodbah.leanmark.metainfo.xml.in +++ b/packaging/linux/io.github.abooodbah.leanmark.metainfo.xml.in @@ -29,7 +29,7 @@ keyboard - + diff --git a/packaging/winget/README.md b/packaging/winget/README.md index bd6a5df..e084be5 100644 --- a/packaging/winget/README.md +++ b/packaging/winget/README.md @@ -25,7 +25,7 @@ website are unaffected. From Windows, with [wingetcreate](https://github.com/microsoft/winget-create): ```powershell -$version = '0.7.0' +$version = '0.7.1' wingetcreate update abooodbah.LeanMark ` --version $version ` --urls "https://github.com/abooodbah/leanmark/releases/download/v$version/LeanMark-v$version-windows-x64.zip" ` diff --git a/site/index.html b/site/index.html index 8597bf7..20c08a9 100644 --- a/site/index.html +++ b/site/index.html @@ -29,7 +29,7 @@ "name": "LeanMark", "applicationCategory": "UtilitiesApplication", "operatingSystem": "Windows 10, Windows 11, Ubuntu 24.04, macOS 12 or later", - "softwareVersion": "0.7.0", + "softwareVersion": "0.7.1", "license": "https://opensource.org/license/mit", "downloadUrl": "https://github.com/abooodbah/leanmark/releases/latest", "codeRepository": "https://github.com/abooodbah/leanmark", @@ -95,7 +95,7 @@

A free Markdown viewer for Windows, Linux and macOS

- v0.7.0 · 3 desktop platforms · MIT licensed + v0.7.1 · 3 desktop platforms · MIT licensed

Signing status: Windows is unsigned. The macOS @@ -326,7 +326,7 @@

Native packages for three desktops.