Skip to content

Releases

omd v0.0.8

Choose a tag to compare

@github-actions github-actions released this 15 Oct 11:20

omd v0.0.8

This release adds a Cloudflare edition and drag-to-column layouts to oh my day.
It includes merged PRs #59 and #60. Changes since v0.0.7:

  • Drag to columns: drag a block to the left or right edge of another block
    to create a column on that side. Existing rows expand up to 12 columns. A
    visible line previews insertion, and Escape cancels the drag. Each column
    holds multiple vertically ordered blocks; empty columns disappear and
    single-column rows unwrap. Columns stack on small screens.
  • Durable layouts: pending drafts save before moving; stable block IDs,
    Undo/Redo, JSON backups, browser/desktop storage and Cloudflare D1 retain the
    layout. The existing WebMCP move_block tool supports left/right edge moves.
  • Cloudflare edition: deploy the compiled frontend and Worker with D1
    migrations and a pinned Wrangler setup. Notebook edits persist in D1 and
    synchronize between browsers. Revision checks reject stale edits; failed
    saves retain drafts, and retries safely recover acknowledged writes.
  • Shared notebook without login: the Cloudflare edition intentionally has
    no authentication. Anyone who can open its URL can read and edit the same
    notebook. It requires a connection; browser and desktop editions retain their
    local storage and offline behavior.
  • Reliability fixes: Cloudflare reminder delivery, concurrent updates,
    notification settings, large records, import/history operations and recovery
    after connection errors are covered by real Worker/D1 tests. Native controls
    wait for pending edits, and callout color controls stay clear of column text.

Choose a download

Edition/platform Asset
Browser/local server omd-v0.0.8.zip or omd-v0.0.8.tar.gz
Cloudflare Worker + D1 omd-cloudflare-v0.0.8.zip or omd-cloudflare-v0.0.8.tar.gz
Linux desktop OMD_0.0.8_amd64.deb
macOS desktop (Apple Silicon) OMD_0.0.8_aarch64.dmg
Windows desktop OMD_0.0.8_x64-setup.exe
Lime for Chrome/Edge orchard-lime-extension-0.1.0.zip

For the browser edition, extract the entire archive and run node start.mjs
with Node.js 22+, then open http://localhost:3000/. Compiled libraries, fonts,
offline assets and third-party notices are included; no build is required.

For Cloudflare, extract its separate archive and follow the included README:
install the pinned deployment dependencies, create a D1 database, set its ID in
wrangler.jsonc, apply migrations and deploy. A Cloudflare account and deployment
credentials are needed by the operator; notebook visitors do not log in.
Cloudflare deployment guide.

Desktop installers bundle their runtime; Node/npm is not required for the
installed app. They remain unsigned previews without notarization or automatic
updates. Orchard/Lime remains pinned to orchard-v0.1.0.
Desktop setup and data guide.

Use the named release packages to run the app; GitHub's automatic source archives
require a build. Verify downloads with SHA256SUMS.txt.
omd-desktop-builds.json records desktop build provenance.

Data and compatibility

Export notebook JSON before moving between editions or origins. Browser and
desktop profiles keep separate local notebooks; the Cloudflare edition stores
one shared notebook per deployment. Pages containing column layouts require
v0.0.8 or newer; older app builds cannot read that new block type. Keep JSON
exports as backups. Reminders run while OMD is open and catch up when reopened.

Verification

Publication requires strict types, 146 source tests, native browser regressions
at / and /omd/ including callouts, slash commands and column dragging, static
and offline asset validation, real Worker/D1 tests and extracted browser and
Cloudflare package checks. All three desktop installers, native policy tests,
Linux native/installed-package acceptance and browser Bridge/Lime checks must
also pass. The pipeline verifies checksums and provenance before publishing the
tag and complete asset set.

Both feature PRs completed GitHub Codex review without remaining findings.

omd v0.0.7

Choose a tag to compare

@github-actions github-actions released this 14 Oct 09:38

omd v0.0.7

