dream-num/univer
 Watch   
 Star   
 Fork   
14 hours ago
univer

🕶️ Release v1.0.4

New features

  • Sheets: Add image transparency controls.
  • Sheets: Move tables together with their cell ranges.
  • Sheets: Add smooth cell selection transitions.
  • Docs: Support page numbers, page counts, and date/time fields in headers and footers.
  • Slides & shapes (Pro): Add Paste Special and post-paste formatting options.
  • Pivot charts (Pro): Support worksheet copying and deletion.
  • Customization: Expose conditional formatting rule previews and an editor-exit callback.

Improvements and fixes

  • Fix cell-editing shortcuts, keyboard navigation, and merged-cell editor alignment.
  • Fix editor focus when multiple Univer instances share a page.
  • Localize date format presets and fix conflicts between text wrapping and shrink-to-fit.
  • Fix border style selection and merged-cell border rendering.
  • Preserve whitespace in find-and-replace queries.
  • Restore spill formula display and prevent delayed calculation results from overwriting newer edits.
  • Preserve drawing positions and sizes after row or column changes, and restore properties for imported images.
  • Pro: Fix chart legend pagination, resizing, and event handling after switching worksheets.
  • Pro: Keep pivot-chart filter popups open during updates.
  • Pro: Fix header/footer layout and embedded-editor interactions.

Upgrade notes

univerAPI.registerComponent() now registers an override by default, regardless of registration order. Pass { override: false } to register a default component. Dispose an existing override before registering another for the same name.

Full changelog: v1.0.3…v1.0.4

11 days ago
univer

🕶️ Release v1.0.3

Univer 1.0.3

New features

  • Pivot tables (Pro): Copy pivot tables together with worksheets.
  • Shape hyperlinks (Pro): Show hyperlink popups when hovering over shape text in Sheets, Docs, Slides, and Boards.
  • Notifications: Support custom CSS classes per notification.
  • Extensions: Expose the destination worksheet name to copy-sheet interceptors.

Improvements and fixes

  • Formulas: Improve conditional aggregate performance with array criteria.
  • Cell editing: Double-click a cell to select its editable content.
  • Sheets: Fix automatic row heights after paste, filter range updates, and formula editor focus and help positioning.
  • Docs: Preserve selections in long documents and improve paste controls.
  • Emoji picker: Support searching by localized names and keywords.
  • Networking: Fix interceptor disposal and completion handling for merged requests.
  • Cross-document formulas (Pro): Fix stale results after referenced sheets become available.
  • Embedded editors (Pro): Fix missing tools, scrolling behavior, and shape tool activation.
  • Boards (Pro): Avoid redundant undo entries for unchanged text styles.
  • Docs (Pro): Fix mobile editor dependencies and hide empty table menus.
  • Charts (Pro): Fix referenced data-source selection and activation.
  • Collaboration (Pro): Respect the offline-caching setting from startup.

Breaking changes and upgrading

Custom Pro chart integrations require updates:

  • Chart reference APIs moved from @univerjs-pro/engine-chart to @univerjs-pro/chart-embed. Register UniverChartEmbedPlugin when using referenced charts.
  • ChartReferencedDataSourceEditor was removed. Custom editors should use ReferencedDataSelector from @univerjs-pro/embed-unit-ui with host-specific controls.
  • ChartResourceRepository is now abstract and requires host-specific data-source decoding.
  • Saved chart resources no longer include a version field. Existing supported resources remain readable, but older SDK versions may reject newly saved resources.

Keep interdependent Univer and Univer Pro packages aligned at 1.0.3, including applications that read and write shared chart resources.

Full changelog: v1.0.2…v1.0.3

16 days ago
univer

🕶️ Release v1.0.2

Univer 1.0.2

This patch release improves PDF import fidelity, restores missing PivotChart data after reopening workbooks, and fixes color rendering in charts and document callouts.

Bug fixes

Univer Pro

  • PDF import: Fixed whitespace handling for fonts with custom character mappings, preserving correctly decoded text around spacing adjustments.
  • PDF rendering: Added monospace font fallbacks for Courier and its bold and italic variants.
  • PDF persistence: Preserved import reports when restoring documents and appending pages, including updated page references.
  • PivotCharts: Fixed an issue where standalone, range-based PivotCharts could reopen without calculated data when their saved source fields loaded before the chart definition.
  • Pie and doughnut charts: Fixed explicitly configured slice colors and gradients becoming invisible when the series used a transparent fill. Explicit slice opacity remains respected.
  • Docs callouts: Fixed color presets displaying incorrect text, border, and background colors in dark mode. Improved keyboard focus indicators and accessible selection states.

