What's new in
PageMarkdown

Every release, every fix, every improvement. We document it all.

1.6.3 September 21, 2026 Latest

Fixed

  • Full-page screenshots of very long or content-heavy pages no longer fail: Pages taller than the browser's single-image limit (32,760 px) previously aborted with a "page is too large" error. The stitched PNG is now assembled at a reduced scale so the capture always completes; only pages that would become unreadably narrow keep the suggestion to use PDF or an element screenshot.
1.6.2 September 20, 2026

Added

  • Online tools in the file viewer: Quick links to the free Markdown Editor and Markdown Viewer on pagemarkdown.com.
  • View source toggle: Switch between the rendered page and the raw Markdown source.
  • Editable source with save, reset, and live preview: Edit the Markdown in a full-height source editor — switching back to the preview applies your changes instantly. Save the edited file (native save dialog, or a download on Firefox), copy it to the clipboard, or reset to the original content.

Fixed

  • No more white flash when opening Markdown files in dark mode: The viewer stylesheet now follows the OS dark-mode preference before the viewer takes over, and the resolved theme is applied immediately after reading settings instead of waiting for language loading and rendering. Dark-mode users no longer see a full-screen white flash when opening local .md files.
1.6.1 September 17, 2026

Fixed

  • Fairer donation reminder backoff: Clicking Donate or Upgrade now advances the same 16 → 32 → 48 usage cadence as dismissing the reminder instead of resetting it to the first threshold. The longer 24-hour quiet period remains intact, and usage during any quiet period no longer preloads the next reminder.
1.6.0 September 10, 2026

Added

  • Custom download folder: Pick a subfolder under Downloads directly from the popup or side panel — enable the toggle, type a path (slashes create nested subfolders, e.g. Courses/Module-1), and Apply. The path row shows where files land, Reset returns to the default location, and the choice persists per session. Multi-level nesting is fully supported.
  • Light theme by default: New installs now start on the light theme; System and Dark remain available in Settings.

Changed

  • Denser, clearer popup layout: The destination row now sits inline with the quick settings card, the title field is wrapped in the same bordered card family as the other sections, and inline buttons (Apply/Reset/Pick) were compacted with rounded accent-tinted segments so the editable text stays the visual focus.
  • Batch export textarea is larger, with the Related Domains toggle inlined into the header row.
  • Slimmer scrollbars without reserved gutter space.
1.5.9 September 10, 2026

Changed

  • Force show hidden content is now on by default: New installs and users who never touched the toggle now capture pages with hidden sections revealed, matching how most people expect a full-page copy to behave. Anyone who turned the toggle off keeps their explicit off setting, and the option still appears in Settings to switch back.
  • Markdown Viewer is now off by default and opt-in: Store installs of Chrome block local file:// pages until "Allow access to file URLs" is granted, which made the viewer look broken. The viewer now ships off; when you switch it on (popup, side panel, or Settings) PageMarkdown verifies Chrome really allows local file access first. If the permission is still missing, the switch snaps back off with a dialog that jumps straight to this extension's settings page — after you enable the toggle there, come back and switch the viewer on again and it stays on. Online .md links keep working once the viewer is on. Users who already enabled the viewer keep their setting.

Added

  • Local Markdown file hint: Store installs of Chrome block file:// pages until "Allow access to file URLs" is enabled manually, which silently disabled the Markdown Viewer for local .md files. Settings now detects this state and shows a one-click shortcut to the extension details page so the viewer can be turned on in seconds.
  • Viewer permission tooltips and guide note: The Viewer quick toggle in the popup and the Markdown Viewer card in Settings now explain on hover that local .md files also need "Allow access to file URLs" enabled in the extension details, and the built-in guide page documents the same one-time step. The Settings hint re-checks automatically when you return to the tab, and the Markdown Viewer card now stays visible with only its hint note hidden until needed.
1.5.8 September 8, 2026

Fixed

  • Element screenshots keep page styling: Content-pick screenshots no longer force fixed positioning, transforms, or margins on the selected element, so headings wrap and sections lay out exactly as on the page. Only scroll positions change during capture, and the element must fit the visible viewport; clipped selections now report an error instead of returning a misaligned crop.
