Skip to content

Releases: office-rs/rofd

v0.1.6 — masonry/xilem rewrite + final Ofd* naming

Choose a tag to compare

@ravenq ravenq released this 23 Sep 03:48

This is the masonry/xilem rewrite + final naming release: the winit
bridge is gone, the native adapter is a standard masonry widget, and the
Editor* API family moves to its final Ofd* names. It ships together
with SDK 0.1.6 (below). The license changes to Apache-2.0.

Changed

  • Native adapter rewrite: the winit event bridge and EditorApp are
    deleted. The adapter is now a masonry Widget + xilem View in three
    files — OfdWidget, masonry_events (pure translation table), and
    OfdView (11 event chains). Focus, pointer capture, IME sessions,
    clipboard shortcuts, and ctrl+wheel zoom are handled inside the widget;
    the host never touches winit.
  • Host rewrite: the desktop host is a pure Xilem::new_simple app
    with an Arc<dyn Fn(&mut OfdComponent)> command queue, a toolbar and a
    right-click overlay; file load/save routing and atomic writes live in
    host/document_io.
  • Crate renames: rofd-native-view → rofd-xilem-view,
    native-app → xilem-app.
  • API renames: EditorComponent → OfdComponent,
    EditorConfig → OfdConfig, WasmEditor → WasmOfd,
    create_wasm_editor → create_wasm_ofd; the SDK class
    Editor → Ofd. No aliases are kept.

Added

  • CJK IME support: preedit state machine (forced commit/cancel/navigation
    guards), a preedit overlay at the caret (Parley shaping, TextBox clipping),
    and a focus-gated blinking caret on both native and web.
  • Clipboard editing: paste_text(&str) -> bool and
    copy_selection() -> Option<String> (Ctrl+X is copy-only).
  • A README native integration example for rofd-xilem-view.

Fixed

  • Queued save results are reported back: a failed save no longer
    clears the modified indicator (internal bounded wake, no rerender loop).
  • Save-As switches the file path only after the save succeeds; failure
    keeps the previous path.
  • Zoom defenses: non-finite/non-positive inputs are rejected at the
    boundary, and Ctrl + pure horizontal scrolling no longer triggers zoom
    (native and web).
  • Scrollbar thumb clamping no longer panics on very small windows; the
    preedit overlay is offset by the TextBox origin; direct annotation
    mutation now invalidates the scene cache.

License

  • Changed from GPL-3.0-or-later to Apache-2.0.

Downloads

Windows installers (pick one):

File Installer Notes
rofd_0.1.6_x64-setup.exe NSIS Standard install wizard, recommended
rofd_0.1.6_x64_en-US.msi MSI Suited for enterprise bulk deployment

rofd v0.1.5

Choose a tag to compare

@ravenq ravenq released this 07 Sep 03:11

What's new

Fix: npm SDK packaging (0.1.4 shipped without dist/)

  • The @office-rs/rofd@0.1.4 tarball contained only package.json + README.md: wasm-pack's generated dist/.gitignore (content *) was force-added to git, and npm 11+ reads subdirectory .gitignore files while packing, excluding every file under dist/.
  • Fixed by removing the tracked dist/.gitignore, deleting it after wasm-pack in CI, dropping the broken prepublishOnly, and passing --ignore-scripts on publish. Verified with npm 11 pack --dry-run: the tarball now includes all of dist/ (JS + .d.ts + .wasm), src/index.ts, package.json, README.md.

CI

  • publish-sdk.yml and release-tauri.yml now support workflow_dispatch for manual re-publish / re-packaging against a given release tag.

Downloads

Windows installers (pick one, both will appear in Assets once CI finishes):

File Installer Notes
rofd_0.1.5_x64-setup.exe NSIS Standard install wizard, recommended
rofd_0.1.5_x64_en-US.msi MSI Suited for enterprise bulk deployment

Web SDK published to npm as @office-rs/rofd@0.1.5.

Full changelog: v0.1.4...v0.1.5

rofd v0.1.4

Choose a tag to compare

@ravenq ravenq released this 03 Sep 09:33

What's new

Desktop client (Tauri)

  • New rofd Windows desktop app: wraps the web editor inside the system WebView (WebView2), no CDN — fonts and sample OFD load locally. Frontend reuses crates/web-app source verbatim; only a native file bridge is injected via tauri-plugin-dialog + tauri-plugin-fs. Installer, intermediate exe, and installed program are all named rofd.
  • Automated Windows installers (NSIS .exe + MSI) are now built on GitHub Actions on every Release and uploaded to Assets.

Refactoring

  • Extracted fileHost platform file bridge in web-app — file open/save is now an injectable interface, so one UI runs unchanged in both browser and Tauri.
  • Migrated native-app and web-app from examples/ to crates/ as proper workspace members.

CI

  • Excluded tauri-app from the Linux workspace build (Windows-only; avoids glib-sys failure). Its build is validated on Windows via the release workflow.

Docs

  • README split into English / 简体中文, with a language switcher and Tauri download & build instructions.

Downloads

Windows installers (pick one, both will appear in Assets once CI finishes):

File Installer Notes
rofd_0.1.4_x64-setup.exe NSIS Standard install wizard, recommended
rofd_0.1.4_x64_en-US.msi MSI Suited for enterprise bulk deployment

Web SDK published to npm as @office-rs/rofd@0.1.4.

Full changelog: v0.1.3...v0.1.4

v0.1.3

Choose a tag to compare

@ravenq ravenq released this 28 Aug 09:29
  • move to office-rs
  • live demo

v0.1.1

Choose a tag to compare

@ravenq ravenq released this 12 Aug 12:12

Initial release

crates.io (rofd-dom / rofd-io / rofd-editor)

  • First published version.

npm (@rofd/sdk)

  • Pending: requires one-time manual npm publish + Trusted Publisher configuration.
  • See .github/workflows/publish-sdk.yml header for setup steps.