Build and dependencies

  • Updated @univerjs/icons and @univerjs/icons-svg to 1.43.1.
  • Enabled dependency subpath resolution in module builds.

Upgrading

No public API changes are introduced in this release.

Full changelog: v1.0.1…v1.0.2

16 days ago
univer

🕶️ Release v1.0.1

This patch release fixes React DOM dependency declarations in Univer Pro and updates SDK demos and sample documents.

Upgrading

No public API changes are introduced in this release.

Full changelog: v1.0.0…v1.0.1

17 days ago
univer

Univer 1.0.0

Univer 1.0 is here. This release brings six editors—Sheets, Docs, Slides, Boards, Bases, and PDFs—into one programmable Office SDK, with shared plugin and command systems and Facade APIs for each editor.

Alongside the new editors, 1.0 improves large spreadsheet calculation, long document layout, Office file compatibility, and mobile editing. The new Server SDK and AI SDK extend integration to backend services and agents.

Read the announcement · Try Univer Office · Browse the documentation

Upgrading from 0.25? This is a major release with API removals and package changes. Read Breaking changes and migration before updating.

Highlights

Six editors, one integration model

Choose the editors your application needs and connect them to your own navigation, accounts, and business data.

Editor What's new in 1.0
Sheets A reorganized formula engine, 3D and cross-workbook references, formula-linked shapes, expanded pivot table analysis, and PivotCharts.
Docs Modern and traditional editing modes, improved sections and pagination, tables of contents, footnotes, content controls, LaTeX, and calculated inline formulas.
Slides A rebuilt editing workflow with masters, layouts, tables, charts, editable SmartArt, and presentation mode.
Boards A new canvas for diagrams and mind maps, with shapes, connectors, containers, and Mermaid import.
Bases A new structured data workspace with grid, kanban, calendar, and Gantt views, linked records, hierarchies, pivot views, and dashboards.
PDFs A new PDF viewer and editor with page management, text, images, tables, annotations, export, and printing.

Sheets also improves Excel compatibility for structured references, array formulas, implicit intersection, and date systems. Charts gain histograms, treemaps, sunburst and gauge charts, multilevel category axes, and SVG export. See the formula and chart guides.

Embed documents and keep them editable

Embed a spreadsheet in a document and continue editing its cells and formulas, or embed a board in a slide and keep its diagram tools available. Documents can also appear as workbook tabs, entries in slide page lists, or entries in Bases table lists.

Embedded documents retain their own data models and are linked by reference. Applications save each document separately. See the embedding guide for supported combinations and integration details.

Mobile editing

Sheets, Docs, Slides, Boards, and Bases gain touch-oriented editing interfaces, with adapted toolbars, property panels, navigation, and on-screen keyboard behavior. Integrate each editor's mobile UI plugins; desktop and mobile use the same document models.

Web, server, and agent workflows

  • Web SDK: Embed editors and extend them through plugins, themes, and Facade APIs.
  • Server SDK: Integrate collaboration and file conversion with your backend, identity, permissions, and storage.
  • AI SDK: Build Office CLI and agent workflows in TypeScript to read and modify documents, update formulas, generate charts, and visually inspect results.

Performance and file compatibility

  • Sheets: Incremental scrolling redraws newly visible areas. Bulk paste, incremental calculation, and shared formula lookup reduce repeated work.
  • Docs: Progressive layout prioritizes content near the editing position and reuses existing layout after local edits. An optional layout Worker moves processing off the main thread.
  • Boards and Slides: Improved rendering during dragging, shape cache reuse, and visibility-based presentation thumbnail updates reduce unnecessary canvas work.
  • Across editors: Refined Ribbon layout, dark themes, RTL support, and broader coverage for comments, permissions, version history, and snapshot comparison APIs.

Exchange in the Server SDK imports XLS/XLSX, DOC/DOCX, and PPT/PPTX, and exports XLSX, DOCX, and PPTX. Spreadsheets also support CSV and TSV import and export. This release improves preservation of formulas, charts, document pagination, and presentation content. Conversion can run directly in Node.js for batch jobs; see the file conversion guide.

Breaking changes and migration

Browser requirements and package formats

The Web SDK compilation target moves from Chrome 70 to Chrome 88. The supported baseline is Chrome/Edge 88, Firefox 90, Safari 14.1, and Electron 12.

