Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,24 @@
All notable code changes to **Markdown Viewer** are documented here.
Non-code commits (documentation, planning, README-only updates) are excluded.

## v3.7.0

- **Description:** Complete architectural performance engineering transformation and application modernization.
- **Performance:** Implemented eager-to-asynchronous dependency loading (Mermaid, MathJax, JoyPixels, pako, PDF export tools) unblocking critical path initial downloads; established a content-aware preview render bypass using a differential content hashing check (`_lastRenderedContent`); shifted to paint-aligned `requestAnimationFrame` for scroll synchronization.
- **DOM & Selectors:** Centralized tab list operations using a single event click delegation listener; optimized element resets by replacing 12 hot-path `innerHTML` clearing and setting lines with high-speed `textContent` updates; consolidated Find & Replace panel CSS custom variables into the top-level `:root` and `[data-theme="dark"]` scopes.
- **Desktop Build (prepare.js):** Programmatically stripped web-only SEO meta tags, canonical links, hreflang tags, manifests, and JSON-LD schema headers from compiled desktop resource index.html files.
- **Date:** 2026-05-31
- **URL:** https://github.com/ThisIs-Developer/Markdown-Viewer/commit/6813c1123d0da103f1032b575db4f11799ea0a0a

---

## v3.6.6

- **Description:** Implemented extensive security hardening, accessibility remediation, and high-performance user experience upgrades.
- **Security (PR 130):** Hardened offline desktop-app configuration by restricting the WebSocket communication server, enabling system process automatic cleanup on window close, and implementing secure build-time cryptographic dependency checks verifying SHA-384 integrity parameters of external assets.
- **UX & Performance (PR 131):** Overhauled workspace loading layouts with theme-aware dual-motion skeleton loaders (combining opacity pulses and horizontal shimmers), establishing visual alignment symmetry between the Editor and Preview panes. Introduced an asynchronous task scheduler for processing large markdown files (>15KB) that yields the call stack to the browser to paint preview skeletons immediately on pasting, avoiding interface freezes and ensuring completely responsive input. Added clearTimeout debouncers to dynamic live-region screen reader announcers and expanded accessible visually-hidden CSS clipping boundaries.
- **Date:** 2026-05-31
- **URL:** https://github.com/ThisIs-Developer/Markdown-Viewer/pull/131
- **URL:** https://github.com/ThisIs-Developer/Markdown-Viewer/commit/28c3a7499f8be89f25b6bef32d9fa0bf9a703560

---

Expand Down
2 changes: 1 addition & 1 deletion desktop-app/resources/js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ document.addEventListener("DOMContentLoaded", function () {

// View Mode State - Story 1.1
let currentViewMode = 'split'; // 'editor', 'split', or 'preview'
const APP_VERSION = '3.6.6';
const APP_VERSION = '3.7.0';
let activeModal = null;
let lastFocusedElement = null;
let isFindModalOpen = false;
Expand Down
2 changes: 1 addition & 1 deletion script.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ document.addEventListener("DOMContentLoaded", function () {

// View Mode State - Story 1.1
let currentViewMode = 'split'; // 'editor', 'split', or 'preview'
const APP_VERSION = '3.6.6';
const APP_VERSION = '3.7.0';
let activeModal = null;
let lastFocusedElement = null;
let isFindModalOpen = false;
Expand Down
2 changes: 1 addition & 1 deletion sw.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const CACHE_NAME = 'markdown-viewer-cache-v3.6.7';
const CACHE_NAME = 'markdown-viewer-cache-v3.7.0';

// PERF-011: Split precache into critical (local files) and lazy (CDN libraries)
// Critical assets are precached during SW install for instant offline startup
Expand Down
Loading