Skip to content

Releases: umijs/qiankun

v2.10.16

15 Nov 08:24
Compare
Choose a tag to compare
  • ⚡️ remove object spread operator for faster performance in big array iterator (#2812) e75952f

v2.10.15...v2.10.16

v2.10.15

02 Nov 13:32
Compare
Choose a tag to compare
  • 🐛 createElement hijack must be paired to avoid rewriting leak (#2777) a38b1af
  • 📝 add faq about how to make global event listener works well (#2734) 46e4921

v2.10.14...v2.10.15

v2.10.14

18 Oct 07:00
Compare
Choose a tag to compare

v2.10.13...v2.10.14

v3.0.0-rc.0

18 Sep 11:36
23d73b0
Compare
Choose a tag to compare
v3.0.0-rc.0 Pre-release
Pre-release

✨ 新特性

  • 支持运行时依赖复用
    1. 仅支持主应用与子应用复用依赖,不支持子应用之间复用依赖
    2. 通过应用中声明 dependencymap 来指定复用策略,如
    <script type="dependencymap">
      {
        "dependencies": {
          "antd": {
            "url": "https://gw.alipayobjects.com/os/lib/antd/2.13.14/dist/antd.js",
            "version": "2.13.14",
            "range": "^2.0.0"
          },
          "react": {
            "url": "https://gw.alipayobjects.com/os/lib/react/15.7.0/dist/react.js",
            "version": "15.7.0",
            "range": "^15.0.0"
          },
          "react-dom": {
            "url": "https://gw.alipayobjects.com/os/lib/react-dom/15.7.0/dist/react-dom.js",
            "version": "15.7.0",
            "range": "^15.0.0"
          }
        }
      }
    </script>
    上面的配置表明的是当主应用的 antd 版本在 2.0.0 以上时,子应用的便会复用主应用的 antd。详细请参考 examples
  • 沙箱支持配置访问的全局变量代理

⚡️ 性能改进

  • 沙箱实现不再依赖 eval,彻底解决 Chrome 开启 devtools 时的内存泄漏问题
  • 基于客户端流式的方式修改子应用 HTML 标签

💥 不兼容更新

  • container 配置不再支持选择器字符串,仅支持配置 HTMLElement 引用,从而避免出现各种 container 找不到的异常
  • 子应用 entry 不支持内联脚本

🚧 建设中

目前仅支持了 loadMicroAppregisterMicroApps 两个最基础的 api,其他 api 会在后续陆续支持。


✨ New Features

  • Support for runtime dependency reuse
    1. Only support reusing dependencies between main app and sub apps, but not between sub apps
    2. Specify reuse strategy by declaring dependencymap in app script, e.g.
    <script type="dependencymap">
      {
        "dependencies": {
          "antd": {
            "url": "https://gw.alipayobjects.com/os/lib/antd/2.13.14/dist/antd.js",
            "version": "2.13.14",
            "range": "^2.0.0"
          },
          "react": {
            "url": "https://gw.alipayobjects.com/os/lib/react/15.7.0/dist/react.js",
            "version": "15.7.0",
            "range": "^15.0.0"
          },
          "react-dom": {
            "url": "https://gw.alipayobjects.com/os/lib/react-dom/15.7.0/dist/react-dom.js",
            "version": "15.7.0",
            "range": "^15.0.0"
          }
        }
      }
    </script>
    The above config means when the main app's antd version is above 2.0.0, the sub app will reuse the main app's antd. See examples for details.
  • Support configuring proxy for accessing global variables in sandbox.

⚡️ Performance Improvements

  • Sandbox implementation no longer relies on eval, completely solving Chrome's memory leak issue when devtools is opened.
  • Modify sub-app HTML tags based on client-side streaming rendering.

💥 Breaking Changes

  • container config no longer supports selector string, only supports configuring HTMLElement reference to avoid various container not found errors.
  • The subapplication entry does not support inline scripts.

🚧 Under Development

Currently only the two most basic APIs loadMicroApp and registerMicroApps are supported, other APIs will be supported gradually.

v3.0.0-alpha.0...v3.0.0-rc.0

v2.10.13

25 Aug 13:02
Compare
Choose a tag to compare
  • 🐛compatible with vConsole who will wrap global variables with proxy (#2630) 7328396
  • 👥 add new contributors :) (#2607) afb92ed
  • 👷 github actions optimization (#2601) (#2602) (#2599) (#2597) (#2594) (#2597)
  • ⬆️ upgrade import-html-entry to v1.14.6 (#2598) e04fa02
  • 🔒️use pull_request event instead of pull_request_target for security reason (#2586) 0386e90
  • 🎨 optimize code and support for scenario of dynamic script comment as reference node (#2576) 3878cea

v2.10.12...v2.10.13

v2.10.12

07 Aug 08:06
Compare
Choose a tag to compare
  • 🐛 avoid document.all accessing error in safari (#2575) c89c753
  • 🐛 keep dynamic stylesheet inserted order by insertBefore way (#2574) 69759a5
  • 👽️ requestIdleCallback add the polyfill of MessageChannel (#2475) e0e6763
  • 📝 correct docs (#2556)(#2564)
  • 📝 remove outdated ads (#2561) a83479c

v2.10.11...v2.10.12

v2.10.11

06 Jul 10:53
Compare
Choose a tag to compare
  • 🐛 compatiable with react development for event rewrite scenarios (#2545) d9502f5

v2.10.10...v2.10.11

v2.10.10

30 Jun 08:31
Compare
Choose a tag to compare
  • 🐛 fix IE bug that cssText cannot be accessed while it prefixing with -webkit (#2532) becb7ad
  • 👥 add pr contributor workflow (#2539) c007c70

v2.10.9...v2.10.10

v2.10.9

13 Jun 07:12
Compare
Choose a tag to compare
  • 🐛 document.head.removeChild should be hooked in sandbox (#2522) 521efb8

v2.10.8...v2.10.9

v2.10.8

16 May 08:39
Compare
Choose a tag to compare
  • 🐛 support Node.prototype.compareDocumentPosition in sandbox (#2503) ad23bbf
  • 🐛 document head in micro app should use the proxied appendChild methods (#2502) 8440aa5

v2.10.7...v2.10.8