v0.21.0
dream-num/univerv0.21.0Apr 18, 2026by wpxp123456
AI Summary
Refactored permission control APIs, improved the accessibility of the collaboration status component, and fixed mobile dependency issues.
Key Highlights
- Refactored permission control APIs including removing `FPermission` class and adjusting `FRangeProtectionRule`
- Enhanced collaboration status component with icons, tooltips, and ARIA attributes
- Fixed `IRepeatLastActionService` not registered on mobile
- Improved `FRangeProtectionRule` with `setPoint` and `getPoint` methods for server synchronization
Breaking Changes
- Removed the `FPermission` class and all its creation methods
- Removed all APIs that listen for permission changes
- Adjusted `FPermission.setPermissionDialogVisible` to `FWorkbookPermission.setPermissionDialogVisible`
- Removed `setPoint` and `getPoint` methods from `FRangePermission`
- Removed `allowEdit` field from protected range options, using `allowUsers` instead
New Features
- Added protocol package
Full Release Notes
## 🎊 Univer@v0.21.0
### 🚧 Important Note
Your feedback is crucial! Please submit [issues](https://github.com/dream-num/univer/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](https://docs.univer.ai/guides/sheets/getting-started/installation).
Dive into the world of collaborative document, spreadsheet, and presentation editing powered by Univer!
### 📊 Univer Sheets
#### 💔 Breaking Changes
- Refactor and fix issues related to permission control APIs, with the following changes: #6804
- Remove the `FPermission` class and all its creation methods.
- Remove all APIs that listen for permission changes.
- Adjust `FPermission.setPermissionDialogVisible` to `FWorkbookPermission.setPermissionDialogVisible`.
- Remove `setPoint` and `getPoint` related methods from `FRangePermission`.
- Add `setPoint` and `getPoint` related methods to `FRangeProtectionRule`.
- The `setPoint` method is used to update the permission point, which will synchronize the server status in collaborative editing scenarios:
- `false`: This permission point requires at least the `owner` role.
- `true`: This permission point requires at least the `editor` role.
- When creating a protected range rule, remove the `allowEdit` field from the options parameter, and use the `allowUsers` field to determine whether it is "only me" or "specified users" who can edit.
- Refactor and improve the user experience and accessibility of the collaboration status component in the upper right corner of the collaborative document, with the following changes:
- The component no longer displays text labels, only icons, to reduce visual interference.
- Show detailed status tips on mouse hover.
- Add correct ARIA attributes (role, aria-live, aria-label).
- Make the offline status clickable and support keyboard input (Enter / Space).
- Add a spinning animation for status synchronization.
#### 🐛 Bug Fixes and Optimizations
- Fix the issue of `IRepeatLastActionService` not registered on mobile. #6806
- Fix some API operations that were not blocked by permission control. #6815
- Fix some known issues with shapes.
### 🌐 Univer Server
- Fix the issue of conditional formatting anomalies after importing some low-version Excel files.
### 📢 Join the Conversation
We welcome your input and insights as we embark on this exciting journey. Connect with us on:
- :octocat: [GitHub Discussions](https://github.com/dream-num/univer/discussions)
- 👾 [Discord](https://discord.gg/z3NKNT6D2f)
### 📝 Changelog
[Full changelog](https://github.com/dream-num/univer/compare/v0.20.1...v0.21.0) (2026-04-18)
### Bug Fixes
* **aligan:** update ([#6798](https://github.com/dream-num/univer/issues/6798)) ([f5db141](https://github.com/dream-num/univer/commit/f5db141bbe2dafe7e146a1d3bf64100ea072c3b0))
* **formula:** optimize the logic of inverted index ([#6818](https://github.com/dream-num/univer/issues/6818)) ([79d2c30](https://github.com/dream-num/univer/commit/79d2c30d68a4345bfd88a45e19c74a80018e1e27))
* **mobile:** fix dependency not registered ([#6806](https://github.com/dream-num/univer/issues/6806)) ([2a010b6](https://github.com/dream-num/univer/commit/2a010b657262298c63ca96aed400458e6080387a))
* **permission:** fix some API operations that were not blocked by permission control ([#6815](https://github.com/dream-num/univer/issues/6815)) ([3d6f418](https://github.com/dream-num/univer/commit/3d6f4182f2d2f0f9be155592d336b39eff06fdd7))
* **protocol:** correct method name from IUpdateCollaborator to UpdateCollaborator ([#6817](https://github.com/dream-num/univer/issues/6817)) ([3479e20](https://github.com/dream-num/univer/commit/3479e201dd311e865016e644b45681b87cac5e8a))
### Features
* **protocol:** add protocol package ([#6816](https://github.com/dream-num/univer/issues/6816)) ([0da09ac](https://github.com/dream-num/univer/commit/0da09ac9ca433de23d0d194fb8d30eb201456aee))