1.5.7 September 7, 2026

Changed

  • Readable Word exports: DOCX documents now use consistent title, heading, body, table, nested-list, and code-block formatting, with padded table cells and repeating table headers. Markdown output and capture defaults remain unchanged.
  • Continuous Firefox PDF pagination: Screenshot-based PDF exports now lay captured content onto A4 pages independently of scroll-tile boundaries, instead of creating one page per viewport capture.

Fixed

  • Full-page screenshot continuity: Shared capture logic handles overlapping final scrolls, reduces repeated fixed/sticky content, restores page styles and scroll position, and rejects unstable or oversized captures instead of silently truncating them.
  • Element screenshot accuracy: Corrected crop offsets and style restoration, released capture bitmaps, and added an error when a tall element cannot be captured completely.
  • Content-picker tab retention: Further content picks stay on the original tab even after browser focus changes.
  • DOCX content preservation: Fixed table header/body retention, fenced-code handling, and underscore emphasis used by the default Markdown settings.
  • Portable export compatibility: EPUB chapters now use well-formed XHTML and corrected entity handling; portable MHTML correctly encodes whitespace.
1.5.6 September 5, 2026

Added

  • Batch URL exclusion patterns: The batch footer now packs its controls into a single row — ZIP/Files, Copy, a joined Clear/Filter segment, and Start New — so the URL list keeps more room. Filter opens a dialog where you enter regular expressions, one per line; Remove deletes every matching URL from the current batch (for example ApiUpdateLog\?id= to drop anchor-tagged duplicate entries), and Start New also skips excluded URLs automatically. Invalid patterns are ignored without breaking the run, and the pattern list persists across popup sessions.
  • Compact batch progress row: While a batch runs, Resume and partial Download now share one joined segment beside the progress bar instead of two separate buttons, keeping the progress card on a single tight row.
1.5.5 September 5, 2026

Fixed

  • Picker controls isolated from page CSS: Link-region and content-picker controls now render in a Shadow DOM with protected host geometry, preventing hostile or overly broad website styles from hiding, moving, or restyling the extension UI. The batch progress overlay uses the same isolation.
  • Picker state after navigation: The popup now verifies that the remembered in-page picker is still alive before disabling Pick link region, so navigating or reloading the tab no longer leaves the action stuck disabled.
  • Nested menu expansion across more sites: Recursive expansion now recognizes data-opened="0" tree branches and unsemantic nested-list menus. It preserves a shared outer hover scope, activates structural li rows without site-specific classes or ul/ol grouping, and temporarily keeps every opened submenu visible even when the host page normally collapses its siblings. Structural rows no longer incur per-item lazy-load timeout waits, and their original page styles are restored when picker mode closes. Declared semantic controls and navigation links remain protected.
  • Link-picker focus accessibility: The hidden shortcut focus catcher is no longer marked aria-hidden, removing Chrome's blocked-ARIA warning when picker mode gives it keyboard focus.
  • Picker recovery after back/forward cache suspension: When a page with an active picker is moved into the browser's back/forward cache, the picker now tears itself down cleanly and the background worker stops waiting on the closed message channel, so Pick link region no longer stays disabled and the "Unchecked runtime.lastError" console noise is gone.

Changed

  • More reliable long picker sessions: Active pickers send periodic keepalive traffic while open, preserving responsive state across Chrome MV3 service-worker idle cycles.
1.5.2 September 5, 2026

Fixed

  • Repeatable menu expansion in flat trees: The link picker's Expand action now remembers where the previous expansion stopped for each region, so running Expand again (for example after raising the depth) continues opening deeper levels instead of silently doing nothing. Previously a second run re-scanned only the originally picked row, which in flat/virtualized trees (for example Feishu docs sidebars) no longer contains the newly revealed rows, so expansion appeared to work only once per page load.

Changed

  • Deeper menu expansion: The depth selector in the link picker now offers up to 10 levels (previously 5).
  • Instant depth changes: The depth selector releases focus as soon as an option is chosen, so the new depth takes effect visibly without first clicking elsewhere to dismiss the lingering highlight ring.