This release adds callouts and keyboard-first block creation to oh my day,
including the browser app and the desktop preview. Changes since v0.0.6:

  • Callout blocks: highlight Markdown notes with an editable icon and Neutral,
    Info, Success, Warning or Danger backgrounds. The color selector appears on
    hover, with keyboard focus and touch access. Callouts work inside nested
    containers and retain their text, icon and color through reload, JSON backups
    and undo/redo.
  • Slash commands: type / at the start of a plain text block to open the
    block menu beside the caret. Type to filter, use ↑/↓ to choose, and press
    Enter or Tab to create the selected block in the same position. Escape closes
    the menu without changing the text. The menu respects nested tab limits and
    avoids code, checklist items and unfinished IME composition.
  • Safe conversion: the slash command preserves the block ID and sibling
    order in one durable operation. Undo restores the command paragraph, stale
    edits are rejected, and a failed save keeps the editor available for retry.

These changes include PRs #57 and #58. Existing notebook JSON and IndexedDB
formats are unchanged; import/export remains the way to transfer notebooks
between browser and desktop storage profiles.

Choose a download

Platform/use Asset
Linux desktop OMD_0.0.7_*.deb
macOS desktop OMD_0.0.7_*.dmg
Windows desktop OMD_0.0.7_*-setup.exe
Browser/local server omd-v0.0.7.zip or omd-v0.0.7.tar.gz
Lime for Chrome/Edge orchard-lime-extension-0.1.0.zip

Desktop installers bundle their runtime; users do not need Node/npm for the
installed app. They remain unsigned previews without notarization or automatic
updates. The Orchard host and Lime extension remain pinned to orchard-v0.1.0.

For the web archive, extract the entire package and run node start.mjs with
Node 22+, then open http://localhost:3000/. The compiled app, libraries, fonts
and offline assets are included. GitHub's automatic source archives require a
build; use the named release packages to run the app.

Verify downloads with SHA256SUMS.txt. omd-desktop-builds.json records the
platform, runtime and Orchard provenance of the desktop builds.

Ordinary editing needs no agent credentials. Agent features require a configured
gateway and user consent/approval. Keep JSON exports as backups; reminders run
while OMD is open and catch up when reopened.

Verification

The release pipeline checks strict types, source tests, browser behavior and
callout/slash regressions at / and /omd/, static/offline asset completeness,
and extracted web packages. Publication also requires all three desktop
installers, native policy tests, Linux native and installed-package acceptance,
and browser Bridge/Lime integration. Checksums and build provenance are verified
before the tag and complete asset set are published.

Desktop setup and data guide.

omd v0.0.6

Choose a tag to compare

@github-actions github-actions released this 14 Oct 00:04

omd v0.0.6

This release was renamed from v0.1.0 to v0.0.6; the source commit and uploaded files are unchanged. Existing downloads retain 0.1.0 in their filenames and embedded version metadata, and the original checksums still apply.

oh my day now has a desktop preview with OMD as the notebook, Coconut as the trusted agent sidebar/MCP host, and shared Bridge tools for Lime in Chrome/Edge.

  • Desktop: native Linux, macOS and Windows installers include Node 24.19.0, browser assets and the local agent host. Users do not need Node/npm for the installed app. The notebook stays in the native WebView's IndexedDB profile.
  • Agent tools: explicit page IDs, notebook revisions and atomic idempotency receipts protect edits against stale approvals and duplicate retries, including after restart. Coconut and Lime use the same validated OMD commands.
  • Lifecycle: startup opens OMD after its servers are ready; closing waits for pending edits. A failed save keeps the window open. The notebook and sidebar resize together, including Linux's GTK layout.
  • Browser: the existing local-first web app, WebMCP support and portable web archives remain available. Lime is shipped as its verified extension ZIP, separately from the native application.

Choose a download

Platform/use Asset
Linux desktop OMD_0.1.0_*.deb
macOS desktop OMD_0.1.0_*.dmg
Windows desktop OMD_0.1.0_*-setup.exe
Browser/local server omd-v0.1.0.zip or omd-v0.1.0.tar.gz
Lime for Chrome/Edge orchard-lime-extension-0.1.0.zip

Installer filenames identify the architecture. Desktop installers are unsigned previews; signing, macOS notarization and automatic updates are not configured. These are compiled app packages; GitHub's automatic source archives require building from source.

For the web archive, extract it and run node start.mjs with Node 22+, then open http://localhost:3000/. To install Lime, extract its ZIP and load the directory through Chrome/Edge's extension Developer mode.

Use SHA256SUMS.txt to verify every downloadable package and omd-desktop-builds.json for platform/Orchard/runtime provenance. Builds use the pinned orchard-v0.1.0 release; the Orchard monorepo is not copied into OMD.

