dream-num/univer
 Watch   
 Star   
 Fork   
5 days ago
univer

📐 Release v0.24.0

🎊 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-advanced

If you prefer to install the plugins individually:

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

Register 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

Global Zone Service Removed

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


⚡ 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.


🐛 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)

10 days ago
univer

⚡ Release v0.23.0

🎊 Univer@v0.23.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; the formula engine has already seen improvements
RTL Language Support 🔄 UI complete, rendering layer in progress Interface layout and component direction are adapted; RTL support for document/sheet content rendering is still under development
Outline (Grouping/Outlining) 🔄 In development Outline (row/column grouping and collapsing) feature
Slides Features 🔄 In development Development and iteration of slide editing capabilities

🧩 Contextual Ribbon Tabs

Added support for context-aware Ribbon Tabs. The toolbar now dynamically displays the most relevant functional tabs based on your currently selected object or operation state, reducing distractions from irrelevant options and keeping commonly used tools within easy reach.

Usage Example:

Register a contextual tab and show/hide it at the appropriate time:

import { RibbonPosition, IRibbonService } from '@univerjs/ui';

// 1. Mark as contextual during menu registration
menuManagerService.mergeMenu({
  [MenuManagerPosition.RIBBON]: {
    ['custom-contextual-tab']: {
      order: 99,
      title: 'Chart Tools',
      contextual: true,  // Mark as contextual tab
      // ...menu items
    },
  },
});

// 2. Control visibility in business logic
const ribbonService = accessor.get(IRibbonService);

// Show contextual tab and auto-activate
ribbonService.showContextualTab('custom-contextual-tab', { activate: true });

// Hide a single contextual tab
ribbonService.hideContextualTab('custom-contextual-tab');

// Hide all contextual tabs
ribbonService.hideAllContextualTabs();

⚡ Performance Boosts

This update includes multiple performance optimizations that significantly improve the smoothness of complex documents.

Formula Engine

Both the OSS and Pro formula engines have seen significant improvements. The OSS version reduces calculation time by 15.7% in a 500K formula scenario and resolves the previous out-of-memory (OOM) issue that prevented calculation in ultra-large files. The Pro version further delivers 1.2–5.4× acceleration for real-world business scenarios.

OSS Version

Test File Formula Count Before After Improvement
Synthetic_500K_MixedFormulas 500,000 162.68 s 137.13 s -15.7%
RealWorld_Engineering_68K 68,576 OOM 34.54 s From failure to success
RealWorld_Financial_33K 33,617 1.18 s 1.34 s Within margin of variation
Template_1.4M_Summary 1,463,721 OOM 248.62 s From failure to success

Pro Version

Test File Formula Count Before After Speedup
Synthetic_500K_MixedFormulas ~500,000 158.82 s 132.18 s 1.20×
RealWorld_Engineering_68K ~68,576 35.71 s 6.65 s 5.38×
RealWorld_Financial_33K ~33,617 1.40 s 1.22 s 1.15×
Template_1.4M_Summary ~1,463,721 278.67 s 103.62 s 2.69×