Presets no longer ship UMD builds. Applications loading presets through script tags must move to a module-based build.

Removed Facade APIs

Replace legacy calls with the current APIs:

Removed API Replacement
createUniverSheet() createWorkbook()
getActiveUniverSheet() getActiveWorkbook()
getUniverSheet() getWorkbook()
Legacy event hooks addEvent()

Exchange and custom integrations

  • Product-specific Exchange APIs: Replace importXLSXToSnapshotAsync() with importSheetToSnapshotAsync() and load @univerjs-pro/sheets-exchange-client/facade. Review plugin registration and service configuration in the Sheets import/export guide.
  • Advanced APIs and package changes: Review Docs, chart, and shape Facade integrations. Version history now uses shared modules plus product plugins; some formula services and types have moved to @univerjs/engine-formula. Check imports, parameters, and return values against the API reference.
  • Removed custom code execution paths: Uniscript has been removed. Custom formula registration no longer transfers function source over RPC for remote deserialization. Bundle trusted functions with your Worker and register them in the environment where they execute.

Keep interdependent Univer packages on matching versions. After migrating, validate representative documents through editing, saving, undo, import/export, and collaboration.

0.25 maintenance: The 0.25 series will receive security updates only for one year from the release of Univer 1.0. New features and other improvements are available in 1.0.

Get started

For a new Sheets integration:

npm install @univerjs/presets@1.0.0 @univerjs/preset-sheets-core@1.0.0

Continue with the Sheets installation guide, or use the Docs installation guide. Each editor's documentation covers the packages and services needed for its features.

Thank you to everyone who contributed code, reported issues, improved the documentation, and tested the prereleases.

Full changes: v0.25.2…v1.0.0

23 days ago
univer

🐢 Release v0.25.2

0.25.2 (2026-09-17)

Bug Fixes

  • prevent prototype pollution in drawing and formula maps (69e9ccc)
2026-06-27 11:22:23
univer

🐢 Release v0.25.0

🎊 Univer@v0.25.1

[!IMPORTANT] 📢 1.0 Release Coming Soon

We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!


What's New?

This version only includes some bug fixes in Univer Pro, with no feature updates.

📢 Join the Discussion

Have questions, feedback, or ideas? Reach out to us at:


Full Changelog (2026-06-27)

2026-05-30 17:58:52
univer

📐 Release v0.25.0

🎊 Univer@v0.25.0

[!IMPORTANT] 📢 1.0 Release Coming Soon

We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!

🚧 Work In Progress

The following features are actively under development. Some modules are already available, and the full experience will be delivered gradually in subsequent versions:

Direction Status Description
Performance Optimization 🔄 Ongoing Performance tuning for the core engine and rendering pipeline
Base 功能 🔄 In development Multi-dimensional table (Base) functionality
Docs Features 🔄 In development Document editing and reusable editor components
Slides Features 🔄 In development Development and iteration of slide editing capabilities

📝 Docs Table

Docs Table receives significant enhancements across both Univer and Univer Pro, delivering a more complete table editing experience in documents.

Univer:

  • Polished table rendering, selection behavior, and contextual menus
  • Restored document zoom functionality with smoother zoom controls
  • Added Facade APIs for programmatic table insertion and manipulation
  • Improved paragraph spacing defaults for modern document layouts
  • Enhanced clipboard support for tables (copy, paste, and paste-without-formatting)

Univer Pro:

  • Full table editing capabilities: insert/delete rows and columns, merge/unmerge cells, resize rows/columns, and move tables
  • Table borders: set border styles, widths, colors, and background fills
  • Table sorting and header row configuration
  • Column type configuration support
  • Horizontal scrollbar support for wide tables
  • Canvas-based table rendering with drag-to-resize interactions
  • Comprehensive Facade APIs for table operations

Facade API Example:

const doc = univerAPI.getActiveDocument();

// Insert a 3x4 table at the current cursor position
doc.insertTable(3, 4);

// Insert a table at a specific position
doc.insertTable(3, 4, { startIndex: 10 });

🎨 Docs Ecosystem (Pro)

A suite of new document editing modules is now available in Univer Pro, enabling rich document authoring beyond tables:

Module Description
Docs Shape Insert and edit shapes in documents, with shape text editing and floating toolbars
Docs Callout Insert callout blocks with customizable background colors and an emoji picker
Docs Code Block Insert code blocks with syntax highlighting and language selection
Docs List Enhanced list editing with custom bullets, prefix/suffix settings, and start-number configuration
Docs Quote Insert quote blocks for styled quotations

