Skip to content

Releases: lightmorphic/notespice

1.8.1 — 2026-08-05

Choose a tag to compare

@github-actions github-actions released this 05 Aug 21:58
  • Fixed the "New note" button being unreachable on real phones. The
    page sized itself with 100vh, which is the largest possible
    mobile viewport (it includes the strip hidden behind the browser's
    collapsible address bar); combined with overflow: hidden, that
    strip clipped off anything pinned near the bottom of the screen -
    including the FAB - whenever the address bar was showing, which on
    a real phone is most of the time. Now sized with 100dvh (falling
    back to 100vh on older browsers), which always tracks the actual
    visible viewport.
  • Fixed the editor chrome (toolbar, blank canvas) rendering behind the
    "No notes yet" message before any note had ever been created. A
    .editor { display: flex } rule was winning a same-specificity tie
    against the [hidden] attribute, the same class of bug already
    fixed for .format-bar in 1.5.x but missed on .editor itself.

1.8.0 — 2026-08-05

Choose a tag to compare

@github-actions github-actions released this 05 Aug 12:24

Full pre-deployment polish pass over the whole app, verified in a real
browser at every step (16-step click-through, 58-scenario converter
suite, and targeted reproductions).

  • Fixed a data-loss bug: switching notes or logging out while an
    autosave was still pending (the editor debounces saves until 500ms
    after the last keystroke) silently dropped everything typed since
    the last completed save. Pending saves are now flushed before the
    editor switches away, and closing or backgrounding the tab sends the
    save with keepalive so it completes even after the page is gone.
  • Security headers on every response, set by the app itself so every
    deployment gets them with or without a reverse proxy:
    Content-Security-Policy (own-origin scripts and styles only;
    notes can still embed images by https URL), X-Content-Type-Options: nosniff, X-Frame-Options: DENY, and Referrer-Policy: no-referrer.
  • PWA manifest colors caught up with the redesign: theme color is now
    the app's yellow (#FFC107) and the splash background the dark navy
    (#10141C). Installed-app splash screens previously still showed the
    pre-redesign orange and graphite.
  • Accessibility: the search box, note title, Writer surface, and
    Markdown textarea now expose proper labels and roles to screen
    readers. All color pairs measured at AA contrast or better (weakest
    6.1:1).
  • "New note" no longer opens the freshly created note twice (two
    redundant requests when no note was open).
  • The zip-import per-entry cap now derives from the single-file
    upload cap instead of restating the same number.
  • Removed the unused favicon.png (nothing referenced it), the
    finished one-time backfill-releases workflow, and a stale
    .gitignore entry.
  • README corrected: the Docker publish workflow authenticates with
    the GHCR_PAT repository secret, not the default GITHUB_TOKEN.
  • Writing sweep across the README, SECURITY.md, UI copy, and code
    comments per the house style rules; wording only, no functional
    changes.
  • cargo audit: clean, 0 advisories across all 120 dependencies.
    Service worker cache bumped to v4 so updated files are picked up.

1.7.2 — 2026-07-29

Choose a tag to compare

@github-actions github-actions released this 03 Aug 23:37
  • Reverted 1.7.1: the login screen logo is back to its previous
    32px inline size next to the app name.

1.7.1 — 2026-07-29

Choose a tag to compare

@github-actions github-actions released this 03 Aug 23:20
  • The login screen now shows the logo at its original size (192px),
    centered above the app name — it was previously scaled down to a
    32px inline icon next to the title.

1.5.9 — 2026-07-28

Choose a tag to compare

@github-actions github-actions released this 28 Jul 13:37
  • Typeface changed from Urbanist to Geist, everywhere — UI, Writer,
    Markdown view, and code blocks. Urbanist is removed completely:
    font files, license file, @font-face rules, stylesheet
    references, service-worker cache entries, and documentation.
    Geist is self-hosted as a variable font (weights 100-900, latin +
    latin-ext, SIL Open Font License) — verified in a real browser
    that the page loads it from local files with zero external
    network requests of any kind. Geist ships no italic faces, so
    italics render as a browser-synthesized oblique. Service-worker
    cache bumped (v3) so installed PWAs pick up the new font on next
    load.

1.5.8 — 2026-07-28

Choose a tag to compare

@github-actions github-actions released this 28 Jul 10:50
  • Dark theme recolored from warm browns to a cool navy palette: the
    main surface is now #10141C and container boxes (sidebar drawer,
    code blocks, login card) are #19212B, with borders, input fields,
    canvas, and muted text derived from the same hue family. The brand
    yellow and the light theme are unchanged.

1.5.7 — 2026-07-28

Choose a tag to compare

@github-actions github-actions released this 28 Jul 09:28
  • Removed the emoji icons from the README's feature list.

1.5.6 — 2026-07-28

Choose a tag to compare

@github-actions github-actions released this 27 Jul 23:58
  • Blank lines in Writer are now REAL lines, not spacing tricks. The
    parser previously split plain text into separate paragraph blocks
    with a CSS margin as the visible gap — which meant the blank line
    between two paragraphs wasn't actually there: pressing the down
    arrow jumped straight from one paragraph to the next, skipping the
    gap the eye could see, unlike the Markdown view where every blank
    line is a real line the cursor can land on. Consecutive text
    paragraphs now parse into a single flow where a paragraph break is
    a real rendered blank line (and each explicit <br> line one
    more), exactly matching what typing in Writer produces. Verified in
    a real browser: arrow keys now move one visual line per press
    through blank lines, identically to the Markdown textarea; every
    gap is pixel-identical between the two views (24px per line, blank
    lines included); the full 58-scenario round-trip suite still
    passes; and the saved markdown is byte-identical through repeated
    mode switches.

1.5.5 — 2026-07-27

Choose a tag to compare

@github-actions github-actions released this 27 Jul 23:40
  • The sidebar now shows "Notespice vX.Y.Z" beneath Log out, linking
    to the GitHub repository — so which build is running is always one
    glance away. The version comes from the server itself (baked in
    from Cargo.toml at compile time and reported via /api/session),
    not from the frontend files, so it can't drift from the binary
    actually serving the app.

1.5.4 — 2026-07-27

Choose a tag to compare

@github-actions github-actions released this 27 Jul 23:22
  • A paragraph break now renders in Writer as exactly one full blank
    line — the same gap the Markdown view shows for its literal blank
    line. Previously it rendered as only a small spacing bump, so a
    note with a paragraph break followed by plain line breaks showed
    three subtly-different line gaps in Writer while Markdown mode
    showed a clear blank line: the two views disagreed about the same
    content. Measured in-browser after the fix: paragraph gap 48px,
    plain line break 24px, in both views identically.
  • The release workflow can now also be run manually (workflow
    dispatch with a version input): it creates the tag at main's head
    and the release in one step, for situations where pushing a tag
    directly isn't possible.