Render & Interceptor

  • Scroll Rendering (#6905): Fixed scroll stuttering for a smoother scrolling experience in long spreadsheets.
  • Sheet Interceptor (#6906): Streamlined hot paths to reduce rendering overhead from each cell operation.

🐛 Stability & Memory Fixes

  • Memory Leaks (#6896): Comprehensive investigation and fixes for memory leaks caused by RxJS subscriptions not being properly disposed of, making long-running applications more stable.
  • Lifecycle Safety (#6898): Fixed a race condition where commands could still execute after an instance was destroyed.
  • Formula Calculation on Creation (#6903): Fixed an issue where formulas were not automatically calculated when creating a new workbook.
  • Float DOM API (#6904): Fixed abnormal behavior in FWorksheet.removeFloatDom.
  • Calculation Result Callback (#6907): Fixed onCalculationResultApplied not correctly waiting for other formula results such as conditional formatting and data validation.
  • Server Upload State (Univer Server): Fixed an issue where after uploading a file exceeding the size limit, the server-side state was not properly reset, causing subsequent file uploads of any size to fail.
  • Pivot Table (Univer Pro): Fixed component anomalies in the Pivot Table Tabular layout, and added support for hiding subtotal rows in this layout.

📢 Join the Discussion

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


Full Changelog (2026-05-18)

15 days ago
univer

🎉 Release v0.22.1

🎊 Univer@v0.22.1

🚧 Important Note

Univer Sheets features are becoming more stable, and we are planning for the release of version 1.0. If you have any suggestions, please submit them in our issues 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

🐛 Bug Fixes and Optimizations

  • Fix the issue of comment related styles displaying abnormally in dark mode. #6881
  • Fix the issue of cell image alignment displaying abnormally when affected by word wrap. #6885
  • Optimize the experience in read-only mode by allowing text selection in the formula bar. #6886
  • Fix the issue of new sheets created by the "Add Sheet" button introduced in version 0.22.0 having duplicate names. #6887
  • Fix the issue of horizontal scrollbar appearing in the "Change Color" panel of the right-click menu in the sheet bar. #6892
  • Sparklines
    • Fix the issue of high point and low point markers being ineffective in line sparklines.
    • Fix the issue of abnormal functionality of the range selection when inserting sparklines after opening and closing the editing panel.
    • Fix the issue of the marker color setting button being unresponsive in React 18 environment.

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-05-13)

Bug Fixes

  • avoid BehaviorSubject replay loop in bufferWhen (#6882) (dfc5de7)
  • cellImage: fix cell image align render (#6885) (9b927c5)
  • comment: fix the issue of comments in dark mode (#6881) (192e607)
  • core: fix bullet list preset symbol (#6884) (b71cbab)
  • sheets-ui: allow selecting formula bar content in read-only mode (#6886) (02017c2)
  • sheets: ensure unique sheet name when inserting with explicit name (#6887) (628bbf9)
  • ui: add box-sizing to context menu item for proper sizing (#6892) (6ab5e91)

Features

19 days ago
univer

🎉 Release v0.22.0

🎊 Univer@v0.22.0

🚧 Important Note

Univer Sheets features are becoming more stable, and we are planning for the release of version 1.0. If you have any suggestions, please submit them in our issues 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

✨ New Features Highlights

  • UniverDrawingPlugin added a new configuration item allowImageSize to support limiting the maximum size of uploaded images. #6865
  • UniverSheetsUIPlugin added a new configuration item footer.addSheetButtonConfig to customize the behavior of the "Add Sheet" button: #6866
    • show: Whether to show the add sheet button, default is true.
    • defaultRowCount: The default number of rows for a new sheet, default is 1000.
    • defaultColumnCount: The default number of columns for a new sheet, default is 20.

🐛 Bug Fixes and Optimizations

  • Image Related
    • Fix the issue of floating images not updating their position correctly after hiding rows/columns. #6842
    • Fix the issue of incorrect hot zone calculation for the zoom button in cell image preview. #6845
  • Copy and Paste
    • Fix the issue of some number formatted text copied from Excel not being parsed correctly. #6844
    • Fix the issue of character loss when copying text containing <> from Univer to Excel. #6850
  • Permission Control
    • Fix the issue of toolbar disabled status not refreshing in time after updating the current range permission point. #6853
    • Fix the issue of being able to modify styles within a full selection (Ctrl + A) that contains non-editable areas. #6853
    • Fix the issue of the API for setting borders not being subject to permission control. #6853
    • Fix the issue of defined name related operations not being subject to permission control. #6857
    • Fix the issue of the disabled status listener for the context menu in the sheet bar not being triggered. #6877
  • Others
    • Fix the issue of the submenu in the context menu not disappearing when clicking it. #6858
    • Fix the issue of text containing \n not wrapping correctly in the cell when word wrap is enabled. #6859
    • Fix the issue of row height not updating correctly after clearing cell content or styles. #6870
    • Optimize the performance of Lexer.treeBuilder in scenarios with a large number of defined names. #6873
    • Optimize the boundary cases where the width and height of the last row/column cannot be changed via UI. #6876
    • Fix the issue of chart styles being reset after copy/paste/delete/undo in scenarios where the chart style is a non-default style.
    • Optimize the display style of history records when there are many operators.
    • Fix the issue of triangle shape adjustment nodes not being able to be dragged to the right.

Special thanks to community contributor @kenny-not-dead for contributions in this version:

  • Fix the issue of page margins in doc page settings supporting negative values. #6838
  • Fix the issue of paragraph alignment in doc not being highlighted. #6854
  • Fix the issue of unordered lists in doc not being highlighted. #6856

Special thanks to community contributor @IMSupperkaka for contributions in this version:

  • Fix the issue of shortcuts (bold/italic/underline/strikethrough) not working in cell editing state. #6851

Special thanks to community contributor @getmateri for contributions in this version:

  • Fix the issue of styles not being cleared in target cells when copy filling blank cells in some scenarios. #6869

🌐 Univer Server

  • Fix the issue of string condition values being lost after importing when the conditional format is "equal to a certain string".
  • Fix the issue of content loss when importing certain charts.

📦 Univer Presets

  • SDK has been updated to version 0.22.0.
  • UniverSheetsCorePreset has been updated to support the footer.addSheetButtonConfig configuration item.
  • UniverSheetsDrawingPreset has been updated to support the allowImageSize configuration item.

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-05-09)

Bug Fixes

  • active alignment style (#6854) (15cdf62)
  • active list value (#6856) (0ac415c)
  • cellImage: fix defects in image enlargement hot zone calculation (#6845) (0e30fea)
  • copy: fix unescaped special characters such as <> in copied HTML (#6850) (7ba9b6a)
  • definedName: add defined name permission controller (#6857) (44dbe3b)
  • definedName: fix lexer.treeBuilder performance (#6873) (ed89f1f)
  • drawing: fix floating images did not update their position along with hidden rows and columns (#6842) (a46d82b)
  • fix copy html error (#6861) (eca1af9)
  • fix when cell wrapping is enabled, cell text must wrap to the next line after \n (#6859) (c4f3ce5)
  • optimize auto row height recalculation when clearing cell content or styles (#6870) (ef63690)
  • optimize boundary cases where the width and height of the last row/column cannot be changed via UI (#6876) (bbd5294)
  • paste: fix some number formatted text copied from Excel was not parsed correctly (#6844) (f171450)
  • permission: fix some issues with permission control (#6853) (5af6a73)
  • permission: fix the disabled status listener for the context menu in the sheet bar (#6877) (67371e8)
  • set min value in page settings (#6852) (4990505)
  • sheets-ui: allow inline format shortcuts to fire inside cell editor (#6851) (4b98f87)
  • sheets: clear styles when copy filling blank cells (#6869) (32a2c98)
  • ui: fix the submenu in the context menu did not disappear when click it (#6858) (0def2e2)

Features

  • add footer.addSheetButtonConfig config (#6866) (4055e42)
  • add maximum allowed size config of uploaded images (#6865) (46e1309)
2026-04-25 15:18:10
univer

🎉 Release v0.21.1

🎊 Univer@v0.21.1

🚧 Important Note

Univer Sheets features are becoming more stable, and we are planning for the release of version 1.0. If you have any suggestions, please submit them in our issues 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

💔 Breaking Changes

  • Refactor the API related to defined names: univerAPI.newDefinedName has been replaced with FWorkbook.newDefinedNameBuilder. #6826

🐛 Bug Fixes and Optimizations

  • Fix the issue of PermissionService not registered when removing protected ranges. #6821
  • Fix the issue of not validating the legality of names when adding defined names through API. #6826
  • Optimize the DOM performance and related algorithm performance of list rendering in scenarios with a large number of defined names. #6829
  • Fix the issue of ClearSelectionContentCommand execution error introduced in version 0.21.0. #6829
  • Fix the issue of floating images in the current workbook disappearing when creating a hidden workbook. #6833
  • Add .js extension to the deep import of opentype.js for compatibility with Node.js ESM. #6835
  • Fix the issue of document is not defined error when calling FRange.setValue in a Node.js environment. #6834
  • Optimize the number extension rules in the auto-fill feature. #6837
  • Fix the issue of collaborator cursors being invisible in collaborative editing introduced in version 0.16.0.
  • Fix the issue of the API for subscribing to changes in online personnel in the collaborative room not being triggered correctly when personnel leave.

Special thanks to community contributor @getmateri for contributions in this version:

  • Optimize the formula bar name box to create a defined name for the workbook range based on the current selection when pressing Enter. #6705
  • Fix the issue of not being able to continue moving the selection with arrow keys after pressing Enter in the formula bar name box to jump to the corresponding selection. #6705

🌐 Univer Server

  • Fix the issue of hidden drawing elements being incorrectly displayed when importing Excel files.

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-04-25)

Bug Fixes

  • autofill: fix extend number rule of auto fill (#6837) (8fe1122)
  • conditionformat: fix condition format rule stopif true err (#6823) (79ac910)
  • definedName: optimize performance issues related to defined name (#6829) (8c15220)
  • drawing: fix drawing visible in import (#6822) (e84d694)
  • engine-render: add .js extension to opentype.js deep import for Node.js ESM compatibility (#6835) (8c226ed)
  • fix handleWorksheetRangePermissionIsEmpty error (#6821) (da009a8)
  • fix the document is not defined error that occurred when using FRange.setValue in a Node.js environment (#6834) (0b1ac31)
  • fix the issue of drawings will remove when creating a unit with makeCurrent is false (#6833) (efb3980)
  • scroll: gap config (#6828) (48fb4c2)
  • scroll: initial for gap zero (#6832) (6e8f767)
  • sheets-ui: fix incorrect JSDoc for attachRangePopup (#6824) (dba94e9)
  • sheets-ui: restore name box range naming flow (#6705) (38eec33)
2026-04-18 17:03:02
univer

🎉 Release v0.21.0

🎊 Univer@v0.21.0

🚧 Important Note

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

💔 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:

📝 Changelog

Full changelog (2026-04-18)

Bug Fixes

  • aligan: update (#6798) (f5db141)
  • formula: optimize the logic of inverted index (#6818) (79d2c30)
  • mobile: fix dependency not registered (#6806) (2a010b6)
  • permission: fix some API operations that were not blocked by permission control (#6815) (3d6f418)
  • protocol: correct method name from IUpdateCollaborator to UpdateCollaborator (#6817) (3479e20)

Features

2026-04-11 14:51:25
univer

🎉 Release v0.20.1

🎊 Univer@v0.20.1

🚧 Important Note

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

🐛 Bug Fixes and Optimizations

  • Fix cell editing failure in Web Component environment. #6770
  • Fix error when canceling hyperlink in some imported Excel files. #6778
  • Fix permission issues related to drawing (floating images, charts, shapes). #6779
  • Optimize editable user list display logic when permission inheritance is not enabled: support displaying other owner users except itself, and allow adding them as specified editing users. #6782
  • Optimize view history: no document editing permission is required, only view history permission is needed, and remove the history management permission point. #6784
  • Fix the issue of move range undo exception. #6788
  • Fix the issue of incorrect current version marking in history.
  • Fix the issue of Toast prompt not closing after canceling print.
  • Fix the issue of export function server-side calculation configuration failure.
  • Fix the issue of charts not updating when there are hidden rows and columns changes in the chart data source range.
  • Fix the issue of error when importing empty Excel file through univerAPI.importXLSXToSnapshotAsync.

Special thanks to community contributor @lyr0430 for contributions in this version:

  • Fix the issue of onOpen callback not being triggered when the sidebar is opened. #6636

Special thanks to community contributor @kenny-not-dead for contributions in this version:

  • Fix the issue of resetting to default value after double-clicking font/fontSize/fontColor/cellColor. #6664
  • Fix the issue of not being able to continue input after selecting font in edit state. #6665
  • Fix the issue of error when applying font in font input box. #6666

Special thanks to community contributor @IMSupperkaka for contributions in this version:

  • Fix the issue of incorrect clickable area calculation for cell images. #6747

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-04-11)

Bug Fixes

  • after select font family cant write text (docs and sheets) (#6665) (c1f0b71)
  • docs: double click trigger defaule value (fs,ff,cl,bg) (#6664) (bbb41bb)
  • fix font family search (#6793) (0410bd8)
  • fix the issue of move range undo (#6788) (e00a9e2)
  • permission: fix permission issues related to drawing (floating images, charts, shapes) (#6779) (51304b0)
  • scene: fix code lint warning err (#6785) (2144496)
  • sheets-ui: fix doc drawing skeleton calc wrong (#6747) (3bf7f2d)
  • sheets-ui: improve focus handling EditorContainer (#6770) (7072024)
  • ui: invoke onOpen callback when sidebar is opened (#6636) (804206b)
  • vertical: vertical aligan (#6794) (7225fe1)

Features

2026-04-03 15:39:52
univer

🎉 Release v0.20.0

🎊 Univer@v0.20.0

🚧 Important Note

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

💔 Breaking Changes

  • The Drawing-related APIs (floating images, charts, shapes) have been migrated from the UI package to the core package to support usage in Headless mode. For users using the Plugin installation mode, please update the import paths for the Facade APIs:
    • New for floating images: import '@univerjs/sheets-drawing/facade'
    • UI-related capabilities such as floating DOM still use: import '@univerjs/sheets-drawing-ui/facade'
    • Charts: import '@univerjs-pro/sheets-chart-ui/facade' -> import '@univerjs/sheets-chart/facade'
    • Shapes: import '@univerjs-pro/sheets-shape-ui/facade' -> import '@univerjs/sheets-shape/facade'

✨ New Features Highlights

  • Add support for cropping floating images into shapes (entry: image editing panel).
  • Add support for image fill in shapes (entry: shape editing panel).

🌐 Univer Server

  • Add support for importing and exporting floating images cropped into shapes.
  • Add support for importing and exporting shapes with image fill.
  • Optimize Excel file import performance.
  • Add new system integration capabilities:
    • Support for idempotent keys.
    • Support for passing customer system Metadata.

For usage, see: https://docs.univer.ai/guides/pro/usip and https://docs.univer.ai/guides/pro/api.

📦 Univer Presets

  • SDK has been updated to version 0.20.0.

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-04-03)

Features

2026-03-28 15:43:31
univer

🎉 Release v0.19.0

🎊 Univer@v0.19.0

🚧 Important Note

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

✨ New Features Highlights

  • Add support for hand-drawn (sketch) style borders on regular shapes, enhancing visual expressiveness.

🐛 Bug Fixes and Optimizations

  • Optimize the comment feature: #6712
    • Fix the issue of page crashes when clicking on cells with comments while the comment list is open.
    • Refactor comment-related menu command IDs (please update if you are using related commands or hiding menus): #6741
      • Add Comment: sheets.operation.show-comment-modal -> sheet.operation.show-comment-modal
      • Comment Management: thread-comment-ui.operation.toggle-panel -> sheet.operation.toggle-comment-panel
    • Fix the issue of comment permission point settings not taking effect in some scenarios.
  • Fix the issue of filter area borders not updating when changing themes. #6723
  • Fix the issue of right-click menu flickering during initialization when integrating univer with react 18. #6726
  • Fix the issue of conditional formatting anomalies when copying/cutting/pasting across worksheets. #6727
  • Fix the issue of content rollback when clicking the fx input box after modifying the currently selected cell value through the API. #6728
  • Fix several shape-related issues.

Special thanks to community contributor @getmateri for contributions in this version:

  • Fix the issue of formula cell reference errors after cutting and pasting across worksheets. #6686
  • Add support for F4 shortcut key in formulas. #6702
  • Add support for some F4 shortcut key functionalities in worksheets. #6702

🌐 Univer Server

  • Fix the issue of conditional formatting parsing failure when importing Excel files due to using theme color before theme initialization.
  • Fix the issue of regular shapes being misidentified as custom shapes in hand-drawn mode, causing them to be ignored during export.

📦 Univer Presets

  • SDK has been updated to version 0.19.0.

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-03-28)

Bug Fixes

  • cf: fix cross-worksheet copy/cut/paste issues with conditional formatting (#6727) (a3a40ba)
  • comment: fix comments-related issues (#6712) (f1fbcfe)
  • design: prevent popup flicker before initial position is calculated (#6726) (de505b5)
  • docs-ui: avoid duplicate sheet editor inserts after IME composition (#6734) (3d8759a)
  • drawing: fix drawing delete err (#6716) (75b0e0d)
  • fix and supplement the relevant logic for the F4 shortcut key (#6736) (bab5bc9)
  • formula: fix some issues with the cross-worksheet cut formula (#6722) (66631d4)
  • paste: fix cross-worksheet copy/cut/paste issues in data validation (#6729) (361d467)
  • sheets-filter-ui: refresh filter range and buttons on theme changes (#6723) (dc752c4)
  • sheets-ui: sanitize clipboard HTML parsing (#6738) (57f9ba8)
  • sheets-ui: sync active editor after external cell updates (#6728) (13e4a10)
  • sheets: update formula refs on clipboard cut/paste (#6686) (0d37309)
  • ui: parse cell HTML with DOMParser (#6735) (16db923)
  • ui: sanitize legacy clipboard html copy and share base html sanitizer (#6739) (4982cfd)

Features

2026-03-18 17:05:59
univer

🎉 Release v0.18.0

🎊 Univer@v0.18.0

🚧 Important Note

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

✨ New Features Highlights

  • Add right-click menu (grouping, arranging, aligning) functionality for drawings (floating images, shapes). #6678

🐛 Bug Fixes and Optimizations

  • Optimize the calculation issue when using custom formula references that exceed the table range for features like conditional formatting. #6671
  • Optimize some interaction features on mobile. #6674 #6677
  • Fix the issue of content in pivot tables not being able to be copied and pasted. #6693
  • Fix the issue of page crashes caused by custom components added through FWorksheet.addFloatDomToRange not being properly destroyed when the worksheet is deleted. #6699
  • Fix the issue of some emojis rendering abnormally when entering edit mode. #6697

Special thanks to community contributor @getmateri for contributions in this version:

  • Add Ctrl + D and Ctrl + R shortcut fill functionality. #6676

Special thanks to community contributor @kenny-not-dead for contributions in this version:

  • Fix text wrapping issue of shortcut menu text in some localizations. #6667

🌐 Univer Server

  • Add support for importing and exporting shapes.
  • Fix the issue of conditional formatting with stopIfTrue conditions not working properly after importing Excel files.

📦 Univer Presets

  • SDK has been updated to version 0.18.0.

📢 Join the Conversation

We welcome your input and insights as we embark on this exciting journey. Connect with us on:

📝 Changelog

Full changelog (2026-03-18)

Bug Fixes

  • condition: fix stopif ture err & refactor performance (#6680) (3b7e5bd)
  • drawing: fix drawing init with multiple drawings should show grp… (#6663) (55529eb)
  • drawing: group init & dispose fix (#6672) (5a4b955)
  • fix null assertion issues (#6682) (b77fbb8)
  • formula: other formula update (#6671) (0286df9)
  • group: fix group shape copy paste (#6700) (6d9ee52)
  • paste: fix copy and paste of data in pivot table rendering (#6693) (bd84cd3)
  • render: fix the issue of splitting strings containing emojis into glyphGroups (#6697) (ef5f1f4)
  • sheets: prevent crash when accessing worksheet after skeleton disposed (#6699) (952a701)
  • tiny menu quick tile text wrap in some localizations (#6667) (d875cdf)
  • ui: avoid nested button markup in context menu custom selectors (#6698) (8ddbb4b)

Features

  • docs-quick-insert-ui: enhance placeholder rendering with dynamic styles (#6673) (27b363f)
  • drawing: add drawing group/arrange/align context menu (#6678) (275d2f9)
  • sheets-ui: add Ctrl+D (Copy Down) and Ctrl+R (Copy Right) shortcuts (#6690) (c4988ba)
  • ui: add mobile context menu support and related functionalities (#6674) (8569fe8)
  • ui: add mobile ribbon (#6677) (c25feda)