Releases: dream-num/univer
🎉 Release v0.1.15
🎊 [email protected]
🚧 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
- change ref when user change (#2501) (b23148b)
- core: fix disposing univer causing error (#2515) (ca76011)
- core: init user info (#2499) (b3393ef)
- design: fix syntax error in calculation within less file (#2506) (9c2947f)
- find: when dispose, should close panel (#2495) (4a72bcc)
- hyper-link: bugfix for hyper-link remove-sheet (#2444) (039a59d)
- only users with editing permissions can join the protected colla… (#2504) (2ea683e)
- rename change permission (#2481) (ee6a464)
- scrollInfo should not save into snapshot (#2514) (782c7dc)
- sheet: null cell (#2483) (63040e1)
- sheets-hyper-link: skip error on ref-range mutation (#2446) (56c6e12)
- umd: change dependency build order for UMD packages (#2449) (3337e79)
Features
- add scrollLeftTop for sheet snapshot (#2414) (23775c8), closes #2348
- change move sheet permission (#2493) (d2f3f54)
- network: support sse in network fetch (#2482) (8f5d0f4)
- set the initial cursor at the begining of document (#2447) (a812d2e)
- sheets-ui: optimize ref-range for hyper-link and thread-comment (#2405) (88f2f6d)
- support props on float dom component (#2518) (0a52859)
🎉 Release v0.1.14
🎊 [email protected]
🚧 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
- build error (#2436) (d497b03)
- drawing: plugin name (#2402) (296f399)
- fix findDOMNode deprecation issue under React 18.3.1 (#2403) (41d21c3)
- fix layer (#2421) (ad7b3b5)
- fix list lint (#2406) (eb8737c)
- fix menu status is incorrect because focusedOnDrawing$ have not initial value (#2431) (5b7bc17)
- fix permissions wrong reference render-engine in sheets package (#2396) (10387e4)
- formula: export AsyncObject (#2438) (08df397)
- formula: js precision problem (#2371) (d2c9eeb)
- meesage: fix in node env, the document not exist (#2415) (8657cc4)
- message node env (#2417) (3dd2d6a)
- not escape when copy content (#2354) (c10e4d9)
- sync actions between formula editor and cell editor (#2380) (bdf033c)
- ui: fix findDOMNode is deprecated warning when collapsing the toolbar (#2413) (754fad2)
- ui: fix flickering on register ui parts (#2430) (2d036a3)
- ui: fix ineffective
hidden
property in menu configurations (#2420) (c2b0019) - ui: fix possible race conditions for ComponentContainer (29af7c2)
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
🎊 [email protected]
🚧 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.
- 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
- 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';
- 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
),
},
});
- 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
- background position error in zen editor (#2313) (6e6f185)
- cell number display when set text wrap (#2314) (0144179)
- check cell data and remove linebreak in v filed (#2382) (cfc2e0a)
- clear format failed when not change selections (#2338) (07a4e0f)
- core: observer remove unregisterOnNextCall (#2334) (5c4f479)
- cursor size follow anchor glyph (#2365) (9d8bb89)
- design: resolve text overflow issue in Select component for long content (#2352) (0ff261d)
- drawing-ui: fix incomplete display of drawing panel styles (#2387) (9831db9)
- drawing: doc drawing same to sheet drawing (#2372) (e3f6654)
- dv 18n (#2370) (da8b06b)
- editor: add valid attribute (#1730) (2dee268)
- email link jump error (#2378) (950be43)
- fix get SSE param (07e0ebb)
- fix import error (#2384) (3345064)
- fix multiple dialogs being opened at the same time (#2341) (ce5d10c)
- fixed a typo in links (#2325) (f5162c9)
- fixed outdated start dev server command (#2320) (4fb451c)
- formula: case sensitive ([#2329](ht...
🎉 Release v0.1.12
🎊 [email protected]
🚧 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
-
export necessary types from ui package (c648310)
-
fix identifier name (c1b4e8b)
-
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)
-
feat(ui)!: add support for hiding context menu (#2275) (3f12ad8), closes #2275
Features
- add support for customizable context menu & toolbar (#2273) (b253997)
- core: command service support get command type (6775a73)
- extract debugger plugin to standalone package (#2269) (f89e3bd)
- extract hooks for better customization (#2301) (2b75400)
- render-engine: facade adds onCellPointerOver,onCellDragOver,onCellDrop (#2240) (874fa27)
- sheets-conditional-formatting-ui: refactor manage rule selection options (ba56b60)
- sheets-thread-comment: comment support for sheets (#2228) (313ab79), closes #2121 #2120 #2114 #2112 #684 #2174 #2162 #715
- sheets-thread-comment: optimize comment mention source injector method (#2303) (a5a7b33)
- thread-comment: add data-source-service export (#2296) (41d0639)
- ui: popup enhance direction (#2281) (e9c27b7)
- ui: ui parts service support more generic situations (#2286) (415d5b8)
- umd: add thread comment support to the UMD bundle (#2288) ([d909b5f](d909b5f01b0f285f31c5...
🎉 Release v0.1.11
🎊 [email protected]
🚧 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
- add Russian translation support (#2248) (87e0f84)
- design: add borderless support for Select (#2254) (c59b5a5)
- design: add vertical layout support for CheckboxGroup and RadioGroup (#2252) (c638477)
- design: support multiple tree (#2259) (1d11418)
- facade: add API to generate HTML content (#2219) (3a9afd9)
- network: add fetch implementation (#2226) (b970fe1)
- render-engine: hyphenation in paragraph layout (#2172) (2739fba)
- sheet: add tooltip to FilterPanel (#2234) (12d4aef)
- sheet: allow menu scroll when it over viewport (#2215) (184b98b)
- sheets: add set workbook name command (#2249) (3c24cdd)
🎉 Release 0.1.10
🎊 [email protected]
🚧 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
- conditional-formatting: custom formula rendering error (#2117) (d04a0f8)
- conditional-formatting: update icon set id (#2109) (81a59fd)
- conditional-formatting: update icon set id (#2115) (21b7a14)
- conditional-formatting: viewmodel interception is not required at initialization time (#2107) (305d235)
- correct skeleton dispose timing (#2196) (87e96df)
- docs: text selection in multiple columns (#2199) (5f9816e)
- fix ci playwright (#2168) (714b244)
- fix slide rendering (#2127) (300d5d6)
- message service do not return disposable (#2155) (d831996)
- render-engine: fx column dose not display content (#2161) (73e8c02)
- render: memory leak (#2166) (9b078e2)
- render: memory leak and capture (#2171) (af27e38)
- sheet: find-replace replaceAll only effect on the active sheet (#2202) (0ed9f56)
- sheets-data-validation: data validation daily bugifx (#2126) (3b45f89), closes #2121 #2120 #2114 #2112
- sheet: unhide hidden icon render incorrect when headers resize (#2208) (a68bfb9)
- slides-ui: fix excessive re-render issue to prevent infinite loop errors (#2159) (9edf924)
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
🎊 [email protected]
🚧 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
- fix doc editor cannot focus (ab4fe64)
- global-zone componentKey initial value error (#2100) (2404690)
- sheet-formula: store themeColor to reuse (#2079) (6c2e1d3)
- sheet: set bottom by default for vertical align (#1929) (392f320)
- skeleton change will remove autofill popupmenu (#2092) (5b80ca7)
- ui: fix close ui plugin config and focus capturing (#2086) (4a360f7), closes #1914 #1967
Features
💼 Release v0.1.8
🎊 [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!
🚧 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
- 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...
🎉 Release v0.1.7
🎊 [email protected]
🚧 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 toSheetsConditionalFormattingUi
. 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
📢 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...
💐 Release v0.1.6
🎊 [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.
🚧 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:
- 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.
- 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:
- 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
- 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...