Skip to content

Drag-and-drop images, zoom images, Pygments support in Markdown, new TreeMap experience

Choose a tag to compare

@stanislaw stanislaw released this 13 Sep 19:22
· 14 commits to main since this release
f2ae4fc

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 assets command 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