Skip to content

Releases: dream-num/univer

🎉 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

🎉 Release v0.1.7

12 Apr 06:49
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 added new features, fixed bugs, and made some breaking changes. Here's a summary of the changes:

📦 New Features

  • Now you can start editing a cell by pressing the F2 key. Editing cells in this way will not change the selection when you press the arrow keys. This behavior is consistent with Excel. #1875 #1549
  • Added the Maxifs formula. #1711

🐞 Bug Fixes

  • Fixed the issue that caused the entire application to crash after installing @univerjs/sheets-data-validation. #1822

💔 Breaking Changes

@univerjs/sheets-conditional-formatting-ui

If you are using the SheetsConditionalFormattingUiPlugin from @univerjs/sheets-conditional-formatting-ui, please note the following breaking changes:

  • SheetsConditionalFormattingUiPlugin has been renamed to SheetsConditionalFormattingUi. Please update your imports accordingly.
- import { SheetsConditionalFormattingUiPlugin } from '@univerjs/sheets-conditional-formatting-ui';
+ import { UniverSheetsConditionalFormattingUIPlugin } from '@univerjs/sheets-conditional-formatting-ui';

- univer.registerPlugin(SheetsConditionalFormattingUiPlugin)
+ univer.registerPlugin(UniverSheetsConditionalFormattingUIPlugin)

🎢 Special Thanks

  • Thanks to @fmwww for contributing to the project. Your contributions are greatly appreciated! #1819

📢 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-12)

