Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <code>.sha256</code> 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.

Expand Down Expand Up @@ -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 <code>/usr/bin/leanmark</code>, desktop and AppStream
Expand All @@ -198,7 +199,7 @@ slices. The application bundle may be placed in <code>/Applications</code> 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.
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
73 changes: 73 additions & 0 deletions docs/releases/v0.7.1.md
Original file line number Diff line number Diff line change
@@ -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**.
2 changes: 1 addition & 1 deletion installer/install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down
8 changes: 4 additions & 4 deletions macos/BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<control>keyboard</control>
</supports>
<releases>
<release version="@PROJECT_VERSION@" date="2026-10-20" />
<release version="@PROJECT_VERSION@" date="2026-11-06" />
</releases>
<content_rating type="oars-1.1" />
<custom>
Expand Down
2 changes: 1 addition & 1 deletion packaging/winget/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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" `
Expand Down
6 changes: 3 additions & 3 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -95,7 +95,7 @@ <h1>A free Markdown viewer for Windows, Linux and macOS</h1>
</a>
</div>
<p class="release-meta">
v0.7.0 · 3 desktop platforms · MIT licensed
v0.7.1 · 3 desktop platforms · MIT licensed
</p>
<p class="unsigned-note">
<strong>Signing status:</strong> Windows is unsigned. The macOS
Expand Down Expand Up @@ -326,7 +326,7 @@ <h2>Native packages for three desktops.</h2>
<div class="hero-actions">
<a class="button button-large button-primary"
href="https://github.com/abooodbah/leanmark/releases/latest">
View v0.7.0 downloads
View v0.7.1 downloads
</a>
<a class="button button-large button-secondary"
href="https://github.com/abooodbah/leanmark/releases/latest">
Expand Down
2 changes: 1 addition & 1 deletion src/LeanMark.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<assemblyIdentity
type="win32"
name="LeanMark.Reader"
version="0.7.0.0"
version="0.7.1.0"
processorArchitecture="amd64"
/>
<description>LeanMark focused Markdown reader</description>
Expand Down
8 changes: 4 additions & 4 deletions src/LeanMark.rc
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
IDI_LEANMARK ICON "LeanMark.ico"

VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,7,0,0
PRODUCTVERSION 0,7,0,0
FILEVERSION 0,7,1,0
PRODUCTVERSION 0,7,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
Expand All @@ -22,12 +22,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Abdulfatah Bahbouh"
VALUE "FileDescription", "LeanMark Markdown Reader"
VALUE "FileVersion", "0.7.0"
VALUE "FileVersion", "0.7.1"
VALUE "InternalName", "LeanMark"
VALUE "LegalCopyright", "Copyright (c) 2026 Abdulfatah Bahbouh"
VALUE "OriginalFilename", "LeanMark.exe"
VALUE "ProductName", "LeanMark"
VALUE "ProductVersion", "0.7.0"
VALUE "ProductVersion", "0.7.1"
END
END
BLOCK "VarFileInfo"
Expand Down