Browser and desktop notebooks use separate storage profiles. Export/import JSON to move your notebook, and keep exports as backups. Ordinary editing requires no agent credentials; agent features need a configured gateway and explicit consent/approval. Reminders run while OMD is open and catch up on reopening.

The release pipeline verifies web packaging, browser Bridge/Lime flows, native policy tests, all three installer builds and Linux native/installed-package acceptance before publishing the tag and complete asset set. Desktop setup and data guide.

omd v0.0.5

Choose a tag to compare

@github-actions github-actions released this 13 Oct 02:35

omd v0.0.5

Fifth release of oh my day, a local-first notebook. Changes since v0.0.4:

  • Text toolbar on hover: editing alone no longer opens the formatting bar.
    Hover over the block, or use Alt+F10 from the keyboard; Escape returns to the
    editor. Touch shows a bottom toolbar for the focused editor. Failed block
    insertion keeps its retry button visible.
  • Drag pages directly: use the page-tree handle to reorder siblings or
    move a page and its descendants under another page. Drop in the empty tree
    area to move to the notebook root. Selection, content and undo/redo remain
    intact; cycles and overdeep moves are blocked.
  • Single-line headings: Enter and Shift+Enter save the heading and finish
    editing. IME composition and failed writes retain focus and the draft.
  • Rich table cells: bold, italic, strikethrough, inline code, lists and links
    work in cells, with a shared formatting bar and keyboard/touch access.
    Stable cell identity preserves the caret during neighboring updates and
    dimension changes; cells still store Markdown strings in JSON and WebMCP.
  • Cleaner sidebar and header: the content-header sidebar opener appears
    only when the sidebar is closed. The saved-on-device footer text is removed.
  • Polished notifications: compact cards, type-specific icons, light/dark
    colors, mobile wrapping and a clearer dismiss control. Reduced-motion
    preferences are respected; persistent errors retain their existing lifetime.
  • Checklist completion time: checking records an ISO completedAt value
    and shows its local date/time. Unchecking clears it; checking again records
    a new time. Text edits and repeated done=true keep the original timestamp.
    Old completed items without a valid time show no date and are not backfilled.
  • Markdown clipboard formatting: pasted Markdown applies its headings,
    marks, links (including references and email autolinks), lists, quotes and
    fenced code across text blocks, checklist items and table cells, even when
    the clipboard also carries an HTML source-code wrapper. Inline Markdown
    replaces the selected text without splitting its paragraph. Rich HTML and
    editor copies use the native paste path; code-block destinations stay literal.

These changes include PRs #47–#55. Existing v0.0.4 notebooks load directly;
the notebook JSON version and IndexedDB schema remain unchanged. Completion
timestamps, rich cells and pasted content persist through reload, notebook
history and JSON backups.

Download and run

Download omd-v0.0.5.zip or omd-v0.0.5.tar.gz and extract the entire archive.
Use these named packages rather than GitHub's generated source archives. They
include the compiled app, browser libraries, fonts, styles, icons, dependency
inventory and third-party notices; no npm install, build or runtime CDN is needed.

With Node.js 22+ installed, run in the extracted folder:

node start.mjs

Open http://localhost:3000/. Static HTTP/HTTPS hosting is also supported.
Use SHA256SUMS.txt to verify the two packages. Data stays in browser storage;
JSON export/import transfers notebooks between origins or devices. Notifications
need permission and a running app; WebMCP requires native browser/extension support.

Verification

The application source passed 118 unit tests, type checking, static/offline asset
checks and Chromium/WebKit regressions at / and /omd. Clipboard tests include
trusted Ctrl+C/Ctrl+V; Chromium exercises real mixed-MIME clipboard content, while
synthetic mixed-MIME events also cover HTML on WebKit's Linux clipboard. Tests
cover formatting, literal code, safe content, notebook history, failed writes,
JSON backups and real offline boot/paste.

The release workflow checks native browsers at both paths and extracts each
archive to verify its launcher and every bundled asset without node_modules
before publishing the tag and download assets.

omd v0.0.4

Choose a tag to compare

@github-actions github-actions released this 12 Oct 22:13

omd v0.0.4