Bug Fixes

  • auto height is not work when at default column width (#1840) (55e0869)
  • condiational-formatting: rename SheetsConditionalFormattingUiPlugin (#1801) (9b14a5a)
  • conditional-formatting: fix the logic for hidden$ in conditional formatting (#1813) (cd631af)
  • design: ensure popup component is appended to root to prevent offset from stacking contexts (#1850) (1ad518a)
  • design: fix slider to stop responding to mouse movement after release during zoom operations (#1834) (3d5a26e)
  • design: fix tooltip behavior (#1845) (bd85759)
  • design: set default language to zhCN (#1863) (08e8d58)
  • display error in font family (#1700) (8c2282b)
  • docs: list indent and hanging (#1675) (4020055)
  • docs: strikethrough position is incorrect (#1836) (3f68158)
  • engine-render: ignore media change on printing mode (#1808) (f5fc6be)
  • formula: copy paste range with formulas (#1765) (58c7d3e)
  • formula: null value return not zero (#1851) (87d8e20)
  • formula: use ref range formula (#1694) (d8f1dc4)
  • inline format error in cell (#1843) (2002fdf)
  • rpc: skip missing mutations in remote replica (#1826) (1e10cbf)
  • sheet-ui: make the default font family and font size correct (#1827) (ea18b99)
  • sheet: defined name vertical (#1832) (edf86f4)
  • sheet: editor and selection position (#1830) (e23992f)
  • sheet: remove set current mutation (#1802) (79ce85d)
  • sheets-ui: data-validation event bind timing (#1804) (d0cac23)
  • sheets-ui: fix border panel icons (#1815) (ea7636e)
  • sheets: fix the issue where the editor position is incorrect after unmerging cells (#1717) (7d27f11)
  • sheet: update internal id (#1825) (fc4cc4c)
  • ts-error (#1858) (b8007cb)
  • uniscript entry is displayed in zen mode (#1842) (337af7d)
  • uniscript: script editor service is not exposed (68647a6)

Features

  • conditional-formatting: bugfix (#1838) (c0b3dce)
  • design: add indeterminate property support to Checkbox component (#1870) (f522a34)
  • docs: support background color in doc (#1846) (3a38828)
  • formula: add the Maxifs function (#1711) (52b2698)
  • sheets-data-validation: move draggable-list to design (#1822) (3acf286)
  • sheets-ui: add f2 to start editing (#1875) (b740dfa)
  • sheets-ui: sheet popup service should respond to row col changes (#1848) (6868a47)
  • sheets: add watch API to ref-range-service (#1635) (5f7e9a2)
  • sheets: data-validation ref-range & optimize package orignize (#1784) (a475474)
  • ui: add disable auto focus config ([#1682](https://github.co...
Read more

💐 Release v0.1.6

03 Apr 12:35
Compare
Choose a tag to compare

🎊 [email protected]

致 Univer 的开发者们:

值此清明节来临之际,我们向您致以节日的问候和美好的祝愿。让我们一起感恩当下,珍惜眼前人。

同时,我们很高兴地宣布,Univer 发布了 0.1.6 版本。本次更新正式带来了条件格式数据验证两项重大功能。

我们希望 Univer 能成为您生活中一个有用的工具,为您提供帮助和支持。也希望您能将 Univer 分享给更多的朋友,让更多的人受益。

再次祝您清明节平安幸福,事业顺利!


Dear developers,

As the Qingming Festival approaches, which is a traditional Chinese holiday for honoring ancestors and celebrating the arrival of spring, we would like to extend our warmest regards and best wishes to you.

At the same time, we are pleased to announce the 0.1.6 release of Univer. This update introduces two major features: Conditional Formatting and Data Validation.

We hope that Univer can serve as a useful stuff in your life, providing you with assistance and support.

Once again, we wish you a peaceful and prosperous Qingming Festival.

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.6 update, we have added two major features: Conditional Formatting and Data Validation. These features are designed to help you better manage and analyze your data.

🎨 Conditional Formatting

Conditional formatting allows you to apply different styles to cells based on their values. This feature is useful for highlighting important information and making your data more visually appealing.

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

  1. Install the @univerjs/sheets-conditional-formatting-ui package using npm or pnpm:
# Using npm
npm install @univerjs/sheets-conditional-formatting-ui

# Using pnpm
pnpm add @univerjs/sheets-conditional-formatting-ui

Breaking Change: If you are using the 0.1.5 version, please uninstall the @univerjs/sheets-conditional-formatting package and replace it with the @univerjs/sheets-conditional-formatting-ui package.

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

import { SheetsConditionalFormattingUiPlugin } from '@univerjs/sheets-conditional-formatting-ui';

univer.registerPlugin(SheetsConditionalFormattingUiPlugin)

🛡️ Data Validation

Data validation allows you to set rules for the data entered in a cell. This feature is useful for ensuring data integrity and consistency in your spreadsheets.

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

  1. Install the @univerjs/data-validation and @univerjs/sheets-data-validation package using npm or pnpm:
# Using npm
npm install @univerjs/data-validation @univerjs/sheets-data-validation

# Using pnpm
pnpm add @univerjs/data-validation @univerjs/sheets-data-validation
  1. Register the data validation plugins in your Univer app:
import '@univerjs/sheets-data-validation/lib/index.css';

import { UniverDataValidationPlugin } from '@univerjs/data-validation';
import { UniverSheetsDataValidationPlugin } from '@univerjs/sheets-data-validation';

univer.registerPlugin(UniverDataValidationPlugin);
univer.registerPlugin(UniverSheetsDataValidationPlugin);

📚 Other Updates: Defined Names

In addition to the above features, we have also added the Defined Names feature to sheets. You can now set custom names for cell ranges to make it easier to reference them.

📢 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-03)

Bug Fixes

  • backspace will cause error when doc is not ready (#1725) (f24fdb1)
  • conditional-formatting: configuration exceptions are specifically handled (#1750) (37a7787)
  • conditional-formatting: support row/col hidden (#1747) (7ed59d1)
  • data-validation i18n (#1788) (73aae0b)
  • delete undo redo (#1781) (8d8e615)
  • design: apply pointer-events: none to avoid ::selection in Safari (#1792) (86bb772)
  • design: change tooltip to not remain active after hover (#1756) (2019a77)
  • facade: fix set horizontal, vertical, warp (#1766) (1876e68)
  • find-replace: add locale exports (#1760) (a573166)
  • formula: bracket nested (#1799) (d84a618)
  • formula: today fill error (#1798) (4b35198)
  • punctuation adjustment in the middle of line (#1686) (2382e3b)
  • sheet: error while creating an empty subunit (#1748) (662b4e0)
  • sheet: selection size and editor position (#1743) (fd83cbf)
  • sheets: fix shallow copy bugs of the sheet snapshot (#1742) (83d910c)
  • sheets: fix the issue with selection during autofill (#1707) (eb6f8d0)
  • sheets: fix value type casting in set range values (#1646) (227f5b0)
  • sheets: merge disappear on hide row (#1714) (e68d47f)
  • sheets: some bugs about copy&paste / remove row&col / autofill (#1561) (e1072c7)
  • the error clip the last char when linebreak (#1745) (009b5b4)

Features

  • condiational-formatting: update enUS locale (#1787) (785e141)
  • conditional-formatting: support set cfId (#1753) (4a277f9)
  • design: add Textarea component (#1778) (a2dd33d)
  • design: set default text color to prevent inheritance (#1751) (71e1d94)
  • facade: add getMaxColumns and getMaxRows API on FWorksheet (#1775) (c903780)
  • facade: add getSheetBySheetId API on FWorkbook (#1762) (436b1b4)
  • facade: sheet api getId rename to getSheetId (#1770) (dff654c)
  • **shee...
Read more