π 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
FPivotTablefacade class with methods for updating fields, source ranges, collapse states, and value filters - Added pivot-related enums to
FEnumfor 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.
- PR: #6960
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 intosheets-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';- PR: #6948
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.
- PR: #6991
Frozen Area Ghosting
Fixed ghosting artifacts in frozen areas when scrolling sheets.
- PR: #6969
Large Spreadsheet Scrolling Lag Fix
Fixed scrolling lag in large spreadsheets, improving scrolling smoothness.
- PR: #6959
Collaboration Image Upload
Fixed pasted base64 images not being uploaded correctly in collaborative document editing.
- PR: #6985
π Bug Fixes
- Find & Replace (#6970): Fixed abnormal scrolling behavior when navigating matches across worksheets.
- Formula Facade (#6947): Fixed an issue with the
onCalculationResultAppliedAPI 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
customon 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)