Skip to content

Releases: dream-num/univer

🎉 Release v0.1.12

24 May 04:21
Compare
Choose a tag to compare

🎊 Univer@v0.1.12

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

🎊 Univer@v0.1.11

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

🎊 Univer@v0.1.10

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

🎊 Univer@v0.1.9

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

🎊 Univer@v0.1.8

致 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

🎊 Univer@v0.1.7

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://githu...
Read more

💐 Release v0.1.6

03 Apr 12:35
Compare
Choose a tag to compare

🎊 Univer@v0.1.6

致 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

🎉 Release v0.1.5

29 Mar 04:00
Compare
Choose a tag to compare

Univer Banner

🎊 Univer@v0.1.5

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

🆕 What's new

In the v0.1.5 update, we've added conditional formatting functionality to the Univer Sheet.

Conditional Formatting

New package avaliable:

# Using npm
npm install @univerjs/sheets-conditional-formatting

# Using pnpm
pnpm add @univerjs/sheets-conditional-formatting
  • Conditional Formatting Rules: Apply conditional formatting rules to your cells based on specified criteria. Highlight cells that meet certain conditions, such as values greater than a threshold, dates within a specific range, or cells containing specific text.
  • Customizable Styles: Customize the formatting styles applied to cells that meet the specified conditions. Choose from a variety of predefined styles or create your own custom styles using font colors, background colors, borders, and more.
  • Intuitive Rule Builder: Use the intuitive rule builder interface to create and manage conditional formatting rules easily. Select the range of cells, define the conditions, and apply the desired formatting styles with just a few clicks.
  • Rule Management: Easily manage and organize your conditional formatting rules. Edit, delete, or reorder rules as needed. Toggle individual rules on or off to quickly see the impact on your data.

You can enable this functionality by registering the following two plugins with Univer:

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

univer.registerPlugin(SheetsConditionalFormattingPlugin);

🚀 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!

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-03-29)

Bug Fixes

  • editor: range selector and range drag (#1713) (02e9647)
  • editor: short key error and normal range show (#1688) (571ec0b)
  • fixing the range of remove merged selection and filter empty ranges (#1680) (117cbbe)
  • formula: index function handles base value object (#1692) (1f0b700)
  • punctuation adjustment issues in slide (#1690) (15cb6df)
  • render: media change for refresh canvas (#1697) (dd6bfed)
  • sheet: active dirty dependency ui (#1728) (d8c9e4b)
  • sheet: fix the selection is incorrect when autofill intersects w… (#1661) (ebdcc6c)
  • sheet: fix toolbar state when there's overlapping selection (#1521) (1ebfe1a)
  • sheet: handle key value conflicts (#1720) (9abc7c5)
  • sheet: null-value will not unexpected deleted when moving row/cols (#1691) (1a1f7c8)
  • sheet: set-tab-order-mutation should has fromIndex in parmas for transforming (#1704) (6d05bd9)
  • slides: export locale (#1702) (403c529)
  • ui: canvas popup event bind error (#1683) (8a0bfd6)
  • ui: fix toolbar display issues by adjusting reactive hidden item filtering logic (8b604eb)
  • ui: fix toolbar responsiveness on small screens (#1716) (a9755e8)
  • ui: fix use observable (#1719) (eabe6fb)

Features

🎉 Release v0.1.4

25 Mar 02:07
ab8a548
Compare
Choose a tag to compare

Univer Banner

🎊 Univer@v0.1.4

🚧 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!

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-03-25)

Bug Fixes

  • design: correct checkbox checked state logic for standalone usage (#1627) (5eea109)
  • design: fix checkbox group value couldn't be modified (#1613) (dcb3e93)
  • docs: remove deprecated property standalone (#1670) (ff686e6)
  • editor: control state (#1649) (c39799f)
  • editor: optimize editor focus (#1616) (e4231eb)
  • editor: preload the editor (#1662) (09ceb16)
  • editor: short key error (#1679) (7afaff0)
  • engine-render: add missing IPageRenderConfig type export (d972f5d)
  • export more types from render engine plugin (#1608) (cf134be)
  • facade: should not return promise in syncExecuteCommand (#1648) (9a0d300)
  • find-replace: fix dialog issues (#1590) (2390086)
  • fix extracted value from cell content (2e22324)
  • formula: add OR/TEXT/LEN functions (#1593) (c26eed1)
  • formula: array cache error (#1644) (19d9612)
  • formula: index function supports reference object (#1657) (b47487a)
  • formula: math functions support string number calculation (#1581) (0779488)
  • rectangle subtract func (#1647) (345fddc)
  • sheet: error value object (#1596) (e3714e1)
  • sheet: fix error edit position after merging (#1520) (8685e14)
  • sheet: fix the issue of incorrect number of merged cells in the format painter (#1526) (cd9b6f8)
  • sheet: handleRemoveRowsCols util func (#1656) (f30b987)
  • sheets-ui: merge setRangeValuesMutation at clipboardservice (#1665) (bf9fc0d)
  • sheets: boolean should store as number (#1605) (78e5426), closes #1534
  • slide: image loaded (#1653) (9cecaaa)
  • slide: slide initialize (#1641) (599ed71)
  • ui: cleanup DOMs when dispose (#1663) (b81ba1a)
  • ui: prevent formula bar from displaying when header is set to false & remove unused code (#1633) (e3d875c)
  • ui: should not make clipboard util iframe visible (#1620) (06760b5)
  • wrong doc example data (#1667) (a875a31)

Features

Performance Improvements

  • engine-render: optimize border perf (#1574) (0aa2898)
  • formula: optimize dependency calculate and array value object compare (#1629) (d884ee0)
  • render: optimize doc render (#1599) (ab76ebd)
  • sheet: statistic and formula perf (#1583) (9e63af7)

BREAKING CHANGES

  • sheets: Before:
    Boolean values ("TRUE" "FALSE") were stored in the IWorkbooData
    as strings.
    After:
    Boolean values would be store as number (0, 1).

🎉 Release v0.1.3

15 Mar 07:43
Compare
Choose a tag to compare

Univer Banner

🎊 Univer@v0.1.3

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

🆕 What's new

In the v0.1.3 update, we've added find and replace functionality to the Univer Sheet.

Find and Replace

  • Find content in a sub-sheet, current selection, or the entire workbook
  • Search in row-first or column-first order
  • Find formulas, case-sensitive search, and match entire cell contents
  • Replace and replace all

You can enable this functionality by registering the following two plugins with Univer:

import { UniverFindReplacePlugin } from '@univerjs/find-replace';
import { UniverSheetsFindReplacePlugin } from '@univerjs/sheets-find-replace';

univer.register(UniverFindReplacePlugin);
univer.register(UniverSheetsFindReplacePlugin);

We welcome you to try out these brand new plugins. If you encounter any bugs or have feature requests, please submit your feedback via GitHub and our community. We plan to further optimize the find and replace feature and add support for doc and other types in the future. To learn more about Univer's roadmap, please visit our official website.

Other Changes

This release also includes over 30 bug fixes and improvements across the multiple packages.

🚀 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!

📢 Join the Conversation

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

📝 Changelog

Full changelog (2024-03-15)

Bug Fixes

Features

  • add function to extract pure text from cell (#1575) (fe0c8de)
  • collaboration: move snapshot transform to core (#1519) (6557ea5)
  • core: add getCurrentLocale to LocaleService (#1555) (05866a3)
  • **cor...
Read more