These modules are integrated with the license plugin and include configuration schemas for customization.


📊 Pivot Table Facade API (Pro)

The pivot table facade API has been enhanced with more comprehensive control:

  • Added FPivotTable facade class with methods for updating fields, source ranges, collapse states, and value filters
  • Added pivot-related enums to FEnum for easier programmatic configuration
  • Added a dedicated pivot table facade example

🌍 Internationalization

Thai Language Support

Univer now supports Thai language text rendering in documents, including proper character shaping and line breaking for Thai scripts.

New Language Support

This release adds support for 7 new languages across 34 packages, expanding Univer's global reach:

  • ar-SA Arabic (العربية)

  • de-DE German (Deutsch)

  • id-ID Indonesian (Bahasa Indonesia)

  • it-IT Italian (Italiano)

  • pl-PL Polish (Polski)

  • pt-BR Portuguese Brazilian (Português Brasileiro)

  • zh-HK Chinese Traditional Hong Kong (繁體中文 香港)

  • PR: #6958


⚠️ Breaking Changes

Locale Namespace Restructure

All locale keys have been restructured to use package-name prefixes as namespaces. This is a global change across nearly all packages.

Before After
'button.confirm' 'find-replace.button.confirm'
'permission.filterErr' 'sheets-filter-ui.permission.filterErr'

Each package now owns exactly one namespace that matches its package name. Core and UI layers of the same feature use different namespaces (e.g., sheets-filter and sheets-filter-ui).

If you maintain custom locale overrides or custom packages, update your locale keys accordingly.

As part of this restructure, the following language packages have been added or removed. Update your imports accordingly:

Added:

  • @univerjs/data-validation
  • @univerjs/docs-thread-comment-ui
  • @univerjs/sheets-data-validation
  • @univerjs/sheets-filter
  • @univerjs/sheets-hyper-link
  • @univerjs/sheets-table
  • @univerjs-pro/edit-history-loader

Removed:

  • @univerjs/sheets-find-replace (Locale files deleted entirely)
  • @univerjs/sheets-sort (Locale content merged into sheets-sort-ui)

Example:

// Added packages: import their locales if you use them standalone
+ import dataValidationLocale from '@univerjs/data-validation/locale/en-US';
+ import sheetsDataValidationLocale from '@univerjs/sheets-data-validation/locale/en-US';
+ import sheetsFilterLocale from '@univerjs/sheets-filter/locale/en-US';
+ import sheetsHyperLinkLocale from '@univerjs/sheets-hyper-link/locale/en-US';
+ import sheetsTableLocale from '@univerjs/sheets-table/locale/en-US';

// Removed packages: remove their locale imports
- import sheetsSortLocale from '@univerjs/sheets-sort/locale/en-US';

Removed Deprecated Data Validation APIs

The following deprecated FWorkbook APIs in @univerjs/sheets-data-validation have been removed:

Removed API Alternative
FWorkbook.addDataValidation Use FRange.setDataValidation or commands directly
FWorkbook.removeDataValidation Use FRange.setDataValidation(null) or commands directly
FWorkbook.updateDataValidation Use FRange.setDataValidation or commands directly
FWorkbook.getDataValidation Use FWorksheet.getDataValidations
FWorkbook.getValidatorStatus Use FWorksheet.getValidatorStatusAsync

Additionally, list option serialization utilities have been moved from sheets-data-validation to sheets. If you were importing these utilities directly, update your imports.


⚡ Performance & Stability

Memory Leak Fixes

Fixed memory leaks in the before-close service and ribbon service caused by improper RxJS subscription cleanup.

Frozen Area Ghosting

Fixed ghosting artifacts in frozen areas when scrolling sheets.

Large Spreadsheet Scrolling Lag Fix

Fixed scrolling lag in large spreadsheets, improving scrolling smoothness.

Collaboration Image Upload

Fixed pasted base64 images not being uploaded correctly in collaborative document editing.


