diff --git a/CHANGELOG.md b/CHANGELOG.md index ba8ff73..c84bb80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ Leafdown uses lightweight [Keep a Changelog](https://keepachangelog.com/en/1.1.0 ## [Unreleased] +## [0.1.0-alpha.2] - 2026-10-05 + ### Added - Open bundled, read-only Getting started, Markdown reference, File and folder workflows, and Settings reference pages from Help, including offline navigation between pages and explicit web links through the system browser. diff --git a/e2e/desktop/specs/release-notes-first-install.spec.ts b/e2e/desktop/specs/release-notes-first-install.spec.ts index 8df3a6a..b6749ef 100644 --- a/e2e/desktop/specs/release-notes-first-install.spec.ts +++ b/e2e/desktop/specs/release-notes-first-install.spec.ts @@ -1,6 +1,7 @@ import { $, browser, expect } from "@wdio/globals"; import { readFile } from "node:fs/promises"; +import { CURRENT_RELEASE_HIGHLIGHT, CURRENT_VERSION } from "../support/releaseNotes.js"; import { getDesktopE2ERunContext } from "../support/runContext.js"; import { findMenuItem, openMenu } from "../support/ui.js"; @@ -17,10 +18,12 @@ describe("release notes on first installation", () => { await openMenu("Help"); await (await findMenuItem((text) => text.startsWith("What's new"))).click(); - await expect($("aria/Changes in Leafdown 0.1.0-alpha.1")).toBeDisplayed(); - await expect($("aria/Initial internal alpha release.")).toBeDisplayed(); + await expect($(`aria/Changes in Leafdown ${CURRENT_VERSION}`)).toBeDisplayed(); + await expect($("[role='dialog'] article")).toHaveText( + expect.stringContaining(CURRENT_RELEASE_HIGHLIGHT), + ); await browser.keys("Escape"); - await expect($("aria/Changes in Leafdown 0.1.0-alpha.1")).not.toExist(); + await expect($(`aria/Changes in Leafdown ${CURRENT_VERSION}`)).not.toExist(); await openMenu("Help"); await (await findMenuItem((text) => text === "Changelog")).click(); @@ -64,9 +67,9 @@ describe("release notes on first installation", () => { unknown >; return ( - state.lastVersion === "0.1.0-alpha.1" && + state.lastVersion === CURRENT_VERSION && Array.isArray(state.seenVersions) && - state.seenVersions.includes("0.1.0-alpha.1") + state.seenVersions.includes(CURRENT_VERSION) ); } catch { return false; diff --git a/e2e/desktop/specs/release-notes-restart.spec.ts b/e2e/desktop/specs/release-notes-restart.spec.ts index 4fc64f9..474a433 100644 --- a/e2e/desktop/specs/release-notes-restart.spec.ts +++ b/e2e/desktop/specs/release-notes-restart.spec.ts @@ -1,16 +1,19 @@ import { $, browser, expect } from "@wdio/globals"; +import { CURRENT_RELEASE_HIGHLIGHT, CURRENT_VERSION } from "../support/releaseNotes.js"; import { findMenuItem, openMenu } from "../support/ui.js"; describe("release notes after restart", () => { it("does not repeat automatic notes and still permits manual reopening", async () => { await expect($("aria/Help")).toBeDisplayed(); - await expect($("aria/Changes in Leafdown 0.1.0-alpha.1")).not.toExist(); + await expect($(`aria/Changes in Leafdown ${CURRENT_VERSION}`)).not.toExist(); await openMenu("Help"); await (await findMenuItem((text) => text.startsWith("What's new"))).click(); - await expect($("aria/Initial internal alpha release.")).toBeDisplayed(); + await expect($("[role='dialog'] article")).toHaveText( + expect.stringContaining(CURRENT_RELEASE_HIGHLIGHT), + ); await browser.keys("Escape"); - await expect($("aria/Changes in Leafdown 0.1.0-alpha.1")).not.toExist(); + await expect($(`aria/Changes in Leafdown ${CURRENT_VERSION}`)).not.toExist(); }); }); diff --git a/e2e/desktop/specs/release-notes-upgrade.spec.ts b/e2e/desktop/specs/release-notes-upgrade.spec.ts index fe13d69..0e11292 100644 --- a/e2e/desktop/specs/release-notes-upgrade.spec.ts +++ b/e2e/desktop/specs/release-notes-upgrade.spec.ts @@ -1,13 +1,16 @@ import { $, browser, expect } from "@wdio/globals"; import { readFile } from "node:fs/promises"; +import { CURRENT_RELEASE_HIGHLIGHT, CURRENT_VERSION } from "../support/releaseNotes.js"; import { getDesktopE2ERunContext } from "../support/runContext.js"; describe("release notes after an upgrade", () => { it("automatically shows current notes once and records the seen version", async () => { const { releaseNotesPath } = await getDesktopE2ERunContext(); - await expect($("aria/Changes in Leafdown 0.1.0-alpha.1")).toBeDisplayed(); - await expect($("aria/Initial internal alpha release.")).toBeDisplayed(); + await expect($(`aria/Changes in Leafdown ${CURRENT_VERSION}`)).toBeDisplayed(); + await expect($("[role='dialog'] article")).toHaveText( + expect.stringContaining(CURRENT_RELEASE_HIGHLIGHT), + ); await browser.waitUntil( async () => { @@ -17,9 +20,9 @@ describe("release notes after an upgrade", () => { unknown >; return ( - state.lastVersion === "0.1.0-alpha.1" && + state.lastVersion === CURRENT_VERSION && Array.isArray(state.seenVersions) && - state.seenVersions.includes("0.1.0-alpha.1") + state.seenVersions.includes(CURRENT_VERSION) ); } catch { return false; @@ -28,6 +31,6 @@ describe("release notes after an upgrade", () => { { timeoutMsg: "Upgrade release-note state was not persisted." }, ); await browser.keys("Escape"); - await expect($("aria/Changes in Leafdown 0.1.0-alpha.1")).not.toExist(); + await expect($(`aria/Changes in Leafdown ${CURRENT_VERSION}`)).not.toExist(); }); }); diff --git a/e2e/desktop/support/releaseNotes.ts b/e2e/desktop/support/releaseNotes.ts new file mode 100644 index 0000000..bfee6f2 --- /dev/null +++ b/e2e/desktop/support/releaseNotes.ts @@ -0,0 +1,9 @@ +import { readFileSync } from "node:fs"; + +export const CURRENT_VERSION = ( + JSON.parse(readFileSync(new URL("../../../package.json", import.meta.url), "utf8")) as { + version: string; + } +).version; + +export const CURRENT_RELEASE_HIGHLIGHT = "Open bundled, read-only Getting started"; diff --git a/package.json b/package.json index 6618213..5343257 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "leafdown", - "version": "0.1.0-alpha.1", + "version": "0.1.0-alpha.2", "private": true, "license": "GPL-3.0-or-later", "type": "module", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 0c11432..621a439 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2264,7 +2264,7 @@ dependencies = [ [[package]] name = "leafdown" -version = "0.1.0-alpha.1" +version = "0.1.0-alpha.2" dependencies = [ "dunce", "encoding_rs", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 075d389..ee795c5 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "leafdown" -version = "0.1.0-alpha.1" +version = "0.1.0-alpha.2" description = "A local-first Markdown editor for ordinary files and folders" authors = ["Azganoth"] license = "GPL-3.0-or-later" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 2d5fd48..930327f 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Leafdown", - "version": "0.1.0-alpha.1", + "version": "0.1.0-alpha.2", "identifier": "com.azganoth.leafdown", "build": { "beforeDevCommand": "pnpm dev", @@ -36,7 +36,7 @@ "installerHooks": "windows/installer-hooks.nsh" }, "wix": { - "version": "0.1.0.1", + "version": "0.1.0.2", "fragmentPaths": ["windows/file-associations.wxs"], "componentRefs": ["MarkdownFileAssociations"] }