Skip to content

Releases: ThisIs-Developer/Markdown-Viewer

v3.9.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 20:33
v3.9.0
01b9981

Markdown Viewer v3.9.0

This release introduces clearer sharing flows for Live Share and Share Snapshot, with fixes for shared Markdown rendering and desktop startup.

Live Share

Live Share creates a temporary in-memory room for real-time collaboration. The document is synced only while the room is active, and the room is not saved as a permanent document store. Participants join through the invite link and can either edit or view only, depending on the access mode selected by the host.

Share Snapshot

Share Snapshot creates a shareable read-only or editable snapshot link. Small documents stay encoded directly inside the URL hash. Larger documents are saved behind a generated #share= ID and kept temporarily for 90 days, so the recipient can open the shared document without it being stored on their own device.

Fixes

  • Fixed shared Snapshot and Live Share participant views so LaTeX, Mermaid, TopoJSON, and other advanced Markdown renderers complete after the shared document loads.
  • Updated the Live Share modal so participant and invite-link sections appear only after the live room is active.
  • Fixed the Neutralino desktop build preparation so bundled resources load the generated application script instead of stalling on startup skeletons.

What's Changed

Full Changelog: v3.8.1...v3.9.0

v3.8.1

Choose a tag to compare

@github-actions github-actions released this 30 Jun 09:41
v3.8.1
78d6231

Markdown Viewer v3.8.1

Description: Included various bug fixes and improvements around diagram rendering, Markmap optimizations, ABC notation fixes, and security hardenings.

  • Diagram Optimizations: Prevented unnecessary diagram re-rendering when editor changes are outside the block. Resolved DOM shift issues and post-processing bugs.
  • Markmap Render Improvements: Switched to the official Markmap renderer. Fixed nested code blocks, centered previews, and ensured correct SVG serialization by enforcing synchronous transitions.
  • ABC & Mermaid Fixes: Removed the zoom toolbar for ABC notation, allowed soundfont audio requests. Fixed duplicate card titles and Sankey rendering errors in Mermaid.
  • Security & Performance: Optimized SEO metadata and hardened security, allowing CDN source map connections. Fixed duplicate inline render on paste for MathJax.
  • CI & Docs: Documented advanced diagram engines. Published desktop assets and generated Neutralino client in release builds.

What's Changed

  • Replace Current Markmap Rendering with Official Markmap Rendering Engine by @ThisIs-Developer in #198
  • fix: prevent unnecessary diagram re-rendering when editor changes are outside block by @ThisIs-Developer in #199

Full Changelog: v3.8.0...v3.8.1

v3.8.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 08:43

Markdown Viewer v3.8.0

Description: Delivered key interactive visualization engines, export improvements, notation support, and syntax/contrast adjustments.

  • Interactive Map & 3D Renderers: Added interactive parsing and rendering engines for GeoJSON, TopoJSON, and STL (ASCII/Binary) files. Built advanced STL viewport controls (grid helper, surface angle flat shading, reset action, and modal zoom) aligned to GitHub's camera perspective.
  • PNG Image Export: Added support for exporting previews to PNG images with progress feedback, rendering on a solid white background instead of transparency to preserve contrast.
  • ABC Music Notation: Implemented client-side ABC music notation stylesheet rendering and offline desktop app support.
  • Syntax Highlighting & Math: Fixed PowerShell syntax highlighting conflicts and fenced LaTeX math block parser rendering.
  • Tab-Based Export Filename: Configured exports to automatically inherit the active tab's title instead of a generic 'document' filename (fixes #178).
  • Contrast Remediation: Enhanced highlighted search match visibility and contrast inside the editor under dark mode.

What's Changed

Full Changelog: v3.7.5...v3.8.0

What's Changed

Full Changelog: v3.7.5...v3.8.0

v3.7.5

Choose a tag to compare

@github-actions github-actions released this 18 Jun 15:12
v3.7.5
7637986

