Skip to content

Remove some IE11 support (Symbols)#21079

Merged
ef4 merged 1 commit intomainfrom
nvp/remove-some-ie11-support
Mar 4, 2026
Merged

Remove some IE11 support (Symbols)#21079
ef4 merged 1 commit intomainfrom
nvp/remove-some-ie11-support

Conversation

@NullVoxPopuli
Copy link
Copy Markdown
Contributor

@NullVoxPopuli NullVoxPopuli commented Feb 8, 2026

We dropped IE11 long ago, and forgot to clean this up

bench results are unchanged

duration phase no difference [-114ms to 80ms]
renderEnd phase no difference [-3ms to 2ms]
render1000Items1End phase no difference [-6ms to 22ms]
clearItems1End phase no difference [0ms to 2ms]
render1000Items2End phase estimated improvement -1ms [-17ms to 0ms] OR -0.22% [-7.18% to -0.02%]
clearItems2End phase no difference [0ms to 0ms]
render5000Items1End phase no difference [-43ms to 17ms]
clearManyItems1End phase no difference [-3ms to 7ms]
render5000Items2End phase no difference [-51ms to 33ms]
clearManyItems2End phase no difference [-4ms to 2ms]
render1000Items3End phase no difference [0ms to 0ms]
append1000Items1End phase no difference [-16ms to 17ms]
append1000Items2End phase no difference [-16ms to 33ms]
updateEvery10thItem1End phase no difference [0ms to 16ms]
updateEvery10thItem2End phase no difference [0ms to 0ms]
selectFirstRow1End phase no difference [0ms to 0ms]
selectSecondRow1End phase no difference [0ms to 0ms]
removeFirstRow1End phase no difference [0ms to 16ms]
removeSecondRow1End phase no difference [0ms to 16ms]
swapRows1End phase no difference [0ms to 0ms]
swapRows2End phase no difference [0ms to 0ms]
clearItems4End phase no difference [0ms to 0ms]
paint phase no difference [0ms to 0ms]

artifact-2.pdf

Comment thread packages/@ember/-internals/utils/lib/symbol.ts
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 8, 2026

Estimated Asset Sizes

Diff

