diff --git a/.changeset/add-event-bubble-support.md b/.changeset/add-event-bubble-support.md deleted file mode 100644 index 0e9085a471..0000000000 --- a/.changeset/add-event-bubble-support.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -feat(web-core): add `is_bubble` parameter to `common_event_handler` to properly handle non-bubbling events like `window.Event('click', { bubbles: false })`. diff --git a/.changeset/better-wombats-sip.md b/.changeset/better-wombats-sip.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/better-wombats-sip.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/.changeset/bitter-emus-camp.md b/.changeset/bitter-emus-camp.md deleted file mode 100644 index 7245ea9823..0000000000 --- a/.changeset/bitter-emus-camp.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -"@lynx-js/web-core": minor ---- - -**This is a breaking change** - -## Architectural Upgrade: `web-core-wasm` replaces `web-core` - -This release marks a major architectural upgrade for the web platform. The experimental, WASM-powered engine formerly known as `web-core-wasm` has been fully stabilized and merged into the main branch, completely replacing the previous pure JS/TS based `web-core` implementation. This consolidation massively improves execution performance and aligns the API boundaries of the Web platform directly with other native Lynx implementations. - -### 🎉 Added Features - -- **Core API Enhancements**: Successfully exposed and supported `__QuerySelector` and `__InvokeUIMethod` methods. -- **Security & CSP Compliance**: Added a `nonce` attribute to the iframe's `srcdoc` script execution, strengthening Content Security Policy (CSP) compliance. -- **`` Parameter Enhancements**: - - Added the `browser-config` attribute and property to ``. Development environments can now supply a `BrowserConfig` object (e.g., configuring `pixelRatio`, `pixelWidth`, `pixelHeight`) allowing the `systemInfo` payload to be dynamically configured at the instance level. - -### 🔄 Changed Features - -- **Legacy JSON Backwards Compatibility**: Delivered comprehensive fixes and optimizations to deeply support legacy JSON output templates: - - Added support for lazy loading execution mode (`lazy usage`). - - Implemented the correct decoding and handling of `@keyframe` animation rules. - - Rectified rule scoping matching including scoped CSS, root selectors, and type selectors. -- **Ecosystem Migration**: Updated testing and ecosystem applications (such as `web-explorer` and `shell-project`) to migrate away from obsolete fragmented dependencies. The new WASM architecture seamlessly integrates Element APIs and CSS directly inside the core client module, requiring a much simpler initialization footprint. - - **Before (Legacy `web-core` + `web-elements`):** - ```typescript - // Required multiple imports to assemble the environment - import '@lynx-js/web-core/client'; - import type { LynxViewElement as LynxView } from '@lynx-js/web-core'; - - // Had to manually import separate elements and their CSS - import '@lynx-js/web-elements/index.css'; - import '@lynx-js/web-elements/all'; - - const lynxView = document.createElement('lynx-view') as LynxView; - // ... - ``` - - **After (New `web-core` unified architecture):** - ```typescript - // The new engine natively registers Web Components and injects fundamental CSS - import '@lynx-js/web-core/client'; - import type { LynxViewElement as LynxView } from '@lynx-js/web-core/client'; - - const lynxView = document.createElement('lynx-view') as LynxView; - // ... - ``` - _(Applications can now drop `@lynx-js/web-elements` entirely from their `package.json` dependencies)._ -- **Dependency & Boot Sequence Improvements**: Re-architected module loading pathways. Promoted `wasm-feature-detect` directly to a core dependency, and hardened the web worker count initialization assertions. -- **Initialization Optimizations**: Converted `SERVER_IN_SHADOW_CSS` initialization bounds to use compilation-time constant expressions for better optimization. - -### 🗑️ Deleted Features & Structural Deprecations - -- **`` Parameter Removals**: - - Removed the `thread-strategy` property and attribute. Historically, this permitted consumers to toggle between `'multi-thread'` and `'all-on-ui'` modes depending on how they wanted the background logic to be executed. The WASM-driven architecture enforces a consolidated concurrency model, deprecating this `` attribute entirely. - - Removed the `overrideLynxTagToHTMLTagMap` property/attribute. HTML tag overriding mechanism has been deprecated in the new engine. - - Removed the `customTemplateLoader` property handler from ``. - - Removed the `inject-head-links` property and attribute (`injectHeadLinks`), which previously was used to automatically inject `` tags from the document head into the `lynx-view` shadow root. -- **Fragmented Packages Removal**: The new cohesive WASM architecture native to `@lynx-js/web-core` handles cross-thread communication, worker boundaries, and rendering loops uniformly. Consequently, multiple obsolete packages have been completely removed from the workspace: - - `@lynx-js/web-mainthread-apis` - - `@lynx-js/web-worker-runtime` - - `@lynx-js/web-core-server` - - `@lynx-js/web-core-wasm-e2e` (transitioned into standard test suites) diff --git a/.changeset/blue-emus-brake.md b/.changeset/blue-emus-brake.md deleted file mode 100644 index 16c6ac62ea..0000000000 --- a/.changeset/blue-emus-brake.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@lynx-js/external-bundle-rsbuild-plugin": minor -"@lynx-js/externals-loading-webpack-plugin": minor -"@lynx-js/lynx-bundle-rslib-config": minor ---- - -**BREAKING CHANGE**: - -Simplify the API for external bundle builds by `externalsPresets` and `externalsPresetDefinitions`. diff --git a/.changeset/bright-shrimps-learn.md b/.changeset/bright-shrimps-learn.md deleted file mode 100644 index 4abc878c25..0000000000 --- a/.changeset/bright-shrimps-learn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/lynx-bundle-rslib-config": patch ---- - -Preserve the default external-bundle `output.minify.jsOptions` when users set `output.minify: true` in `defineExternalBundleRslibConfig`, so required minifier options are not lost. diff --git a/.changeset/bumpy-colts-double.md b/.changeset/bumpy-colts-double.md deleted file mode 100644 index e3affc39a0..0000000000 --- a/.changeset/bumpy-colts-double.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -chore: update readme diff --git a/.changeset/calm-toys-pull.md b/.changeset/calm-toys-pull.md deleted file mode 100644 index e303404463..0000000000 --- a/.changeset/calm-toys-pull.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/rspeedy": patch ---- - -Bump Rsbuild v1.7.4 with Rspack v1.7.10. diff --git a/.changeset/cyan-mice-tan.md b/.changeset/cyan-mice-tan.md deleted file mode 100644 index 3552315ba3..0000000000 --- a/.changeset/cyan-mice-tan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-rspeedy": patch ---- - -Add optional Lynx DevTool skill. diff --git a/.changeset/deep-teeth-end.md b/.changeset/deep-teeth-end.md deleted file mode 100644 index c97f032d8f..0000000000 --- a/.changeset/deep-teeth-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -fix: the output format should be module diff --git a/.changeset/early-chairs-open.md b/.changeset/early-chairs-open.md deleted file mode 100644 index b77564d8ac..0000000000 --- a/.changeset/early-chairs-open.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -opt: use opt-level 3 to compile wasm diff --git a/.changeset/fix-bundle-race-condition.md b/.changeset/fix-bundle-race-condition.md deleted file mode 100644 index 18f8396ddd..0000000000 --- a/.changeset/fix-bundle-race-condition.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -fix(web-core): avoid partial bundle loading and double fetching when fetchBundle is called concurrently for the same url. diff --git a/.changeset/fix-path-posix-format.md b/.changeset/fix-path-posix-format.md deleted file mode 100644 index 16da511491..0000000000 --- a/.changeset/fix-path-posix-format.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@lynx-js/template-webpack-plugin': patch ---- - -use path.posix.format instead of path.format to ensure consistent path separators across platforms diff --git a/.changeset/fix-query-component-processevalresult.md b/.changeset/fix-query-component-processevalresult.md deleted file mode 100644 index ab5bbbd0b4..0000000000 --- a/.changeset/fix-query-component-processevalresult.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -fix(web-core): fallback to the original export chunk when `processEvalResult` is absent during `queryComponent` execution diff --git a/.changeset/fix-rpx-unit-inline.md b/.changeset/fix-rpx-unit-inline.md deleted file mode 100644 index bfdf07de13..0000000000 --- a/.changeset/fix-rpx-unit-inline.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -fix: tokenizing inline style values correctly to support rpx and ppx unit conversion - -This fixes an issue where the `transform_inline_style_key_value_vec` API bypassed the CSS tokenizer, preventing dimension units like `rpx` or `ppx` from being successfully transformed into `calc` strings when specified via inline styles. diff --git a/.changeset/forty-trains-carry.md b/.changeset/forty-trains-carry.md deleted file mode 100644 index b11d41383a..0000000000 --- a/.changeset/forty-trains-carry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/devtool-connector": patch ---- - -fix: align GlobalKeys with Android DevToolSettings keys and filter global switch responses diff --git a/.changeset/four-forks-watch.md b/.changeset/four-forks-watch.md deleted file mode 100644 index 31455d3da8..0000000000 --- a/.changeset/four-forks-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/react-umd": patch ---- - -Add a new `entry` export to `@lynx-js/react-umd` for reuse by wrapper libraries of `@lynx-js/react`. diff --git a/.changeset/giant-papers-play.md b/.changeset/giant-papers-play.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/giant-papers-play.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/.changeset/hip-moles-hope.md b/.changeset/hip-moles-hope.md deleted file mode 100644 index 980765603f..0000000000 --- a/.changeset/hip-moles-hope.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -feat: add mts lynx.querySelectorAll API diff --git a/.changeset/huge-breads-jam.md b/.changeset/huge-breads-jam.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/huge-breads-jam.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/.changeset/large-plums-obey.md b/.changeset/large-plums-obey.md deleted file mode 100644 index 6a7fd5c091..0000000000 --- a/.changeset/large-plums-obey.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -fix: mts in lazy component diff --git a/.changeset/legal-spoons-battle.md b/.changeset/legal-spoons-battle.md deleted file mode 100644 index c444c262d6..0000000000 --- a/.changeset/legal-spoons-battle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -fix: enableJSDataProcessor not work diff --git a/.changeset/major-experts-chew.md b/.changeset/major-experts-chew.md deleted file mode 100644 index f9d0388a96..0000000000 --- a/.changeset/major-experts-chew.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/react": patch ---- - -Update preact version to simplify `setProperty` implementation diff --git a/.changeset/react-rsbuild-plugin-optimize-bundle-size.md b/.changeset/react-rsbuild-plugin-optimize-bundle-size.md deleted file mode 100644 index 552a216e6f..0000000000 --- a/.changeset/react-rsbuild-plugin-optimize-bundle-size.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@lynx-js/react-rsbuild-plugin": minor ---- - -feat: support `optimizeBundleSize` option to remove unused code for main-thread and background. - -- If `optimizeBundleSize` is `true` or `optimizeBundleSize.background` is `true`, `lynx.registerDataProcessors` calls will be marked as pure for the background thread output. -- If `optimizeBundleSize` is `true` or `optimizeBundleSize.mainThread` is `true`, `NativeModules.call` and `lynx.getJSModule` calls will be marked as pure for the main-thread output. diff --git a/.changeset/refactor-remove-webpack-chain.md b/.changeset/refactor-remove-webpack-chain.md deleted file mode 100644 index d7966baeba..0000000000 --- a/.changeset/refactor-remove-webpack-chain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/react-rsbuild-plugin": patch ---- - -refactor: remove `modifyWebpackChain` since Rsbuild 2.0 dropped webpack support diff --git a/.changeset/solid-sides-yawn.md b/.changeset/solid-sides-yawn.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/solid-sides-yawn.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/.changeset/swift-spoons-smile.md b/.changeset/swift-spoons-smile.md deleted file mode 100644 index 7f3533fd9e..0000000000 --- a/.changeset/swift-spoons-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-rspeedy": patch ---- - -move Vitest integration to create-rstack extraTools and merge the Vitest templates into a single incremental overlay diff --git a/.changeset/tall-taxis-laugh.md b/.changeset/tall-taxis-laugh.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/tall-taxis-laugh.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/.changeset/thirty-snakes-doubt.md b/.changeset/thirty-snakes-doubt.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/thirty-snakes-doubt.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/.changeset/tiny-ants-float.md b/.changeset/tiny-ants-float.md deleted file mode 100644 index 745719502b..0000000000 --- a/.changeset/tiny-ants-float.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/rspeedy": minor ---- - -feat: add `Minify.mainThreadOptions` and `Minify.backgroundOptions` for thread-specific minifier. diff --git a/.changeset/transform-ppx.md b/.changeset/transform-ppx.md deleted file mode 100644 index c99e999f37..0000000000 --- a/.changeset/transform-ppx.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@lynx-js/web-core": patch ---- - -feat: add `ppx` unit support for CSS, transforming to `calc(... * var(--ppx-unit))` directly. diff --git a/.changeset/transform-rpx.md b/.changeset/transform-rpx.md deleted file mode 100644 index 25d137b26f..0000000000 --- a/.changeset/transform-rpx.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -"@lynx-js/web-core": minor ---- - -Added support for `rpx` unit - -**This is a breaking change** - -The following Styles has been added to `web-core` - -```css -lynx-view { - width: 100%; - container-name: lynx-view; - container-type: inline-size; - --rpx-unit: 1cqw; -} -``` - -Check MDN for the details about these styles: - -- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/container-name -- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/container-type -- https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Containment/Container_queries - -### how it works? - -For the following code - -```html - -``` - -it will be transformed to - -```html - -``` - -Therefore you could use any `` value to replace the unit, for example: - -```html - -``` - -By default, the --rpx-unit value is `1cqw` diff --git a/.changeset/transform-vw-vh-support.md b/.changeset/transform-vw-vh-support.md deleted file mode 100644 index be9996a3c5..0000000000 --- a/.changeset/transform-vw-vh-support.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -"@lynx-js/web-core": minor ---- - -Added support for transform `vw` and `vh` unit - -Add `transform-vw` and `transform-vh` attributes and properties on ``. - -For the following code - -```html - -``` - -If the `transform-vw` is enabled ``, it will be transformed to - -```html - -``` - -Therefore you could use any `` value to replace the unit, for example: - -```html - -``` diff --git a/.changeset/warm-kings-help.md b/.changeset/warm-kings-help.md deleted file mode 100644 index 853d812bb3..0000000000 --- a/.changeset/warm-kings-help.md +++ /dev/null @@ -1,3 +0,0 @@ ---- - ---- diff --git a/packages/mcp-servers/devtool-connector/CHANGELOG.md b/packages/mcp-servers/devtool-connector/CHANGELOG.md new file mode 100644 index 0000000000..9b55abfd56 --- /dev/null +++ b/packages/mcp-servers/devtool-connector/CHANGELOG.md @@ -0,0 +1,7 @@ +# @lynx-js/devtool-connector + +## 0.1.1 + +### Patch Changes + +- fix: align GlobalKeys with Android DevToolSettings keys and filter global switch responses ([#2392](https://github.com/lynx-family/lynx-stack/pull/2392)) diff --git a/packages/mcp-servers/devtool-connector/package.json b/packages/mcp-servers/devtool-connector/package.json index b9e0ae7b83..08277af4a7 100644 --- a/packages/mcp-servers/devtool-connector/package.json +++ b/packages/mcp-servers/devtool-connector/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/devtool-connector", - "version": "0.1.0", + "version": "0.1.1", "repository": { "type": "git", "url": "git+https://github.com/lynx-family/lynx-stack.git", diff --git a/packages/mcp-servers/devtool-mcp-server/CHANGELOG.md b/packages/mcp-servers/devtool-mcp-server/CHANGELOG.md index f1be64d343..8d3254944c 100644 --- a/packages/mcp-servers/devtool-mcp-server/CHANGELOG.md +++ b/packages/mcp-servers/devtool-mcp-server/CHANGELOG.md @@ -1,5 +1,12 @@ # @lynx-js/devtool-mcp-server +## 0.5.1 + +### Patch Changes + +- Updated dependencies [[`95fff27`](https://github.com/lynx-family/lynx-stack/commit/95fff270c8095d1baf556237d9108f030345303f)]: + - @lynx-js/devtool-connector@0.1.1 + ## 0.5.0 ### Minor Changes diff --git a/packages/mcp-servers/devtool-mcp-server/package.json b/packages/mcp-servers/devtool-mcp-server/package.json index f1a2285833..de534f619b 100644 --- a/packages/mcp-servers/devtool-mcp-server/package.json +++ b/packages/mcp-servers/devtool-mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/devtool-mcp-server", - "version": "0.5.0", + "version": "0.5.1", "description": "The Lynx DevTool for coding agent.", "repository": { "type": "git", diff --git a/packages/react-umd/CHANGELOG.md b/packages/react-umd/CHANGELOG.md index 7b19db6cd7..784aaa3a97 100644 --- a/packages/react-umd/CHANGELOG.md +++ b/packages/react-umd/CHANGELOG.md @@ -1,5 +1,11 @@ # @lynx-js/react-umd +## 0.117.1 + +### Patch Changes + +- Add a new `entry` export to `@lynx-js/react-umd` for reuse by wrapper libraries of `@lynx-js/react`. ([#2370](https://github.com/lynx-family/lynx-stack/pull/2370)) + ## 0.117.0 ### Minor Changes diff --git a/packages/react-umd/package.json b/packages/react-umd/package.json index d8bfb9914a..7785c6fc08 100644 --- a/packages/react-umd/package.json +++ b/packages/react-umd/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/react-umd", - "version": "0.117.0", + "version": "0.117.1", "description": "UMD build for ReactLynx", "keywords": [ "ReactLynx", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index d96ed1a4e0..7130284e1e 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,11 @@ # @lynx-js/react +## 0.117.1 + +### Patch Changes + +- Update preact version to simplify `setProperty` implementation ([#2367](https://github.com/lynx-family/lynx-stack/pull/2367)) + ## 0.117.0 ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index 4427951fe7..64bcab56fb 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/react", - "version": "0.117.0", + "version": "0.117.1", "description": "ReactLynx is a framework for developing Lynx applications with familiar React.", "repository": { "type": "git", diff --git a/packages/rspeedy/core/CHANGELOG.md b/packages/rspeedy/core/CHANGELOG.md index eab4dbc416..3a8b282d58 100644 --- a/packages/rspeedy/core/CHANGELOG.md +++ b/packages/rspeedy/core/CHANGELOG.md @@ -1,5 +1,18 @@ # @lynx-js/rspeedy +## 0.14.0 + +### Minor Changes + +- feat: add `Minify.mainThreadOptions` and `Minify.backgroundOptions` for thread-specific minifier. ([#2336](https://github.com/lynx-family/lynx-stack/pull/2336)) + +### Patch Changes + +- Bump Rsbuild v1.7.4 with Rspack v1.7.10. ([#2384](https://github.com/lynx-family/lynx-stack/pull/2384)) + +- Updated dependencies []: + - @lynx-js/web-rsbuild-server-middleware@0.20.0 + ## 0.13.6 ### Patch Changes diff --git a/packages/rspeedy/core/package.json b/packages/rspeedy/core/package.json index 03a91e6e5e..6912262900 100644 --- a/packages/rspeedy/core/package.json +++ b/packages/rspeedy/core/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/rspeedy", - "version": "0.13.6", + "version": "0.14.0", "description": "A webpack/rspack-based frontend toolchain for Lynx", "keywords": [ "webpack", diff --git a/packages/rspeedy/create-rspeedy/CHANGELOG.md b/packages/rspeedy/create-rspeedy/CHANGELOG.md index ddeebdd7fa..df87f7ff07 100644 --- a/packages/rspeedy/create-rspeedy/CHANGELOG.md +++ b/packages/rspeedy/create-rspeedy/CHANGELOG.md @@ -1,5 +1,13 @@ # create-rspeedy +## 0.14.0 + +### Patch Changes + +- Add optional Lynx DevTool skill. ([#2421](https://github.com/lynx-family/lynx-stack/pull/2421)) + +- move Vitest integration to create-rstack extraTools and merge the Vitest templates into a single incremental overlay ([#2408](https://github.com/lynx-family/lynx-stack/pull/2408)) + ## 0.13.6 ## 0.13.5 diff --git a/packages/rspeedy/create-rspeedy/package.json b/packages/rspeedy/create-rspeedy/package.json index 4567814b76..8e7d7ce9a7 100644 --- a/packages/rspeedy/create-rspeedy/package.json +++ b/packages/rspeedy/create-rspeedy/package.json @@ -1,6 +1,6 @@ { "name": "create-rspeedy", - "version": "0.13.6", + "version": "0.14.0", "description": "Create Rspeedy-powered ReactLynx apps with one command", "keywords": [ "webpack", diff --git a/packages/rspeedy/lynx-bundle-rslib-config/CHANGELOG.md b/packages/rspeedy/lynx-bundle-rslib-config/CHANGELOG.md index 7fa0ede60b..7a0ece6380 100644 --- a/packages/rspeedy/lynx-bundle-rslib-config/CHANGELOG.md +++ b/packages/rspeedy/lynx-bundle-rslib-config/CHANGELOG.md @@ -1,5 +1,17 @@ # @lynx-js/lynx-bundle-rslib-config +## 0.3.0 + +### Minor Changes + +- **BREAKING CHANGE**: ([#2370](https://github.com/lynx-family/lynx-stack/pull/2370)) + + Simplify the API for external bundle builds by `externalsPresets` and `externalsPresetDefinitions`. + +### Patch Changes + +- Preserve the default external-bundle `output.minify.jsOptions` when users set `output.minify: true` in `defineExternalBundleRslibConfig`, so required minifier options are not lost. ([#2390](https://github.com/lynx-family/lynx-stack/pull/2390)) + ## 0.2.3 ### Patch Changes diff --git a/packages/rspeedy/lynx-bundle-rslib-config/package.json b/packages/rspeedy/lynx-bundle-rslib-config/package.json index caff4fbbc6..b827b60305 100644 --- a/packages/rspeedy/lynx-bundle-rslib-config/package.json +++ b/packages/rspeedy/lynx-bundle-rslib-config/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/lynx-bundle-rslib-config", - "version": "0.2.3", + "version": "0.3.0", "description": "The rsbuild config for building Lynx bundle", "keywords": [ "Rsbuild", diff --git a/packages/rspeedy/plugin-external-bundle/CHANGELOG.md b/packages/rspeedy/plugin-external-bundle/CHANGELOG.md index 408eb8cb69..dde1469de0 100644 --- a/packages/rspeedy/plugin-external-bundle/CHANGELOG.md +++ b/packages/rspeedy/plugin-external-bundle/CHANGELOG.md @@ -1,5 +1,18 @@ # @lynx-js/external-bundle-rsbuild-plugin +## 0.1.0 + +### Minor Changes + +- **BREAKING CHANGE**: ([#2370](https://github.com/lynx-family/lynx-stack/pull/2370)) + + Simplify the API for external bundle builds by `externalsPresets` and `externalsPresetDefinitions`. + +### Patch Changes + +- Updated dependencies [[`7b7a0c6`](https://github.com/lynx-family/lynx-stack/commit/7b7a0c6ee35e32f9575436cb36b25f2931f43c05)]: + - @lynx-js/externals-loading-webpack-plugin@0.1.0 + ## 0.0.4 ### Patch Changes diff --git a/packages/rspeedy/plugin-external-bundle/package.json b/packages/rspeedy/plugin-external-bundle/package.json index e6a8190317..8eca7899aa 100644 --- a/packages/rspeedy/plugin-external-bundle/package.json +++ b/packages/rspeedy/plugin-external-bundle/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/external-bundle-rsbuild-plugin", - "version": "0.0.4", + "version": "0.1.0", "description": "An rsbuild plugin for loading lynx external bundles.", "keywords": [ "rsbuild", diff --git a/packages/rspeedy/plugin-react-alias/CHANGELOG.md b/packages/rspeedy/plugin-react-alias/CHANGELOG.md index 2e1232d6e7..265d02a7d8 100644 --- a/packages/rspeedy/plugin-react-alias/CHANGELOG.md +++ b/packages/rspeedy/plugin-react-alias/CHANGELOG.md @@ -1,5 +1,7 @@ # @lynx-js/react-alias-rsbuild-plugin +## 0.14.0 + ## 0.13.0 ## 0.12.10 diff --git a/packages/rspeedy/plugin-react-alias/package.json b/packages/rspeedy/plugin-react-alias/package.json index 8f66afb951..b6dd5d665f 100644 --- a/packages/rspeedy/plugin-react-alias/package.json +++ b/packages/rspeedy/plugin-react-alias/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/react-alias-rsbuild-plugin", - "version": "0.13.0", + "version": "0.14.0", "description": "A rsbuild plugin for making alias in ReactLynx", "keywords": [ "rsbuild", diff --git a/packages/rspeedy/plugin-react/CHANGELOG.md b/packages/rspeedy/plugin-react/CHANGELOG.md index 808c60eadd..da5ce91728 100644 --- a/packages/rspeedy/plugin-react/CHANGELOG.md +++ b/packages/rspeedy/plugin-react/CHANGELOG.md @@ -1,5 +1,26 @@ # @lynx-js/react-rsbuild-plugin +## 0.14.0 + +### Minor Changes + +- feat: support `optimizeBundleSize` option to remove unused code for main-thread and background. ([#2336](https://github.com/lynx-family/lynx-stack/pull/2336)) + + - If `optimizeBundleSize` is `true` or `optimizeBundleSize.background` is `true`, `lynx.registerDataProcessors` calls will be marked as pure for the background thread output. + - If `optimizeBundleSize` is `true` or `optimizeBundleSize.mainThread` is `true`, `NativeModules.call` and `lynx.getJSModule` calls will be marked as pure for the main-thread output. + +### Patch Changes + +- refactor: remove `modifyWebpackChain` since Rsbuild 2.0 dropped webpack support ([#2397](https://github.com/lynx-family/lynx-stack/pull/2397)) + +- Updated dependencies [[`9193711`](https://github.com/lynx-family/lynx-stack/commit/919371167f4136f2ee975075d8e73d2986b20a8f)]: + - @lynx-js/template-webpack-plugin@0.10.7 + - @lynx-js/css-extract-webpack-plugin@0.7.0 + - @lynx-js/react-webpack-plugin@0.8.0 + - @lynx-js/react-alias-rsbuild-plugin@0.14.0 + - @lynx-js/use-sync-external-store@1.5.0 + - @lynx-js/react-refresh-webpack-plugin@0.3.5 + ## 0.13.0 ### Minor Changes diff --git a/packages/rspeedy/plugin-react/package.json b/packages/rspeedy/plugin-react/package.json index e83d2f2dde..da25e35bed 100644 --- a/packages/rspeedy/plugin-react/package.json +++ b/packages/rspeedy/plugin-react/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/react-rsbuild-plugin", - "version": "0.13.0", + "version": "0.14.0", "description": "A rsbuild plugin for ReactLynx", "keywords": [ "rsbuild", diff --git a/packages/rspeedy/upgrade-rspeedy/CHANGELOG.md b/packages/rspeedy/upgrade-rspeedy/CHANGELOG.md index a58b1517db..4e0ca19620 100644 --- a/packages/rspeedy/upgrade-rspeedy/CHANGELOG.md +++ b/packages/rspeedy/upgrade-rspeedy/CHANGELOG.md @@ -1,5 +1,7 @@ # upgrade-rspeedy +## 0.14.0 + ## 0.13.6 ## 0.13.5 diff --git a/packages/rspeedy/upgrade-rspeedy/package.json b/packages/rspeedy/upgrade-rspeedy/package.json index a007d445f8..2b1443d6d1 100644 --- a/packages/rspeedy/upgrade-rspeedy/package.json +++ b/packages/rspeedy/upgrade-rspeedy/package.json @@ -1,6 +1,6 @@ { "name": "upgrade-rspeedy", - "version": "0.13.6", + "version": "0.14.0", "description": "Upgrade Rspeedy-related packages", "keywords": [ "webpack", diff --git a/packages/testing-library/kitten-lynx/CHANGELOG.md b/packages/testing-library/kitten-lynx/CHANGELOG.md index 3827c6338f..a57079c457 100644 --- a/packages/testing-library/kitten-lynx/CHANGELOG.md +++ b/packages/testing-library/kitten-lynx/CHANGELOG.md @@ -1,5 +1,12 @@ # @lynx-js/kitten-lynx-test-infra +## 0.1.2 + +### Patch Changes + +- Updated dependencies [[`95fff27`](https://github.com/lynx-family/lynx-stack/commit/95fff270c8095d1baf556237d9108f030345303f)]: + - @lynx-js/devtool-connector@0.1.1 + ## 0.1.1 ### Patch Changes diff --git a/packages/testing-library/kitten-lynx/package.json b/packages/testing-library/kitten-lynx/package.json index 9a0d6d34ef..497dfb7730 100644 --- a/packages/testing-library/kitten-lynx/package.json +++ b/packages/testing-library/kitten-lynx/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/kitten-lynx-test-infra", - "version": "0.1.1", + "version": "0.1.2", "description": "A testing framework executing the Lynx explorer Android application", "keywords": [ "Lynx", diff --git a/packages/web-platform/web-core/CHANGELOG.md b/packages/web-platform/web-core/CHANGELOG.md index b00b8eca3d..677ecf2f26 100644 --- a/packages/web-platform/web-core/CHANGELOG.md +++ b/packages/web-platform/web-core/CHANGELOG.md @@ -1,5 +1,168 @@ # @lynx-js/web-core +## 0.20.0 + +### Minor Changes + +- **This is a breaking change** ([#2322](https://github.com/lynx-family/lynx-stack/pull/2322)) + + ## Architectural Upgrade: `web-core-wasm` replaces `web-core` + + This release marks a major architectural upgrade for the web platform. The experimental, WASM-powered engine formerly known as `web-core-wasm` has been fully stabilized and merged into the main branch, completely replacing the previous pure JS/TS based `web-core` implementation. This consolidation massively improves execution performance and aligns the API boundaries of the Web platform directly with other native Lynx implementations. + + ### 🎉 Added Features + + - **Core API Enhancements**: Successfully exposed and supported `__QuerySelector` and `__InvokeUIMethod` methods. + - **Security & CSP Compliance**: Added a `nonce` attribute to the iframe's `srcdoc` script execution, strengthening Content Security Policy (CSP) compliance. + - **`` Parameter Enhancements**: + - Added the `browser-config` attribute and property to ``. Development environments can now supply a `BrowserConfig` object (e.g., configuring `pixelRatio`, `pixelWidth`, `pixelHeight`) allowing the `systemInfo` payload to be dynamically configured at the instance level. + + ### 🔄 Changed Features + + - **Legacy JSON Backwards Compatibility**: Delivered comprehensive fixes and optimizations to deeply support legacy JSON output templates: + - Added support for lazy loading execution mode (`lazy usage`). + - Implemented the correct decoding and handling of `@keyframe` animation rules. + - Rectified rule scoping matching including scoped CSS, root selectors, and type selectors. + - **Ecosystem Migration**: Updated testing and ecosystem applications (such as `web-explorer` and `shell-project`) to migrate away from obsolete fragmented dependencies. The new WASM architecture seamlessly integrates Element APIs and CSS directly inside the core client module, requiring a much simpler initialization footprint. + + **Before (Legacy `web-core` + `web-elements`):** + + ```typescript + // Required multiple imports to assemble the environment + import '@lynx-js/web-core/client'; + import type { LynxViewElement as LynxView } from '@lynx-js/web-core'; + + // Had to manually import separate elements and their CSS + import '@lynx-js/web-elements/index.css'; + import '@lynx-js/web-elements/all'; + + const lynxView = document.createElement('lynx-view') as LynxView; + // ... + ``` + + **After (New `web-core` unified architecture):** + + ```typescript + // The new engine natively registers Web Components and injects fundamental CSS + import '@lynx-js/web-core/client'; + import type { LynxViewElement as LynxView } from '@lynx-js/web-core/client'; + + const lynxView = document.createElement('lynx-view') as LynxView; + // ... + ``` + + _(Applications can now drop `@lynx-js/web-elements` entirely from their `package.json` dependencies)._ + + - **Dependency & Boot Sequence Improvements**: Re-architected module loading pathways. Promoted `wasm-feature-detect` directly to a core dependency, and hardened the web worker count initialization assertions. + - **Initialization Optimizations**: Converted `SERVER_IN_SHADOW_CSS` initialization bounds to use compilation-time constant expressions for better optimization. + + ### 🗑️ Deleted Features & Structural Deprecations + + - **`` Parameter Removals**: + - Removed the `thread-strategy` property and attribute. Historically, this permitted consumers to toggle between `'multi-thread'` and `'all-on-ui'` modes depending on how they wanted the background logic to be executed. The WASM-driven architecture enforces a consolidated concurrency model, deprecating this `` attribute entirely. + - Removed the `overrideLynxTagToHTMLTagMap` property/attribute. HTML tag overriding mechanism has been deprecated in the new engine. + - Removed the `customTemplateLoader` property handler from ``. + - Removed the `inject-head-links` property and attribute (`injectHeadLinks`), which previously was used to automatically inject `` tags from the document head into the `lynx-view` shadow root. + - **Fragmented Packages Removal**: The new cohesive WASM architecture native to `@lynx-js/web-core` handles cross-thread communication, worker boundaries, and rendering loops uniformly. Consequently, multiple obsolete packages have been completely removed from the workspace: + - `@lynx-js/web-mainthread-apis` + - `@lynx-js/web-worker-runtime` + - `@lynx-js/web-core-server` + - `@lynx-js/web-core-wasm-e2e` (transitioned into standard test suites) + +- Added support for `rpx` unit ([#2377](https://github.com/lynx-family/lynx-stack/pull/2377)) + + **This is a breaking change** + + The following Styles has been added to `web-core` + + ```css + lynx-view { + width: 100%; + container-name: lynx-view; + container-type: inline-size; + --rpx-unit: 1cqw; + } + ``` + + Check MDN for the details about these styles: + + - https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/container-name + - https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/container-type + - https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Containment/Container_queries + + ### how it works? + + For the following code + + ```html + + ``` + + it will be transformed to + + ```html + + ``` + + Therefore you could use any `` value to replace the unit, for example: + + ```html + + ``` + + By default, the --rpx-unit value is `1cqw` + +- Added support for transform `vw` and `vh` unit ([#2377](https://github.com/lynx-family/lynx-stack/pull/2377)) + + Add `transform-vw` and `transform-vh` attributes and properties on ``. + + For the following code + + ```html + + ``` + + If the `transform-vw` is enabled ``, it will be transformed to + + ```html + + ``` + + Therefore you could use any `` value to replace the unit, for example: + + ```html + + ``` + +### Patch Changes + +- feat(web-core): add `is_bubble` parameter to `common_event_handler` to properly handle non-bubbling events like `window.Event('click', { bubbles: false })`. ([#2399](https://github.com/lynx-family/lynx-stack/pull/2399)) + +- chore: update readme ([#2380](https://github.com/lynx-family/lynx-stack/pull/2380)) + +- fix: the output format should be module ([#2388](https://github.com/lynx-family/lynx-stack/pull/2388)) + +- opt: use opt-level 3 to compile wasm ([#2371](https://github.com/lynx-family/lynx-stack/pull/2371)) + +- fix(web-core): avoid partial bundle loading and double fetching when fetchBundle is called concurrently for the same url. ([#2386](https://github.com/lynx-family/lynx-stack/pull/2386)) + +- fix(web-core): fallback to the original export chunk when `processEvalResult` is absent during `queryComponent` execution ([#2399](https://github.com/lynx-family/lynx-stack/pull/2399)) + +- fix: tokenizing inline style values correctly to support rpx and ppx unit conversion ([#2381](https://github.com/lynx-family/lynx-stack/pull/2381)) + + This fixes an issue where the `transform_inline_style_key_value_vec` API bypassed the CSS tokenizer, preventing dimension units like `rpx` or `ppx` from being successfully transformed into `calc` strings when specified via inline styles. + +- feat: add mts lynx.querySelectorAll API ([#2382](https://github.com/lynx-family/lynx-stack/pull/2382)) + +- fix: mts in lazy component ([#2375](https://github.com/lynx-family/lynx-stack/pull/2375)) + +- fix: enableJSDataProcessor not work ([#2372](https://github.com/lynx-family/lynx-stack/pull/2372)) + +- feat: add `ppx` unit support for CSS, transforming to `calc(... * var(--ppx-unit))` directly. ([#2381](https://github.com/lynx-family/lynx-stack/pull/2381)) + +- Updated dependencies []: + - @lynx-js/web-worker-rpc@0.20.0 + ## 0.19.8 ### Patch Changes diff --git a/packages/web-platform/web-core/package.json b/packages/web-platform/web-core/package.json index e9e091d88d..ffaa311293 100644 --- a/packages/web-platform/web-core/package.json +++ b/packages/web-platform/web-core/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/web-core", - "version": "0.19.8", + "version": "0.20.0", "description": "This is an internal experimental package, do not use", "repository": { "type": "git", diff --git a/packages/web-platform/web-rsbuild-server-middleware/CHANGELOG.md b/packages/web-platform/web-rsbuild-server-middleware/CHANGELOG.md index 9733241a40..e1977dc69b 100644 --- a/packages/web-platform/web-rsbuild-server-middleware/CHANGELOG.md +++ b/packages/web-platform/web-rsbuild-server-middleware/CHANGELOG.md @@ -1,5 +1,7 @@ # @lynx-js/web-rsbuild-server-middleware +## 0.20.0 + ## 0.19.9 ## 0.19.8 diff --git a/packages/web-platform/web-rsbuild-server-middleware/package.json b/packages/web-platform/web-rsbuild-server-middleware/package.json index a4ef2ca27b..63452e17ee 100644 --- a/packages/web-platform/web-rsbuild-server-middleware/package.json +++ b/packages/web-platform/web-rsbuild-server-middleware/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/web-rsbuild-server-middleware", - "version": "0.19.9", + "version": "0.20.0", "private": false, "description": "a dev server middleware for rsbuild to serve Lynx Web Platform shell project", "keywords": [], diff --git a/packages/web-platform/web-worker-rpc/CHANGELOG.md b/packages/web-platform/web-worker-rpc/CHANGELOG.md index eb988e6cba..1eb07c83da 100644 --- a/packages/web-platform/web-worker-rpc/CHANGELOG.md +++ b/packages/web-platform/web-worker-rpc/CHANGELOG.md @@ -1,5 +1,7 @@ # @lynx-js/web-worker-rpc +## 0.20.0 + ## 0.19.9 ## 0.19.8 diff --git a/packages/web-platform/web-worker-rpc/package.json b/packages/web-platform/web-worker-rpc/package.json index 552ecc3d4b..4b747b63fd 100644 --- a/packages/web-platform/web-worker-rpc/package.json +++ b/packages/web-platform/web-worker-rpc/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/web-worker-rpc", - "version": "0.19.9", + "version": "0.20.0", "private": false, "description": "", "keywords": [], diff --git a/packages/webpack/externals-loading-webpack-plugin/CHANGELOG.md b/packages/webpack/externals-loading-webpack-plugin/CHANGELOG.md index 56cf665e84..6bd493fc29 100644 --- a/packages/webpack/externals-loading-webpack-plugin/CHANGELOG.md +++ b/packages/webpack/externals-loading-webpack-plugin/CHANGELOG.md @@ -1,5 +1,13 @@ # @lynx-js/externals-loading-webpack-plugin +## 0.1.0 + +### Minor Changes + +- **BREAKING CHANGE**: ([#2370](https://github.com/lynx-family/lynx-stack/pull/2370)) + + Simplify the API for external bundle builds by `externalsPresets` and `externalsPresetDefinitions`. + ## 0.0.5 ### Patch Changes diff --git a/packages/webpack/externals-loading-webpack-plugin/package.json b/packages/webpack/externals-loading-webpack-plugin/package.json index c0c7d92d74..5285505942 100644 --- a/packages/webpack/externals-loading-webpack-plugin/package.json +++ b/packages/webpack/externals-loading-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/externals-loading-webpack-plugin", - "version": "0.0.5", + "version": "0.1.0", "description": "A webpack plugin to load lynx external bundles.", "keywords": [ "webpack", diff --git a/packages/webpack/template-webpack-plugin/CHANGELOG.md b/packages/webpack/template-webpack-plugin/CHANGELOG.md index 27a595efce..ce51c832c7 100644 --- a/packages/webpack/template-webpack-plugin/CHANGELOG.md +++ b/packages/webpack/template-webpack-plugin/CHANGELOG.md @@ -1,5 +1,14 @@ # @lynx-js/template-webpack-plugin +## 0.10.7 + +### Patch Changes + +- use path.posix.format instead of path.format to ensure consistent path separators across platforms ([#2359](https://github.com/lynx-family/lynx-stack/pull/2359)) + +- Updated dependencies [[`75960cd`](https://github.com/lynx-family/lynx-stack/commit/75960cdcb3ed343e0f9746ba4d3f909d06c64ae2), [`518c310`](https://github.com/lynx-family/lynx-stack/commit/518c310ee38cd7b54e8e5ac5c0a0d27cc63a5189), [`863469e`](https://github.com/lynx-family/lynx-stack/commit/863469e7eae3e1a69181ff148309bf1037d1eb5e), [`dc18c5c`](https://github.com/lynx-family/lynx-stack/commit/dc18c5c191b6df8608e4707bf15bf9d89f2baf6e), [`7d242f3`](https://github.com/lynx-family/lynx-stack/commit/7d242f398930a941d3f18b1ca63dc78138a09351), [`62bebcf`](https://github.com/lynx-family/lynx-stack/commit/62bebcf66662b3473ab7e173f78d5c355f2d95ad), [`75960cd`](https://github.com/lynx-family/lynx-stack/commit/75960cdcb3ed343e0f9746ba4d3f909d06c64ae2), [`182f568`](https://github.com/lynx-family/lynx-stack/commit/182f56808444fd6c4b7a65f634f8cca537bc4d0b), [`1aa051d`](https://github.com/lynx-family/lynx-stack/commit/1aa051dec603af0008ad0c941a7ba869279acb03), [`6b46f7e`](https://github.com/lynx-family/lynx-stack/commit/6b46f7e9200ee38999c6257ee5a8a3f4261746b8), [`fcda36a`](https://github.com/lynx-family/lynx-stack/commit/fcda36a7c3cd7521a482911aff15be0e17637de1), [`182f568`](https://github.com/lynx-family/lynx-stack/commit/182f56808444fd6c4b7a65f634f8cca537bc4d0b), [`138f727`](https://github.com/lynx-family/lynx-stack/commit/138f7270e39e344ed4b1fecd8a0aef7908a3acd3), [`138f727`](https://github.com/lynx-family/lynx-stack/commit/138f7270e39e344ed4b1fecd8a0aef7908a3acd3)]: + - @lynx-js/web-core@0.20.0 + ## 0.10.6 ### Patch Changes diff --git a/packages/webpack/template-webpack-plugin/package.json b/packages/webpack/template-webpack-plugin/package.json index 1f447176f9..1eba1dfba0 100644 --- a/packages/webpack/template-webpack-plugin/package.json +++ b/packages/webpack/template-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@lynx-js/template-webpack-plugin", - "version": "0.10.6", + "version": "0.10.7", "description": "Simplifies creation of Lynx template files to serve your webpack bundles", "keywords": [ "webpack",