You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* **core:** add fluent rich-text link APIs ([bc72e1f](https://github.com/dream-num/univer/commit/bc72e1f1f)) and export the lodash `setWith` helper ([f37937c](https://github.com/dream-num/univer/commit/f37937c4e))
* **docs:** preserve list marker styling, image crops, hyperlink interactions, floating drawings, text layout, and print preparation ([a66bbae](https://github.com/dream-num/univer/commit/a66bbae18), [f24306c](https://github.com/dream-num/univer/commit/f24306c35), [07d42e3](https://github.com/dream-num/univer/commit/07d42e36e), [e84e978](https://github.com/dream-num/univer/commit/e84e978ef), [7248730](https://github.com/dream-num/univer/commit/72487307c), [9954e52](https://github.com/dream-num/univer/commit/9954e5274))
17
+
* **sheets:** preserve cell styles, normalize freeze data, validate pasted number formats, and stabilize conditional formatting and editor history ([5585cff](https://github.com/dream-num/univer/commit/5585cfff1), [e635af8](https://github.com/dream-num/univer/commit/e635af8a7), [7b9b8fb](https://github.com/dream-num/univer/commit/7b9b8fb0e), [5410a1a](https://github.com/dream-num/univer/commit/5410a1a75), [45377b1](https://github.com/dream-num/univer/commit/45377b158), [1d4112c](https://github.com/dream-num/univer/commit/1d4112c46))
18
+
* **ui/embed:** stabilize runtime ownership, print preparation, mobile service registration, and root-workbench surface scoping ([dc06ed8](https://github.com/dream-num/univer/commit/dc06ed889), [bbad43f](https://github.com/dream-num/univer/commit/bbad43f70), [8c856a5](https://github.com/dream-num/univer/commit/8c856a5bc), [ee000ad](https://github.com/dream-num/univer/commit/ee000ad14))
19
+
* **render/drawing:** resolve theme colors for print and canvas rendering, repaint and clip scrolling copies, and preserve drawing z-order and selection behavior ([603016f](https://github.com/dream-num/univer/commit/603016f6a), [4933359](https://github.com/dream-num/univer/commit/49333595c), [5885b67](https://github.com/dream-num/univer/commit/5885b675b), [8a70e42](https://github.com/dream-num/univer/commit/8a70e42b1), [7f671e4](https://github.com/dream-num/univer/commit/7f671e4db), [60890d7](https://github.com/dream-num/univer/commit/60890d786))
20
+
* **accessibility/RTL/comments:** improve gallery and pager accessibility, formula range-selection RTL layout, and thread selection and localization ([c40c116](https://github.com/dream-num/univer/commit/c40c1165e), [b2cd404](https://github.com/dream-num/univer/commit/b2cd4049f), [fd88260](https://github.com/dream-num/univer/commit/fd88260ce), [c0906a3](https://github.com/dream-num/univer/commit/c0906a3a4))
* **render/drawing/core:** support transformer control layers, absolute drawing z-order, Base text-preview hit testing, and improved undo/redo history handling ([0d524ee](https://github.com/dream-num/univer/commit/0d524ee46), [2693cdf](https://github.com/dream-num/univer/commit/2693cdf4e), [f178881](https://github.com/dream-num/univer/commit/f17888196), [9f0cad6](https://github.com/dream-num/univer/commit/9f0cad68f))
30
+
31
+
### Performance Improvements
32
+
33
+
* **engine-render:** cache complex SVG rasters, reuse shape caches during transforms, and adapt scrollbar seek rendering ([a49557e](https://github.com/dream-num/univer/commit/a49557e08), [09a0772](https://github.com/dream-num/univer/commit/09a077211), [823663e](https://github.com/dream-num/univer/commit/823663e32))
34
+
* **sheets/docs:** skip invisible text work, replace object-matrix queries with range operations, optimize large-sheet scrolling, and coalesce document refreshes ([bf9940c](https://github.com/dream-num/univer/commit/bf9940c2a), [2423350](https://github.com/dream-num/univer/commit/24233500a), [4f74db6](https://github.com/dream-num/univer/commit/4f74db67a), [0a8432f](https://github.com/dream-num/univer/commit/0a8432f81))
35
+
36
+
### Bug Fixes
37
+
38
+
* **formula:** align lookup, table, implicit-intersection, and `PERCENTOF` semantics with Excel while preserving Base and external-table references ([bcf059a](https://github.com/dream-num/univer/commit/bcf059aa8), [9940766](https://github.com/dream-num/univer/commit/994076619), [f974894](https://github.com/dream-num/univer/commit/f9748943d), [ef49abd](https://github.com/dream-num/univer/commit/ef49abd9c))
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+10-7Lines changed: 10 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,12 +61,13 @@ The structure of the repository is as follows:
61
61
62
62
```txt
63
63
.
64
-
├── common/ shared configuration and utilities
64
+
├── common/ shared configuration, mock data, Storybook, and utilities
65
65
├── docs/ documentation
66
66
├── e2e/ e2e test cases
67
67
├── examples/ demos running on the web
68
-
├── mockdata/ mock data for development
69
68
├── packages/ Univer core and plugins
69
+
├── presets/ curated plugin collections
70
+
└── tests/ additional integration test projects
70
71
```
71
72
72
73
The file structure of a plugin should be organized as follows:
@@ -137,7 +138,7 @@ Please refer to [Univer Naming Convention](./docs/NAMING_CONVENTION.md).
137
138
138
139
Before merging a pull request, please make sure the following requirements are met:
139
140
140
-
- All tests are passed. ESLint and Prettier errors are fixed.
141
+
- All tests pass. ESLint, including its formatting checks, passes.
141
142
- Test coverage is not decreased.
142
143
143
144
We provide preview deployments for pull requests. You can view the preview deployment by clicking the "Preview" link in the "View Deployment" section.
@@ -168,7 +169,7 @@ To ensure the quality of the code and move with confidence, we require that all
168
169
pnpm test
169
170
```
170
171
171
-
Also, with the help of vscode and its rich ecosystem, you could directly debug unit tests in vscode. Please install the extension we recommend, and you will see the debug button in the side bar. In addition, if you add a new plugin, you should update `vitest.workspace.js` to include the new plugin.
172
+
Also, with the help of vscode and its rich ecosystem, you could directly debug unit tests in vscode. Please install the extension we recommend, and you will see the debug button in the side bar. The `packages/*` glob in `vitest.workspace.ts` automatically includes new plugins created under `packages/`.
172
173
173
174

174
175
@@ -194,16 +195,18 @@ pnpm test:e2e
194
195
195
196
### Build Preview
196
197
197
-
After building, the output may differ from the source code. To test for any differences, you can link to the built artifacts using:
198
+
Build the production artifacts to check for differences between the source and compiled output:
198
199
199
200
```shell
200
201
pnpm build
201
-
pnpm dev:libs
202
+
pnpm dev:umd
202
203
```
203
204
205
+
Open `examples/umd/sheets.html` or `examples/umd/docs.html` from the URL printed by the development server to preview the built packages.
206
+
204
207
### Update Snapshots
205
208
206
-
Univer uses Playwright to perform visual comparison tests. If you have made changes to the UI, the CI may fail due to visual differences. You can update the snapshots by running this GitHub Action [📸 Manually Update Snapshots · Workflow runs · dream-num/univer (github.com)](https://github.com/dream-num/univer/actions/workflows/update-snapshots-manually.yml) on your branch.
209
+
Univer uses Playwright to perform visual comparison tests. If you have made changes to the UI, the CI may fail due to visual differences. You can update the snapshots by running this GitHub Action [📸 Manually Update Snapshots · Workflow runs · dream-num/univer (github.com)](https://github.com/dream-num/univer/actions/workflows/update-playwright-snapshots.yml) on your branch.
@@ -225,7 +225,7 @@ Learn more in the [Installation & Basic Usage guide](https://docs.univer.ai/guid
225
225
|**Preset Mode**| You want a working Sheets, Docs, or Node setup with minimal configuration. | This repository's [`presets/`](./presets) and the [getting started guide](https://docs.univer.ai/guides/sheets/getting-started/installation)|
226
226
|**Headless Mode**| You need server-side workbook/document processing, formula calculation, or automation without UI. |[Headless Univer](https://docs.univer.ai/guides/sheets/getting-started/node)|
227
227
228
-
Keep all`@univerjs/*` packages on the same version. If you use Univer Pro packages, keep `@univerjs-pro/*`versions aligned as well.
228
+
Keep the`@univerjs/*`SDK packages in the same coordinated Univer release line on the same version. Independently released packages, including `@univerjs/icons` and `@univerjs/icons-svg`, use the compatible versions declared by package manifests instead of the SDK version. If you use Univer Pro packages, keep `@univerjs-pro/*` aligned with the matching coordinated release line.
229
229
230
230
For API compatibility expectations, experimental APIs, internal APIs, and deprecation rules, see the [API Stability Policy](./docs/API_STABILITY.md).
Copy file name to clipboardExpand all lines: docs/API_STABILITY.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,9 +72,9 @@ Pull requests that introduce breaking changes should include a `BREAKING CHANGE:
72
72
73
73
## Package Version Alignment
74
74
75
-
Keep all`@univerjs/*` packages on the same version. If an application uses Univer Pro packages, keep all `@univerjs-pro/*`packages aligned with the matching Univer release line as well.
75
+
Keep the`@univerjs/*`SDK packages that participate in the same coordinated Univer release line on the same version. Independently released packages, including `@univerjs/icons` and `@univerjs/icons-svg`, follow the compatible versions declared by package manifests rather than the SDK version. If an application uses Univer Pro packages, keep `@univerjs-pro/*` aligned with the matching coordinated Univer release line.
76
76
77
-
Mixing package versions can bypass compatibility checks and produce runtime failures, especially around plugin registration, Facade API composition, locales, commands, and shared data models.
77
+
Mixing versions within a coordinated SDK release line can bypass compatibility checks and produce runtime failures, especially around plugin registration, Facade API composition, locales, commands, and shared data models.
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING-FACADE.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,5 +48,4 @@ All APIs/constants/enums should be accessible from the `univerAPI` variable.
48
48
49
49
## Documentation
50
50
51
-
It is strongly suggested to add documentation for your code [here](https://github.com/dream-num/univer.ai/tree/dev/packages/community/src/content/docs/guides/sheet/facade). Please refer to our [documentation repo](https://github.com/dream-num/docs) for more guidance.
52
-
51
+
It is strongly suggested to add documentation for your code alongside the current [Sheets Facade guide](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/getting-started/facade.mdx). Please refer to the [documentation repository](https://github.com/dream-num/documentation) for more guidance.
Copy file name to clipboardExpand all lines: docs/FIX_MEMORY_LEAK.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ Then, you can use the Chrome DevTools to investigate the memory leak.
13
13
You can create a `Workbook` and then dispose it from Console by running:
14
14
15
15
```javascript
16
-
E2EControllerAPI.loadAndRelease()
16
+
E2EControllerAPI.loadAndRelease(1)
17
17
```
18
18
19
19
And you can take profiles of the application and see if `Workbook` instances are being retained.
@@ -36,7 +36,7 @@ For example: dream-num/univer@6423ff8/packages/sheets-drawing-ui/src/controllers
36
36
37
37
It is very common to cause memory leak if you get the current unit in singleton modules and subscribe to it. Singleton modules are defined as modules that are registered in the Univer root injector instead of injectors held by render units.
38
38
39
-
For example: https://github.com/dream-num/univer/blob/dev/packages/sheets-drawing-ui/src/services/canvas-float-dom-manager.service.ts#L433.
39
+
For example, see the [historical implementation before the leak was fixed](https://github.com/dream-num/univer/blob/7550f1cef8c7ff17caecba7ac3305dd56b30b62e/packages/sheets-drawing-ui/src/services/canvas-float-dom-manager.service.ts#L433-L468).
40
40
41
41
**HOW TO FIX**: Please consider extracting the related logic to an `IRenderModule` instead.
Within camelCase or PascalCase identifiers, use `Id` instead of `ID` (for example, `unitId` and `getUnitId`). Keep the standalone property name `id` lowercase.
0 commit comments