Repository navigation
Releases: office-rs/rofd
Releases · office-rs/rofd
Release list
v0.1.6 — masonry/xilem rewrite + final Ofd* naming
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
EditorAppare
deleted. The adapter is now a masonryWidget+ xilemViewin 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_simpleapp
with anArc<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) -> booland
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
What's new
Fix: npm SDK packaging (0.1.4 shipped without dist/)
- The
@office-rs/rofd@0.1.4tarball contained onlypackage.json+README.md: wasm-pack's generateddist/.gitignore(content*) was force-added to git, and npm 11+ reads subdirectory.gitignorefiles while packing, excluding every file underdist/. - Fixed by removing the tracked
dist/.gitignore, deleting it afterwasm-packin CI, dropping the brokenprepublishOnly, and passing--ignore-scriptson publish. Verified with npm 11pack --dry-run: the tarball now includes all ofdist/(JS +.d.ts+.wasm),src/index.ts,package.json,README.md.
CI
publish-sdk.ymlandrelease-tauri.ymlnow supportworkflow_dispatchfor 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
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-appsource verbatim; only a native file bridge is injected viatauri-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
fileHostplatform 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-appandweb-appfromexamples/tocrates/as proper workspace members.
CI
- Excluded
tauri-appfrom the Linux workspace build (Windows-only; avoidsglib-sysfailure). 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
v0.1.1
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.