Drag-and-drop images, zoom images, Pygments support in Markdown, new TreeMap experience
This release contains the following enhancements:
1) Users can now drag and drop images into text fields, or paste them
from the clipboard. StrictDoc uploads each image to the document's
assets folder and inserts the reference automatically.
- StrictDoc supports PNG, JPEG, GIF, SVG, WebP, and AVIF. StrictDoc
rejects any other file and shows a dismissible notification. - Multiple files upload together. Each file keeps its placeholder at its
original position. A failed or slow upload does not block the other uploads. - The
strictdoc manage assetscommand now discovers orphaned image
files within the project's configured include and exclude paths, and
can delete them with--clean-unused-images.
2) Users can now zoom images and Mermaid/PlantUML diagrams in
documents. Clicking one opens a full-viewport overlay with:
- cursor-anchored wheel zoom
- Space+drag or arrow-key panning
- a double-click fit/100% toggle.
3) Pygments now syntax-highlights Markdown fenced code blocks, matching
the existing RST highlighting. Code-block styling now matches between
RST and Markdown output. A code block also shrinks its own font size to
fit narrow layouts instead of wrapping.
4) A new, native interactive tree map screen replaces StrictDoc's
Plotly-based tree map. The new screen adds:
- a zoomable, pannable canvas
- breadcrumb navigation
- per-node descriptions and legends
- a view state that persists in the URL, so a link reproduces the same
zoom level and selection.
5) Fixed several race conditions in the table screen's inline cell
editing. A save still in flight could:
- drop a correction typed in the meantime
- leave a stale validation error on screen
- revert the document's TITLE/UID/VERSION/CLASSIFICATION/PREFIX fields
when a user saved only a custom metadata row.
6) Fixed: StrictDoc now reports a worker-process exception during
export with its real error message, instead of a confusing
BrokenProcessPool crash.
7) Fixed: long tokens in the table of contents now wrap instead of
overflowing.
8) Added a project configuration option to disable the SSL certificate
check during export.
What's Changed
- Add option to disable SSL certificate check by @pmo73 in #3166
- chore: bump pypdf from 6.15.0 to 6.16.1 by @dependabot[bot] in #3168
- chore: bump github/codeql-action from 4.37.8 to 4.37.9 in the github-actions group by @dependabot[bot] in #3171
- fix(tests/end2end): try to fix flaky edit_table_cell_single_choice by @stanislaw in #3175
- fix(backend/markdown): populate the node location correctly by @stanislaw in #3176
- fix(markdown): fix recognition of root-level TEXT node with meta information by @stanislaw in #3178
- fix(markdown): simplify the behavior of TEXT node statement write-back by @stanislaw in #3179
- Fix: fix several races revealed by flaky e2e tests by @stanislaw in #3180
- Feature: Add interactive HTML tree map screen by @mettta in #3172
- fix(features/table): fix(features/table): stop losing inline-cell corrections made before a save responds by @mettta in #3184
- fix(features/table): scope the retry-vs-skip check to a cell's own fields by @mettta in #3185
- refactor: unify toggle-switch implementations into a shared component by @mettta in #3183
- fix(tests/end2end): try fix flaky test edit_table_document_custom_meta_value_validation by @stanislaw in #3181
- fix(tests/end2end): verify the cancel-during-fetch fix and drop redundant waits by @mettta in #3186
- fix(table): stop metadata saves from reverting document fields by @mettta in #3189
- fix(tests/end2end): scroll into view before copy-to-clipboard hover by @mettta in #3190
- fix(table): fix a stale-response race that drops active cell tracking by @mettta in #3191
- feat(media_zoom): zoom oversized images and diagrams in documents by @mettta in #3182
- feat(markdown): highlight fenced code blocks with Pygments by @mettta in #3193
- feat(export/html): auto-shrink code-block font size to fit width by @mettta in #3194
- fix(export/html): scope inline-size containment to sdoc-node fields by @mettta in #3196
- fix(table-view-edit): close two stale-response races in inline editing by @stanislaw in #3198
- Fix TOC and tree-map styling by @mettta in #3200
- fix: ExceptionInfo becomes unpicklable for custom exceptions, masking real errors as BrokenProcessPool crashes by @stanislaw in #3201
- docs: update release notes by @stanislaw in #3202
- feat(server): add support for drag-drop image upload (groundwork) by @stanislaw in #3155
- feat: update to latest html2pdf4doc dependency by @stanislaw in #3203
- refactor: clean up a few Python details after the image upload PR by @stanislaw in #3204
- fix(document_meta): fix link resolution for level 0 document nodes by @stanislaw in #3206
- chore(developer): add ste, technical-writing-guide, crystal skills by @stanislaw in #3207
- Fix: fix one flaky test and one real code issue revealed by another flaky test by @stanislaw in #3208
- release: bump version to 0.30.0 by @stanislaw in #3205
- docs: update release notes (version bump) by @stanislaw in #3209
New Contributors
Full Changelog: 0.29.0...0.30.0