Skip to content

Releases: wieslawsoltes/RichTextWeb

RichTextWeb 0.5.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 19:04
9a8d956

RichTextWeb 0.5.0 — rich page stories and bounded page navigation

All recovered authoring/equation source is committed in main. This release builds on that recovered 0.4.0 baseline with PR #19.

  • Rich header/footer authoring: reuse RichTextBox/RichTextToolbar for isolated drafts containing formatted text, fields, equations, tables, images and links. Apply is one parent undo step; Cancel is non-mutating; stale same-story or replaced-document commits are rejected. Double-click a visible story or use default/first/even-page ribbon commands.
  • Shared page setup: validate separate margins, page dimensions, column count/gaps, header/footer distances, page-number starts and variant flags before mutation. Keep document identity, selection, history and unrelated metadata. Expose the same command through core, controls and the existing native bridge.
  • Layout and interchange: honor first/even flags and intentionally blank variants, page-number starts and story distances. WPF preferred/fixed ColumnWidth affects measured layout; DOCX exports matching column count/gap/right padding and native story flags.
  • Page-container performance: Vertical and MultiplePages retain viewport/overscan slots plus the pinned live editor, not one placeholder per document page. Distant navigation preserves cached geometry and native selection. Full-body measurement and mirror cloning remain explicit limits.
  • Regression coverage: 405 unit tests (26 new), 112 Chromium groups (seven new), installed ESM/CJS/TypeScript/browser consumers, real Windows WPF/WinUI/Avalonia hosts and Blazor .NET 8/10 consumers. The 500-page fixture checks bounded slots, visible page 480 and no layout recomputation on navigation.
npm install @wieslawsoltes/richtextweb@0.5.0

Npm and native adapter archives use 0.5.0. Blazor NuGet remains independently versioned; validating the current source does not republish its existing immutable package. Release CI verifies the exact deployed Pages commit and runs the browser suite against the live sample before npm publication, then verifies downloaded registry bytes/provenance.

Complete Word/WPF parity remains unfinished. This release does not establish Word-identical pagination, complete section/footnote/floating interactions, full finite-page incremental virtualization, exhaustive field/math/WPF semantics, universal Office/PDF interoperability, or physical/non-Windows qualification. The retained equation renderer and editing tools have the bounds documented in the authoring guide.

Live Document Studio · Page-authoring APIs · Equations and views · Verification · Compatibility

RichTextWeb 0.4.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:29
be62ecf

RichTextWeb 0.4.0 — paginated authoring and equations

