Skip to content

Releases: dream-num/univer

🎉 Release v0.1.17

28 Jun 08:58
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

In this release, we are excited to introduce a new set of features and improvements to enhance your Univer experience. Here are the highlights:

  • sheets-formula: Add AVERAGEA, CONCAT, and CHOOSE formulas #2606 #2613

🐞 Bug Fixes

  • Fix the issue where the format is lost when copying from Excel to univer #2612
  • Fix bugs related to conditional formatting #2608 #2601 #2605

🎢 Special Thanks

Special thanks to the following contributors who have made this release possible:

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-06-28)

Bug Fixes

  • conditional-formatting: disable clear cf (#2601) (cf60994)
  • conditional-formatting: distinguish between settings and purges when padding down (#2605) (6dd8bbe)
  • conditional-formatting: reopen panel and update panel (#2608) (b4460ca)
  • fix some paste bugs (#2612) (cfd3227)
  • formula: remove non-existent formula ids (#2531) (656c337)
  • formula: subtotal count (#2452) (61de312)
  • icon set dropdown style (#2602) (c6e23cd)
  • move-range: add move range controller (#2609) (3950878)
  • numfmt: numfmt not render after auto fill (#2617) (111bc9f)
  • numfmt: reselect item and throw error (#2611) (9902edb)
  • range-selector: placeholder flush (#2607) (2dc7ce0)
  • sheet: duplicate sheet name copy (#2544) (50f8f4d)
  • sheet: get unhidden sheets (#2616) (bcc4034)
  • sheets-drawing: fix crash when editing text after inserting images and opening the sidebar (#2586) (5536b05)

Features

🎉 Release v0.1.16

21 Jun 07:05
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

In this release, we are excited to introduce a new set of features and improvements to enhance your Univer experience. Here are the highlights:

sheets-sort

Our latest update introduces a sorting feature, allowing you to easily sort and organize data within your spreadsheets.

  1. Install the following packages:
pnpm add @univerjs/sheets-sort @univerjs/sheets-sort-ui
  1. Import the plugins:
import '@univerjs/sheets-sort-ui/lib/index.css';

import { UniverSheetsSortPlugin } from '@univerjs/sheets-sort';
import { UniverSheetsSortUIPlugin } from '@univerjs/sheets-sort-ui';
  1. Add locale resources:
import { LocaleType, Tools } from '@univerjs/core'
+ import SheetsSortUIEnUS from '@univerjs/sheets-sort-ui/locale/en-US';

 
const univer = new Univer({
  theme: defaultTheme,
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: Tools.deepMerge(
+     SheetsSortUIEnUS
    ),
  },
});
  1. Register the plugin:
univer.registerPlugin(UniverSheetsSortPlugin);
univer.registerPlugin(UniverSheetsSortUIPlugin);

🐞 Bug Fixes

  • Fixed the bug when deleting formulas. #2389
  • Corrected the import location of useObservable. #2456
  • Resolved the issue with inserting rows when columns are frozen. #2492
  • Fixed critical permission bugs affecting user collaboration and access control. #2522 #2528
  • Resolved issues with data-validation and hyperlink functionalities, improving the overall stability of the sheets module. #2527

🎢 Special Thanks

Special thanks to the following contributors who have made this release possible:

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-06-21)

Bug Fixes

Features

🎉 Release v0.1.15

14 Jun 08:18
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

  • Enhanced Format Painter Functionality: Refactored the format painter to support adding hooks, allowing for more customizable and extensible command behaviors. #2505

🐞 Bug Fixes

  • Restored UMD Package Usability: Fixed the build order for UMD packages. #2449
  • Fix disposing univer causing error: Updated redi version to v0.15.4. #2515
  • Restored scrolling state: Fixed issues with preserving scroll position in sheet snapshots when switching tabs. #2414
  • Improved Permission Handling: Updated and refined permission settings to better control user actions, ensuring that only authorized users can move sheets or join protected collaborative sessions. #2481, #2493, #2504
  • Fixed Hyperlink-Related Errors: Resolved multiple issues with hyperlink management, including removal errors and reference range mutations, to enhance the stability and performance of hyperlink functionalities. #2444, #2405, #2446

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-06-14)

Bug Fixes

Features

🎉 Release v0.1.14

07 Jun 01:29
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

  • Introduced a validator service that enables developers to retrieve the status of data validation. #2412

🐞 Bug Fixes

  • Resolved an issue with the deprecated findDOMNode function. #2403
  • Addressed a problem where the hidden property in menu configurations was not effective. #2420
  • Fixed inconsistencies in the copy and paste functionality under certain special circumstances. #2354
  • Eliminated a memory leak that occurred during zoom in or zoom out operations. #2371

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-06-07)

Bug Fixes

Features

  • add scrollLeftTop for sheet snapshot (#2348) (38d8003)
  • add Tools.set method (#2399) (ea8f50c)
  • add workbook permission (#2391) (0a9a980)
  • InsertSheetCommand: allow using partial sheet from params as sheetconfig (#2429) (ce85854)
  • network: add http auth interceptor (#2424) (066941a)
  • permission-share: support permission share (#2416) (0332000)
  • sheets-data-validation: add validator service allowing developer to get status of data-validation (#2412) (12d531d)
  • sheets-ui: support drawing print (#2418) (f24cace)
  • ui: enhance component container (#2395) (54460f9)

Reverts

🎉 Release v0.1.13

03 Jun 02:51
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

In this release, we are excited to introduce a new set of features and improvements to enhance your Univer experience. Here are the highlights:

Floating Images

Now you can insert floating images into your spreadsheet / document to make your data more visually appealing. This feature allows you to add images to your sheet canvas area and adjust their position and size as needed.

  1. Install the following packages:
pnpm add @univerjs/drawing @univerjs/drawing-ui

If you want to use this feature in Univer Sheet, install the following package:

 pnpm add @univerjs/sheets-drawing @univerjs/sheets-drawing-ui

Or if you want to use this feature in Univer Doc, install the following package:

 pnpm add @univerjs/docs-drawing @univerjs/docs-drawing-ui
  1. Import the plugins:
import '@univerjs/drawing-ui/lib/index.css';
import '@univerjs/docs-drawing-ui/lib/index.css';

import { UniverDrawingPlugin } from '@univerjs/drawing';
import { UniverDrawingUIPlugin } from '@univerjs/drawing-ui';

// Use this feature in Univer Sheet
import { UniverSheetsDrawingPlugin } from '@univerjs/sheets-drawing';
import { UniverSheetsDrawingUIPlugin } from '@univerjs/sheets-drawing-ui';
// Use this feature in Univer Doc
import { UniverDocsDrawingPlugin} from '@univerjs/docs-drawing';
import { UniverDocsDrawingUIPlugin } from '@univerjs/docs-drawing-ui';
  1. Add locale resources:
import { LocaleType, Tools } from '@univerjs/core'
+ import DrawingUIEnUS from '@univerjs/drawing-ui/locale/en-US';
// Use this feature in Univer Sheet
+ import SheetsDrawingUIEnUS from '@univerjs/sheets-drawing-ui/locale/en-US';
// Use this feature in Univer Doc
+ import DocsDrawingUIEnUS from '@univerjs/docs-drawing-ui/locale/en-US';
 
const univer = new Univer({
  theme: defaultTheme,
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: Tools.deepMerge(
+     DrawingUIEnUS,
      // Use this feature in Univer Sheet
+     SheetsDrawingUIEnUS
      // Use this feature in Univer Doc
+     DocsDrawingUIEnUS
    ),
  },
});
  1. Register the plugin:
univer.registerPlugin(UniverDrawingPlugin);
univer.registerPlugin(UniverDrawingUIPlugin);

// If you want to use this feature in Univer Sheet
univer.registerPlugin(UniverSheetsDrawingPlugin);
univer.registerPlugin(UniverSheetsDrawingUIPlugin);
// If you want to use this feature in Univer Doc
univer.registerPlugin(UniverDocsDrawingPlugin);
univer.registerPlugin(UniverDocsDrawingUIPlugin);

In addition, @univerjs/sheets-drawing-ui provides an API to allow developers to add a floating image to the sheet canvas area.

import { SheetCanvasFloatDomManagerService } from '@univerjs/sheets-drawing-ui';

const floatDomService = accessor.get(SheetCanvasFloatDomManagerService);
floatDomService.addFloatDomToPosition({
  allowTransform: true,
  initPosition: {
    startX: 200,
    endX: 400,
    startY: 200,
    endY: 400,
  },
  componentKey: 'ImageDemo',
});

Check out the documentation for more details.

Hyperlink

@univerjs/sheets-hyper-link-ui provides a hyperlink feature that allows users to create links for quick access to resources both within and outside of the spreadsheet, including web pages, files, email addresses, or other locations in the workbook.

For Usage:

import { UniverSheetsHyperLinkUIPlugin } from '@univerjs/sheets-hyper-link-ui';
univer.registerPlugin(UniverSheetsHyperLinkUIPlugin);

Check out the documentation for more details.

Permission

Handle permission interception in front-end scenarios. When it detects that there is no corresponding permission for a certain action, it will terminate the code execution and prompt the user about the missing permission.

For Usage:

import { WorkbookEditablePermission } from '@univerjs/sheets';
import { IPermissionService } from '@univerjs/core';

class YourService {
  constructor(@IPermissionService private _permissionService: IPermissionService) {

  }

  setWorkbookNotEditable() {
    this._permissionService.updatePermissionPoint(new WorkbookEditablePermission('unitId').id, false);
  }

  setWorkbookEditable() {
    this._permissionService.updatePermissionPoint(new WorkbookEditablePermission('unitId').id, true);
  }
}

Check out the documentation for more details.

💔 Breaking Changes

From v0.1.13, we have unified the way to import internationalization resources:

- import { enUS as DesignEnUS } from '@univerjs/design';
+ import DesignEnUS from '@univerjs/design/locale/en-US';

And we have also removed the built-in Simplified Chinese language pack, developers need to import it themselves:

const univer = new Univer({
    theme: defaultTheme,
+   locale: LocaleType.ZH_CN,
+   locales: {
+       [LocaleType.ZH_CN]: zhCN,
+   },
});

Note: If you are troubled by importing a large number of internationalization resources and style files, you can use the univer plugins to import them, please refer to univer plugins.

🎢 Special Thanks

Special thanks to the following contributors who have made this release possible:

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-06-03)

Bug Fixes

Read more

🎉 Release v0.1.12

24 May 04:21
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

Comments for Univer Sheet

In this new version, we add comment function to univer, for using, following the guide bellow.

pnpm add @univerjs/sheets-thread-comment @univerjs/thread-comment-ui
import '@univerjs/thread-comment-ui/lib/index.css';
import '@univerjs/sheets-thread-comment/lib/index.css';

import { UniverSheetsThreadCommentPlugin, IThreadCommentMentionDataService} from '@univerjs/sheets-thread-comment';

const mockUser = {
  userID: 'mockId',
  name: 'MockUser',
  avatar: 'icon-url',
  anonymous: false,
  canBindAnonymous: false,
};

class CustomMentionDataService implements IThreadCommentMentionDataService {
  trigger: string = '@';

  // Get the common interface implementation of the mentioned user
  async getMentions(search: string) {
    return [
      {
        id: mockUser.userID,
        label: mockUser.name,
        type: 'user',
        icon: mockUser.avatar,
      },
      {
        id: '2',
        label: 'User2',
        type: 'user',
        icon: mockUser.avatar,
      },
    ];
  }
}

univer.registerPlugin(UniverSheetsThreadCommentPlugin, {
  overrides: [[IThreadCommentMentionDataService, { useClass: CustomMentionDataService }]],
});

Please refer to Comment / Annotation for more details.

New Cell Hooks

The new cell hook supports more event listeners and now supports: onCellPointerOver, onCellDragOver, onCellDrop. Please refer to our Univer Sheet API for more details.

Add support for hiding context menu

We have added the ability to hide the context menu in the Univer UI plugin. You can now disable the context menu by setting the contextMenu option to false.

univer.registerPlugin(UniverUIPlugin, {
+  contextMenu: false
});
Support for customizing the properties of menu items

Now all plugins that provide menu items support customizing the properties of menu items through configuration options, such as hiding, disabling, grouping, etc.

univer.registerPlugin(UniverSheetsUIPlugin, {
  menu: {
    [menuId: string]: {
      tooltip?: string
      group?: MenuGroup
      type?: MenuItemType
      icon?: string
      title?: string
      positions?: OneOrMany<MenuPosition | string>
      disabled?: boolean
      value?: string | number | boolean
      hidden?: boolean
      disabled?: boolean
      activated?: boolean
    },
  },
});

For example, to hide the bold menu item:

univer.registerPlugin(UniverSheetsUIPlugin, {
  menu: {
    'sheet.command.set-range-bold': {
      hidden: true,
    },
  },
});

💔 Breaking Changes

Now the header and footer options of the @univerjs/ui plugin are true by default. If you don't want the header and footer, you need to explicitly set them to false.

univer.registerPlugin(UniverUIPlugin, {
-  header: true;
-  footer: true;
});

🔮 Breaking Changes Preview

We will remove the built-in Chinese support in the next version (v0.1.13). If your project depends on Chinese support, please add Chinese language packages by yourself.

const univer = new Univer({
    theme: defaultTheme,
+   locale: LocaleType.ZH_CN,
+   locales: {
+       [LocaleType.ZH_CN]: zhCN,
+   },
});

We also changed the way to import language packages. In v0.1.13, you need to import language packages like this:

- import { enUS as DesignEnUS } from '@univerjs/design';
+ import DesignEnUS from '@univerjs/design/locale/en-US';

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-05-24)

Bug Fixes

  • engine-render: fix "require("fs")" issue (#2278) (0e25997)

  • export necessary types from ui package (c648310)

  • fix identifier name (c1b4e8b)

  • fix shortcut panel content not correct (#2267) (bf5880a)

  • resolve warning about nested component updates from render methods (#2274) (4e7b4c5)

  • sheet: add info type for Message component, use barColor in ProgressBar (#2277) (7b411b3)

  • sheets-thread-comment: fix some ui issues & update readme.md (#2294) (b230655)

  • sheets-ui: fix doc plugins not loaded before sheet editor (#2279) (e467c1e)

  • ui: fix canvas popup direction definition error (0690697)

  • ui: fix position error (57d4e8a)

  • uniscript: export module for pro (#2293) (e7ad8d5)

  • feat(ui)!: add support for hiding context menu (#2275) (3f12ad8), closes #2275

Features

Read more

🎉 Release v0.1.11

17 May 07:48
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

🎉 Highlights

Disposing a Workbook

In this version we started to support disposing a Workbook instead of the whole Univer. You can call disposeUnit on FUniver or disposeUnit on IUniverInstanceService to do that. For example:

const univerAPI = FUniver.newAPI(univer);
univerAPI.disposeUnit('my-workbook-id')

Please refer to our document for more details.

Russian translation support

We are grateful to @niazlv for providing Russian translation support.

import { ruRU as UniverDesignRuRU } from '@univerjs/design';
// ...

const univer = new Univer({
    theme: defaultTheme,
    locale: LocaleType.RU_RU,
    locales: {
      [LocaleType.RU_RU]: Tools.deepMerge(
        UniverDesignRuRU,
        // ...
      ),
    },
});

Additionally, we have updated the Univer Plugins to enable automatic import of Russian content.

import { ruRU } from 'univer:locales';

const univer = new Univer({
    theme: defaultTheme,
    locale: LocaleType.RU_RU,
    locales: {
      [LocaleType.RU_RU]: ruRU,
    },
});

🐞 Bug Fixes

We've improved the cell clearing function to now also remove any associated custom fields, ensuring complete data cleanliness. Special thanks to @fmwww for his crucial contributions in identifying and fixing this issue!

🎢 Special Thanks

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-05-17)

Bug Fixes

  • backspace in list when select all list content (#2230) (e58a69e)
  • edit cell and the content is not display (#2245) (08f41cf)
  • editor: focusing error (#2264) (0831994)
  • filterRenderController works after selectionRenderService is usable (#2236) (3693e7a)
  • fix docs links (#2224) (5f26e90)
  • fix facade version (71fcd08)
  • fix resource key of filter (e832ce3)
  • formula: formula string results are displayed as regular strings (#2206) (1d1a45f)
  • inline style undo error at the doc end (#2241) (91e6fbc)
  • lifecycle event handling in plugin holder (#2244) (85af642)
  • sheet: clear custom field of selection (#2178) (edd2af1)
  • sheet: filterRenderController work after selectionRenderControll… (#2229) (8f8e80d)
  • sheet: restore code in setStyleCommand (#2225) (e1f4a37)
  • sheets-ui: resolve issue where hidden worksheets cannot be unhidden (#2258) (5e02b6e)
  • sheet: save edit content when select other tab (#2160) (3e02de5)
  • sheets: bugfix for freeze & hover-manager-service & data-validation (#2233) (9636037), closes #684 #2174 #2162
  • sheet: skip filtered row on setting style (#2221) (206e080)
  • the cursor is displayed incorrectly in the presence of bg color (#2218) (84620d4)
  • ui: fix use observable not working in StrictMode (#2235) (9929eff)
  • use Singleton Pattern of Hyphen (#2242) (ba853df)

Features

🎉 Release 0.1.10

10 May 09:33
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

In this release, we've fixed a number of bugs and added some new features. Here are some highlights:

  • Fixed memory leaks and rendering issues
  • Added some new Facade APIs

With the new release, we've also updated the Univer Official Website with new documentation and guides. Check it out!

0.1.10 (2024-05-10)

Bug Fixes

Features

  • docs: image layout in doc (#1958) (00d0b79)
  • facade: add sheet hooks, onCellPointerMove hook (#2193) (476ffd3)
  • facade: refactor f-univer newAPI and add getDependencies (#2176) (94a86d3)
  • formula: report formula error message, check params number by minParams and maxParams (#1876) (88f517b)
  • ui plugin support override dependencies (#2125) (561f7aa)
  • user: add user model (#2137) (49c1a70)

🎉 Release v0.1.9

29 Apr 06:24
Compare
Choose a tag to compare

🎊 [email protected]

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

We are thrilled to announce that the much-awaited Univer Pro Community Edition is now available with the release of Univer v0.1.9! 🙌

As promised, the Community Edition includes:

  • 📦 npm packages for front-end code
  • 🐳 Docker images for back-end code
  • 🆓 A free trial license valid for one month

This means that developers can now easily integrate the powerful features of Univer Pro into their own projects using the Community Edition SDK. Whether you're building a collaborative platform, an online tool, or any other application that requires real-time document collaboration, Univer Pro Community Edition has got you covered! 💪

In addition to this exciting news, Univer v0.1.9 also brings a host of bug fixes and improvements, ensuring a smoother and more stable experience for all users. 🐛🔧

We can't wait to see the amazing projects you'll build with Univer Pro Community Edition! Happy coding! 🎨💻

🎢 Special Thanks

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-04-29)

Bug Fixes

Features

  • facade: workbook and worksheet operation (#2076) (2daefd7)

💼 Release v0.1.8

26 Apr 15:45
Compare
Choose a tag to compare

🎊 [email protected]

致 Univer 的开发者们:

五一劳动节即将来临,Univer 团队向您送上最诚挚的节日祝福。在这个特殊的日子里,让我们一起向所有不懈努力的劳动者们表达敬意和感激之情。

值此佳节,我们也很高兴地宣布 Univer 迎来了全新的 0.1.8 版本更新。这一版本带来了一系列激动人心的新功能和优化,旨在为您提供更加出色的使用体验。

作为您的工作伙伴,Univer 将一如既往地助力您的工作和生活,为您解决问题、提升效率。我们真诚地邀请您将 Univer 分享给更多的朋友和同事,让这个强大的工具造福更多人。

最后,祝您五一劳动节快乐,工作顺利,生活愉悦,阖家幸福!


Dear developers,

As the International Workers' Day draws near, we, on behalf of the Univer team, would like to extend our sincerest holiday greetings to you. On this special day, let's express our respect and gratitude to all the hardworking laborers.

On this joyous occasion, we are also thrilled to announce the release of Univer 0.1.8. This new version brings a series of exciting features and optimizations designed to provide you with an even better user experience.

As your work companion, Univer will continue to empower your work and life, helping you solve problems and boost efficiency. We cordially invite you to share Univer with more friends and colleagues, so that this powerful tool can benefit more people.

Finally, we wish you a happy International Workers' Day, success in your work, joy in your life, and happiness for your family!

Univer Banner

🚧 Important Note

This project is still in heavy development, and major API changes are expected. 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!

🆕 What's new

In the v0.1.8 update, we have added Filtering feature to the Univer Sheets. This feature allows you to filter data in a range of cells based on specific criteria. You can apply filters to columns to display only the data that meets the criteria you specify.

📊 Filtering

To apply filters to a range of cells, follow these steps:

# Using npm
npm install @univerjs/sheets-filter @univerjs/sheets-filter-ui

# Using pnpm
pnpm add @univerjs/sheets-filter @univerjs/sheets-filter-ui
  1. Register the conditional formatting UI in your Univer app:
import '@univerjs/sheets-filter-ui/lib/index.css';

import { UniverSheetsFilterPlugin } from '@univerjs/sheets-filter';
import { UniverSheetsFilterUIPlugin } from '@univerjs/sheets-filter-ui';

univer.registerPlugin(UniverSheetsFilterPlugin);
univer.registerPlugin(UniverSheetsFilterUIPlugin);

📦 All-in-one UMD Bundle

Finally, we have added an all-in-one UMD bundle for Univer. This bundle includes all the necessary dependencies and plugins, allowing you to quickly get started with Univer in your web applications.

You can include the UMD bundle in your HTML file using the following script tag:

<script src="https://unpkg.com/@univerjs/umd/lib/univer.full.umd.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@univerjs/umd/lib/univer.css">

If you are already using React, ReactDOM, and RxJS in your project, you can opt for the slim version of the UMD bundle, which excludes these dependencies.

+ <script src="https://unpkg.com/react/umd/react.production.min.js"></script>
+ <script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"></script>
+ <script src="https://unpkg.com/rxjs/dist/bundles/rxjs.umd.min.js"></script>

- <script src="https://unpkg.com/@univerjs/umd/lib/univer.full.umd.js"></script>
+ <script src="https://unpkg.com/@univerjs/umd/lib/univer.slim.umd.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@univerjs/umd/lib/univer.css">

💔 Breaking Changes

1. univer.createUniverSheet and univer.createUniverDoc have been replaced by univer.createUnit

- univer.createUniverSheet({});
+ univer.createUnit(UniverInstanceType.UNIVER_SHEET, {});

- univer.createUniverDoc({});
+ univer.createUnit(UniverInstanceType.UNIVER_DOC, {});

2. PluginType is removed. Please use UniverInstanceType instead.

export class YourPlugin extends Plugin {
- static override type = PluginType.DOC;
+ static override type = UniverInstanceType.UNIVER_DOC; 
}

🎢 Special Thanks

🥳 Exciting News About Univer Pro

We have decided to launch the community edition SDK of Univer Pro in the near future. The community edition will include npm packages for front-end code, Docker images for back-end code, and a free trial license for up to one month. This means that developers can use the community edition SDK of Univer Pro for integrated development in their own projects.

Stay tuned for more updates on Univer Pro!

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-04-26)

Bug Fixes

  • columns is not render properly (#1952) (039e5e2)
  • conditional-formatting: create cf rule error (#1969) (ee8f8de)
  • conditional-formatting: disregarding computation beyond the tables region (#1891) (c14a3a8)
  • conditional-formatting: gradient fills may conceal cell values (#1898) (70d3a7e)
  • design: fix checkbox group not updating visually on click (#1989) (967eb39)
  • dv: fix data validation plugin type to prevent loading error (#2084) (937fa13)
  • editor: formula input esc invalid (#1902) (87f0994)
  • facade: fix handling of empty selections in onSelectionChange method (#2066) (e440e04)
  • fix API not exported (b4913f9)
  • fix current render handling in desktop controller (#2067) (ddbeb02)
  • fix lifecycle stages (37777f1)
  • fix lint errors (4e970d4)
  • fix memory leak on dispose sheet unit (#1900) (4a5eca1)
  • fix memory leaking in active cell (761a372)
  • fix non-sheet renderer should not be set container (#2044) (00b30e5)
  • fix plugin not added to seen list (7591212)
  • fix unit cannot be destroyed or recreate (#2081) (b67a9f8)
  • fix univer plugin lifecycle not triggered (#2023) (827e5a3)
  • fix univer plugin not started (5f5b0a7)
  • getCurrent methods should possibly return null (#1892) (859d7fc)
  • punctuation adjustment (#1867) (e921128)
  • rect-popup event bind error (#1922) (ac17c69)
  • refocus sheet cell when create new sheet (#1896) (db88447)
  • render-engine: punctuation render error in sheet cell (#2034) (d7ddad1)
  • replace whitespace characters in html str ([#1904](htt...
Read more