--- main/out.txt	2026-03-03 19:32:00.000000000 +0000
+++ pr/./pr-22639312792/out.txt	2026-03-03 19:33:26.000000000 +0000
@@ -1,36 +1,36 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 352.17 KB │ 203.84 KB ║
+║ Total │ 351.89 KB │ 203.81 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
 ╔══════════════════════╤═══════════╤═══════════╗
 ║ @ember/*             │ Min       │ Gzip      ║
 ╟──────────────────────┼───────────┼───────────╢
-║ Total                │ 313.39 KB │ 181.81 KB ║
+║ Total                │ 313.12 KB │ 181.72 KB ║
 ╟──────────────────────┼───────────┼───────────╢
-║ -internals           │ 36.65 KB  │ 26.25 KB  ║
-║ application          │ 13.23 KB  │ 8 KB      ║
-║ array                │ 13.01 KB  │ 7.62 KB   ║
+║ -internals           │ 36.58 KB  │ 26.2 KB   ║
+║ application          │ 13.23 KB  │ 8.02 KB   ║
+║ array                │ 13.01 KB  │ 7.57 KB   ║
 ║ canary-features      │ 304 B     │ 389 B     ║
-║ component            │ 2.05 KB   │ 1.6 KB    ║
-║ controller           │ 1.96 KB   │ 1.44 KB   ║
-║ debug                │ 11.69 KB  │ 8.12 KB   ║
+║ component            │ 2.05 KB   │ 1.59 KB   ║
+║ controller           │ 1.9 KB    │ 1.39 KB   ║
+║ debug                │ 11.69 KB  │ 8.09 KB   ║
 ║ deprecated-features  │ 31 B      │ 77 B      ║
 ║ destroyable          │ 561 B     │ 383 B     ║
 ║ enumerable           │ 259 B     │ 387 B     ║
-║ helper               │ 1.08 KB   │ 824 B     ║
+║ helper               │ 1.08 KB   │ 813 B     ║
 ║ instrumentation      │ 2.43 KB   │ 1.79 KB   ║
-║ modifier             │ 1.22 KB   │ 981 B     ║
-║ object               │ 35.94 KB  │ 21.88 KB  ║
+║ modifier             │ 1.22 KB   │ 967 B     ║
+║ object               │ 35.8 KB   │ 21.93 KB  ║
 ║ owner                │ 159 B     │ 178 B     ║
-║ renderer             │ 630 B     │ 517 B     ║
+║ renderer             │ 630 B     │ 493 B     ║
 ║ routing              │ 59.3 KB   │ 34.13 KB  ║
-║ runloop              │ 2.36 KB   │ 1.45 KB   ║
-║ service              │ 1 KB      │ 845 B     ║
-║ template             │ 654 B     │ 532 B     ║
+║ runloop              │ 2.36 KB   │ 1.48 KB   ║
+║ service              │ 1 KB      │ 863 B     ║
+║ template             │ 654 B     │ 546 B     ║
 ║ template-compilation │ 429 B     │ 366 B     ║
-║ template-compiler    │ 123.08 KB │ 59.45 KB  ║
+║ template-compiler    │ 123.08 KB │ 59.47 KB  ║
 ║ template-factory     │ 370 B     │ 374 B     ║
 ║ test                 │ 923 B     │ 627 B     ║
 ║ utils                │ 4.11 KB   │ 3.63 KB   ║
@@ -40,7 +40,7 @@
 ╔═════════════════╤══════════╤══════════╗
 ║ @glimmer/*      │ Min      │ Gzip     ║
 ╟─────────────────┼──────────┼──────────╢
-║ Total           │ 38.78 KB │ 22.03 KB ║
+║ Total           │ 38.78 KB │ 22.09 KB ║
 ╟─────────────────┼──────────┼──────────╢
 ║ destroyable     │ 2.95 KB  │ 1.52 KB  ║
 ║ encoder         │ 81 B     │ 171 B    ║
@@ -53,7 +53,7 @@
 ║ program         │ 252 B    │ 295 B    ║
 ║ reference       │ 548 B    │ 509 B    ║
 ║ runtime         │ 10.32 KB │ 5.21 KB  ║
-║ tracking        │ 1.34 KB  │ 1.18 KB  ║
+║ tracking        │ 1.34 KB  │ 1.25 KB  ║
 ║ util            │ 1.94 KB  │ 1.68 KB  ║
 ║ validator       │ 15.75 KB │ 7.05 KB  ║
 ║ vm              │ 495 B    │ 569 B    ║

Details

This PRmain
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 351.89 KB │ 203.81 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.12 KB │ 181.72 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.58 KB  │ 26.2 KB   ║
║ application          │ 13.23 KB  │ 8.02 KB   ║
║ array                │ 13.01 KB  │ 7.57 KB   ║
║ canary-features      │ 304 B     │ 389 B     ║
║ component            │ 2.05 KB   │ 1.59 KB   ║
║ controller           │ 1.9 KB    │ 1.39 KB   ║
║ debug                │ 11.69 KB  │ 8.09 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 813 B     ║
║ instrumentation      │ 2.43 KB   │ 1.79 KB   ║
║ modifier             │ 1.22 KB   │ 967 B     ║
║ object               │ 35.8 KB   │ 21.93 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 493 B     ║
║ routing              │ 59.3 KB   │ 34.13 KB  ║
║ runloop              │ 2.36 KB   │ 1.48 KB   ║
║ service              │ 1 KB      │ 863 B     ║
║ template             │ 654 B     │ 546 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.08 KB │ 59.47 KB  ║
║ template-factory     │ 370 B     │ 374 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.78 KB │ 22.09 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.95 KB  │ 1.52 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 614 B    ║
║ node            │ 175 B    │ 247 B    ║
║ opcode-compiler │ 1.11 KB  │ 894 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 295 B    ║
║ reference       │ 548 B    │ 509 B    ║
║ runtime         │ 10.32 KB │ 5.21 KB  ║
║ tracking        │ 1.34 KB  │ 1.25 KB  ║
║ util            │ 1.94 KB  │ 1.68 KB  ║
║ validator       │ 15.75 KB │ 7.05 KB  ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.17 KB │ 203.84 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.39 KB │ 181.81 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.65 KB  │ 26.25 KB  ║
║ application          │ 13.23 KB  │ 8 KB      ║
║ array                │ 13.01 KB  │ 7.62 KB   ║
║ canary-features      │ 304 B     │ 389 B     ║
║ component            │ 2.05 KB   │ 1.6 KB    ║
║ controller           │ 1.96 KB   │ 1.44 KB   ║
║ debug                │ 11.69 KB  │ 8.12 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 824 B     ║
║ instrumentation      │ 2.43 KB   │ 1.79 KB   ║
║ modifier             │ 1.22 KB   │ 981 B     ║
║ object               │ 35.94 KB  │ 21.88 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 517 B     ║
║ routing              │ 59.3 KB   │ 34.13 KB  ║
║ runloop              │ 2.36 KB   │ 1.45 KB   ║
║ service              │ 1 KB      │ 845 B     ║
║ template             │ 654 B     │ 532 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.08 KB │ 59.45 KB  ║
║ template-factory     │ 370 B     │ 374 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.78 KB │ 22.03 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.95 KB  │ 1.52 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 614 B    ║
║ node            │ 175 B    │ 247 B    ║
║ opcode-compiler │ 1.11 KB  │ 894 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 295 B    ║
║ reference       │ 548 B    │ 509 B    ║
║ runtime         │ 10.32 KB │ 5.21 KB  ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.94 KB  │ 1.68 KB  ║
║ validator       │ 15.75 KB │ 7.05 KB  ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝

@NullVoxPopuli NullVoxPopuli changed the title Remove some IE11 support Remove some IE11 support (Symbols) Feb 8, 2026
Comment thread packages/@ember/-internals/glimmer/lib/component-managers/curly.ts Outdated
@NullVoxPopuli NullVoxPopuli marked this pull request as ready for review February 8, 2026 22:40
Comment thread packages/@ember/-internals/glimmer/lib/component-managers/curly.ts
@NullVoxPopuli NullVoxPopuli force-pushed the nvp/remove-some-ie11-support branch from e668628 to e00d6b4 Compare February 21, 2026 19:26
@NullVoxPopuli
Copy link
Copy Markdown
Contributor Author

@copilot pull in the missing changes from this https://github.com/NullVoxPopuli/ember.js/pull/11/changes around the curly component manager (and consumers of that new exported function)

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 21, 2026

@NullVoxPopuli I've opened a new pull request, #21112, to work on those changes. Once the pull request is ready, I'll request review from you.

@NullVoxPopuli NullVoxPopuli force-pushed the nvp/remove-some-ie11-support branch 2 times, most recently from d37462d to 65fd5bb Compare March 3, 2026 19:33
Remove references to symbol

Remove reference to isInternalSymbol

Make sure ARGS and HAS_BLOCK are still acceessible (without big changes)

Fix unused hasBlock parameter and TypeScript error

Co-authored-by: NullVoxPopuli <[email protected]>

Remove unused _hasBlock parameter from create() signature

Co-authored-by: NullVoxPopuli <[email protected]>

Cleanup

Restore package.json

Initial plan

Use WeakMap for capturedArgs instead of symbol-keyed property on component

Co-authored-by: NullVoxPopuli <[email protected]>

Remove unused ARGS and HAS_BLOCK symbol exports from curly component manager

Co-authored-by: NullVoxPopuli <[email protected]>

Clean up comments in curly.ts

Removed comments about WeakMap usage for capturedArgs.
@NullVoxPopuli NullVoxPopuli force-pushed the nvp/remove-some-ie11-support branch from e0d6b5e to ab00acc Compare March 4, 2026 04:18
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2026

📊 Package size report   -0.06%↓

File Before (Size / Brotli) After (Size / Brotli)
dist/ember-template-compiler.js 769.7 kB / 114.5 kB -0.14%↓768.7 kB / -0.15%↓114.4 kB
dist/ember-template-compiler.js.map 1.7 MB / 295.6 kB -0.11%↓1.7 MB / -0.22%↓295 kB
dist/ember.debug.js 2.1 MB / 321.7 kB -0.05%↓2.1 MB / -0.08%↓321.5 kB
dist/ember.debug.js.map 3.4 MB / 634 kB -0.06%↓3.4 MB / -0.03%↓633.8 kB
dist/ember.prod.js 1.9 MB / 292.3 kB -0.05%↓1.9 MB / -0.05%↓292.1 kB
dist/ember.prod.js.map 3.3 MB / 607.2 kB -0.05%↓3.3 MB / -0.06%↓606.8 kB
dist/packages/@ember/object/core.js 32.8 kB / 7.9 kB -0.34%↓32.7 kB / -0.4%↓7.9 kB
dist/packages/shared-chunks/alias-DpBkuJ0W.js 3.2 kB / 1.1 kB
dist/packages/shared-chunks/alias-DZr0wvcn.js 3.2 kB / 1.1 kB
dist/packages/shared-chunks/array-D28VZpZw.js 4.3 kB / 1.2 kB
dist/packages/shared-chunks/array-D7brxUO-.js 4.3 kB / 1.2 kB
dist/packages/shared-chunks/index-BvpinAiF.js 188.1 kB / 40.8 kB
dist/packages/shared-chunks/index-CVXvJiVN.js 188 kB / 40.7 kB
dist/packages/shared-chunks/is_proxy-C2q5rUMp.js 326 B / 178 B
dist/packages/shared-chunks/is_proxy-C7Ed5mKX.js 326 B / 181 B
dist/packages/shared-chunks/mandatory-setter-C7SZ6AXZ.js 13.3 kB / 3.9 kB
dist/packages/shared-chunks/mandatory-setter-DLKyVs4Q.js 13.3 kB / 3.9 kB
dist/packages/shared-chunks/name-BGJ3HE5B.js 260 B / 179 B
dist/packages/shared-chunks/name-DVtQREj6.js 260 B / 164 B
dist/packages/shared-chunks/namespace_search-ClQOZuFA.js 4 kB / 1.3 kB
dist/packages/shared-chunks/namespace_search-hxQxpJTG.js 4 kB / 1.2 kB
dist/packages/shared-chunks/observers-BHtIoesp.js 68 kB / 14.9 kB
dist/packages/shared-chunks/observers-C2BL7BUU.js 68 kB / 15 kB
dist/packages/shared-chunks/property_set-_6-u0QnO.js 4.6 kB / 1.4 kB
dist/packages/shared-chunks/property_set-CCMUWTLv.js 4.6 kB / 1.4 kB
dist/packages/shared-chunks/registry-BYa2ooYR.js 25.7 kB / 5.2 kB
dist/packages/shared-chunks/registry-XY5cfmbH.js 25.7 kB / 5.2 kB
dist/packages/shared-chunks/set_properties-B9Nl64VB.js 2.5 kB / 816 B
dist/packages/shared-chunks/set_properties-COjLNO2C.js 2.5 kB / 814 B
dist/packages/shared-chunks/setup-registry-LfaJaf-A.js 2.4 kB / 821 B
dist/packages/shared-chunks/setup-registry-qVIJ7_6X.js 2.4 kB / 823 B
dist/packages/shared-chunks/to-string-C7M8LBLH.js 918 B / 350 B
dist/packages/shared-chunks/to-string-CqD7_vQ4.js 1.9 kB / 720 B
types/stable/@ember/-internals/utils/index.d.ts 1.3 kB / 356 B -7.76%↓1.2 kB / -7.58%↓329 B
types/stable/@ember/-internals/utils/lib/symbol.d.ts 235 B / 137 B
Total (Includes all files) 17.3 MB / 3.2 MB -0.06%↓17.3 MB / -0.08%↓3.2 MB
Tarball size 3.9 MB -0.09%↓3.9 MB

🤖 This report was automatically generated by pkg-size-action

@ef4 ef4 merged commit 827f34b into main Mar 4, 2026
31 checks passed
@NullVoxPopuli NullVoxPopuli deleted the nvp/remove-some-ie11-support branch April 28, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants