Repository navigation
Releases: ranuts/document
Releases · ranuts/document
Release list
v0.0.8
What's Changed
- test(vendor): pin the in-process server responder and x2t's single seam by @chaxus in #219
- fix(i18n): an image URL that fails must not report it in Chinese by @chaxus in #220
- docs: measure what moving x2t off the editor frame would cost by @chaxus in #223
- perf(vendor): let the browser decompress x2t.wasm by @chaxus in #222
- test(vendor): the sdkjs plugin framework is alive in v9, pin it by @chaxus in #221
- perf(editor): convert in a worker, so x2t's heap can be handed back by @chaxus in #224
- chore(deps): vitest 4.1.11 closes the @vitest/mocker path traversal by @chaxus in #225
- fix(fonts): give every family a tile, so the font list stops crashing by @chaxus in #226
- fix(editor): re-request the frame's document when a worker swap killed it by @chaxus in #228
- fix(i18n): a link that cannot be fetched says why, in the reader's language by @chaxus in #229
- fix(fonts): rebuild the png sprites from their masks; document the plugin story by @chaxus in #230
- fix(editor): the x2t proxy must not fetch a document as if it were a URL by @chaxus in #231
- docs: bring NOTICE, the font docs and the test ledger up to today by @chaxus in #232
- chore(lint): fail on warnings, and lint the scripts we actually ship by @chaxus in #233
- refactor: one declaration for
post, one file per language by @chaxus in #234 - refactor(converter): split the 1130-line converter by what it knows about by @chaxus in #236
- test: pin what the i18n split and the guard numbers were relying on by @chaxus in #237
- refactor(e2e): one frame walk instead of twenty-three by @chaxus in #235
- docs: record today's structure pass and the two rules it pinned by @chaxus in #238
- test: ask both x2t loaders the same questions by @chaxus in #239
- docs: the coverage ledger was counting gaps that had been filled by @chaxus in #240
- test: four of the gaps the ledger was hiding by @chaxus in #241
- test: five more of the gaps, and the fixture for an encrypted workbook by @chaxus in #242
- test: the pdf editor's failure path, and size as a dimension by @chaxus in #243
- test(corpus): export to PDF and lock the document, on files nothing else opens by @chaxus in #244
- feat(embed): tell the host page when a document has unsaved edits by @tommasodinoia in #246
- fix(ci): diagnose missing fork previews before installing browsers by @chaxus in #247
- feat(agent): add experimental local document assistant by @chaxus in #249
- feat(agent): make assistant opt-in with product-focused editing flow by @chaxus in #251
- ci(e2e): balance Pages shards and isolate timing budgets by @chaxus in #252
- fix(deps): upgrade vulnerable transitive dependencies by @chaxus in #253
- feat(assistant): redesign chat panel and add multilingual dictation by @chaxus in #254
- fix(assistant): validate editor tools and streamline review workflows by @chaxus in #255
- feat(assistant): refine reviewed edits and add PDF assistance by @chaxus in #256
- fix(assistant): refine sidebar resizing and copy feedback by @chaxus in #257
- feat(assistant): improve document writing and inline task feedback by @chaxus in #258
- fix(assistant): restore streaming and model preparation actions by @chaxus in #259
- docs(readme): embed demo videos and move experimental AI sections by @chaxus in #260
New Contributors
- @tommasodinoia made their first contribution in #246
Full Changelog: V0.0.7...v0.0.8
v0.0.6
What's Changed
- fix(embed): send Editor.bin verbatim as a latin1 string so embedded WebViews can open documents (#113) by @chaxus in #115
- ci(e2e-pages): serial workers, one retry, and a restart loop around wrangler pages dev -- workerd dies on aborted parallel downloads and blocked every PR by @chaxus in #121
- feat(site): markdown page generator + /help, /help/embed-api, /changelog (en, zh-CN) by @chaxus in #116
- docs: PR-only workflow in CLAUDE.md; roadmap direction 9 (ranui/ranuts alignment + IIFE drift); test: ranui vendoring sentinel by @chaxus in #118
- ci(nightly): ranui/ranuts upstream version check in the step summary (roadmap direction 9, L3) by @chaxus in #119
- perf(home): load the OnlyOffice DocsAPI script on demand instead of render-blocking the homepage by @chaxus in #120
- feat(ui): light/dark/system switch in the FAB menu so the theme can change while editing by @chaxus in #123
- content(embed): read-only / preview mode section and FAQ on the embed landing pages (en, zh-CN) by @chaxus in #124
- test(v9): docx tracked changes and header/footer round trips; buildDocx grows header/footer parts by @chaxus in #126
- feat(i18n): editor UI follows the visitor's language across all 45 vendor locales by @chaxus in #122
- build(pages): render the markdown pages at build/dev time via a vite plugin instead of committing them by @chaxus in #128
- docs(seo): explain CSV mojibake and the automatic GB18030/UTF-8 detection on the csv-to-xlsx pages by @chaxus in #125
- feat(routes): static landing at / and the editor at /editor, with legacy deep-link redirects by @chaxus in #130
- perf(open): intent-triggered prefetch of the editor engine (hover/focus on Open/New) by @chaxus in #127
- test(e2e): app-smoke accepts the mounted DocsAPI iframe in place of the #iframe placeholder by @chaxus in #131
- docs(changelog): one-pager for the 2026-08-16 roadmap sprint (route split, help center, i18n, WebMCP, PR flow) by @chaxus in #132
- feat(agent): WebMCP adapter registers the editor's verbs as browser-agent tools by @chaxus in #129
- docs: homepage LCP after the route split (774 ms -> 354 ms on production) by @chaxus in #133
- chore(seo): refresh sitemap lastmod from git history (22 pages changed today) + bin/sitemap-lastmod.mjs by @chaxus in #134
- feat(ui-crawl): implement UI crawl test for toolbar interactions and … by @chaxus in #135
- feat(i18n): app shell in eight languages with per-key English fallback and RTL by @chaxus in #136
- test(v9): UI crawl of every toolbar button; fix guard 8 (bulk comment actions without a selection) by @chaxus in #137
- fix(analytics): never inject a second beacon when Cloudflare already injected one at the edge by @chaxus in #138
- docs: local-LLM + tool-calling feasibility findings by @chaxus in #104
- docs: sync CLAUDE.md guard list and E2E inventory by @chaxus in #140
- chore(deps): bump GitHub Actions across every workflow by @chaxus in #143
- chore(deps): bump ranui to 0.5.0-alpha.3 by @chaxus in #142
- refactor(test): adopt ranuts zip helpers in the OOXML fixture library by @chaxus in #139
- refactor(converter): adopt the ranuts binary utils by @chaxus in #141
- fix(v9): retry an open once when the editor, not the document, failed (#144) by @chaxus in #146
- fix(v9): give the slide the phone's screen and repaint a lost canvas (#145) by @chaxus in #147
- fix(v9): await the font system instead of importing without it (#144) by @chaxus in #148
- fix(v9): never leave the conversion waiting on a callback that will not come (#144) by @chaxus in #150
- fix(v9): batch the retry-bytes release and the live compact layout (#144, #145) by @chaxus in #152
- ci: bound every job, stop apt from hanging, and pin the wrangler compatibility date by @chaxus in #153
- fix(docker): ship a cache contract so a pulled image actually reaches the browser (#144) by @chaxus in #154
- refactor(editor): split the 1975-line onlyoffice-editor into a facade… by @chaxus in #155
- ci: shard the three E2E suites and stop them waiting on lint by @chaxus in #156
- feat(ui): remove the floating Menu button from the editor by @chaxus in #157
- fix(ui): give the button host the radius its shadow is drawn on by @chaxus in #158
- fix: deliver updates and open documents on constrained browsers (#144) by @chaxus in #159
- fix(ci): make the production deploy gate wait for the build it is smoking by @chaxus in #160
- perf(sw): serve the whole vendored editor cache-first, not just its binaries by @chaxus in #161
- feat(seo): pages for PDF conversion and OpenDocument, plus llms-full.txt by @chaxus in #162
- feat(web-mcp): add create_document and get_document_text, derive the format list by @chaxus in #163
- ci: wait long enough for a Cloudflare preview, and say what a red one means by @chaxus in #164
- perf(landing): warm the editor from the homepage while it sits idle by @chaxus in #165
- perf(landing): warm all three editor engines, not just the shared core by @chaxus in #167
- perf(fonts): send the font catalog compressed, and drop three dead configs by @chaxus in #168
- ci(nightly): stop the corpus run reporting infrastructure noise as findings by @chaxus in #166
- fix(fonts): replace 171 MB of proprietary faces, and give each script one family by @chaxus in #170
- perf(vendor): drop the asm.js fallbacks, and pin what actually loads by @chaxus in #171
- feat: autosave recovery points, a local history page, and a seven-day window by @chaxus in #172
- fix(history): design the history page and the recovery card properly by @chaxus in #173
- fix(fonts): revert the license sweep — it shifted every glyph on the live site by @chaxus in #174
- feat(i18n): finish the six shell locales, not just their first 19 strings by @chaxus in #176
- fix(history): confirm deletions in the design system's dialog, not the browser's by @chaxus in #175
- docs(fonts): record why substituting the proprietary faces fails by @chaxus in #178
- feat(save): write back into the document's own file instead of downloading a copy by @chaxus in #179
- perf(history): derive the snapshot interval from what an export actually costs by @chaxus in #180
- test(save): wait for the save to finish instead of racing it by @chaxus in #182
- test(history): read the history database through one guarded reader by @chaxus in #183
- docs(readme): translate the readme into the eight languages the site offers by @chaxus in #177
- fix(history): stop interrupting the editor to offer old work by @chaxus in #181
- fix(fonts): replace the 79 proprietary faces, by moving rows instead of files by @chaxus in #184
- docs(fonts): one-pager for the font licensing work, plus the live numbers and the purge still owed by @chaxus in #186
- perf(history): verify the adaptive interval actually backs off on slow devices by @chaxus in #185
- refactor(landing): replace the card walls with typography and rules by @chaxus in #187
- feat(landing): give content pages a sidebar rail instead of a wider column by @chaxus in #188
- fix(editor): move a tab off an older build by itself, and stop flashing the home panel by @chaxus in #189
- feat(history): a rail, a download action, and no cards on /history by @chaxus in https://github.com/ranuts/docume...
v0.0.5
What's Changed
- feat: SW 更新后自动 reload + 隐私友好的 Cloudflare Web Analytics by @chaxus in #98
- feat(converter): x2t WASM 走 gzip 客户端解压,解除 CF Pages 迁移硬阻塞 by @chaxus in #100
- feat(seo): P0 landing pages batch 2 + shared landing stylesheet by @chaxus in #106
- fix(copy): drop 'no telemetry' over-claim (RUM stays on) by @chaxus in #107
#108
Full Changelog: v0.0.4...v0.0.5
v0.0.4
test: add SW routing tests covering font-interception crash prevention Documents the fetch routing rules in public/sw.js that prevent the OnlyOffice v7.5 units_per_EM crash: - Font files (.ttf/.woff/.woff2/.otf/.eot) must bypass the SW to avoid added latency that triggers Chrome's font-loading intervention - Document URLs (?src=, ?file=) bypass the cache to stay fresh - Cross-origin and non-GET requests are not intercepted Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>