🎊 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-advancedIf you prefer to install the plugins individually:
pnpm add @univerjs-pro/sheets-outline @univerjs-pro/sheets-outline-uiRegister 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
|
- PR: #6919
Global Zone Service Removed
IGlobalZoneService and related APIs have been removed. Use IUIPartsService with BuiltInUIPart.GLOBAL instead.
- PR: #6930
⚡ 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.
- PR: #4864
🐛 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)