The complete recovered implementation is committed as actual source (PR #15), followed by tested authoring/performance fixes and structural equation editing (PR #16).

  • Views and pagination: Print Layout, Web Layout, Read Mode, Outline and Draft; single/two/vertical/multiple-page arrangements; automatic page fitting, numbered-page navigation, cached measurement and visible-first sheet realization. Physical page breaks skip remaining columns; column breaks no longer carry into continuation paragraphs. Browser printing uses measured sheets and selected page ranges.
  • Equations: editable atomic LaTeX/MathML nodes, self-contained MathJax SVG rendering, 42 templates, native Office Math DOCX interchange and vector PDF export. The reusable equation workbench adds token insertion/deletion, matrix row/column tools, safe format conversion, alternative text and undo/redo. Alt+= and Insert/Edit Equation route through the existing shared toolbar.
  • Editing reliability: source values follow typing immediately while previews are deferred. Unsupported format conversion preserves the draft. Independent toolbar dialog lifetimes prevent a previous close event from disposing a newly opened workbench.
  • Sample and reuse: page/view selectors, equation/pagination examples, corrected paper/paragraph settings, responsive panels, light/dark layouts and the existing seven-library Word-style workspace. Functionality is in the core/control packages rather than sample-only implementations; React/MVVM/native integrations use those APIs.
  • Distribution: versioned native adapter archives, npm ESM/CJS/types/standalone bundles, source/sample archives and checksums. A post-deployment gate checks the exact Pages commit and exercises the public sample before npm publication. The separate Blazor NuGet version is unchanged.
npm install @wieslawsoltes/richtextweb@0.4.0

The release candidate passed 379 unit tests, 105 Chromium groups on Node 22/24, installed package consumers, real Windows WPF/WinUI/Avalonia hosts and Blazor .NET 8/10 WebAssembly/Server consumers. Release CI repeats those gates; the live Pages gate and npm registry-byte/provenance verification record publication results.

Complete Word/WPF parity is not claimed. Remaining boundaries include Word-identical pagination, complex section/footnote/floating interactions, exhaustive WPF and Word math/field semantics, fully virtualized finite-page layout, universal Office/PDF interchange and physical/non-Windows qualification. Matrix editing supports rectangular non-spanning matrices up to 32 by 32; unsupported structures are rejected without mutation.

Open Document Studio · Authoring and equation APIs · Verification · Compatibility

RichTextWeb Blazor 0.4.2

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:25
ec08580

RichTextWeb.Blazor 0.4.2

Adopts merged and validated shared runtime c833be49d472583b6f56225862e0aa7d201c1da7 from Dockyard PR #5. Fixes concurrent visual teardown, late template imports/creation, callbacks queued before removal and retained cleanup failures. Adds IsReady/IsDisposed, awaitable Razor factory disposal and coalesced parameter updates.

Built on current main f363b82, retaining the recently merged native pagination and structural equation changes. Rich-text/page editors, read-only viewers, toolbar, revision-aware binding, InputBase/EditForm, format services and PDF source/flow controls remain intact.

Both .NET 8/.NET 10 actual-package WebAssembly/Server matrices test EditForm notifications, full values, pagination, DOCX/PDF output, PDF transitions, native callbacks and remounting. New managed/JavaScript lifetime regressions and template movement/update/recreation are added. Publication verifies public NuGet payloads before creating package/symbol/sample releases. Underlying native compatibility boundaries remain applicable; no fonts or runtime Dockyard dependency are added.

RichTextWeb Blazor 0.4.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 08:50
b816b25

RichTextWeb.Blazor 0.4.1

Updates the pinned shared runtime to tested Dockyard revision 1c895b7184451071e1c7131063249d2d9eb145b9, with no Dockyard runtime dependency.

  • Preserve cyclic/deep native arguments and shared callback identity without mutating inputs.
  • Await concurrent native/module/subscription cleanup and asynchronous unsubscribe, continuing teardown after individual failures.
  • Preserve property/method/disposal access through callable references and add CallFunctionJsonAsync<T> for complete streamed results.
  • Honor initialization-wait cancellation independently for each caller and prevent late native work after disposal.
  • Exercise expanded shared JavaScript and managed regressions in both package-consumer matrices.

Rich-text/page editors, read-only viewers, native toolbar, revision-aware two-way binding, InputBase/EditForm, document formats, native PDF source/flow modes and full-value streaming remain available. .NET 8/.NET 10 WebAssembly/Server tests verify EditForm modifications, pagination, DOCX/PDF output, PDF search/view transitions and remounting before publication. Public NuGet payloads are verified before creating the release. Native document/pagination/PDF/collaboration limits remain unchanged; no fonts are implicitly downloaded.

RichTextWeb Blazor 0.4.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:00
4c028f0

RichTextWeb.Blazor 0.4.0

  • .NET 8/.NET 10 native rich-text/PDF RCL with local worker/decoder assets and preserved dependency notices.
  • Rich-text and paginated editing, native toolbar, read-only viewers, revision-aware two-way binding and InputBase/EditForm integration.
  • Complete streamed document values, binary format exports, PDF search/save/reflow output and native object/function references.
  • Fix PDF flow-view switching by reconstructing content before changing modes; test both source/flow transitions.
  • Package-restored WebAssembly/Server samples, field notification/pagination/DOCX/PDF checks, Unicode/binary streaming, Razor callbacks and remounting.
  • Complete root/Blazor documentation and validation-gated NuGet publication with verified public payloads and runnable samples.

No font binaries are bundled or silently downloaded. Native document/pagination/PDF/collaboration limits remain unchanged. PDF covers are not secure redaction. Generic native interop complements typed helpers rather than an exhaustive generated C# desktop framework port.

RichTextWeb 0.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 13:09
9ed3022

RichTextWeb 0.3.0 adds rich review and coauthoring, editable pages and floating stories, original PDF text-stream editing, broader WPF-style properties, and a Word-style sample built around reusable controls.

  • Editing and review: tracked character/paragraph/node formatting, rich text/block moves, table/list structural revisions, conflict-aware rejection and merged-cell-aware table operations. Common single-Run typing avoids full-document serialization.
  • Pages and floating content: RichTextPageEditor supplies editable finite pages and columns; Figure/Floater objects contain independently editable rich stories; anchored images and text boxes expose move/resize tools. Continuous RichTextBox can window top-level blocks and materialize selections for editing.
  • Property system: owner-aware dependency-property registration and metadata overrides, read-only keys, coercion, inheritance notifications, local/current values, styles/triggers and value-source inspection.
  • Rich collaboration: atomic protocol-2 operations for blocks, tables, images, floating stories, text, properties and annotations, with causal delivery, snapshots and acknowledged checkpoint epochs. The sample demonstrates paused and reversed delivery between reusable editors.
  • PDF source editing: inspect, replace and remove supported original text-showing operators with font-aware encoding, preserved advances and isolated shared-Form edits. The same operations are available through PDFEditorControl; PDF reconstruction remains available as a separate workflow.
  • Interchange: native DOCX formatting/move/row/cell revisions and anchored text-box stories, plus safe HTML/XAML floating-story interchange and a hash-bound extension for exact RichTextWeb review round trips.
  • Sample: published RibbonWeb, Dockyard, TreeDataGridWeb, DynamicDataWeb, ReactiveWeb, RBushWeb and QuikGraphWeb packages power the ribbon, dockable tools, explorer, reactive collections/view model, spatial hit testing and reference graph. Commands use the shared rich controls and toolbar.
  • Native hosts: executable WPF, WinUI and Avalonia Windows smoke applications, protocol checks, runtime gates, rendered evidence and native application/package archives.

Install with npm install @wieslawsoltes/richtextweb@0.3.0. The main editor is standalone; optional PDF.js capabilities ship through /pdf with browser worker/font assets. Release archives contain browser builds, source, sample, native packages/apps/evidence and SHA-256 checksums. npm publication uses provenance and verifies the registry bytes against the immutable release archive.

Release validation: 289 Node tests, 87 Chromium groups, installed ESM/CommonJS/TypeScript/standalone consumers, eight shared C# protocol groups and actual Windows WPF/WinUI/Avalonia runtime checks.

The verification report describes the actual automated checks. The compatibility matrix records remaining boundaries: browser pagination is not Word-identical; WPF semantics are not exhaustive; coauthoring intent depends on stable Run identities; PDF replacement is limited by encodings and supported operators; physical devices, accessibility and non-Windows Avalonia runtimes need separate qualification.

Open Document Studio · API and integration

RichTextWeb 0.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 11:42
a73ba2d

RichTextWeb 0.2.0 expands the shared engine and reusable controls with document review, measured pagination, advanced document features, PDF reconstruction, collaboration and native qualification.

  • Live text positions with explicit WPF-style structural symbol traversal and UTF-16 conversion.
  • Reversible patch history and stable model/DOM identity. A 200,000-character edit regression retains less than 1.5 KB of undo patch data.
  • Authored tracked insertions/deletions, rich restoration and accept/reject commands.
  • Causal concurrent text/format operations, atomic replacements, snapshots, engine binding and a two-peer sample with paused delivery/reconnection.
  • Measured page viewer with page ranges/navigation, breaks/keep/widow behavior, headers/footers, footnotes and overflow diagnostics.
  • Fields, bookmarks/page references, table of contents, notes and mail merge, exposed through reusable toolbar, document-feature APIs and the validated native bridge.
  • DOCX headers/footers/notes/fields/TOC, comments/replies/bookmarks/revisions and safe opaque drawing dependency retention.
  • Optional PDF.js import/search/preview, reusable PDF editor with overlays/history/page operations, editable text reconstruction and export to a new PDF.
  • Packable shared/WPF/WinUI/Avalonia projects, real C#/Node tests, Windows WPF/WebView2 smoke checks, and a runnable native sample.

Validation: 172 Node tests, 57 grouped Chromium checks, installed ESM/CommonJS/strict TypeScript/standalone consumers, independent PDF fixture round trips, seven executable C# protocol groups, and 10 real Windows WPF/WebView2 smoke checks. Distribution is gated by both JavaScript and native CI, including actual WPF/WebView2 execution and WinUI compilation on Windows.

Install with npm install @wieslawsoltes/richtextweb@0.2.0. The main editor remains standalone; the optional /pdf entry point has its own browser module and worker/font assets. Release archives include browser builds, source, the sample, native NuGet packages/sample/qualification evidence, and checksums. npm publication uses provenance and verifies the published bytes against the release tarball.

The compatibility matrix documents remaining boundaries. Exact Word pagination and complete WPF API parity are unfinished; the collaboration protocol does not merge arbitrary rich structures; PDF text editing reconstructs a separate flow document; WinUI/Avalonia UI and physical input/accessibility qualification remain separate. The official Avalonia NativeWebView requires its provider's runtime license.

Demo: https://wieslawsoltes.github.io/RichTextWeb/
Compatibility: https://github.com/wieslawsoltes/RichTextWeb/blob/main/docs/COMPATIBILITY.md

RichTextWeb 0.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 10:49

RichTextWeb 0.1.0 introduces a reusable JavaScript rich text engine with .NET-style FlowDocument APIs, model-driven editing, browser controls, MVVM/React integration, native WebView source adapters, and a working Document Studio sample.

The distribution includes ESM, CommonJS, TypeScript declarations, source maps, a standalone browser bundle, complete source, the sample app, an npm tarball and SHA-256 checksums. CI validates installed consumers and browser behavior before creating the release and publishing the same tarball to npm with provenance.

Import/export supports the documented text, JSON, HTML, Markdown, XAML, RTF and DOCX subsets. PDF generation contains selectable text; PDF editing supports overlays and page operations. Compatibility is documented in docs/COMPATIBILITY.md and docs/FORMATS.md. This release does not establish full Word/WPF parity, exact Office layout fidelity, arbitrary existing PDF text reflow, or native desktop qualification.