1.5.1 September 4, 2026

Fixed

  • Full-page screenshot on frame/container sites: Full-page and batch full-page screenshots now detect and scroll the actual scroll target — the window, a nested overflow:auto container, or a same-origin iframe — instead of only the top-level window. Previously, content rendered inside an iframe or a nested scroll container (for example Feishu docs) produced only a single viewport, because window.scrollTo could not reach a nested scroller.
1.5.0 September 3, 2026

Added

  • Partial batch downloads: Paused, incomplete ZIP collections with captured pages now provide a Download action that creates a clearly labeled batch-partial-N-of-M.zip archive.

Fixed

  • 60-second page-load fallback: Pages that never report a completed load now proceed to capture at the 60-second limit without an additional content-stability delay.
  • Link picker accuracy: One-link containers can now be selected, hover detection follows the live pointer target, and clicks resolve to the exact highlighted region shown to the user.
  • Complete documentation-tree discovery with independent region actions: The link picker collects links already present in hidden or collapsed DOM, reads Feishu's public directory data for complete documentation branches, and places Add/Remove and recursive Expand all actions beside the highlighted region. Expansion no longer changes selection, and page links and controls retain their normal left-click behavior.

Changed

  • Explicit cancellation for long-running exports: Removed automatic conversion and ZIP packaging stop timers while retaining user-initiated cancellation.
1.4.0 August 10, 2026

Added

  • Resumable batch ZIP collections: Batch progress and page outputs are checkpointed so interrupted collections can continue without reprocessing completed pages.
  • Per-run collection delay: Start New and Resume both provide an optional delay between page requests for sites that rate-limit rapid collection.
  • Current-page batch collection: The active page can now be added directly alongside page-link and region-picking workflows.
  • PageMarkdown Pro foundation: Added account-backed license activation, entitlement verification, and Pro side-panel access controls.

Fixed

  • Batch action recovery: Start New and Resume become available immediately after stopping a collection, without refreshing the popup or side panel.
  • Resume placement and cancellation state: Resume now appears directly below the progress bar, and stopping a collection retains its resumable checkpoint instead of publishing a terminal failure.
1.3.0 July 15, 2025

Added

  • Rate & Donate buttons in popup header: Replaced the static "Capture, convert, export" subtitle with two actionable inline links — ★ Rate (links to browser-specific review page) and ♥ Donate (links to donate page with UTM tracking for analytics).
  • UTM tracking for donate links: Donate URLs now include UTM parameters so Google Analytics can distinguish traffic from the extension header vs. the donate nag banner.

Fixed

  • Popup pick instability: Fixed unreliable element picking in popup mode. Added a service worker keepalive port to prevent Chrome MV3 from killing the SW during picker sessions, deferred MathJax preparation until after the user picks, and switched both pickers from click to mousedown for more reliable event capture.
  • Link region picker detection accuracy: Fixed inaccurate and unstable URL detection during batch link region picking. URL normalization now prevents duplicate links, region detection threshold raised to reduce false positives, and duplicate count is displayed in the panel.

Improved

  • Multi-region picking hints: Clarified picker panel descriptions across all 18 locales to explicitly state that users can click multiple regions in one session.
  • i18n link picker status: All service worker status messages during link picking are now localized via pmdT() instead of hardcoded English.
1.2.2 June 23, 2025

Improved

  • Element picker panel redesign: Split the single status line into two independent lines — a green "Selected" line and a gray "Hovering" line — so users can always see what they've picked.
  • Collapsible picker panel: Added a toggle button to collapse the panel to a small square, freeing the bottom-right corner for element picking.
  • Clearer hover state: Changed idle hover text to a neutral "Not hovering" label.
  • Cleaner UI: Removed redundant hint text and updated the content picker description for clarity.
1.2.1 June 11, 2025

Fixed

  • Firefox sidebar auto-capture: Fixed content capture in Firefox sidebar — sidebar now automatically captures the active page on open and re-captures when switching tabs or navigating.
  • Firefox permission CTA: Added a clickable permission button with actionable text and prominent styling when Firefox host permissions are missing.
  • Removed page reload fallback: Removed the automatic page reload mechanism that caused unacceptable UX disruption.
  • CTA accessibility: Changed Firefox permission prompt from a clickable paragraph to a proper button for keyboard accessibility.
  • Code cleanup: Removed redundant CSS, dead error patterns, and unnecessary service worker message forwarding.