🐛 Bug Fixes

  • Find & Replace (#6970): Fixed abnormal scrolling behavior when navigating matches across worksheets.
  • Formula Facade (#6947): Fixed an issue with the onCalculationResultApplied API in worker threads.
  • Filter (#6954): Facade commands now register correctly without requiring the UI plugin.
  • Table (#6964, #6965): Fixed an issue where Table filter rows affected other worksheets.
  • Table (#6946): Fixed issues related to Table formula references.
  • Sheet (#6976): Fixed an issue where scrolling a Sheet upward before reaching the boundary triggered scrolling in the outer container.
  • Sheet (#6957): Fixed an issue where setting custom on empty cells caused borders to disappear in some scenarios.

Thanks to community contributor @IMSupperkaka for their contribution to this release:

  • Data Validation (#6942): Fixed missing commas in dropdown list options.

📢 Join the Discussion

Have questions, feedback, or ideas? Reach out to us at:


Full Changelog (2026-05-30)

2026-05-23 11:36:02
univer

📐 Release v0.24.0

🎊 Univer@v0.24.0

[!IMPORTANT] 📢 1.0 Release Coming Soon

We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!

🚧 Work In Progress

The following features are actively under development. Some modules are already available, and the full experience will be delivered gradually in subsequent versions:

Direction Status Description
Performance Optimization 🔄 Ongoing Performance tuning for the core engine and rendering pipeline
Docs Features 🔄 In development Development of document editing and reusable editor components
Slides Features 🔄 In development Development and iteration of slide editing capabilities

📐 Outline (Row/Column Grouping)

Outline (row/column grouping) is now officially available in Univer Pro. You can group rows or columns to create collapsible sections, making large spreadsheets easier to navigate and read.

Installation:

If you are using the advanced preset, Outline is already included.

pnpm add @univerjs/preset-sheets-advanced

If you prefer to install the plugins individually:

pnpm add @univerjs-pro/sheets-outline @univerjs-pro/sheets-outline-ui

Register Plugins:

import { UniverSheetsOutlinePlugin } from '@univerjs-pro/sheets-outline';
import { UniverSheetsOutlineUIPlugin } from '@univerjs-pro/sheets-outline-ui';

univer.registerPlugin(UniverSheetsOutlinePlugin);
univer.registerPlugin(UniverSheetsOutlineUIPlugin);

Key Features:

  • Group and ungroup rows or columns via the outline gutter, right-click context menu, or keyboard shortcuts
  • Collapse and expand groups to show or hide detail rows/columns
  • Automatic outline updates when rows or columns are inserted, deleted, or moved
  • Permission controls for collaborative scenarios
  • Full Facade API support for programmatic control

Facade API Example:

const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();

// Group rows 2 to 6
fWorksheet.addRowOutline(1, 5);

// Group columns B to E
fWorksheet.addColumnOutline(1, 4);

// Get all row outlines
const rowOutlines = fWorksheet.getDimensionOutlines('row');

// Collapse the first group
if (rowOutlines[0]) {
  fWorksheet.setDimensionOutlineCollapsed(rowOutlines[0].id, true);
}

// Clear outlines in a range
fWorksheet.clearDimensionOutlines('row', 1, 10);

🧩 UI Components

Panel Component

A new Panel component has been added to @univerjs/design and @univerjs/ui, providing a standardized container for sidebar panels.

Sidebar Enhancements

The Sidebar now supports:

  • Accessibility improvements: Better keyboard navigation and ARIA attributes

  • Resize support: Users can drag to resize the sidebar width

  • PR: #6938


⚠️ Breaking Changes

Removed Deprecated APIs

The following FWorksheet APIs have been removed. Use the recommended alternatives:

Removed API Alternative
FWorksheet.onCellDataChange univerAPI.addEvent(univerAPI.Event.SheetValueChanged, ...)
FWorksheet.onBeforeCellDataChange univerAPI.addEvent(univerAPI.Event.BeforeSheetEditEnd, ...)
FWorksheet.getLastColumns FWorksheet.getLastColumn

Global Zone Service Removed

IGlobalZoneService and related APIs have been removed. Use IUIPartsService with BuiltInUIPart.GLOBAL instead.


⚡ Performance & Stability

Memory Management (Pro)

Properly managed RxJS subscriptions across collaboration cursors, live-share, pivot tables, and other modules to prevent memory leaks in long-running applications.


🐛 Bug Fixes

  • Color Picker (#6912): Fixed hue value normalization for values >= 360 and resolved stale closure issues in event handlers.
  • Sheet Drawing (#6929): Fixed image IDs not being passed to the builder correctly.
  • Toolbar Icon (#6928): Fixed the clear-all icon in the toolbar.
  • Outline Overlays (#6922): Fixed header overlay issues when using outline features.
  • Outline Gutter (#4850): Fixed gutter control anomalies in outline interactions.
  • Outline Warnings (#4859): Added warnings when attempting to ungroup an incomplete range.

📢 Join the Discussion

Have questions, feedback, or ideas? Reach out to us at:


Full Changelog (2026-05-23)

2026-05-18 15:55:37
univer

⚡ Release v0.23.0

🎊 Univer@v0.23.0

[!IMPORTANT] 📢 1.0 Release Coming Soon

We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!

🚧 Work In Progress

The following features are actively under development. Some modules are already available, and the full experience will be delivered gradually in subsequent versions:

Direction Status Description
Performance Optimization 🔄 Ongoing Performance tuning for the core engine and rendering pipeline; the formula engine has already seen improvements
RTL Language Support 🔄 UI complete, rendering layer in progress Interface layout and component direction are adapted; RTL support for document/sheet content rendering is still under development
Outline (Grouping/Outlining) 🔄 In development Outline (row/column grouping and collapsing) feature
Slides Features 🔄 In development Development and iteration of slide editing capabilities

🧩 Contextual Ribbon Tabs

Added support for context-aware Ribbon Tabs. The toolbar now dynamically displays the most relevant functional tabs based on your currently selected object or operation state, reducing distractions from irrelevant options and keeping commonly used tools within easy reach.

Usage Example:

Register a contextual tab and show/hide it at the appropriate time:

import { RibbonPosition, IRibbonService } from '@univerjs/ui';

// 1. Mark as contextual during menu registration
menuManagerService.mergeMenu({
  [MenuManagerPosition.RIBBON]: {
    ['custom-contextual-tab']: {
      order: 99,
      title: 'Chart Tools',
      contextual: true,  // Mark as contextual tab
      // ...menu items
    },
  },
});

// 2. Control visibility in business logic
const ribbonService = accessor.get(IRibbonService);

// Show contextual tab and auto-activate
ribbonService.showContextualTab('custom-contextual-tab', { activate: true });

// Hide a single contextual tab
ribbonService.hideContextualTab('custom-contextual-tab');

// Hide all contextual tabs
ribbonService.hideAllContextualTabs();

⚡ Performance Boosts

This update includes multiple performance optimizations that significantly improve the smoothness of complex documents.

Formula Engine

Both the OSS and Pro formula engines have seen significant improvements. The OSS version reduces calculation time by 15.7% in a 500K formula scenario and resolves the previous out-of-memory (OOM) issue that prevented calculation in ultra-large files. The Pro version further delivers 1.2–5.4× acceleration for real-world business scenarios.

OSS Version

Test File Formula Count Before After Improvement
Synthetic_500K_MixedFormulas 500,000 162.68 s 137.13 s -15.7%
RealWorld_Engineering_68K 68,576 OOM 34.54 s From failure to success
RealWorld_Financial_33K 33,617 1.18 s 1.34 s Within margin of variation
Template_1.4M_Summary 1,463,721 OOM 248.62 s From failure to success

Pro Version

Test File Formula Count Before After Speedup
Synthetic_500K_MixedFormulas ~500,000 158.82 s 132.18 s 1.20×
RealWorld_Engineering_68K ~68,576 35.71 s 6.65 s 5.38×
RealWorld_Financial_33K ~33,617 1.40 s 1.22 s 1.15×
Template_1.4M_Summary ~1,463,721 278.67 s 103.62 s 2.69×

Render & Interceptor

  • Scroll Rendering (#6905): Fixed scroll stuttering for a smoother scrolling experience in long spreadsheets.
  • Sheet Interceptor (#6906): Streamlined hot paths to reduce rendering overhead from each cell operation.

🐛 Stability & Memory Fixes

  • Memory Leaks (#6896): Comprehensive investigation and fixes for memory leaks caused by RxJS subscriptions not being properly disposed of, making long-running applications more stable.
  • Lifecycle Safety (#6898): Fixed a race condition where commands could still execute after an instance was destroyed.
  • Formula Calculation on Creation (#6903): Fixed an issue where formulas were not automatically calculated when creating a new workbook.
  • Float DOM API (#6904): Fixed abnormal behavior in FWorksheet.removeFloatDom.
  • Calculation Result Callback (#6907): Fixed onCalculationResultApplied not correctly waiting for other formula results such as conditional formatting and data validation.
  • Server Upload State (Univer Server): Fixed an issue where after uploading a file exceeding the size limit, the server-side state was not properly reset, causing subsequent file uploads of any size to fail.
  • Pivot Table (Univer Pro): Fixed component anomalies in the Pivot Table Tabular layout, and added support for hiding subtotal rows in this layout.

📢 Join the Discussion

Have questions, feedback, or ideas? Reach out to us at:


Full Changelog (2026-05-18)