Description: Delivered key interactive visualization engines, export improvements, notation support, and syntax/contrast adjustments.

  • Interactive Map & 3D Renderers: Added interactive parsing and rendering engines for GeoJSON, TopoJSON, and STL (ASCII/Binary) files. Built advanced STL viewport controls (grid helper, surface angle flat shading, reset action, and modal zoom) aligned to GitHub's camera perspective.
  • PNG Image Export: Added support for exporting previews to PNG images with progress feedback, rendering on a solid white background instead of transparency to preserve contrast.
  • ABC Music Notation: Implemented client-side ABC music notation stylesheet rendering and offline desktop app support.
  • Syntax Highlighting & Math: Fixed PowerShell syntax highlighting conflicts and fenced LaTeX math block parser rendering.
  • Tab-Based Export Filename: Configured exports to automatically inherit the active tab's title instead of a generic 'document' filename (fixes #178).
  • Contrast Remediation: Enhanced highlighted search match visibility and contrast inside the editor under dark mode.

What's Changed

Test_3D.STL.mp4

New Contributors

Full Changelog: v3.7.4...desktop-v3.7.5

v3.7.4

Choose a tag to compare

@ThisIs-Developer ThisIs-Developer released this 10 Jun 17:59
15eafb0

Release Notes - Markdown Viewer v3.7.4

Pleased to release Markdown Viewer v3.7.4. This release includes substantial feature additions and reliability improvements, including internationalization expansion, desktop app startup fix, export centering, re-engineered PDF page breaking, and advanced Find & Replace features.


🌐 Internationalization (i18n)

  • Description: Added 9 new UI languages (expanding localization support) and synchronized desktop resources to align with language-specific menu, settings, and layout formats.

🖥️ Desktop Application

  • Description: Fixed the Windows desktop application skeleton startup issue, resolving launch timing gaps and ensuring the desktop container opens reliably.

