v0.24.0

dream-num/univerv0.24.0May 23, 2026by jikkai

AI Summary

This release officially introduces the Outline feature for row/column grouping in spreadsheets and updates UI components. It includes memory management improvements and removes several deprecated APIs.

Key Highlights

  • Outline (Row/Column Grouping) feature for spreadsheets
  • New Panel component in @univerjs/design and @univerjs/ui
  • Sidebar accessibility improvements and resize support
  • Memory management fixes for Pro modules

Breaking Changes

  • Removed deprecated FWorksheet APIs: onCellDataChange, onBeforeCellDataChange, getLastColumns
  • Removed IGlobalZoneService (use IUIPartsService with BuiltInUIPart.GLOBAL instead)

New Features

  • Outline (Row/Column Grouping) feature
  • Panel component
  • Sidebar accessibility improvements
  • Sidebar resize support

Full Release Notes

## 🎊 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.

```bash
pnpm add @univerjs/preset-sheets-advanced
```

If you prefer to install the plugins individually:

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

**Register Plugins:**

```typescript
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:**

```typescript
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);
```

- PRs: [#6914](https://github.com/dream-num/univer/pull/6914), [#6920](https://github.com/dream-num/univer/pull/6920), [#4843](https://github.com/dream-num/univer-pro/pull/4843), [#4851](https://github.com/dream-num/univer-pro/pull/4851), [#4853](https://github.com/dream-num/univer-pro/pull/4853), [#4854](https://github.com/dream-num/univer-pro/pull/4854), [#4847](https://github.com/dream-num/univer-pro/pull/4847)

---

### 🧩 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](https://github.com/dream-num/univer/pull/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](https://github.com/dream-num/univer/pull/6919)

#### Global Zone Service Removed

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

- PR: [#6930](https://github.com/dream-num/univer/pull/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](https://github.com/dream-num/univer-pro/pull/4864)

---

### 🐛 Bug Fixes

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

---

### 📢 Join the Discussion

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

- :octocat: [GitHub Discussions](https://github.com/dream-num/univer/discussions)
- 👾 [Discord](https://discord.gg/z3NKNT6D2f)

---

[Full Changelog](https://github.com/dream-num/univer/compare/v0.23.0...v0.24.0) (2026-05-23)