Skip to content

Releases: lapisecek/MarkdownReader

Release v2.0.3 - Font Application Fix for Editor & New Documents

Choose a tag to compare

@lapisecek lapisecek released this 22 Sep 08:38

MarkdownReader v2.0.3 Release Notes

MarkdownReader v2.0.3 is a focused bug fix and stability release resolving typography inheritance in newly created documents and the writing window, restoring instant font reactivity across all editor views, and optimizing default document tab handling.

What's New and Fixed in v2.0.3

  • Reliable Font Application across Editor & Writing Area:
    • Fixed an issue where changing the font family (preset or custom Windows system font) did not apply to newly created document tabs or raw source textareas.
    • Bound --editor-font-family CSS variable and inline styling to the root container, document body, paper container, raw markdown textarea, and ProseMirror editor.
    • Updated ProseMirror editorProps attribute synchronization so that typing and editor transactions do not reset DOM font styling.
  • Enhanced Windows Fallback Stacks:
    • Re-ordered monospace typography fallbacks to prioritize Windows native typefaces (Cascadia Code, Cascadia Mono, Consolas, Courier New) before generic fallbacks.
  • Improved Tab Creation:
    • Corrected tab initialization logic so that newly created tabs via the + button or Ctrl+N respect default mode settings (Reading vs. Editing).
    • Added native Ctrl+N shortcut to quickly open a new document tab.
  • Instant Windows Start Menu Integration:
    • Automatically updates the Windows Start Menu and Desktop shortcuts upon build.

Release v2.0.2 - Animation Speed Multiplier, App UI Typography & Pro Overhaul

Choose a tag to compare

@lapisecek lapisecek released this 22 Sep 07:58

MarkdownReader v2.0.2 - Feature Drop & Performance Tuning

MarkdownReader v2.0.2 brings granular animation speed control, comprehensive typography synchronization across the entire desktop shell, real-time font previewing, and a complete professional documentation overhaul.


What's New in v2.0.2

  • Animation Speed Multiplier (0.25x – 3.0x):

    • Added dedicated speed control under Settings > Appearance.
    • Quick-preset pills for 0.5x, 1.0x, 1.5x, 2.0x, and 3.0x, alongside a granular range slider (0.25x to 3.0x).
    • Seamlessly scales sidebar transitions, tabs, dialog popups, document outlines, floating action buttons, and notification toasts.
    • Crank it up to 2x or 3x for ultra-snappy and instantaneous UI feedback, or tone it down for relaxed transitions.
  • Apply Font to Entire App UI:

    • Added a dedicated toggle under Settings > Appearance > Typography: "Apply Font to Entire App UI".
    • When enabled, your selected typeface (whether a built-in preset or any installed Windows system font) extends beyond the markdown editor to all application chrome: sidebar file tree, tabs bar, toolbars, buttons, dialogs, and menus.
    • When disabled, keeps clean native Windows system typography (Segoe UI) for chrome while isolating custom typography to the editor.
  • Live Font Pangram & Real-Time Hover Preview:

    • Interactive pangram preview card updating dynamically with selected font, size, and line-height.
    • Hovering any system font in the search results temporarily previews the font in real time before selection.
  • Complete Professional Documentation Overhaul:

    • Redesigned README.md with sleek badges, visual feature breakdowns, comprehensive keyboard shortcuts cheatsheet, architectural diagrams, and build instructions.
  • Automated Production Build & Start Menu Deployment:

    • Compiles the fresh v2.0.2 executable and updates the Windows Start Menu shortcut automatically.

📦 Assets & Downloads

  • MarkdownReader-v2.0.2-win32-x64.zip — Standalone portable Windows 64-bit desktop package.

Release v2.0.1 - Performance, Isolated PDF Studio & Typography

Choose a tag to compare

@lapisecek lapisecek released this 22 Sep 07:24

MarkdownReader v2.0.1 — Performance, Isolated PDF Studio & Typography

MarkdownReader v2.0.1 is a comprehensive stability, performance, and feature update that resolves user feedback regarding large document handling, export fidelity, dark mode startup transitions, and font customization.


🌟 Key Improvements in v2.0.1