📄 HTML Export

  • Description: Implemented centering alignment styles for HTML exports even when JavaScript execution is disabled in the target environment (fixes #152).

🖨️ PDF Export & Page-Break Overhauls (Fixes #166)

We completed a comprehensive rewrite of the PDF generation layout engine to guarantee professional, publication-quality document pagination:

  • Layout Scaling & Preservation: Implemented a physical scaling fallback for SVG icons, large images, and layout elements, preventing them from overflowing page boundaries or creating large layout gaps.
  • Mermaid.js Serialization: Serialized dynamic Mermaid diagram SVGs to static base64 images prior to PDF printing. This prevents pagination engine glitches from breaking diagrams across pages.
  • MathJax Double Scaling: Prevented MathJax containers from experiencing double-scaling and synchronized page-build logic with webfont load states.
  • Page-Break Safety Buffers: Resolved margin-collapse layout shifting, blockquote/callout splits, and heading keep-with-next threshold checks to ensure content splits cleanly at page boundaries.

🔗 Table of Contents (TOC) Navigation (Fixes #169)

  • Smooth Scrolling: Implemented smooth dual-pane scrolling when clicking Table of Contents links—scrolling both the preview heading and the editor source line in parallel.
  • Clean URLs: Explicitly intercepted TOC clicks to prevent modifying the browser's address bar hash or polluting navigation history.

🔍 Find & Replace Pane Integration (Fixes #169)

  • Preview Highlighting: Integrated the Find & Replace search logic with preview-mode text node highlighting. Search keywords are highlighted in the preview container while correctly skipping structural tags, Mermaid diagrams, and MathJax containers.
  • Auto-Scrolling: Matched the active match selection cycle to automatically scroll the preview container, keeping the highlighted matches in view.
  • Offset/Padding Corrections: Cleaned up highlight element offsets in the editor container to solve alignment shifts.

🛠️ Commit Log Summary (v3.7.3 → v3.7.4)

Commit Message
8ea71a8 Merge pull request #171 from ThisIs-Developer/fix/preview-find-scrolling-highlighting
52316c2 fix(find): implement preview highlighting, auto-scrolling, and resolve editor alignment (fixes #169)
841a184 Merge pull request #170 from ThisIs-Developer/fix/toc-scrolling-169
fc5e16f fix: resolve Table of Contents smooth scroll navigation (#169)
03c7bdb Merge pull request #168 from ThisIs-Developer/codex/fix-pdf-page-breaks-166
01ba101 Merge pull request #167 from ThisIs-Developer/codex/fix-export-centering-sharepoint
70915f6 fix(pdf): resolve blockquote alerts and nested table list splitting via safety buffer and valid list item shifting
5043e4e fix(pdf): resolve blockquote callout splitting and margin-collapse pagination issues
e94d24e fix(pdf): resolve margin-collapse layout shifting, keep-with-next positioning, and parent block redirection for inline images
9afe919 fix(pdf): fix Mermaid svg-to-img selector target and implement heading keep-with-next threshold check
809affc fix(pdf): resolve MathJax double-scaling and await webfonts loading during PDF export
9701ff7 fix(pdf): enforce 20% page safety zone, wait for images, and use physical font-size scaling for pre/math blocks
2795efa fix(pdf): serialize rendered Mermaid SVGs to base64 images for physical scaling and gap-less page breaks
7e6f91b fix(pdf): resolve text slicing, diagram page breaks, and layout gaps (issue #166)
aac5803 fix(pdf): resolve oversized graphics page gaps by physically scaling SVGs/images and resetting transient styles in cascade
c4b41bc fix(pdf): fix text slicing, table pagination and page break layout overlaps (fixes #166)
d4143f9 fix(pdf): fix page breaks and element scaling for PDF export (fixes #166)
8d0f0d5 fix(export): support script-disabled centering for HTML exports (fixes #152)
5835d3e Merge pull request #165 from ThisIs-Developer/codex/fix-windows-desktop-build
2b15f25 Fix Windows desktop build skeleton startup
bd20ef9 feat(i18n): add 9 new UI languages and synchronize desktop resources

v3.7.3

Choose a tag to compare

@ThisIs-Developer ThisIs-Developer released this 05 Jun 18:33
v3.7.3
d9f0115

Release v3.7.3

Markdown Viewer v3.7.3 — Critical rendering, export, and editor reliability fixes.

📅 Date: June 5, 2026
🔗 Full Changelog: v3.7.2...v3.7.3


🚀 What's Changed

🔧 Large Document Performance

  • Re-engineered the preview rendering pipeline for large documents, eliminating render stalls and blank preview failures on large files (9d09ca1)
  • Improved large document editor responsiveness with optimized input handling (4ca8766)
  • Re-engineered the large preview rendering pipeline for scalable, non-blocking document rendering (cb0c752)

📄 PDF & Export Improvements

  • Improved PDF generation UX with better progress feedback and user experience (936846b)
  • Fixed Mermaid diagram rendering failures in PDF export (c55f68e)
  • Fixed exported document centering so exported HTML/PDF files render with proper alignment (34741f4)

🐛 Bug Fixes

  • Fixed find match scrolling — navigating between search results now correctly scrolls the matched text into view (ee6df72)
  • Fixed toolbar markdown preservation — formatting actions no longer overwrite existing markdown content (e017890)

🔄 Maintenance

  • Bumped version to 3.7.3 and rotated Service Worker cache namespace (f96bf39)

📋 Pull Requests

PR Title
#156 Fix toolbar markdown preservation
#157 Fix large preview engine
#158 Fix find box scrolling
#159 Fix export centered layout
#160 Improve PDF generation UX

📊 Stats

Metric Value
Commits 9 (non-merge)
PRs Merged 5
Files Changed 8
Lines Added 3,221
Lines Removed 410
Net Change +2,811

🗂️ Files Changed

  • script.js — Major rendering and editor pipeline changes
  • preview-worker.js — New dedicated preview worker (web)
  • desktop-app/resources/js/script.js — Desktop app sync
  • desktop-app/resources/js/preview-worker.js — New preview worker (desktop)
  • styles.css — Export layout and UI styling fixes
  • sw.js — Service Worker cache rotation
  • CHANGELOG.md — Updated changelog
  • desktop-app/prepare.js — Desktop build compiler update

v3.7.2

Choose a tag to compare

@ThisIs-Developer ThisIs-Developer released this 03 Jun 07:49
f24dc45

Markdown Viewer - Release Notes v3.7.2

Key Highlights

1. Robust Custom Editor History (Undo & Redo) & Document Clearing

Previously, relying on simple input updates caused loss of edit state tracking. In this release, we have built a custom, tab-aware edit history state manager:

  • Undo / Redo Stack: Users can seamlessly revert or redo edits with high granularity.
  • Clear Document Action: Added a dedicated "Clear Document" button in the editor toolbar, which wipes the editor pane instantly with a clean history state transition.

2. Tab Navigation & Dynamic Overflow Handling

Managing multiple open tabs on small viewports could previously wrap or push the layout off-screen.

  • Relocated "New Tab" Button: Positioned strategically for better accessibility.
  • Dynamic Overflow Handling: The tab list now dynamically detects space constraints and groups overflowing tabs into a clean UI structure, protecting the header layout from wrapping.

3. Mermaid.js Theme Change Transitions & Stabilization

Swapping themes (Light $\leftrightarrow$ Dark) previously caused Mermaid.js canvases to break or reload abruptly.

  • Deferred Re-rendering: Mermaid diagram rendering is now debounced and deferred to prioritize the immediate repaint of CSS color schemas.
  • Synchronized Transitions: A smooth fade-in/fade-out transition occurs when diagrams redraw under the new theme.
  • Original Instant Color Switching: Reverted full-page body transitions to ensure the color switches remain fast, lightweight, and responsive.

4. Layout Cleanups & Mobile Accessibility

  • Mobile Direction Toggle: Removed the redundant LTR/RTL button from the mobile header, as it is already present in the formatting toolbar.
  • Viewport Scroll Accessibility: Enabled window scroll on mobile viewports to allow full access to sidebar menu controls on small screens.
  • Outer Scrollbar Cleanup: Fixed styling variables to remove redundant outer window scrollbars on desktop builds.

What's Changed

Full Changelog: v3.7.1...v3.7.2

v3.7.1

Choose a tag to compare

@ThisIs-Developer ThisIs-Developer released this 01 Jun 16:12
0ec6edd

Release Notes - Markdown Viewer v3.7.1

We are pleased to announce the release of Markdown Viewer v3.7.1. This release focuses on layout performance engineering, accessibility remediations, welcome template stabilization, and core library upgrades.

What's Changed

⚡ Performance & Layout Reflows

  • Layout Coordinate Caching: Cached container layout coordinates (left and width) inside pane resizer move listeners. This eliminates forced layout calculation reflows (getBoundingClientRect) during dragging.
  • Scroll Sync Optimization: Implemented dimension caching variables for editor and preview scroll heights and client heights. The dimensions are updated dynamically during geometry changes and read on scroll ticks, eliminating layout thrashing and delivering stutter-free scrolling.
  • Dynamic Lazy Loading: Removed js-yaml.min.js and FileSaver.min.js from the critical bundle, reducing initial payload weight by 53KB. YAML frontmatter parsing and document exports now load these resources on demand asynchronously.
  • Idle Task Deferrals: Deferred non-critical initialization tasks (modals, formatting tools, panels) to decrease initial Total Blocking Time (TBT).

♿ Accessibility (a11y) Remediation

  • Lighthouse Audit Fixes: Resolved multiple contrast-ratio violations by updating line-number text colors in both light and dark themes.
  • Touch Target Adjustments: Expanded interactive touch-target dimensions to conform to WCAG AA guidelines.
  • Tabbar ARIA Compliance: Added missing ARIA attributes and focus styles across the main navigation layout.

🐛 Onboarding & Welcome Template Fixes

  • Welcome Template Stabilization: Patched BUG-ONBOARD-001 which could cause the welcome document to fail to display on a clean install.
  • Markdown Script Tags: Inlined default welcome markdown inside a <script type="text/markdown"> container to prevent parser interference with raw HTML elements.

📦 Dependency Upgrades

  • Mermaid.js Update: Upgraded the embedded diagrams rendering library to v11.15.0 to resolve styling and layout inconsistencies.

What's Changed

New Contributors

Full Changelog: v3.7.0...v3.7.1

v3.7.0

Choose a tag to compare

@ThisIs-Developer ThisIs-Developer released this 31 May 13:39
a5571c9

Release Notes: v3.7.0

Architectural Performance Engineering Transformation & Code Modernization

This minor release marks a major architectural transition, converting a monolithic layout script with eager dependencies into a modular, asynchronous, production-certified layout engine.

⚡ Architectural Performance Engineering

  • Asynchronous Dependency Engine: Replaced eager, blocking CDN includes inside the <head> with an asynchronous script loader (loadScript()). Heavyweight optional libraries now load completely on-demand:
    • Mermaid (2.7 MB): Loads only when ```mermaid code blocks are detected in content.
    • MathJax (1.1 MB): Loads only when LaTeX formula delimiters are found.
    • JoyPixels (488 KB): Loads only when :emoji_shortcode: strings are parsed.
    • jsPDF + html2canvas: Loads only when the user triggers a PDF export.
    • pako: Loads only when generating or parsing compressed Share links.
  • Keystroke Hashing Bypass: Integrated a content hashing check (_lastRenderedContent) to bypass the rendering pipeline entirely when content hasn't changed, reducing redundant parser cycles.
  • Theme Toggle Decoupling: Viewport-wide theme swaps are now handled via instantaneous CSS custom properties, and decoupled from the heavy markdown parsing loop. Only dynamic Mermaid diagrams are target-refreshed.
  • Paint-Aligned Scroll Synchronization: Swapped asynchronous timeouts for paint-aligned requestAnimationFrame calculations, aligning scrolling with standard viewport refresh rates.

🏛️ DOM, Selectors, and CSS Optimizations

  • Event Click Delegation: Centralized tab list operations by removing per-element tab click event listeners and binding a single delegated onclick handler using closest('.tab-item').
  • Forced Reflow Mitigation: Replaced 12 instances of text-only innerHTML clearing and setting operations with fast textContent assignments.
  • CSS Consolidations: Merged separate Find & Replace theme variables directly into :root and [data-theme="dark"] custom properties, purging duplicate font-family declarations.

💻 Desktop Offline Builder & PWA Compliance

  • SEO Strip Optimization: Programmatically stripped web-only SEO meta tags, canonical links, hreflang tags, manifests, and JSON-LD schema headers from compiled desktop resource index.html files inside prepare.js for lightweight offline runtimes.
  • Cache Rotation: Rotated the Progressive Web App (PWA) cache namespace to markdown-viewer-cache-v3.7.0 to trigger browser background asset updates.

Full Changelog: v3.6.6...v3.7.0

v3.6.6

Choose a tag to compare

@ThisIs-Developer ThisIs-Developer released this 31 May 13:33
28c3a74

Release Notes: v3.6.6

Security Hardening, Accessibility Remediation, & User Experience Upgrades

🔒 Security & Hardening (PR #130)

  • WebSocket Restriction: Configured the offline desktop application communication server to restrict connections to local origin, reducing potential external interception surface area.
  • Process Cleanup: Enabled automatic system background process termination when the desktop window is closed by the user.
  • Cryptographic Dependency Validation: Implemented build-time SHA-384 Subresource Integrity (SRI) checks on all external resources inside prepare.js to ensure dependency security.

♿ Accessibility & Announcers (PR #131)

  • Screen Reader Announcer: Integrated clearTimeout debouncers to the dynamic live-region screen reader announcer, preventing text collisions during successive updates.
  • Visual Clipping: Refactored CSS helper variables to follow modern visually-hidden clip-path boundaries, maintaining full screen-reader discoverability.
  • Motion Accessibility: Prepared support for standard system-level motion limits.

⚡ UX & Performance (PR #131)

  • Symmetrical Skeleton Screens: Deployed layout loading screens that pair horizontal shimmer animations and opacity pulses, maintaining visual balance across the split editor.
  • Asynchronous Task Scheduler: Added an asynchronous task parser for markdown pasting. Files larger than 15 KB yield the call stack to the browser to paint skeletons immediately, avoiding UI thread freezing during large inputs.

Full Changelog: v3.6.5...v3.6.6