If you find Univer useful, please consider supporting us by starring our project on GitHub. Your support helps us continue to improve and maintain Univer.
Overview
This week, we are excited to announce the launch of the brand-new Univer documentation, along with the official release of Univer v0.9.1. This update is primarily focused on the registration and use of custom components, further enhancing Univer’s extensibility and developer experience.
Documentation Update
We have completely redesigned the official Univer documentation to provide developers with a clearer and more structured experience. The new documentation features significant improvements in content organization, search efficiency, and readability. In addition, we plan to continuously enrich the documentation with more online demos and code samples, enabling developers to get started with and integrate Univer more efficiently. We welcome you to stay tuned for ongoing updates and to share your valuable feedback.
Univer v0.9.1
UI Adapter System
Starting from v0.9.1, Univer now supports registering components from various frontend frameworks—including Vue 3.x, Vue 2.x, and Web Components—as custom components. This gives developers the flexibility to choose the component development framework that best fits their technical stack, greatly improving compatibility and extensibility.
To achieve this, we have refactored the @univerjs/ui
package and removed the built-in support for Vue 3.x. If you wish to integrate Vue 3.x components, you now need to install the @univerjs/ui-adapter-vue3
package separately and register the UniverVue3AdapterPlugin
plugin. This not only avoids dependency on a specific Vue version but also lays the foundation for supporting more frameworks in the future.
Usage Examples
Preset Mode
createUniver({
presets: [
UniverSheetsCorePreset(),
],
plugins: [
UniverVue3AdapterPlugin, // [!code: ++]
],
})
Plugin Mode
univer.registerPlugin(UniverUIPlugin)
// The UI adapter plugin must be registered after UniverUIPlugin
univer.registerPlugin(UniverVue3AdapterPlugin) // [!code: ++]
Additionally, we have released the @univerjs/ui-adapter-web-component
package, allowing developers to create custom components using Web Components. For teams using Angular, you can leverage @angular/elements
to achieve component adaptation, further expanding your technology options.
New Preset Package
This release introduces the new @univerjs/preset-docs-node-core
preset package. With this package, developers can manipulate Univer Docs data in Node.js environments, which is highly convenient for backend document processing, automation scripts, and server-side rendering scenarios.
Other Features and Fixes
- Custom Row/Column Header API Enhancements
- Added support for workbook-level custom row and column headers:
FWorkbook.customizeRowHeader
andFWorkbook.customizeColumnHeader
- Fixed issues with worksheet-level APIs:
FWorksheet.customizeRowHeader
andFWorksheet.customizeColumnHeader
- Added support for workbook-level custom row and column headers:
- Compatibility and User Experience Improvements
- Resolved the blank screen issue when using the
@univerjs/preset-sheets-advanced
preset in webpack@5 environments - Fixed global CSS style conflicts between Univer and Tailwind CSS v4
- Addressed warning messages when integrating non-React custom components
- Fixed the issue where the autofill handle button would disappear when formula calculation was not performed using Web Worker
- Fixed the problem where the BackSpace key could not delete formulas after clicking the fx button to enter the formula editor
- Improved focus behavior when re-entering formula editing mode and resolved issues where the formula description popup would not display correctly
- Resolved the blank screen issue when using the
For a full list of updates and historical release information, please visit our GitHub Releases page.
Thank you to every community developer and user for your attention and support! We will continue to optimize the product experience, and we welcome your valuable suggestions and contributions.