Fourth release of oh my day, a local-first notebook. Changes since v0.0.3:

  • Independent browser tabs: each tab keeps its own selected page while
    notebook edits continue to synchronize through IndexedDB and BroadcastChannel.
    Selecting a page no longer changes the content revision or undo history.
  • Page links: every page has a stable /page/:id route (/omd/page/:id on
    the hosted app). Copied links, refresh, browser Back/Forward and opening page
    links in a new tab retain the selected page, including subpages.
  • Safe navigation: pending edits save before switching pages. Missing,
    deleted or replaced page IDs fall back to an existing page with a notice,
    without creating a fake page or redirecting edits to another page.
  • Deep-link hosting: the local launcher serves page document routes, the
    build includes a GitHub Pages 404.html fallback, and the service worker can
    reopen page links offline. Missing script/style assets remain errors.
  • Editable tables: insert and remove rows or columns, edit cells, pin headers
    and leading columns, and navigate the grid with keyboard or touch controls.
  • Tabs and checklists: drag tab headers to reorder them and rename tab titles
    inline. Checklist items now support Markdown without a formatting toolbar,
    including nested items, links, lists and paste.
  • Fast text input: Shift+Enter focuses the next text editor immediately so
    fast typing cannot split text between blocks while storage is saving. IME,
    caret and draft text remain in the same editor; failed insertion offers retry.
  • Preserved storage recovery: native v4 startup validates every page's
    metadata before loading content. Failed startup releases database connections
    and history leases, while malformed saved data and recovery backups remain
    intact for explicit recovery.
  • Patched dependencies: tested Nanoid, KaTeX, lodash-es and Sass updates,
    with a reproducible dependency lockfile, reduce the verified installation's
    npm audit report from 14 affected package entries to zero. Packaged dependency
    inventories, third-party notices and checksums reflect the updated bundle.

Existing IndexedDB databases upgrade atomically to schema v4, preserving notebook
data, image files and reminder delivery records. If an older omd tab blocks the
upgrade, save and close that tab before retrying. Notebook JSON remains compatible.
URLs do not transfer notebook data: the target
page must exist in the same browser profile and origin. The hosted app remains
on the version deployed from main; publishing this release does not merge its
changes or update GitHub Pages.

Download and run

Download omd-v0.0.4.zip or omd-v0.0.4.tar.gz, then extract the entire archive.
These packages include the compiled app, browser libraries, fonts, styles, icons
and third-party notices. No npm install, build step or runtime CDN is required.
Use these named packages, not GitHub's automatically generated source archives.

With Node.js 22+ installed, run in the extracted folder:

node start.mjs

Open http://localhost:3000/. The package is platform independent; Node and
the browser are prerequisites. Static HTTP/HTTPS hosting is also supported;
configure a document fallback for page routes if the host does not use 404.html.
Use SHA256SUMS.txt to verify the two packages.

Data stays in browser storage. JSON export/import transfers notebooks between
origins or devices. Notifications need permission and a running app; WebMCP needs
native browser/extension support.

Verification

The application source passed 111 unit tests and both push/PR CI workflows
(7 jobs each). Chromium and WebKit regressions cover root and /omd hosting,
input transfer, native IndexedDB migration/recovery, diagrams, scene/image/font
loading, import/export and offline use. Native page routes also passed five runs
at each path with CPU slowdown. Release packaging verifies the extracted ZIP
and tar.gz launchers and bundled assets without node_modules.

See ticket fixes and dependency verification for exact
versions, reproduction evidence and the limits of Linux browser/IME verification.

omd v0.0.3

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:04

omd v0.0.3

Third release of oh my day, a local-first notebook. Changes since v0.0.2:

  • Fixed / Fluid page-width toggle in the top bar. Fixed centers the page
    at a maximum width of 900px; Fluid fills the workspace with side padding.
    The preference is remembered on this device without changing notebook data.
  • Shift+Enter regression coverage after text composition ends, including
    preservation of composed text, sibling placement and typing into the focused
    new block. The user guide clarifies editor focus and input-method composition.
  • Product-contract documentation now matches IndexedDB record storage, bundled
    Markdown editing and the 50 native WebMCP tools.

No Shift+Enter handler change is included: the reported failure was not reproduced
outside active input-method composition. Block creation remains suppressed while
composition is active to protect unfinished text. Finish composition before using
the shortcut; some input methods consume the first press to commit the word.

The release keeps notebook pages and subpages, Tiptap Markdown text editing,
headings, nested checklists, tabs, expandable blocks, accordions, reminders,
kanban, Mermaid, Excalidraw, system-aware themes, IndexedDB persistence with
undo/redo, JSON export/import, offline/PWA support and 50 native WebMCP tools.