1.2.0 June 10, 2025

Added

  • Side Panel support: Open PageMarkdown in the browser's native side panel for a persistent workspace that stays open while you browse — ideal for long research sessions.
  • Workspace Mode setting: New option in Settings → General to choose whether the toolbar icon opens a Popup or the Side Panel.
  • Popup ↔ Side Panel switching: One-click switch buttons in both the popup and side panel headers for quick context switching.
  • Firefox sidebar support: Firefox users can access the same side panel UI via the browser's built-in sidebar (Ctrl+B).
  • i18n translations for side panel and workspace mode across all 18 locales.
1.1.3 May 26, 2025

Fixed

  • i18n completeness: Added missing popup_batch_host_permission_denied translation to all 17 non-English locales (ar, de, es, fr, id, it, ja, ko, nl, pl, pt_BR, ru, th, tr, vi, zh_CN, zh_TW).
  • i18n completeness: Added missing options_force_show_hidden and options_force_show_hidden_desc translations to German (de) and Korean (ko) locales.
1.1.2 May 25, 2025

Fixed

  • Image download resilience: When downloading images as part of a ZIP export, individual image failures no longer abort the entire download. Failed images are skipped and the document is saved with the remaining successful images.
  • Image failure notification: A new modal dialog now informs users when some images could not be downloaded, listing the failed URLs. Previously, errors were only visible in the extension background console with no user feedback.
  • i18n translations for image failure notification across all 18 locales.
1.1.1 May 21, 2025

Fixed

  • Remove "Word" from extension short description across all 18 locales to comply with Chrome Web Store keyword policy (max 5 format keywords). Format list now: Markdown, HTML, EPUB, PDF, Screenshots.
1.1.0 May 17, 2025

Added

  • Show Hidden Content toggle — force-capture content hidden via display:none, visibility:hidden, opacity:0, or the hidden attribute. Essential for API doc sites with tab-based content switching.
  • "Show Hidden" quick toggle in popup (replaces TOC toggle). TOC toggle still available in Options page.
  • "Force Show Hidden Content" toggle in Options > General.
  • i18n translations for "Show Hidden" feature across all 17 locales.

