Skip to content

🎉 Release v0.5.0

Latest
Compare
Choose a tag to compare
@hexf00 hexf00 released this 23 Nov 13:48
· 5 commits to dev since this release

🎊 [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!

📊 Univer Sheets

🎉 Highlights

  • Added @univerjs/presets, providing a new simplified way to import Univer. Recommended for beginners to quickly get started, with smooth transition to advanced import methods as needs grow. Presets import has become the default method in official documentation. Learn more

  • Added more flexible Facade API import method, with Facade API included by default when using presets. Learn more #3730

  • Added commercial formula engine plugin @univerjs-pro/engine-formula with higher performance compared to open source version, supporting 2M+ formulas per sheet, especially suitable for commercial scenarios with large data calculations. Learn more

  • Added Node.js environment support for Univer. Learn more #3730

  • Added chart plugins @univerjs-pro/chart and @univerjs-pro/sheets-chart-ui. Learn more

  • Formula function count has now reached 500+ 🎉

  • Enhanced feature: Filter plugin @univerjs/sheets-filter-ui now supports filtering by year, month, and date

  • Enhanced feature: Added print Facade API

  • Website and documentation updates:

    • Updated website for better user understanding and experience
    • Official documentation migrated to standalone site docs.univer.ai
    • TypeDoc content migrated to standalone site reference.univer.ai

🐞 Bug Fixes

  • Fixed clone.weekday error #4078
  • Fixed highlight display issue when hiding row/column headers #3919
  • Fixed drawing plugin i18n issues #4046
  • Fixed data anomaly without numfmt plugin #3959

💔 Breaking Changes

  • @univerjs/facade and @univerjs-pro/facade are deprecated. Please use @univerjs/preset or import from @univerjs/*/facade as needed. @univerjs/facade will be removed in version 0.6.0. Learn more
-import { FUniver } from "@univerjs/facade";
-import { FUniver } from "@univerjs-pro/facade";
+import { FUniver } from "@univerjs/core";
+import '@univerjs/sheets/facade';
+import '@univerjs/ui/facade';
+import '@univerjs/docs-ui/facade';
+import '@univerjs/sheets-ui/facade';
  • @univerjs/umd is deprecated, replaced by @univerjs/preset for CDN imports. Learn more
  • UMD artifact global variable prefix for @univerjs-pro/* packages changed from Univer to UniverPro
  • I18n artifacts updated: deprecated lib/locale/[lang].json format, please use lib/esm/locale/[lang].js format
  • @univerjs/sheets-numfmt split into: @univerjs/sheets-numfmt and @univerjs/sheets-numfmt-ui
  • @univerjs/sheets-thread-comment-base renamed to @univerjs/sheets-thread-comment, and @univerjs/sheets-thread-comment renamed to @univerjs/sheets-thread-comment-ui
  • @univerjs/esbuild-plugin, @univerjs/vite-plugin, and @univerjs/webpack-plugin require latest version upgrade for 0.5.0 support

📝 Univer Docs

  • Multiple feature optimizations

💔 Breaking Changes

  • Split tags \x1e & \x1f will be removed from body.datastream #3928

🌐 Univer Server

  • Improved import/export performance
  • Improved deployment and shutdown/upgrade documentation

💔 Breaking Changes

  • Docker-compose workspace naming updated. For upgrading from old version, first enter old workspace directory and run docker compose down, then enter new workspace directory and run docker compose up

🎢 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-11-23)

Bug Fixes

  • bugs in cut-paste undo scenario (#4095) (afc72cf)
  • cal page size in modern mode (#4128) (a58350b)
  • doc text selection begin from list marker (#4132) (798e1fd)
  • doc: bad image path when parsing clipboard HTML (#4119) (adfaf14)
  • doc: failed to process image upload (#4120) (2547183)
  • docs-ui: menu align when select table cells (#4127) (e1d7713)
  • drawing: set drawing bounding in left/top to A1 cell (#4096) (e695309)
  • formula: init trigger calculation controller on rendered (#4118) (9e7b9fb)
  • formula: update formula string in other sheet (#4107) (3cf0e3b)
  • selection before table (#4134) (744a203)
  • set pointer caputure when pointer out (#4099) (e194a1e)
  • sheet: cell related facade api (#4032) (545dc82)
  • sheet: maximum call stack (#4088) (d6d2e3f)
  • sheets-hyper-link-ui: link ref -range (#4131) (924ad5e)
  • sheets-ui: gridlines permission (#4091) (9630498)
  • core: add missing localizedFormat plugin support for dayjs (#4079) (629db60)
  • delete apply (#4062) (820653c)
  • doc-mention: doc mention error (#4077) (d3085e2)
  • docs-ui: cache menu style (#3939) (3be0982)
  • docs-ui: load lang error (#4060) (278f728)
  • docs: inline format in table (#4089) (bf33540)
  • docs: invert action issue (#4083) (3f78902)
  • drawing: float dom event error (#4035) (ee8b93d)
  • formula: fix formula rows and columns limit (#4052) (9a78db0)
  • formula: fix formula update operation (#4026) (54599ce)
  • mixed policy in rendering cells in bg extension (#4048) (2cdea37)
  • move range selection not showing when dragging a selection (#4082) (9310099)
  • range-selector: focus after confirm (#4029) (0e5bd85)
  • selection highlight (#3919) (83c8d47)
  • sheet: covert number when edit number with point (#3948) (9040e5f)
  • sheets-data-validation: data-validation ref-range behavior (#4015) (fded2e8)
  • sheets-drawing-ui: fix drawing-move-right translation in zh-CN & zh-TW (#4046) (ad2c96d)
  • sheets-drawing-ui: sheet-drawing memory leak (#4067) (4e64ebb)
  • sheets-formula: other formula register (#4073) (403381b)
  • sheets-formula: should register other formula on steady (#4069) (74b6e2b)
  • sheets-hyper-link: sheet link popup should attach to cell editor (#4063) (7550f1c)
  • sheets-hyper-link: update hyper link fail (#4057) (6423ff8)
  • sheets-thread-comment: thread-comment resource save error (#4050) (ffd426a)
  • uni: add set-editor-resize-operation (#4043) (8b6ef1d)
  • uni: uni toolbar init (#3973) (8cf801a)
  • change mode set cursor (#3915) (be77b78)
  • chart: add chart wrapper border radius (#3962) (3d38af5)
  • conditional-formatting: the data bar is rendered with a color po… (#3934) (626c9b8)
  • cutting to the target range does not require filtering merge cells of the same size (#3976) (a2c292e)
  • design: add blur to input number (#3971) (2272eae)
  • destructuring assignment does not take effect for null (#3955) (74de2cc)
  • docs-ui: hide header footer menu when modern mode (#3953) (88ff166)
  • docs-ui: init table style by the cutsor position (#3936) (1615bd2)
  • docs-ui: select all and delete then enter bug (#3932) (e419e1b)
  • docs-ui: selection in table when across two pages (#4006) (fe6c0b2)
  • docs-ui: set table cell style (#3937) (4e5323b)
  • docs-ui: wrong font size in menu show (#3938) (e9e7820)
  • docs: default text style in doc (#3906) (b7937cd)
  • docs: doc select all content and remove when has tables (#3800) (2ad811d)
  • docs: header footer render after switch from modern mode to traditional model (#3995) (fd07903)
  • docs: modify link (#3946) (fc9439e)
  • docs: reserve empty textRuns when transform (#3949) (39d0d46)
  • docs: table context menu disable status (#3921) (05339d2)
  • doc: the paragraph panel is not updated in real time (#3952) (2bea457)
  • editor: formula ref selection moving not work (#3920) (9efc7eb)
  • editor: the cursor position is not correct after pasting (#3960) (71c7cf4)
  • editor: the rendering is not consistent with the result (#3966) (125cfa9)
  • empty strings should be treated as having no value when merge (#3963) (238eef1)
  • filter rollback in another worksheet (#3896) (e16aa90)
  • find the first possible cursor position (#3913) (5db9233)
  • fix auto size when no content in first col (#3903) (e801701)
  • formula-bar: an additional selection is inserted when you click … (#3964) (8cda704)
  • formula: base type for formula dependency (#4008) (0bd9c14)
  • formula: calculate after renderer (#4024) (0afcc5d)
  • formula: fix inverted-index-cache bug (#4020) (e194b97)
  • hide align menus in zen mode (#3904) (56eeb04)
  • hide table and header footer menu in ZEN mode (#3961) (e588fab)
  • links pasted into cells require paragraph attributes (#3980) (69a65e8)
  • parsing of number formats should be done in plugins (#3959) (fe60a29)
  • range-selector: illusion of movement (#4011) (02b335c)
  • render-engine: paragraph horizontal align (#4010) (045eef3)
  • searcharray (#3883) (602f44a)
  • sheet: fix default style cmd not register (#4014) (432091b)
  • sheets-data-validation-ui: data validation style (#4000) (d793188)
  • sheets-hyper-link-ui: show popup on rotate cell (#3943) (ce16b41)
  • some case rich text style should convert to cell style (#3975) (47cae07)
  • uni: fix formula editor (#3912) (71eca33)

Features

  • docs-link: support acrossing-paragraph add link (#4104) (cea9cb8)
  • docs-mention-ui: support doc mention (#4093) (5b80481)
  • docs: pictures support writing to the clipboard (#4086) (bf8329f)
  • drawing: drawing popup support custom menu (#4113) (1ec6dbe)
  • export types for facade api (#4126) (0d07c86)
  • facade: add api for cell editing (#4124) (19808d0)
  • facade: add component api (#4125) (e0025ab)
  • facade: export syncExecuteCommand (#4102) (d882624)
  • formula: supplement ARRAY_CONSTRAIN/FLATTEN formula (#3922) (20c81f3)
  • formula: supplement EPOCHTODATE/TO_DATE/ISDATE formula (#3979) (0656167)
  • formula: supplement IMCOTH/IMLOG/IMTANH formula (#3909) (77e7c67)
  • formula: supplement ISBETWEEN/AVERAGE.WEIGHTED/MARGINOFERROR formula (#3998) (0dc0027)
  • formula: supplement ISEMAIL/ISURL/ENCODEURL formula (#3990) (224e88c)
  • formula: supplement LINEST/LOGEST/TREND formula (#3965) (ff20170)
  • formula: supplement ROUNDBANK formula (#4013) (7c3807f)
  • render-engine: split table row (#4054) (379221e)
  • sheets-data-validation: optimize data validation memory usage (#4129) (814bc84)
  • sheets-ui: add hover facade api (#4092) (a23f2fb)
  • docs-thread-comment: disable undo redo on docs comment (#4047) (a7a5201)
  • reangeSelector supports className (#3901) (6db18f3)
  • render-engine: table wrap layout type (#4021) (1762023)
  • sheets-data-validation: data validation hover optimize (#4051) (17bbe40)
  • sheets-data-validation: optimize data-validation error msg (#4044) (b4d4cfa)
  • ui: support onFocus event in InputNumber (#4085) (8597d44)
  • add async interceptor (#3894) (f007660)
  • add focusing-editor context value for chart panel (#3996) (80167a1)
  • add zero width paragraph break implementation (#3958) (6142b07)
  • add zeroWidthParagraphBreak config (#3954) (aafe8ab)
  • drawing: add optional param to contrl popup (#3935) (95bee3e)
  • filter date group (#3881) (35f4567)
  • formua-editor: support cross sheet references (#3933) (068f512)
  • formula: add some statistical formulas (#3684) (51f1616)
  • formula: supplement FORMULATEXT formula (#3968) (fc0b1fa)
  • formula: supplement text formulas (#3842) (114f6dc)
  • sheet drawing commands support intercepting mutations (#3885) (7f1cf91)

Performance Improvements