Download and run

Download omd-v0.0.3.zip or omd-v0.0.3.tar.gz below, then extract the entire
archive. These assets include the compiled app, all browser libraries and their
dependencies, fonts, styles, icons and third-party notices. They require no npm
install, build step or runtime CDN
. GitHub's automatically generated source
archives are for development; use the named omd archives to run the app.

With Node.js 22+ installed, open a terminal in the extracted folder and run:

node start.mjs

Open http://localhost:3000/. The archive is platform independent; Node and the
browser are system prerequisites. Alternatively, serve the included dist folder
using a static HTTP server or static HTTPS hosting. SHA256SUMS.txt verifies the
two downloadable packages.

Hosted app: https://and1truong.github.io/omd/

Data stays in browser storage, separately for each origin. JSON export/import
transfers notebooks between the hosted and local app. Browser notifications need
permission and a running app; WebMCP requires native browser/extension support.

omd v0.0.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 10:33

omd v0.0.2

Second release of oh my day, a local-first notebook. Highlights since v0.0.1:

  • Tiptap Markdown text editing with a formatting toolbar and Markdown paste;
    Shift+Enter continues into a new text block and moves the cursor.
  • Nested checklist items up to four levels; Enter adds a sibling, Tab/Shift+Tab
    indent and outdent, and moves carry whole subtrees.
  • Inline block insertion: + controls appear on hover or focus above and
    between existing blocks.
  • Checklist, checklist tree, editor and startup browser test coverage on
    Chromium and WebKit, at the origin root and under /omd/.

The release keeps notebook pages and subpages, text, headings, checklists, tabs,
expandable blocks, accordions, reminders, kanban, Mermaid, Excalidraw,
system-aware themes, IndexedDB persistence with undo/redo, JSON export/import,
offline/PWA support and 50 native WebMCP tools from v0.0.1.

Download and run

Download omd-v0.0.2.zip or omd-v0.0.2.tar.gz below, then extract the entire
archive. These assets include the compiled app, all browser libraries and their
dependencies, fonts, styles, icons and third-party notices. They require no npm
install, build step or runtime CDN
. GitHub's automatically generated source
archives are for development; use the named omd archives to run the app.

With Node.js 22+ installed, open a terminal in the extracted folder and run:

node start.mjs

Open http://localhost:3000/. The archive is platform independent; Node and the
browser are system prerequisites. Alternatively, serve the included dist folder
using a static HTTP server or static HTTPS hosting. SHA256SUMS.txt verifies the
two downloadable packages.

Hosted app: https://and1truong.github.io/omd/

Data stays in browser storage, separately for each origin. JSON export/import
transfers notebooks between the hosted and local app. Browser notifications need
permission and a running app; WebMCP requires native browser/extension support.

omd v0.0.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 05:05

omd v0.0.1

First release of oh my day, a local-first notebook:

  • Notebook pages and subpages (up to 32 levels), Cmd/Ctrl+K switching and ordering.
  • Text, headings, checklists, tabs, expandable blocks, accordions, reminders and kanban.
  • Mermaid diagrams and Excalidraw with a full-page canvas.
  • System-aware light/dark themes, accessible keyboard controls and responsive layout.
  • IndexedDB persistence, undo/redo, JSON export/import, offline/PWA support.
  • Lazy content rendering, normalized Zustand state and 50 native WebMCP tools.
  • Strict TypeScript application and service worker.

Download and run

Download omd-v0.0.1.zip or omd-v0.0.1.tar.gz below, then extract the entire
archive. These assets include the compiled app, all browser libraries and their
dependencies, fonts, styles, icons and third-party notices. They require no npm
install, build step or runtime CDN
. GitHub's automatically generated source
archives are for development; use the named omd archives to run the app.

With Node.js 22+ installed, open a terminal in the extracted folder and run:

node start.mjs

Open http://localhost:3000/. The archive is platform independent; Node and the
browser are system prerequisites. Alternatively, serve the included dist folder
using a static HTTP server or static HTTPS hosting. SHA256SUMS.txt verifies the
two downloadable packages.

Hosted app: https://and1truong.github.io/omd/

Data stays in browser storage, separately for each origin. JSON export/import
transfers notebooks between the hosted and local app. Browser notifications need
permission and a running app; WebMCP requires native browser/extension support.