⚡ White Flash Elimination on Startup & File Load

  • Completely eliminated the blinding white flash when opening Markdown files or starting the app in dark mode.
  • User theme preferences and dark styling (#121212) are now applied inline in the HTML head before the first render paint.

🚀 Ultra-Optimized Large Document Performance

  • Search & Decoration Capping: ProseMirror search indexing now caps matches at 500 decorations, preventing thread freezing on massive documents.
  • Optimized Selection & Traversal: Removed redundant document traversals during cursor navigation; outline and heading extraction are debounced.
  • Throttled Render Loop: Selection updates are synchronized to display refresh intervals via requestAnimationFrame.

⏳ Subtle Task Processing Indicators

  • Added non-intrusive feedback during heavy tasks (large file opening, mass text replacement, complex formatting, or saving):
    • Subtle top-edge neon accent progress bar
    • Title bar status badge
    • Status bar spinner indicator

🧠 Smart Default Opening Mode

  • Smart Mode Detection: Markdown files opened from Explorer or third-party tools default to clean, distraction-free Reading Mode.
  • Files created or previously edited within MarkdownReader automatically open in Editing Mode.
  • User configurable in Settings → Default Mode (Smart, Always Reading, or Always Editing).

📄 Isolated PDF & Print Export Studio

  • Pure Document Rendering: Exporting to PDF or printing now creates an isolated background renderer window containing pure Markdown typography—no UI toolbars, floating modals, or sidebars ever leak into exported documents.
  • Live Paper Preview: Interactive zoomable paper preview with customizable orientation, margins, page formats (A4, Letter, A3, Legal, Tabloid), headers/footers, and scale (60%–140%).

🔤 Real-Time Font Application & System Font Discovery

  • Instant Typography Updates: Switching between preset fonts (Modern Sans, Monospace, Editorial Serif) or custom Windows fonts applies immediately across the editor and preview in real time without restarting.
  • System Font Enumerator: Fixed regex parsing for Windows font discovery so any font installed in C:\Windows\Fonts can be searched and selected.
  • Live Font Preview: Real-time sample text preview card inside the Settings dialog.

🚪 Clean Close Without False Unsaved Popups

  • Stabilized editor mount hydration so clean, unmodified documents exit instantaneously (<5ms) without flashing the "Unsaved changes" dialog.
  • Failsafe timeout cancelled when prompt is legitimately displayed to give users infinite time to decide.

🎨 Custom Themes & Color Palette

  • Interactive color picker in Settings with curated swatches, hex input, and native color selector.

📦 What's in the Download

File Description
MarkdownReader.exe Main desktop executable (portable, no installer needed)
icon.ico High-res application icon
resources/app.asar Clean packaged application bundle
*.dll, locales/ Official Chromium/Electron runtime

🚀 Quick Setup

  1. Download and extract MarkdownReader-v2.0.1-win32-x64.zip anywhere (e.g. C:\Program Files\MarkdownReader\ or your User folder).
  2. Launch MarkdownReader.exe.
  3. The app automatically integrates with your Windows Start Menu and Desktop.
  4. Double-click any .md file to view or edit!

Antivirus / Reputation Note: Built using the official Electron runtime binary to ensure full compatibility with Windows Defender, AVG, and Avast.

Release v2.0.0 - Polished and Running

Choose a tag to compare

@lapisecek lapisecek released this 21 Sep 20:10

MarkdownReader v2.0.0 — Polished and Running

This is a major stability and performance release. The app now opens instantly when double-clicking any .md file, with no hangs, no freezing, and no blank screens.


Critical Bug Fixes

Fixed: App freezes / never opens on startup (the big one)

The root cause was an infinite React render loop introduced by an inline onEditorReady callback prop. Every render created a new function reference, re-triggering the editor's useEffect, calling setTabs() (generating a new array each time), which triggered yet another render — indefinitely. This saturated the Chromium renderer thread at 100% CPU, leaving the window blank and blocking all IPC communication (including single-instance file-open events from Explorer).

Fix: onEditorReady, setUnsaved, and onSelectionUpdate are now stable useCallback references. The editor-ready effect fires exactly once per editor instance (guarded by lastReadyEditorRef). State updates now bail out early if nothing actually changed.

Fixed: Opening a file continuously wrote to disk

On every editor mount, the app was calling window.api.saveFile() to "normalize" content. Combined with the render loop, this resulted in thousands of writes per second to the opened file. Opening a file is now strictly read-only — auto-save handles persistence through the existing settings.autoSave path only.

Fixed: Duplicate Tiptap link extension warning

StarterKit now disables its built-in link extension (link: false) since tiptap-markdown already registers its own, eliminating the console warning.

Fixed: IPC listener leak on settings change

The onFileLoaded / onDirectoryLoaded / onWindowStateChange IPC listeners no longer re-register when settings.defaultMode changes. A settingsRef is used to capture the latest value without adding it as a useEffect dependency.

Fixed: Editor ref leak on tab close

editorsRef entries are now cleaned up when a tab is closed.

Fixed: Source mode sync

Switching to Source Mode now syncs the Tiptap editor's current markdown content into the tab state first, so the raw text editor always shows the latest content.


Performance

Metric Before After
Startup time (no file) Hangs indefinitely ~600 ms
Startup time (with .md file) Hangs indefinitely ~650 ms
Idle CPU after load 100% (infinite loop) 0%
Disk writes on open Thousands/sec 0
Window paint Never < 1 second

Windows Integration (carried over from v1.3.x)

  • Double-clicking any .md file opens it instantly in MarkdownReader
  • Second .md double-click while app is already open loads the file in a new tab (single-instance forwarding)
  • Desktop + Start Menu shortcuts
  • File type icon associations
  • Windows setup assistant popup (bottom-right corner) for first-run configuration

What's in the zip

File Description
MarkdownReader.exe Main application (rename/run directly, no install needed)
icon.ico App icon (used by Windows Explorer & shortcuts)
resources/app.asar Packaged application code
*.dll, locales/, etc. Chromium runtime (required, keep alongside the exe)

Setup (first time)

  1. Extract MarkdownReader-v2.0.0-win32-x64.zip anywhere (e.g. C:\Program Files\MarkdownReader\)
  2. Run MarkdownReader.exe
  3. A setup assistant will appear in the bottom-right corner — click Fix to register .md file associations and shortcuts
  4. Done — double-click any .md file to open it

Note for AVG/Avast users: The executable uses the unmodified official Electron runtime binary, which is already whitelisted in AVG/Avast cloud reputation databases. If AVG prompts on first run, select "Allow" and it will not prompt again.


Full Changelog

  • fix(renderer): eliminate infinite re-render loop in EditorComponent — onEditorReady now fires exactly once per editor instance
  • fix(renderer): handleEditorReady, handleSetUnsaved, handleSelectionUpdate wrapped in useCallback for stable prop references
  • fix(renderer): bail-out guard in setTabs — no state update if isUnsaved is already correct value
  • fix(renderer): remove window.api.saveFile() from editor mount path
  • fix(renderer): settingsRef decouples IPC listener registration from settings.defaultMode reactivity
  • fix(renderer): clean up editorsRef[id] when tab is closed
  • fix(renderer): sync Tiptap content to tab state when entering Source Mode
  • fix(tiptap): disable StarterKit built-in link extension to prevent duplicate registration with tiptap-markdown
  • chore: bump version to 2.0.0

Release v1.0.0 - Initial Launch

Choose a tag to compare

@lapisecek lapisecek released this 25 Jun 22:42

The first official release of MarkdownReader!

This version introduces a highly polished, distraction-free environment for reading and editing Markdown files. It features a custom frameless window design and is highly optimized for performance, handling massive documents with ease.

Features

  • Rich Text Editing: Full Markdown support powered by Tiptap with seamless code highlighting.
  • Intelligent Tables: Interactive table creation via a visual 8x8 grid picker and a contextual floating menu for rapid row/column management.
  • Workspace Explorer: Integrated sidebar for managing multiple files and directories across a split-tab view.
  • Advanced Theming: Four curated color palettes (Ocean, Forest, Sunset, Midnight) with full Dark Mode support.
  • Distraction-Free Modes: Toggle instantly between a minimalist writing view, reading mode, or full editor UI.

Installation

  1. Download the MarkdownReader-win32-x64.zip asset from the list below.
  2. Extract the downloaded .zip file to a folder of your choice.
  3. Open the folder and double-click MarkdownReader.exe to launch the application (no installation required).