Fixed

  • Critical: Fix content extraction missing full page content on sites like Apifox API docs — content root detection now always evaluates generic structural elements (div, section, etc.), not just known content selectors like .markdown-body.
  • Fix path+hash URLs (e.g. example.com/docs#section) being incorrectly filtered as same-page anchors during link collection.
1.0.9 May 13, 2025

Fixed

  • Fix element re-pick not updating text preview — subsequent picks after the first now capture immediately.
  • Fix CSS selector input updating but editor textarea showing stale content — pick and done flow unified.
  • Fix per-scope working draft cache invalidation — each scope (selection/element/document) now has its own draft key, preventing AI-refined content loss when switching scopes.
  • Fix stale "Draft restored" hint leaking between scopes — draft UI now clears when switching to a scope without a cached draft.
1.0.8 May 13, 2025

Added

  • User-configurable AI draft cache TTL setting (1–3600 seconds, default 600s).

Fixed

  • Fix Firefox screenshot download failure — convert data: URLs to blob: URLs before download.
  • Fix Firefox PDF/MHTML options showing but failing — disable unsupported formats in dropdown.
  • Fix screenshot warning modal text invisible in dark theme — use theme-aware CSS variable.
  • Fix batch export button not updating on language switch — preserve inner <span data-i18n>.
  • Replace all hardcoded rgba() colors in popup.css with 20+ theme-aware CSS variables.
1.0.7 May 12, 2025

Added

  • AI multi-format API support: OpenAI and Anthropic compatible endpoints with auto URL normalization.
  • Reasoning mode toggle and effort control (low/medium/high) for AI refine.
  • Working Draft cache: AI-refined content is preserved across popup reopens (10-min TTL, per URL+scope).
  • "Re-capture page" link when draft is restored, allowing explicit refresh.

Fixed

  • Fix popup AI refine timeout — popup now uses AI timeout + 2s buffer instead of hardcoded 15s.
  • Fix draft restore blocking scope switching — busy state properly released after restore.
  • Fix picker recovery overwriting restored AI draft — picker branches guarded.
  • Fix scope switch clearing draft — different scopes don't conflict, draft is preserved.
  • Fix element re-pick not clearing draft — Pick CSS now always forces fresh capture.
  • Fix manual selector change being overwritten by draft restore — selector mismatch check added.
1.0.6 May 11, 2025

Fixed

  • Critical: Fix popup UI freezing when element selector is missing from localStorage but scope is "element".
  • Fix element selector not being persisted after a successful pick when capture pipeline fails.
  • Fix popup bootstrap not recovering a surviving selector from service worker state.
  • Fix Pick Region button staying disabled after closing the picker panel.
  • Fix picker panel keyboard shortcut labels having insufficient contrast.

Changed

  • Extension popup shortcut changed from Alt+Shift+M to Ctrl+Shift+E.
  • Batch cancel shortcut changed from Alt+C to Ctrl+Shift+Z.
  • Added Enter and Esc keyboard shortcut support for picker panels.
  • Dynamic batch overlay cancel label — now fetches actual shortcut via API.
  • Firefox download compatibility — convert data: URLs to blob: URLs.
1.0.5 May 11, 2025

Fixed

  • Critical: Fix Pick Region and Pick CSS freezing the popup UI — both pickers now resolve immediately on click.
  • Fix element picker not updating the selector input after subsequent picks.
  • Fix link picker panel not showing total/picked URL counts.
  • Fix element picker panel showing "no region" when hovering over the panel.
  • Fix picker floating panel text always displaying in English.
  • Fix locale race condition — picker panels now await locale readiness before rendering.

Changed

  • Both Pick Region and Pick CSS now support continuous picking without requiring Done.
  • Element picker replaces the previous selector on each click; link picker accumulates links.
1.0.4 May 9, 2025

Fixed

  • Fix link discovery missing SPA hash-based routes (e.g. #/docs/Api).
  • Expand invalid href filtering to also exclude vbscript:, data:, sms:, and other non-navigational schemes.
1.0.3 May 5, 2025

Fixed

  • Fix TOC click-to-navigate not working for non-English headings (CJK, Arabic, Thai, etc.).
  • Fix pmdEscapeHtml in Preview producing unescaped output.
1.0.2 May 4, 2025

Changed

  • Renamed all AI "Clean/Cleanup" references to "Refine" across UI, code, and 18 locales.
  • Updated Chrome Web Store category from Developer Tools to Workflow & Planning.
  • Refined store listing description to position PageMarkdown as a versatile web clipping tool.
1.0.1 May 2, 2025

Fixed

  • Critical: Fix capture crash on pages where <body> has a noise-related class.
  • Fix batch tab state getting permanently stuck when user closes the batch tab during capture.
  • Fix intermittent UI stuck state caused by service worker timeout — added 15s timeout.
  • Fix Firefox shortcut settings button silently failing.

Added

  • Screenshot warning dialog — warns users to keep browser window visible during capture.
  • Auto-focus window before screenshot capture to prevent errors.
  • PMD_DEBUG compile-time constant for production/development debug log separation.
  • Firefox data_collection_permissions manifest declaration.

Changed

  • All 18 locale description messages shortened to ≤132 characters (Chrome Web Store limit).
1.0.0 May 1, 2025

Added

  • Initial release of PageMarkdown.
  • Web clipper with 3 capture scopes: Full Page, Selection, Element.
  • Export formats: Markdown, HTML, Word (DOCX), EPUB, PDF, Screenshots, MHTML, Print.
  • Batch capture: download multiple pages as ZIP.
  • AI Refine: refine captured content using OpenAI or Claude API.
  • Element picker with visual selection.
  • Link discovery: collect all links or pick regions.
  • Built-in Markdown viewer for .md files.
  • 18 language locales.
  • Chrome, Firefox, and Edge support.