Univer Weekly #3

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 and FWorkbook.customizeColumnHeader
    • Fixed issues with worksheet-level APIs: FWorksheet.customizeRowHeader and FWorksheet.customizeColumnHeader
  • 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

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.