Repository navigation
Releases: YashMahawa/super-md
Release list
Super MD v0.6.3
Super MD 0.6.3
Component-level theme controls
- Style Python source, headers, Run buttons, output and errors separately from ordinary code blocks.
- Give tables their own body, header, borders, alternating rows and hover colours. Tune cell padding and header weight independently.
- Customize inline code, syntax categories, ordinary blockquotes and callout bodies, plus bounded component-specific corners and borders.
- Text and syntax contrast are checked against each component's actual surface. Dark Python cells can coexist with light code blocks.
- The same portable JSON works on desktop and Android. Palette changes retain existing math nodes, reading position and zoom; Reset removes all overrides.
- New Study desk and Lazy Sunday cats examples, a complete authoring reference, and a README showcase of three user-selected character themes. Third-party artwork shown in screenshots is not bundled as a reusable theme.
Updates that stay downloaded
- Verified installers are saved in Downloads and remembered between launches. Repeated checks reuse an existing download; missing or modified files are refused.
- Portable Linux updates install side-by-side and activate the managed launcher for the next launch instead of starting a competing AppImage. Existing windows, notes, downloads and previous installations are kept.
- Windows and macOS retain their normal installer approval; DEB/RPM installations remain owned by the system package manager.
- Android stages a verified, signed release APK in private storage and also publishes it to Downloads. It restores a ready download offline after restart.
- Android removes only its owned installer copies after observing a successful upgrade on a later launch. Cancelling installation does not delete the APK. Desktop downloads are never automatically deleted.
Experimental AppImage integration
- Portable Linux onboarding and Settings offer an off-by-default Add to Applications option.
- Registration creates a per-user launcher, icon and Open With entries without changing file defaults or replacing unrelated launchers.
- Moving the original download does not break the managed launcher. Turning registration off does not uninstall an existing entry.
- Package-managed Linux installations do not show this option.
Verification and compatibility
- A delayed native zoom command can no longer overwrite a newer pinch gesture. New gestures also cancel stale glide acknowledgements, preventing snap-back on Android and desktop.
- Component import/share round trips, bounds, injection rejection, actual reader styling and document-node retention have regression coverage.
- Updater tests cover offline persistence, tampering, download reuse, launcher activation, rollback preservation and Android success/cancellation cleanup.
- Releases remain gated on cross-platform CI, signed Android APK validation and complete installer checks.
- Existing themes remain valid. New component roles require 0.6.3 or newer; older builds reject unsupported fields without replacing the last valid theme.
- macOS packages remain ad-hoc signed rather than notarized. Windows installers are not code-signed.
Super MD v0.6.2
Super MD 0.6.2
Portable artwork themes
- Use both vector art and detailed images: static SVG, PNG, JPEG and WebP can decorate the reader, sidebar and top bars. Artwork is optional; the built-in appearance stays clean.
- Reuse embedded assets across areas and light/dark variants without copying the same image into every entry. Control placement, cover/contain fit and visibility. Themes work offline and travel as one file between desktop and Android.
- Add cat-paw backgrounds with adjustable visibility, motif size and spacing, alongside dots, grids, diagonal textures and gradients. Settings adjustments are remembered without modifying the original theme file.
- Import, export and share the active theme with its background adjustments. Android opens its native share sheet; desktop saves a portable theme file for sharing.
- The theme authoring guide documents the format, examples, limits and AI-friendly editing workflow. No CSS plugins, scripts or remote asset downloads are required.
Better image adaptation
- Auto adapt preserves colours while adapting neutral ink and paper to the current accent and page. SVG labels are checked against their local node backgrounds; poorly contrasted marks and arrowheads are adjusted without flattening all colours.
- Theme monochrome is a separate option for the previous full-image accent duotone effect. Original remains the default; theme-relative separation preserves source pixels and adds readable backing/edges.
- White-only transparent SVG drawings are treated as ink, not erased as white paper or a thick edge halo in Auto mode.
- Existing images, SVGs, notes and PDF source assets are never rewritten by viewing adjustments. An open image keeps its zoom when the theme changes.
Desktop polish and navigation
- Note context menus have opaque, bordered surfaces and consistent hit areas. Duplicate path hints are removed and remaining hints disappear while menus are open.
- Recent notes have reliable hover/focus highlights and a bounded Pin/Unpin context menu; lightweight pin indicators appear only on pinned entries.
- Long-document heading jumps now follow late font/layout changes briefly, then yield immediately to deliberate scrolling or zooming instead of snapping back.
- Opening search or choosing a match cancels a preceding heading jump, so quickly searching after a contents/link jump cannot snap back to the old heading.
- Switching tabs or reading modes also retires the previous heading alignment instead of applying it to a different document.
- Artwork and palette changes do not reparse Markdown, replace math nodes or reset reading zoom.
Bounded rendering and safety
- A theme is limited to 2 MiB, with up to eight reusable images. Rasters are capped at 512 KiB and four megapixels; static SVG is capped at 128 KiB and 5000 XML nodes. Animated and executable content, external resources and missing asset references are rejected.
- Android shares a bounded drawing cache across native areas, downsamples native raster decorations and avoids sending unused sidebar/toolbar images through the reader bridge.
- Fixed-size SVG artwork is fitted to its cached Android viewport instead of appearing as a tiny mark in one corner. The imported file itself is unchanged.
- Regression coverage includes actual native and browser artwork pixels, raster type checks, import/share round trips, document identity/zoom retention, menu opacity and tooltip suppression. Android tests run on emulators, not the user's phone.
- Private detailed-art evaluation samples are not bundled in the repository or release. Only share artwork you have permission to redistribute.
This is a normal stable update. Earlier published installers remain available for rollback. Themes are viewing preferences, not content embedded in SMD notes or PDF wallpaper. Older versions safely reject unsupported theme extensions.
macOS packages remain ad-hoc signed rather than notarized. Windows installers are not code-signed.
Super MD v0.6.1
Super MD 0.6.1
Portable custom themes
- Import an editable theme JSON file on desktop and Android. One format controls native semantic colors and the reading pane, with independent light, dark and pure-black variants.
- Customize headings, links, code blocks, callout families, component/content corners, paragraph spacing, heading weight/tracking, text tracking and table borders. Reading fonts, sizes, width and zoom stay user-controlled.
- Add subtle dot, grid, diagonal or gradient backgrounds without images, scripts, network requests or animated overlays.
- Export an editable template or the active theme. The authoring guide documents every field, role, limit and platform behavior, including an AI-ready authoring request. Three example themes are bundled.
- Desktop follows source-file edits using filesystem notifications, including atomic saves. Android observes document providers where supported, with manual Reload and resume-time retry otherwise. Invalid/partial edits preserve the last valid theme; Reset to built-in never deletes the original file or notes.
- Desktop and Android share the same bounded native validator. Unknown fields, unsafe color expressions, unsupported versions and oversized files are rejected. Contrast safeguards protect native text and controls.
Reliability and verification
- Auto adapt recolours both photos and SVGs using the current accent and page colours, preserving shading and transparency with guarded contrast. Separation mode preserves the original pixels and adds a readable backing and edge instead of increasing image contrast. Original appearance remains the default; source assets and PDF output are unchanged.
- Recent notes show a small, lightweight pin only when pinned. Use the desktop context menu or Android long press to pin or unpin; there is no permanent pin button on every row.
- Centre lock sits immediately after the fullscreen button in both native toolbars, including fullscreen. Enabled by default and remembered between launches, it keeps the document horizontally centered during scrolling and zooming without blocking vertical movement, selection, or independent graph/image navigation.
- Theme palette changes keep the existing large-note rendering/cache path instead of reparsing Markdown/math. Typography updates use reading-anchor restoration. Removing optional reader preferences is now recognized correctly, including theme reset.
- Automatic desktop update checks no longer replace a useful note status with a raw offline network error or cancel a pending close operation. Explicit checks still report a friendly offline status.
- Graph panning no longer drops queued movement when a resize or appearance update renders before the next animation frame. A deterministic regression test covers this input/render race.
- Packaged-app launch checks now import a theme through the real native validator and verify the reader's pattern/typography alongside the existing presented-pixel, Markdown, math, chart, portable-note and PDF assertions.
- Android instrumentation verifies shared validation, native contrast, actual imported-accent pixels and reader styling, invalid-edit preservation and reset. Existing gesture, selection, hyperlink, export and painting assertions remain enabled.
- CI now covers Intel macOS before tagging as well as Apple Silicon, Linux and Windows. Debug/instrumentation sources receive their own lint check; desktop CI and release builds share architecture-isolated dependency caches without skipping tests or packaged launch checks.
- macOS disk-image creation retries only transient “Resource busy” errors, with a bounded retry count. Other packaging failures still fail the release.
- Native font-search popups close with their Settings or Export/Share owner, even though the searchable list lives in the window overlay.
Themes are viewing preferences, not embedded in portable notes. PDF layout remains controlled by Export/Share; custom background patterns and reading metrics do not alter PDF output. Native Android component shapes follow Material's platform behavior rather than replacing every control with desktop geometry.
This is deliberately separate from the published 0.5.2 reliability release, which remains available for rollback. All its document-safety, reading-position, recents, provider-notification and graphics-packaging improvements are retained. On Android, use Reset to built-in before considering a version downgrade; normal installers prevent downgrades and uninstalling may remove private recovery data.
macOS packages remain ad-hoc signed rather than notarized. Windows installers are not code-signed.
Super MD v0.5.2
Super MD 0.5.2
Reliable reading and document handling
- Opening, dragging or panning an image or SVG no longer re-imports it or appends a broken block. Genuine external image drops still work.
- Scrolling in fullscreen hides controls but never reveals them. Deliberate taps and desktop top-edge hover remain available.
- Optional, separate image and SVG appearance controls: original, dark-theme inversion, theme adaptation and contrast adjustment. Original is the default; these viewing choices do not alter source assets or PDF output.
- Recent documents can be pinned. Pins appear first and are protected from eviction; the list holds at most ten documents.
- Reading positions persist across restarts by default, with an option to disable restoration. A heading jump or manual gesture takes priority over delayed position restoration.
- Welcome appears only on first use. Startup restores prior tabs by default, or opens a blank note when chosen; unsaved drafts remain recoverable.
- SMD and legacy FMD envelopes are recognized by their format marker in the desktop/Android readers and native command-line exporter, even when a sharing provider changes or omits the filename extension.
Efficient updates and large notes
- Native filesystem/provider notifications update open-folder listings, renamed tabs and recent filenames without a polling loop.
- Deleted notes leave recents and close their tabs with a notice. The last deleted tab becomes a blank note without closing the window; dirty deleted content is retained for recovery. Android keeps a durable private backup independent of its bounded closed-tab history, accessible from Settings. Nullable provider filenames are not treated as deletion.
- Palette-only changes no longer reserialize an unchanged large note or rebuild the whole rendered Markdown/math tree. The native controls and reader update without remeasuring page geometry or rewinding scrolling.
- Delayed viewport anchors stop when newer user input arrives. Image-edit guards no longer retain obsolete full-note strings after the operation ends.
- Desktop shutdown ignores late worker callbacks, prevents duplicate overlapping close prompts and flushes pending preferences and reading positions.
- Linux's disposable graphics probe is non-dumpable, so a deliberately contained driver abort does not enter the system's crash-collector pipeline. Crash diagnostics for the actual editor are unchanged.
Packaging and release verification
- Linux explicitly bundles Qt's X11 helper libraries, including
libxcb-icccm.so.4, whose absence caused the AppImage catalog's clean-machine launch test to fail. Driver-owned GL/EGL and C++/unwind runtimes remain on the host. - Clean-distribution checks launch the AppImage before installing DEB/RPM dependencies, so native package installation cannot mask missing portable dependencies.
- Publication requires passing desktop, browser, native PDF, Android unit/lint and Android API 35/36 emulator checks. Packaged installers must paint real reader pixels and produce portable notes and math PDFs; the Android release APK must pass certificate, alignment and non-debuggable checks.
Notification limits: desktop renames can be followed within watched directories; moves to an unrelated, unobserved directory cannot always be found. Android providers must expose stable identifiers and notifications. Permission errors and unavailable providers are not treated as deletion; an empty result or explicit document-not-found result is required. The exact pair of Fedora dialogs reported by a user has not been independently reproduced; the verified shutdown race and overlapping prompts are fixed.
Custom theme-file support is deliberately reserved for a separate subsequent release. Version 0.5.1 remains available for rollback. macOS packages remain ad-hoc signed rather than notarized, and Windows installers are not code-signed.
Super MD v0.5.1
Super MD 0.5.1
Desktop launch reliability
- A failed Wayland/OpenGL/EGL graphics initialization no longer aborts the editor before it opens. An isolated, bounded startup probe checks real Qt rendering; when it fails, Super MD selects software rendering for both Qt Quick and the document pane.
- Healthy systems keep accelerated rendering.
--safe-graphicsis available as an explicit troubleshooting option. This does not disable Chromium's security sandbox or change system drivers. - The probe checks actual HTML pixels with an off-the-record renderer, not just the native controls. This catches document-only GPU context failures seen on Intel Mac. Installer smoke checks wait for real readiness/presentation within a bounded deadline rather than an arbitrary ten-second startup timer.
- Linux packages use the host C++/unwind runtimes rather than overriding newer Mesa/LLVM drivers with older bundled libraries. Software fallback also avoids X11 GLX initialization, addressing a second clean-Ubuntu-24.04 startup abort caught by the new installer checks.
- Debian dependencies include the XCB cursor integration, GBM, font configuration and both older/newer ALSA package names. RPM dependencies use Linux shared-library capabilities rather than Debian-only package names.
- Both Linux package formats explicitly require Wayland's server library too: Qt links it even in X11 mode. The fresh Fedora check caught this missing dependency before publication.
- Release gates now launch the packaged editor and require actual painted document pixels, portable-image round trips and native LaTeX PDF output. Linux installers are exercised in fresh Ubuntu 22.04/24.04, Debian 12 and Fedora containers without a developer venv or host GPU, including the missing-Wayland-EGL failure path. Windows checks install the EXE; macOS checks launch the app from the mounted DMG on both architectures.
Checkbox position fix — shared desktop/Android reader
- Checking tasks no longer unnecessarily rebuilds settled zoom geometry. Reading position and magnification stay stable through checking, undo and redo in Read and Live modes.
- Shared-reader browser regressions exercise both Qt and mobile layout paths at normal and enlarged zoom, including long/windowed notes.
- Android API 35/36 emulator suites remain release gates alongside shared-reader checkbox regressions. The updated signed release APK includes the shared-reader fix; signing, alignment and source identity remain publication requirements. No physical phone testing is performed.
Previous 0.5.0 features remain intact, including Python/NumPy/Matplotlib setup, graph probing, fullscreen and reading-position improvements. See 0.5.0 notes.
For graphics troubleshooting and platform boundaries, see the graphics guide. FUSE mounting and graphics initialization are separate issues; AppImage extraction mode avoids a FUSE requirement. Software rendering trades GPU acceleration for compatibility only when needed. macOS packages remain ad-hoc signed rather than notarized, and Windows installers are not code-signed.
Super MD v0.5.0
Super MD 0.5.0
Python plots now work out of the box, graphs feel like a real graphing tool,
and Windows finally gets proper fullscreen. Here is what changed.
Python that just works
- Windows and macOS include Python. The installers now ship a built-in
Python with numpy and matplotlib, so Python cells and plots run without
installing anything. "Built-in Python" is the default on a fresh install. - Linux finds your Python for you. Settings > Python lists the
interpreters and virtual environments it detects (system Python, a.venv
next to your notes, pyenv, conda, virtualenvwrapper) and shows which ones
have numpy and matplotlib. Click one to use it. If the selected virtual
environment is missing them, "Install numpy + matplotlib here" adds both. - One-click setup. No matplotlib anywhere? Press "Set up Python" and Super
MD creates its own private environment and installs numpy and matplotlib. - Friendlier errors. A failing cell now shows the line that broke and the
error, not a wall of internal traceback. Missing matplotlib tells you how to
fix it. - Cells run inside the note's folder, so
open("data.csv")finds files next
to your note. - The Run button is always available. If no Python is set up yet, it explains
what to do instead of silently staying grey. - Code still only runs when you press Run. Nothing runs on open or export.
Graphs, GeoGebra style
- The probe locks onto the curve. Hover or touch a graph and the point
snaps to the nearest curve and shows its real coordinates. Moving the mouse
away from every curve shows nothing, instead of random coordinates. - Roots, peaks, valleys and intersections snap. Get close to one and the
probe locks onto it and names it, for example "Intersection, y = x^2 and y = x". - Every equation is labelled. Each curve is named at the edge of the plot
and in the legend (y = a·sin(x)or your own series name). Labels also
appear in PDF exports. - Cleaner controls. Sliders show their value in a chip with the range
underneath. "Reset view" (or a double-click) brings a panned or zoomed graph
back. - A broken expression no longer takes the whole note down with it.
Desktop
- True fullscreen on Windows. Fullscreen now hides the window buttons and
covers the whole screen. - Readable title bar in dark mode on Windows. The minimize, maximize and
close buttons follow the app theme instead of staying black on dark. - Pages are never stuck to the left edge. When you zoom in, the page can
slide right to give the start of each line a comfortable margin, and zooming
from the keyboard keeps line starts where they were. In fullscreen you can
slide the page sideways even when it is not zoomed in. Use a sideways
swipe, Shift + wheel or a touchpad. This applies on Android too. - Wider reading, your way. Desktop now reads at 90% width by default (was
80%; untouched settings move to 90% too) and Android at 100%. Width can go
past 100% on every platform, up to 150%. - No more losing your place. Switching from Read to Live or Source keeps
you at the same spot, double-clicking a block in Live opens the editor
exactly where the block was (no jump or jitter), and scrolling back up a
long note no longer makes the page jump as blocks appear. - Remembers your window. Super MD reopens at the size you left it, and
maximized if it was maximized. - Smoother scrolling and zooming. Mouse-wheel scrolling is animated, and
Ctrl + / Ctrl - zoom glides to the new size while keeping the text under the
cursor in place. - Snappier interface: theme colors are computed once per change instead of in
every button, which removes small stutters when typing and switching tabs.
Android
- Find in note sits where it should. The search bar now appears at the top
of the screen, clear of the camera cutout, instead of floating mid-page. - Better battery life. The reader pauses completely while the app is in the
background, typing no longer sends the whole note back and forth on every
keystroke, and draft recovery writes to storage less often.
Design
- Code blocks match your theme. No more pure-black slabs: code sits in a
soft tonal surface (slightly recessed in dark mode) with syntax colors tuned for both light and dark mode.
Collapsible blocks get a cleaner header, and the Copy button no longer
overlaps the border. - A new logo. A monochrome "S" with the Markdown down-arrow, on desktop,
Android (including themed icons) and the Linux launcher. The Linux installer
now replaces old launcher icons instead of leaving the previous logo behind. - Table of contents, redesigned. Rounded rows with soft hover and press
states, animated expand arrows and depth guides replace the boxy highlights
and button-like dropdowns, on desktop and Android, plus a clearer icon. - SVG drawings render. Paste raw
<svg>markup, or put it in an untagged
or XML code block, and the note shows the drawing instead of its code. Line
art takes your reading text color so it stays visible in dark mode; colored
artwork sits on a white card; an SVG with its own background is shown as
drawn. Exports include them too. - Graph legends, buttons and the Python cell toolbar follow Material 3
Expressive shapes and motion, and respect reduced-motion settings.
Safety and reliability
- Remote images and link previews connect only to the address that was
checked, closing a DNS rebinding gap. - The Python interpreter setting only accepts real Python executables.
- Python figures are size-checked before they are shown or exported.
- Pasting a malformed link into the media dialog no longer freezes it.
Good to know
- Interactive 3D graphs stay retired; use a Python cell with matplotlib for
3D figures. - Checked with the desktop native tests, the shared web tests, the browser
end-to-end suite, an offscreen desktop smoke run and an Android compile and
unit-test pass. CI also verifies that the Windows and macOS builds' built-in
Python renders a matplotlib 3D figure.
Super MD v0.4.14
Super MD 0.4.14
- Fixed fullscreen narrowing the rendered text column: page width is applied
once, not again to the Markdown inside it, on Android and the native reader. - Android's expanded and compact reading bars now overlay a fixed-size reader.
Hide/show animation does not resize the WebView or push the page up and down. - A start-of-note spacer protects the first heading beneath the overlay. It is
unscaled, remains stable when chrome hides and preserves the reading anchor
when switching expanded/compact bars or changing orientation. - Hidden controls leave accessibility navigation, while image/dialog overlays
get immersive system-bar handling. Contents navigation hides reading chrome
so the selected heading is not covered. - Added phone, landscape and tablet regression checks for actual text-column
width, title clearance, unscaled spacing and scroll-position stability. - Desktop fullscreen now uses a compact overlay bar with Contents, Save, Export
and Exit, rather than two floating controls. Scroll down hides it; scroll up,
a single reading click or deliberate top-edge hover reveals/toggles it. Text
selection, Live double-click editing and independent chart/image zoom are kept. - The shared brush-S SVG is used by desktop window, launcher and package icons,
matching Android's adaptive/fixed branding without adding a toolbar logo.
Previous release (0.4.13)
- Android reading chrome and system bars hide together, without floating buttons.
Tap or scroll upward to reveal controls; landscape uses the cutout region. - Fullscreen preserves magnification and reading width, even during a pinch.
Gestures cancel pending heading alignment so links cannot pull zoom backward. - Python cells use one source panel with Copy and Run in its toolbar.
- Optional offline English spelling and basic grammar checks in Settings on
Android and desktop. Checks skip code, links and math; explicit corrections are
undoable. Grammar covers repeated words and a/an, not comprehensive grammar. - Interactive 3D graphs are removed; Matplotlib 3D figures remain supported in
notes, portable files and PDF. Retired interactive blocks preserve their source
and export as code instead of preventing PDF export. - Improved MD/TXT/SMD/legacy FMD Open-with registration, no Save as Markdown for
portable notes, a Material rename icon, a diagonal brush-S icon and expressive
workspace loading. Removed the desktop sidebar icon animation. - First use of offline writing checks no longer reloads a development workspace.
Android downloads are signed, optimized release APKs for Android 8+ ARM64 devices.
Settings checks are opt-in and English-only. Emulator verification does not imply
physical testing of every handset. See docs/RELEASE-NOTES-0.4.14.md for details.
Previous release (0.4.12)
- Desktop tabs and their icon-only “+” share a vertical centre. The top New note
button and logo are removed; Open folder has a direct icon and the sidebar
button morphs when toggled, respecting disabled motion. - Linux captionless desktops get visible, themed minimize/maximize/close controls
in the existing toolbar. macOS/Windows retain real native caption buttons, with
a tinted expanded caption and a reserved safe area; no frameless-window hack. - Zoom is 40–300%. Native snapshots no longer overwrite newer reader gestures;
Android gesture acknowledgements are not echoed as fresh zoom commands. Desktop
Ctrl-wheel/native pinch is intercepted before browser zoom can flash a stale scale. - Lazy content extent updates no longer replay zoom during scrolling. Android
chrome waits for a single-finger gesture to end before resizing the reader;
two-finger gestures and Live editors retain their viewport while interacting.
A stale reveal/hide callback cannot resize the reader during a newer gesture. - Older WebViews retain composited scaling when standardized CSS zoom geometry
is unavailable. Text selection and heading positions then use the same visual
coordinates, without requiring a WebView update or changing modern selection. - Manual Android accents replace the full Material color scheme, not only primary
roles. Icon foregrounds inherit a proper Surface content color; system-wallpaper
secondary/surface roles no longer leak into manually chosen dark palettes. - Android keeps new note only beside the tabs, simplifies its overflow/drawer,
replaces the collapsed-chrome down arrow with Contents, removes the green accent
choice and uses rounded, selected-aware recent-note rows. Multiwindow remains
available in More actions and keyboard tab shortcuts remain supported. - Long Live editor boxes scroll internally, and desktop font search closes when
Settings closes. All previous Unicode recovery, PDF, asset and update fixes remain.
This release
- Android reading starts at 15 px for new users; reading sizes down to 6 px and
PDF sizes down to 5 pt are available. PDF defaults use 10 pt text, slightly
more line spacing and explicit paragraph spacing, adjustable in Export/Share.
Existing preferences are retained. - Android light surfaces and tonal controls have contrast-checked foregrounds.
Reading chrome hides on downward swipes and returns on upward swipes or the
overlay control. Fullscreen has a direct icon with a long-press tooltip, duplicate
menu Undo/Redo actions are removed, and loading uses Material 3 Expressive's
morphing indicator (static when motion is disabled). - Android commits compositor zoom to layout zoom while idle so native text
selection handles and hit testing agree with the magnified page. Distant heading
links align inside the reader and are rechecked as offscreen blocks mount. - Settings show the installed version, manual update checks, startup checks and
optional automatic downloads. Only published releases from the official repo
are used; downloads require exact checksums and sizes. Android also checks
package ID, non-debuggable status, newer version code and the existing signing
certificate before opening the system installer. No silent Android install or
forced closing of desktop windows. Linux downloads a portable AppImage; system
package installs can use DEB/RPM release assets. - Large notes release offscreen rendered blocks: expanded math, highlighted code,
image components and interactive plots are mounted near the viewport instead
of retaining the entire rendered document. Full-note text search, heading
jumps, reference links, Live editing and copying across hidden blocks remain
available. PDF preparation still covers the complete source, not the viewport. - Focal zoom uses cached geometry and one visual update per frame, with native
zoom notifications debounced. Resize callbacks no longer steal a pinch's focal
point. Plain text selection remains available. - Cross-mode undo stores reversible changed ranges rather than full-note
copies. A large replacement remains undoable, and Source edits remain undoable
after switching to Read without a second full-text snapshot history. - Android recovery streams JSON, shares unchanged saved text and no longer
silently skips larger workspace snapshots. Desktop recovery serialization
moves off the UI thread and avoids a full-workspace UTF-8 payload copy. - Executed Matplotlib output is disk-backed, so offscreen figure data can leave
RAM and still reopen/export without rerunning Python. Small graph-state caches
retain larger notes' camera and slider choices without retaining their meshes. - Contents stays beside Folder in normal mode; the duplicate mode-toolbar button
is removed. Fullscreen Contents is on the left and Exit is on the right, with
idle hiding and overlay behavior on desktop and Android. - See
docs/LARGE-NOTE-PERFORMANCE.mdfor reproducible local measurements and
explicit limits; these are not claims of physical-phone or battery benchmarks.
Included from the preceding maintenance update
-
Android device tests exercise fullscreen pinch zoom rather than a removed
toolbar button, retaining real painted-pixel and PDF verification. -
Copying rendered tables, blockquotes, separators and checkboxes retains
Markdown structure rather than flattening it into unformatted text. -
PDF, portable SMD and Save dialogs preserve spaces, Unicode and literal percent
signs in filenames. Typed file URLs prevent double-encoding at the Qt boundary. -
Math containing absolute-value or conditional-probability bars stays inside
its Markdown table cell on every platform. Original source offsets are retained. -
LaTeX repair no longer splits valid multiline equations into bogus line fixes.
Repairs remain reviewed and undoable; ambiguous prose is not guessed. -
Plain PDF exports keep neutral paper, shaded/bold table headers and semantic
colored callouts with SVG icons, independent of wallpaper accent. Optional
light Material PDF theming remains available only in Export and Share. -
Folder/Contents sidebar sections, collapsed hierarchical headings, independent
scroll areas and a floating contents overlay. Fullscreen controls hide when idle. -
Chrome-style tab shortcuts, reopen-closed-tab and polished native path hints.
-
Search focuses immediately, closes with Esc and uses up/down match arrows,
case matching and literal source replacement, including offscreen Source lines. -
Changing reading/source/live modes retains a source-position anchor. External
plain-note updates refresh clean documents without overwriting unsaved edits. -
Bounded cached Markdown/KaTeX trees avoid repeated conversion when reopening
tabs or changing appearance. Offscreen blocks skip layout/paint work. -
Ordinary text dragging selects again; Alt-drag is optional desktop page pan.
Graph probes follow the pointer without rebuilding meshes, and hide on touch-up. -
System or manual Material accent presets on desktop and Android; lighter OEM
palette correction, stronger selected-mode contrast and s...
Super MD v0.4.13
Super MD 0.4.13
- Android reading chrome and system bars hide together, without floating buttons.
Tap or scroll upward to reveal controls; landscape uses the cutout region. - Fullscreen preserves magnification and reading width, even during a pinch.
Gestures cancel pending heading alignment so links cannot pull zoom backward. - Python cells use one source panel with Copy and Run in its toolbar.
- Optional offline English spelling and basic grammar checks in Settings on
Android and desktop. Checks skip code, links and math; explicit corrections are
undoable. Grammar covers repeated words and a/an, not comprehensive grammar. - Interactive 3D graphs are removed; Matplotlib 3D figures remain supported in
notes, portable files and PDF. Retired interactive blocks preserve their source
and export as code instead of preventing PDF export. - Improved MD/TXT/SMD/legacy FMD Open-with registration, no Save as Markdown for
portable notes, a Material rename icon, a diagonal brush-S icon and expressive
workspace loading. Removed the desktop sidebar icon animation. - First use of offline writing checks no longer reloads a development workspace.
Android downloads are signed, optimized release APKs for Android 8+ ARM64 devices.
Settings checks are opt-in and English-only. Emulator verification does not imply
physical testing of every handset. See docs/RELEASE-NOTES-0.4.13.md for details.
Previous release (0.4.12)
- Desktop tabs and their icon-only “+” share a vertical centre. The top New note
button and logo are removed; Open folder has a direct icon and the sidebar
button morphs when toggled, respecting disabled motion. - Linux captionless desktops get visible, themed minimize/maximize/close controls
in the existing toolbar. macOS/Windows retain real native caption buttons, with
a tinted expanded caption and a reserved safe area; no frameless-window hack. - Zoom is 40–300%. Native snapshots no longer overwrite newer reader gestures;
Android gesture acknowledgements are not echoed as fresh zoom commands. Desktop
Ctrl-wheel/native pinch is intercepted before browser zoom can flash a stale scale. - Lazy content extent updates no longer replay zoom during scrolling. Android
chrome waits for a single-finger gesture to end before resizing the reader;
two-finger gestures and Live editors retain their viewport while interacting.
A stale reveal/hide callback cannot resize the reader during a newer gesture. - Older WebViews retain composited scaling when standardized CSS zoom geometry
is unavailable. Text selection and heading positions then use the same visual
coordinates, without requiring a WebView update or changing modern selection. - Manual Android accents replace the full Material color scheme, not only primary
roles. Icon foregrounds inherit a proper Surface content color; system-wallpaper
secondary/surface roles no longer leak into manually chosen dark palettes. - Android keeps new note only beside the tabs, simplifies its overflow/drawer,
replaces the collapsed-chrome down arrow with Contents, removes the green accent
choice and uses rounded, selected-aware recent-note rows. Multiwindow remains
available in More actions and keyboard tab shortcuts remain supported. - Long Live editor boxes scroll internally, and desktop font search closes when
Settings closes. All previous Unicode recovery, PDF, asset and update fixes remain.
This release
- Android reading starts at 15 px for new users; reading sizes down to 6 px and
PDF sizes down to 5 pt are available. PDF defaults use 10 pt text, slightly
more line spacing and explicit paragraph spacing, adjustable in Export/Share.
Existing preferences are retained. - Android light surfaces and tonal controls have contrast-checked foregrounds.
Reading chrome hides on downward swipes and returns on upward swipes or the
overlay control. Fullscreen has a direct icon with a long-press tooltip, duplicate
menu Undo/Redo actions are removed, and loading uses Material 3 Expressive's
morphing indicator (static when motion is disabled). - Android commits compositor zoom to layout zoom while idle so native text
selection handles and hit testing agree with the magnified page. Distant heading
links align inside the reader and are rechecked as offscreen blocks mount. - Settings show the installed version, manual update checks, startup checks and
optional automatic downloads. Only published releases from the official repo
are used; downloads require exact checksums and sizes. Android also checks
package ID, non-debuggable status, newer version code and the existing signing
certificate before opening the system installer. No silent Android install or
forced closing of desktop windows. Linux downloads a portable AppImage; system
package installs can use DEB/RPM release assets. - Large notes release offscreen rendered blocks: expanded math, highlighted code,
image components and interactive plots are mounted near the viewport instead
of retaining the entire rendered document. Full-note text search, heading
jumps, reference links, Live editing and copying across hidden blocks remain
available. PDF preparation still covers the complete source, not the viewport. - Focal zoom uses cached geometry and one visual update per frame, with native
zoom notifications debounced. Resize callbacks no longer steal a pinch's focal
point. Plain text selection remains available. - Cross-mode undo stores reversible changed ranges rather than full-note
copies. A large replacement remains undoable, and Source edits remain undoable
after switching to Read without a second full-text snapshot history. - Android recovery streams JSON, shares unchanged saved text and no longer
silently skips larger workspace snapshots. Desktop recovery serialization
moves off the UI thread and avoids a full-workspace UTF-8 payload copy. - Executed Matplotlib output is disk-backed, so offscreen figure data can leave
RAM and still reopen/export without rerunning Python. Small graph-state caches
retain larger notes' camera and slider choices without retaining their meshes. - Contents stays beside Folder in normal mode; the duplicate mode-toolbar button
is removed. Fullscreen Contents is on the left and Exit is on the right, with
idle hiding and overlay behavior on desktop and Android. - See
docs/LARGE-NOTE-PERFORMANCE.mdfor reproducible local measurements and
explicit limits; these are not claims of physical-phone or battery benchmarks.
Included from the preceding maintenance update
-
Android device tests exercise fullscreen pinch zoom rather than a removed
toolbar button, retaining real painted-pixel and PDF verification. -
Copying rendered tables, blockquotes, separators and checkboxes retains
Markdown structure rather than flattening it into unformatted text. -
PDF, portable SMD and Save dialogs preserve spaces, Unicode and literal percent
signs in filenames. Typed file URLs prevent double-encoding at the Qt boundary. -
Math containing absolute-value or conditional-probability bars stays inside
its Markdown table cell on every platform. Original source offsets are retained. -
LaTeX repair no longer splits valid multiline equations into bogus line fixes.
Repairs remain reviewed and undoable; ambiguous prose is not guessed. -
Plain PDF exports keep neutral paper, shaded/bold table headers and semantic
colored callouts with SVG icons, independent of wallpaper accent. Optional
light Material PDF theming remains available only in Export and Share. -
Folder/Contents sidebar sections, collapsed hierarchical headings, independent
scroll areas and a floating contents overlay. Fullscreen controls hide when idle. -
Chrome-style tab shortcuts, reopen-closed-tab and polished native path hints.
-
Search focuses immediately, closes with Esc and uses up/down match arrows,
case matching and literal source replacement, including offscreen Source lines. -
Changing reading/source/live modes retains a source-position anchor. External
plain-note updates refresh clean documents without overwriting unsaved edits. -
Bounded cached Markdown/KaTeX trees avoid repeated conversion when reopening
tabs or changing appearance. Offscreen blocks skip layout/paint work. -
Ordinary text dragging selects again; Alt-drag is optional desktop page pan.
Graph probes follow the pointer without rebuilding meshes, and hide on touch-up. -
System or manual Material accent presets on desktop and Android; lighter OEM
palette correction, stronger selected-mode contrast and synchronized reader colors. -
Shared callout icon geometry, Android contents hierarchy/overlay and hardware
tab shortcuts. Native Qt, shared-reader, PDF and Android regression checks.
Android downloads are optimized, signed release APKs with the existing upgrade
certificate. Physical Vivo installation remains unverified without a device test.
Previous release (0.4.6)
This release
- Smaller compressed Android release APK with explicit v1/v2/v3 signatures,
preserving the upgrade certificate. Android 15 and 16 instrumentation gates. - Selected modes use the primary color with a contrasting label, not a near-white
highlight. Searchable native font pickers keep typing separate from selection. - A real Qt label-color regression check prevents the stock Material highlight
style from overriding the selected-mode text color. - Android creates each window's independent workspace before the activity resumes,
eliminating a startup race found by the Android 15 multiwindow test. - Optional light Material PDF theme (off by default), only in Export/Share.
- Generated sidebar contents, heading-based untitled names, suggested export
filenames, and a configurable new-note picker location (Downloads by default). - Page zoom sends tiny native deltas and uses compositor scaling; wrapping stays
stable. Mouse dragging pans reading pages; 3D mouse dragging rotates whil...
Super MD v0.4.9
Super MD 0.4.9
- Unicode draft recovery, imported-font records and settings explicitly use UTF-8 even on Windows machines with a legacy system encoding.
This release
- Android reading starts at 15 px for new users; reading sizes down to 6 px and
PDF sizes down to 5 pt are available. PDF defaults use 10 pt text, slightly
more line spacing and explicit paragraph spacing, adjustable in Export/Share.
Existing preferences are retained. - Android light surfaces and tonal controls have contrast-checked foregrounds.
Reading chrome hides on downward swipes and returns on upward swipes or the
overlay control. Fullscreen has a direct icon with a long-press tooltip, duplicate
menu Undo/Redo actions are removed, and loading uses Material 3 Expressive's
morphing indicator (static when motion is disabled). - Android commits compositor zoom to layout zoom while idle so native text
selection handles and hit testing agree with the magnified page. Distant heading
links align inside the reader and are rechecked as offscreen blocks mount. - Settings show the installed version, manual update checks, startup checks and
optional automatic downloads. Only published releases from the official repo
are used; downloads require exact checksums and sizes. Android also checks
package ID, non-debuggable status, newer version code and the existing signing
certificate before opening the system installer. No silent Android install or
forced closing of desktop windows. Linux downloads a portable AppImage; system
package installs can use DEB/RPM release assets. - Large notes release offscreen rendered blocks: expanded math, highlighted code,
image components and interactive plots are mounted near the viewport instead
of retaining the entire rendered document. Full-note text search, heading
jumps, reference links, Live editing and copying across hidden blocks remain
available. PDF preparation still covers the complete source, not the viewport. - Focal zoom uses cached geometry and one visual update per frame, with native
zoom notifications debounced. Resize callbacks no longer steal a pinch's focal
point. Plain text selection remains available. - Cross-mode undo stores reversible changed ranges rather than full-note
copies. A large replacement remains undoable, and Source edits remain undoable
after switching to Read without a second full-text snapshot history. - Android recovery streams JSON, shares unchanged saved text and no longer
silently skips larger workspace snapshots. Desktop recovery serialization
moves off the UI thread and avoids a full-workspace UTF-8 payload copy. - Executed Matplotlib output is disk-backed, so offscreen figure data can leave
RAM and still reopen/export without rerunning Python. Small graph-state caches
retain larger notes' camera and slider choices without retaining their meshes. - Contents stays beside Folder in normal mode; the duplicate mode-toolbar button
is removed. Fullscreen Contents is on the left and Exit is on the right, with
idle hiding and overlay behavior on desktop and Android. - See
docs/LARGE-NOTE-PERFORMANCE.mdfor reproducible local measurements and
explicit limits; these are not claims of physical-phone or battery benchmarks.
Included from the preceding maintenance update
-
Android device tests exercise fullscreen pinch zoom rather than a removed
toolbar button, retaining real painted-pixel and PDF verification. -
Copying rendered tables, blockquotes, separators and checkboxes retains
Markdown structure rather than flattening it into unformatted text. -
PDF, portable SMD and Save dialogs preserve spaces, Unicode and literal percent
signs in filenames. Typed file URLs prevent double-encoding at the Qt boundary. -
Math containing absolute-value or conditional-probability bars stays inside
its Markdown table cell on every platform. Original source offsets are retained. -
LaTeX repair no longer splits valid multiline equations into bogus line fixes.
Repairs remain reviewed and undoable; ambiguous prose is not guessed. -
Plain PDF exports keep neutral paper, shaded/bold table headers and semantic
colored callouts with SVG icons, independent of wallpaper accent. Optional
light Material PDF theming remains available only in Export and Share. -
Folder/Contents sidebar sections, collapsed hierarchical headings, independent
scroll areas and a floating contents overlay. Fullscreen controls hide when idle. -
Chrome-style tab shortcuts, reopen-closed-tab and polished native path hints.
-
Search focuses immediately, closes with Esc and uses up/down match arrows,
case matching and literal source replacement, including offscreen Source lines. -
Changing reading/source/live modes retains a source-position anchor. External
plain-note updates refresh clean documents without overwriting unsaved edits. -
Bounded cached Markdown/KaTeX trees avoid repeated conversion when reopening
tabs or changing appearance. Offscreen blocks skip layout/paint work. -
Ordinary text dragging selects again; Alt-drag is optional desktop page pan.
Graph probes follow the pointer without rebuilding meshes, and hide on touch-up. -
System or manual Material accent presets on desktop and Android; lighter OEM
palette correction, stronger selected-mode contrast and synchronized reader colors. -
Shared callout icon geometry, Android contents hierarchy/overlay and hardware
tab shortcuts. Native Qt, shared-reader, PDF and Android regression checks.
Android downloads are optimized, signed release APKs with the existing upgrade
certificate. Physical Vivo installation remains unverified without a device test.
Previous release (0.4.6)
This release
- Smaller compressed Android release APK with explicit v1/v2/v3 signatures,
preserving the upgrade certificate. Android 15 and 16 instrumentation gates. - Selected modes use the primary color with a contrasting label, not a near-white
highlight. Searchable native font pickers keep typing separate from selection. - A real Qt label-color regression check prevents the stock Material highlight
style from overriding the selected-mode text color. - Android creates each window's independent workspace before the activity resumes,
eliminating a startup race found by the Android 15 multiwindow test. - Optional light Material PDF theme (off by default), only in Export/Share.
- Generated sidebar contents, heading-based untitled names, suggested export
filenames, and a configurable new-note picker location (Downloads by default). - Page zoom sends tiny native deltas and uses compositor scaling; wrapping stays
stable. Mouse dragging pans reading pages; 3D mouse dragging rotates while
two-finger movement pans without tilting the camera. - Zoom no longer updates document-wide CSS variables or re-renders the reader on
each frame. Native Android file/contents rows are created lazily as needed. - The image viewer uses the available window area without a redundant zoom slider.
- Styled auto-hiding equation scrollbars, editable task checkboxes and visited-link
styling. Compact valid math fences are left untouched by repair suggestions. - Fixed the MiTeX/Typst inner-product symbol mismatch behind the SNS PDF error.
- Bounded inactive editor histories, imported reader fonts and derived Matplotlib
image caches. Visible Python figures remain available to PDF export. - Bundled Noto Emoji provides PDF glyph fallback without requiring system fonts.
The Vivo-specific installer error still requires a device check. Emulator and
automated results are not a claim of physical-phone verification.
Previously included improvements (0.4.2)
This release
- Actual page magnification in Read/Live, without changing line wrapping. Math,
images and tables scale together; focal zoom and two-finger translation keep
the same area in view. Native toolbar/tab/sidebar sizes remain unchanged. - Gestures target the graph canvas, not its title, sliders or surrounding card.
Drag and two-finger movement pan both 2D and 3D plots. Pinch magnifies without
tilting the 3D camera. Shift-drag and arrow keys remain available for rotation. - Qt routes native touchpad pixel deltas separately from ordinary mouse wheel
notches. Browser-only hosts use a documented wheel-delta fallback. Image viewers
support independent two-finger pan and focal zoom as well. - Deeper accent-tinted light paper with stronger control surfaces, outlined tonal
actions, a visible sidebar divider and separated recent-note/window actions.
Text contrast is checked instead of letting controls disappear into the paper. - Manrope defaults for new reading/PDF preferences. Existing choices are retained.
- Visible Undo/Redo controls on desktop and Android, plus Ctrl+Z/Ctrl+Y shortcuts.
- Shared, reviewable LaTeX repairs validate candidates with KaTeX: missing dollar
signs, padded delimiters, alternate/mismatched enclosing, copied escaped math
dollars, unfinished display fences, align/equation environments and limited
missing-brace repairs. No invented fraction arguments, automatic source rewrite,
arbitrary macros, or changes to code, links, HTML and currency.
Expanded tests cover unchanged wraps/focal zoom, real Android two-finger graph
gestures, native history buttons, camera invariance and repaired formula rendering.
Physical phone testing was not performed; the previous releases remain available.
Previously included improvements (0.4.1)
Reading and editing polish
- Richer accent-tinted light surfaces and separated tonal toolbar/mode bars on
desktop and Android. Dark/pure-black and reduced-motion settings are preserved. - Default 80% document width, adjustable in percentages rather than fixed pixels,
plus independent vertical spacing. Document zoom changes text and reading
width and preserves the focal word instead of jumping to another paragraph. - Live blocks now require a double-click to edit. Click outside or press...
Super MD 0.4.6
Super MD 0.4.6
This release
- Smaller compressed Android release APK with explicit v1/v2/v3 signatures,
preserving the upgrade certificate. Android 15 and 16 instrumentation gates. - Selected modes use the primary color with a contrasting label, not a near-white
highlight. Searchable native font pickers keep typing separate from selection. - A real Qt label-color regression check prevents the stock Material highlight
style from overriding the selected-mode text color. - Android creates each window's independent workspace before the activity resumes,
eliminating a startup race found by the Android 15 multiwindow test. - Optional light Material PDF theme (off by default), only in Export/Share.
- Generated sidebar contents, heading-based untitled names, suggested export
filenames, and a configurable new-note picker location (Downloads by default). - Page zoom sends tiny native deltas and uses compositor scaling; wrapping stays
stable. Mouse dragging pans reading pages; 3D mouse dragging rotates while
two-finger movement pans without tilting the camera. - Zoom no longer updates document-wide CSS variables or re-renders the reader on
each frame. Native Android file/contents rows are created lazily as needed. - The image viewer uses the available window area without a redundant zoom slider.
- Styled auto-hiding equation scrollbars, editable task checkboxes and visited-link
styling. Compact valid math fences are left untouched by repair suggestions. - Fixed the MiTeX/Typst inner-product symbol mismatch behind the SNS PDF error.
- Bounded inactive editor histories, imported reader fonts and derived Matplotlib
image caches. Visible Python figures remain available to PDF export. - Bundled Noto Emoji provides PDF glyph fallback without requiring system fonts.
The Vivo-specific installer error still requires a device check. Emulator and
automated results are not a claim of physical-phone verification.
Previously included improvements (0.4.2)
This release
- Actual page magnification in Read/Live, without changing line wrapping. Math,
images and tables scale together; focal zoom and two-finger translation keep
the same area in view. Native toolbar/tab/sidebar sizes remain unchanged. - Gestures target the graph canvas, not its title, sliders or surrounding card.
Drag and two-finger movement pan both 2D and 3D plots. Pinch magnifies without
tilting the 3D camera. Shift-drag and arrow keys remain available for rotation. - Qt routes native touchpad pixel deltas separately from ordinary mouse wheel
notches. Browser-only hosts use a documented wheel-delta fallback. Image viewers
support independent two-finger pan and focal zoom as well. - Deeper accent-tinted light paper with stronger control surfaces, outlined tonal
actions, a visible sidebar divider and separated recent-note/window actions.
Text contrast is checked instead of letting controls disappear into the paper. - Manrope defaults for new reading/PDF preferences. Existing choices are retained.
- Visible Undo/Redo controls on desktop and Android, plus Ctrl+Z/Ctrl+Y shortcuts.
- Shared, reviewable LaTeX repairs validate candidates with KaTeX: missing dollar
signs, padded delimiters, alternate/mismatched enclosing, copied escaped math
dollars, unfinished display fences, align/equation environments and limited
missing-brace repairs. No invented fraction arguments, automatic source rewrite,
arbitrary macros, or changes to code, links, HTML and currency.
Expanded tests cover unchanged wraps/focal zoom, real Android two-finger graph
gestures, native history buttons, camera invariance and repaired formula rendering.
Physical phone testing was not performed; the previous releases remain available.
Previously included improvements (0.4.1)
Reading and editing polish
- Richer accent-tinted light surfaces and separated tonal toolbar/mode bars on
desktop and Android. Dark/pure-black and reduced-motion settings are preserved. - Default 80% document width, adjustable in percentages rather than fixed pixels,
plus independent vertical spacing. Document zoom changes text and reading
width and preserves the focal word instead of jumping to another paragraph. - Live blocks now require a double-click to edit. Click outside or press Esc to
finish. Read/Live search highlights all matches, supports Next/Previous and
exposes a clear Close action without switching to Source mode. - Copy rendered text with the original math delimiters; ordinary code and Python
blocks have separate Copy buttons. Undo/redo works in reading and source flows. - Compact, bounded Fix LaTeX review cards replace oversized checkboxes. Broken
diagrams are isolated to their own block; Mermaid SVG output is sanitized.
Images, plots, fonts and files
- Image viewer controls no longer overlap the native fullscreen exit. Its
Material slider stays at the bottom; pointer/two-finger zoom follows the focal
point and images pan independently from text. - Charts zoom at the pointer/touch focal point, resample expressions over the
visible domain and offer grid/coordinate inspection. Removed redundant plot
zoom/reset/rotation controls and hover bouncing. Three-dimensional surfaces
use colored meshes with gesture/keyboard camera control and bounded sampling. - Import TTF/OTF fonts on desktop and Android. Private imported fonts and the
expanded bundled font selection are available to reading and native PDF export. - Eleven paper sizes, with correctly cased labels, plus font, margins, spacing
and page-number controls in both Export and Share. - Default autosave for existing notes, external-edit protection and serialized
writes across windows. Empty unnamed notes are discarded; rename is accessible
from the tab actions. Portable SMD keeps assets outside the source editor. - Tab tear-off now carries a rendered window preview. Closing the last moved
tab removes the empty original desktop window; drag reordering remains native.
This update adds real CLI process tests, bridge timeout/error tests, Qt drag
preview painting checks and Android native PDF/font instrumentation. Physical
phone testing was not performed. The previous release remains available for
rollback.
Included application capabilities
Normal desktop window management is restored; study fullscreen now remembers
whether the window was maximized instead of resetting its size on exit.
Native desktop controls
The desktop window now uses Qt Quick / QML instead of a Tauri host: native tabs,
file navigation, dialogs, Material-themed controls, settings, sliders and
expressive press/shape motion. System, light, dark and pure-black color roles
are contrast checked. Motion can be disabled. The document/editor pane still
uses Qt WebEngine with the shared Markdown renderer; this is not a claim that
the entire renderer is browser-free.
- Clear Open note / Open folder actions, hideable sidebar and Close folder.
- System-native folder selection and file-manager folder opening without changing
the system's default file manager. Properly sized Google Material fullscreen
SVG buttons with hover tooltips, F11 and Esc. - Soft tinted light surfaces, a fallback app accent, and PDF controls available
directly in both Export and Share, including line spacing and page numbers. - Safe save-before-close handling with a final editor snapshot, ordered recovery
writes and a single application process coordinating multiple native windows. - Independent normal/fullscreen document zoom, slider and editable percentage.
- Compact desktop settings dialog, system font choices and aligned, scrollable
dropdowns that stay within the settings viewport. - Larger weight-600 Material SVG toolbar icons and rounded scrollbars with a
dedicated gutter, so settings controls never sit underneath the thumb. Scroll
indicators hide while idle and reveal during scrolling or gutter hover. - Native tab drag-to-reorder, movement between windows and detach-to-new-window,
with safe draft/asset ownership and bounded Source undo/caret transfer. - Stronger accent-tinted light paper, without replacing dark/pure-black themes.
- Click images for independent zoom/pan, without changing document text zoom.
- Remote image and video-thumbnail previews use the native consent-gated loader.
- Source mode has a theme-paired editing surface, clearer caret/gutter,
collapsible code regions, caret position and persistent line-wrap controls. - Pinch/trackpad zoom over 2D/3D plots affects the plot alone; ordinary swipes
still scroll the note. PDF snapshots keep the selected plot zoom.
Notes and interactive learning
.md is plain Markdown. Portable .smd stores text and images together while
keeping asset payloads out of the Source editor. Older text .smd and portable
.fmd files remain readable. New exports use .smd.
- Collapsible answers/callouts and long code blocks; double-click a Live block to edit.
- Reviewable, conservative Fix LaTeX suggestions instead of rewriting notes silently.
- Internal heading links, local/SVG images, Mermaid and explicit Matplotlib cells.
- Bounded two-dimensional plots and multi-color three-dimensional mesh
surfaces with parameter sliders, gesture camera controls and finite-value checks. - AI-ready authoring guide and binary-safe CLI read/inspect/assets/extract/pack commands.
PDF and Android
The embedded Rust/Typst/MiTeX engine typesets PDF offline on desktop and Android;
it does not print the DOM. Export includes math, images, Mermaid, static graph
snapshots and figures from Python cells you explicitly ran. Tables and long
code paginate; wide equations fit; page numbers can be disabled.
Android uses the same weight-600 Material symbol paths and tinted surface
hierarchy as desktop, with grouped settings and shared PDF configuration in
Settings, Export and Share. Hold and drag tabs to reorder; TalkBack has move
actions too. New window creates an independent Android task ...