🎊 [email protected]
🚧 Important Note
This project is still in heavy development, and major API changes are expected. Your feedback is crucial! Please submit issues and suggestions to help us shape the future of Univer.
🚀 Getting Started
If you're eager to explore Univer, check out our getting started documentation.
Dive into the world of collaborative document, spreadsheet, and presentation editing powered by Univer!
📊 Univer Sheets
🎉 Highlights
- Added external image paste functionality and optimized image processing logic #3617
- Compatible with React 19, refactored rendering logic, optimized Input component implementation, and improved UI performance #4247
- Added Facade API
FRange.attachRangePopup
to insert components into ranges #4489 - Added support for loading multiple sheets and switching the sheet to be displayed, you can now use cross-sheet formulas, refer to Loading Multiple Files #4580
- Optimized Facade event memory usage, introduced FEventRegistry to manage event listeners #4616
- Added
NUMBERSTRING
formula for converting numbers to Chinese strings #4615 - Univer now supports over 500 formulas and counting!
🐞 Bug Fixes
- Fixed multi-instance input cursor error in sheets-ui #4643
- Fixed
univerAPI.Event.SheetEditChanging
event not triggering #4642 - Fixed
univerAPI.Event.CellClicked
event not triggering #4628 - Removed React dependency from core package, reduced core package size, and improved project modularity #4617
- Fixed selection error in formula editor and collaborative selection issues #4619
- Improved undo/redo menu item disable logic #4609
- Fixed data validation formula issues and ActiveSheetChanged event #4606
- Fixed incorrect row height when adjusting height with all rows selected #4639
💔 Breaking Changes
-
React 16 users need additional steps to use Univer 0.6.0, please refer to the React 16 User Upgrade Guide
-
Package
@univerjs/facade
has been removed, please migrate to the new Facade usage. -
Facade content previously exported from
@univerjs/core
has been moved to@univerjs/core/facade
exports:FBase
,FBaseInitialable
,FUniver
,FHooks
,FBlob
,IFBlobSource
,FEventName
,IEventBase
,IEventParamConfig
,FEnum
,FUtil
#4596
ESM Before:
import { FUniver } from '@univerjs/core';
After:
import { FUniver } from '@univerjs/core/facade';
UMD Before:
<script src="https://unpkg.com/@univerjs/core/lib/umd/index.js"></script>
<script>
var { FUniver } = UniverCore;
</script>
After:
<script src="https://unpkg.com/@univerjs/core/lib/umd/facade.js"></script>
<script>
var { FUniver } = UniverCoreFacade;
</script>
-
To use the official collaboration features, you now need to provide a socketService in UniverCollaborationClientPlugin's config object. If your client runs in browsers, please use BrowserCollaborationSocketService provided by the @univerjs-pro/collaboration-client-ui package, refer to Collaboration Guide
-
Plugin developers need to note that the Redi view-related APIs exported have been moved to the
@univerjs/ui
package #4617
Before:
import { useDependency, RediContext, useObservable } from '@univerjs/core'
After:
import { useDependency, RediContext, useObservable } from '@univerjs/ui'
📝 Univer Docs
- Fixed known issues.
🌐 Univer Server
- Fixed known issues.
📦 Univer Presets
- SDK has been updated to version 0.6.0.
🎢 Special Thanks
Special thanks to the following community members for their outstanding contributions to this release:
📢 Univer Go
Univer Go 0.0.10 has been released, integrating AI, logging, and the latest Univer SDK features. With numerous templates ready to use, share and define your collaborative spreadsheet applications, welcome to experience! Univer Go
📢 Join the Conversation
We welcome your input and insights as we embark on this exciting journey. Connect with us on:
📝 Changelog
Full changelog (2025-02-15)
Bug Fixes
- adjust height when select all (#4639) (c274fc8)
- clear timers when controller disposed (#4528) (6a871b0)
- conditional-formatting: aligning Excel Effects with 'No Interfer… (#4584) (ce0b939)
- drawing: drawing permission memory leak (#4598) (a04486e)
- facade: editing-event not trigger on edit (#4642) (4914a55)
- facade: set default style (#4613) (4d1f5d1)
- fix multi memory leak problems (#4591) (3dc94a9)
- fix paste dropdown in workspace (#4593) (3efc99f)
- float dom after freeze (#4587) (9b2274f)
- formula: fix cut paste bug of formula (#4582) (d9043ef)
- formula: get dirtyRanges when row column removed (#4588) (0e0d68b)
- formula: skip processing tree when there is no formula (#4586) (303c0b2)
- numfmt: reset cell value type when remove numfmt (#4585) (bb81076)
- sheet: add remove func to serivce (#4625) (6254c68)
- sheet: row height no ranges (#4629) (aee23ec)
- sheets-data-validation: data-validation formula-error (#4606) (0d6c8b4)
- sheets-formula-ui: editor add selection error (#4619) (b431629)
- sheets-formula-ui: selecion error on formula-editor (#4632) (1f961b8)
- sheets-ui/facade: fix cell event not triggering when listening through the facade API (#4628) (92398b2)
- sheets-ui: formula-editor edit error (#4603) (1559708)
- sheets-ui: multi-instance input error (#4643) (d742763)
- sheet: scrolling reaching limit judgment (#4473) (4b3dd11)
- statusbar: fix status bar can not read date type cell (#4573) (0a0aafe)
- ui: improve undo/redo menu item disable logic (#4609) (1edf335)
- ui: optimize resize observer and update toolbar item structure of Ribbon (#4644) (8e88ffd)
- upload snapshot as artifacts when test failed, record hean snapshot in mem test (#4594) (fb3d10f)
- add ignore comments for facade (#4559) (1780109)
- add ignore comments for facade (#4568) (bac2965)
- bind: fix bind mode loss text style (#4533) (d724ad9)
- customize column header height (#4526) (5097444)
- docs: fix comments error (#4564) (d4334c9)
- facade: add doc for sheets-ui event (#4538) (bae758f)
- facade: hidden mixin in ui & data-validation & thread-comment (#4554) (99127d7)
- facade: hide constructor and ignore injector getter (#4571) (1a8981d)
- filter: fix filter enum (#4543) (bd220e7)
- fix some permission bugs (#4478) (2683655)
- formula: fix insert function of range has number value (#4561) (22f7159)
- formula: t formula should handle reference and array values (#4556) (5b7cc47)
- revert set text style (#4544) (266dadc)
- sheet: fix range theme cmd param error (#4542) (b55877b)
- sheets-ui: style error when save text from cell-editor (#4541) (a16d79a)
- sheets: before edit event can't cancel by formula-bar (#4569) (9fe3d2a)
- sheets: make auto-width sync (#4532) (d7cfc52)
- sheets: save text editor style (#4570) (3059f03)
- ui: add return type for ComponentContainer function (#4547) (a2cf4bb)
- update freeze handle in left top viewport size when column heade… (#4545) (39cd016)
Features
- design: update color presets and add tests for
ColorPicker
(#4583) (a54ab30) - engine-formula: add global computing status service (#4602) (15a943c)
- engine-formula: add whenComputingCompleteAsync facade (#4610) (7db5474)
- facade: facade event memory usage optimize (#4616) (0cde43c)
- formula: supplement NUMBERSTRING formula (#4615) (7755e26)
- split skeleton into core and render-engine (#4330) (9732f7b)
- ui: support switching render unit (#4580) (45a1c14)
- better col header facade (#4549) (12b30ff)
- cleanup jsdoc (#4553) (31a8aa8)
- facade: add
[@hideconstructor](https://github.com/hideconstructor)
and[@ignore](https://github.com/ignore)
annotations to various classes (#4530) (fe6999d) - float-image: support paste image from external (#3617) (ee66eac)
- network: support array params (#4563) (043aedc)
- paste image if no excel html (#4558) (adf4c39)
- ui: add ui facade menu position (#4546) (9685cb3)
- ui: support hiding footer and header (#4455) (54e4378)