Skip to content

[master] Michijs Dependabot changes#163

Open
michijs[bot] wants to merge 1 commit into
masterfrom
michijs-dependabot
Open

[master] Michijs Dependabot changes#163
michijs[bot] wants to merge 1 commit into
masterfrom
michijs-dependabot

Conversation

@michijs
Copy link
Copy Markdown
Contributor

@michijs michijs Bot commented May 18, 2026

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented May 18, 2026

Bump @​mdn/browser-compat-data from 7.3.8 to 7.3.16

Changelog:
Sourced from releases.
        ### v7.3.16### Removals
  • webassembly.mutable-globals (#29503)

Additions

  • api.AuthenticatorAttestationResponse.getPublicKey.algorithm_eddsa (#29637)
  • api.AuthenticatorAttestationResponse.getPublicKey.algorithm_es256 (#29637)
  • api.AuthenticatorAttestationResponse.getPublicKey.algorithm_rs256 (#29637)
  • api.Element.attachShadow.options_slotAssignment_parameter (#29681)
  • browsers.bun.releases.1.3.14 (#29675)
  • css.types.url.integrity (#29663)
  • http.headers.Reporting-Endpoints.default (#29539)
  • http.headers.Reporting-Endpoints.default.receives_crash_type (#29539)
  • http.headers.Reporting-Endpoints.default.receives_deprecation_type (#29539)
  • webassembly.api.Global.Global.mutable (#29503)
  • webassembly.definitions.global (#29503)
  • webassembly.definitions.global.mut (#29503)
  • webassembly.instructions.global_get (#29503)
  • webassembly.instructions.global_set (#29503)

Statistics

  • 15 contributors have changed 106 files with 1,549 additions and 386 deletions in 37 commits (v7.3.15...v7.3.16)

  • 19,744 total features

  • 1,249 total contributors

  • 5,663 total stargazers

          ### v7.3.15### Additions
    
  • api.GPUDevice.createTexture.descriptor_usage_parameter (#29470)

  • api.GPUDevice.createTexture.descriptor_usage_parameter.accept_transient_attachment (#29470)

  • api.GPUTexture.createView.descriptor_usage_parameter.transient_attachment (#29470)

  • api.GPUTexture.usage.transient_attachment (#29470)

  • api.LanguageModel.destroy (#29622)

  • api.Sanitizer.allowProcessingInstruction (#29624)

  • api.Sanitizer.removeProcessingInstruction (#29624)

  • browsers.chrome_android.releases.151 (#29605)

  • browsers.chrome.releases.151 (#29605)

  • browsers.edge.releases.151 (#29633)

  • browsers.nodejs.releases.26.0.0 (#29612)

  • browsers.opera_android.releases.98 (#29605)

  • browsers.webview_android.releases.151 (#29605)

  • css.properties.column-rule-break (#29600)

  • css.properties.column-rule-break.intersection (#29600)

  • css.properties.column-rule-break.none (#29600)

  • css.properties.column-rule-break.normal (#29600)

  • css.properties.column-rule-inset (#29600)

  • css.properties.column-rule-inset-cap (#29624)

  • css.properties.column-rule-inset-cap-end (#29624)

  • css.properties.column-rule-inset-cap-start (#29624)

  • css.properties.column-rule-inset-end (#29600)

  • css.properties.column-rule-inset-junction (#29624)

  • css.properties.column-rule-inset-junction-end (#29624)

  • css.properties.column-rule-inset-junction-start (#29624)

  • css.properties.column-rule-inset-start (#29600)

  • css.properties.column-rule-visibility-items (#29600)

  • css.properties.column-rule-visibility-items.all (#29600)

  • css.properties.column-rule-visibility-items.around (#29600)

  • css.properties.column-rule-visibility-items.between (#29600)

  • css.properties.column-rule-visibility-items.normal (#29600)

  • css.properties.row-rule (#29600)

  • css.properties.row-rule-break (#29600)

  • css.properties.row-rule-break.intersection (#29600)

  • css.properties.row-rule-break.none (#29600)

  • css.properties.row-rule-break.normal (#29600)

  • css.properties.row-rule-color (#29600)

  • css.properties.row-rule-color.currentColor (#29600)

  • css.properties.row-rule-color.transparent (#29600)

  • css.properties.row-rule-inset (#29600)

  • css.properties.row-rule-inset-cap (#29624)

  • css.properties.row-rule-inset-cap-end (#29624)

  • css.properties.row-rule-inset-cap-start (#29624)

  • css.properties.row-rule-inset-end (#29600)

  • css.properties.row-rule-inset-junction (#29624)

  • css.properties.row-rule-inset-junction-end (#29624)

  • css.properties.row-rule-inset-junction-start (#29624)

  • css.properties.row-rule-inset-start (#29600)

  • css.properties.row-rule-style (#29600)

  • css.properties.row-rule-style.dashed (#29600)

  • css.properties.row-rule-style.dotted (#29600)

  • css.properties.row-rule-style.double (#29600)

  • css.properties.row-rule-style.groove (#29600)

  • css.properties.row-rule-style.hidden (#29600)

  • css.properties.row-rule-style.inset (#29600)

  • css.properties.row-rule-style.none (#29600)

  • css.properties.row-rule-style.outset (#29600)

  • css.properties.row-rule-style.ridge (#29600)

  • css.properties.row-rule-style.solid (#29600)

  • css.properties.row-rule-visibility-items (#29600)

  • css.properties.row-rule-visibility-items.all (#29600)

  • css.properties.row-rule-visibility-items.around (#29600)

  • css.properties.row-rule-visibility-items.between (#29600)

  • css.properties.row-rule-visibility-items.normal (#29600)

  • css.properties.row-rule-width (#29600)

  • css.properties.row-rule-width.medium (#29600)

  • css.properties.row-rule-width.thick (#29600)

  • css.properties.row-rule-width.thin (#29600)

  • css.properties.row-rule.currentColor (#29600)

  • css.properties.row-rule.dashed (#29600)

  • css.properties.row-rule.dotted (#29600)

  • css.properties.row-rule.double (#29600)

  • css.properties.row-rule.groove (#29600)

  • css.properties.row-rule.hidden (#29600)

  • css.properties.row-rule.inset (#29600)

  • css.properties.row-rule.medium (#29600)

  • css.properties.row-rule.none (#29600)

  • css.properties.row-rule.outset (#29600)

  • css.properties.row-rule.ridge (#29600)

  • css.properties.row-rule.solid (#29600)

  • css.properties.row-rule.thick (#29600)

  • css.properties.row-rule.thin (#29600)

  • css.properties.row-rule.transparent (#29600)

  • css.properties.rule (#29600)

  • css.properties.rule-break (#29600)

  • css.properties.rule-break.intersection (#29600)

  • css.properties.rule-break.none (#29600)

  • css.properties.rule-break.normal (#29600)

  • css.properties.rule-color (#29600)

  • css.properties.rule-color.currentColor (#29600)

  • css.properties.rule-color.transparent (#29600)

  • css.properties.rule-inset (#29600)

  • css.properties.rule-inset-cap (#29624)

  • css.properties.rule-inset-end (#29600)

  • css.properties.rule-inset-junction (#29624)

  • css.properties.rule-inset-start (#29600)

  • css.properties.rule-overlap (#29600)

  • css.properties.rule-overlap.column-over-row (#29600)

  • css.properties.rule-overlap.row-over-column (#29600)

  • css.properties.rule-style (#29600)

  • css.properties.rule-style.dashed (#29600)

  • css.properties.rule-style.dotted (#29600)

  • css.properties.rule-style.double (#29600)

  • css.properties.rule-style.groove (#29600)

  • css.properties.rule-style.hidden (#29600)

  • css.properties.rule-style.inset (#29600)

  • css.properties.rule-style.none (#29600)

  • css.properties.rule-style.outset (#29600)

  • css.properties.rule-style.ridge (#29600)

  • css.properties.rule-style.solid (#29600)

  • css.properties.rule-visibility-items (#29600)

  • css.properties.rule-visibility-items.all (#29600)

  • css.properties.rule-visibility-items.around (#29600)

  • css.properties.rule-visibility-items.between (#29600)

  • css.properties.rule-visibility-items.normal (#29600)

  • css.properties.rule-width (#29600)

  • css.properties.rule-width.medium (#29600)

  • css.properties.rule-width.thick (#29600)

  • css.properties.rule-width.thin (#29600)

  • css.properties.rule.currentColor (#29600)

  • css.properties.rule.dashed (#29600)

  • css.properties.rule.dotted (#29600)

  • css.properties.rule.double (#29600)

  • css.properties.rule.groove (#29600)

  • css.properties.rule.hidden (#29600)

  • css.properties.rule.inset (#29600)

  • css.properties.rule.medium (#29600)

  • css.properties.rule.none (#29600)

  • css.properties.rule.outset (#29600)

  • css.properties.rule.ridge (#29600)

  • css.properties.rule.solid (#29600)

  • css.properties.rule.thick (#29600)

  • css.properties.rule.thin (#29600)

  • css.properties.rule.transparent (#29600)

  • http.headers.X-Frame-Options.DENY (#29614)

  • javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.utc_offset (#29563)

Statistics

  • 10 contributors have changed 661 files with 7,325 additions and 3,001 deletions in 34 commits (v7.3.14...v7.3.15)

  • 19,732 total features

  • 1,247 total contributors

  • 5,660 total stargazers

          ### v7.3.14### Renamings
    
  • api.Element.requestFullscreen.options_navigationUI_parameter to api.Element.requestFullscreen.options_parameter.navigationUI_option (#29548)

  • api.Element.requestFullscreen.options_screen_parameter to api.Element.requestFullscreen.options_parameter.screen_option (#29548)

  • api.fetch.body_readablestream to api.fetch.options_parameter.body.accepts_readablestream (#29451)

  • api.fetch.init_attributionReporting_parameter to api.fetch.options_parameter.attributionReporting (#29451)

  • api.fetch.init_browsingTopics_parameter to api.fetch.options_parameter.browsingTopics (#29451)

  • api.fetch.init_duplex_parameter to api.fetch.options_parameter.duplex (#29451)

  • api.fetch.init_keepalive_parameter to api.fetch.options_parameter.keepalive (#29451)

  • api.fetch.init_priority_parameter to api.fetch.options_parameter.priority (#29451)

  • api.fetch.init_privateToken_parameter to api.fetch.options_parameter.privateToken (#29451)

  • api.fetch.init_referrerPolicy_parameter to api.fetch.options_parameter.referrerPolicy (#29451)

  • api.fetch.init_signal_parameter to api.fetch.options_parameter.signal (#29451)

  • api.fetch.init_targetAddressSpace_parameter to api.fetch.options_parameter.targetAddressSpace (#29451)

  • api.Request.Request.init_attributionReporting_parameter to api.Request.Request.options_parameter.attributionReporting (#29451)

  • api.Request.Request.init_browsingTopics_parameter to api.Request.Request.options_parameter.browsingTopics (#29451)

  • api.Request.Request.init_duplex_parameter to api.Request.Request.options_parameter.duplex (#29451)

  • api.Request.Request.init_keepalive_parameter to api.Request.Request.options_parameter.keepalive (#29451)

  • api.Request.Request.init_priority_parameter to api.Request.Request.options_parameter.priority (#29451)

  • api.Request.Request.init_privateToken_parameter to api.Request.Request.options_parameter.privateToken (#29451)

  • api.Request.Request.init_referrer_parameter to api.Request.Request.options_parameter.referrer (#29451)

  • api.Request.Request.init_targetAddressSpace_parameter to api.Request.Request.options_parameter.targetAddressSpace (#29451)

  • api.Request.Request.request_body_readablestream to api.Request.Request.options_parameter.body.accepts_readablestream (#29451)

Additions

  • api.Element.requestFullscreen.options_parameter (#29548)
  • api.Element.requestFullscreen.options_parameter.keyboardLock_option (#29548)
  • api.fetch.options_parameter (#29451)
  • api.fetch.options_parameter.body (#29451)
  • api.GPU.requestAdapter.options_featureLevel (#29551)
  • api.Request.Request.options_parameter (#29451)
  • api.Request.Request.options_parameter.body (#29451)
  • api.SharedWorker.SharedWorker.options_extendedLifetime_parameter (#29562)
  • api.XRSession.visibilitymaskchange_event (#29576)
  • browsers.opera.releases.133 (#29579)
  • css.properties.accent-color.transparent (#29532)
  • css.properties.shape-outside.rect (#29574)
  • css.properties.stop-color.transparent (#29532)
  • css.types.attr.fallback (#29573)
  • html.elements.audio.autoplay (#29571)

Statistics

  • 11 contributors have changed 54 files with 1,555 additions and 924 deletions in 26 commits (v7.3.13...v7.3.14)

  • 19,602 total features

  • 1,245 total contributors

  • 5,651 total stargazers

          ### v7.3.13### Removals
    
  • css.properties.all.revert-rule (#29489)

  • css.properties.font-family.fangsong (#29439)

  • css.properties.font-family.kai (#29439)

  • css.properties.font-family.khmer-mul (#29439)

  • css.properties.font-family.nastaliq (#29439)

Additions

  • api.CSSContainerRule.conditions (#29530)
  • api.LanguageModel (#29474)
  • api.LanguageModel.append (#29474)
  • api.LanguageModel.availability_static (#29474)
  • api.LanguageModel.clone (#29474)
  • api.LanguageModel.contextoverflow_event (#29474)
  • api.LanguageModel.contextUsage (#29474)
  • api.LanguageModel.contextWindow (#29474)
  • api.LanguageModel.create_static (#29474)
  • api.LanguageModel.measureContextUsage (#29474)
  • api.LanguageModel.prompt (#29474)
  • api.LanguageModel.promptStreaming (#29474)
  • browsers.bun.releases.1.3.13 (#29518)
  • browsers.firefox_android.releases.153 (#29518)
  • browsers.firefox.releases.153 (#29518)
  • css.properties.accent-color.currentColor (#29526)
  • css.properties.color.currentColor (#29526)
  • css.properties.column-rule-color.currentColor (#29526)
  • css.properties.column-rule.currentColor (#29526)
  • css.properties.outline-color.currentColor (#29526)
  • css.properties.position-anchor.normal (#29483)
  • css.properties.stop-color.currentColor (#29526)
  • css.types.attr.attr-name_accepts_namespaces (#29482)
  • css.types.global_keywords.revert-rule (#29489)
  • http.headers.Permissions-Policy-Report-Only (#29506)
  • webdriver.bidi.script.getRealms.type_parameter.window (#29517)

Statistics

  • 12 contributors have changed 83 files with 1,509 additions and 511 deletions in 32 commits (v7.3.12...v7.3.13)

  • 19,588 total features

  • 1,245 total contributors

  • 5,644 total stargazers

          ### v7.3.12### Additions
    
  • api.HTMLTemplateElement.shadowRootSlotAssignment (#29457)

  • api.ReportingObserver.ReportingObserver.options_parameter.types_property.permissions-policy-violation (#29500)

  • api.WGSLLanguageFeatures.extension_texture_and_sampler_let (#29469)

  • browsers.bun.releases.1.3.12 (#29463)

  • browsers.edge.releases.150 (#29463)

  • browsers.opera_android.releases.97 (#29490)

  • css.properties.hanging-punctuation.force-end (#29497)

  • css.types.color.light-dark.image_value (#29429)

  • css.types.env.preferred-text-scale (#29453)

  • html.elements.meta.name.text-scale (#29453)

  • html.elements.template.shadowrootslotassignment (#29457)

  • webdriver.bidi.script.getRealms.type_parameter.worker (#29499)

Statistics

  • 14 contributors have changed 192 files with 1,329 additions and 830 deletions in 37 commits (v7.3.11...v7.3.12)

  • 19,570 total features

  • 1,242 total contributors

  • 5,639 total stargazers

          ### v7.3.11### Additions
    
  • api.CustomElementRegistry.define.html_name_validity (#29217)

  • api.CustomElementRegistry.whenDefined.html_name_validity (#29217)

  • api.Document.createAttribute.html_name_validity (#29217)

  • api.Document.createAttributeNS.html_name_validity (#29217)

  • api.Document.createElement.html_name_validity (#29217)

  • api.Document.createElementNS.html_name_validity (#29217)

  • api.Element.setAttribute.html_name_validity (#29217)

  • api.Element.setAttributeNodeNS.html_name_validity (#29217)

  • api.Element.toggleAttribute.html_name_validity (#29217)

  • api.PaymentRequest.getSecurePaymentConfirmationCapabilities_static (#29434)

  • api.WGSLLanguageFeatures.extension_subgroup_uniformity (#29422)

  • browsers.chrome_android.releases.150 (#29413)

  • browsers.chrome.releases.150 (#29413)

  • browsers.opera.releases.126 (#29414)

  • browsers.opera.releases.127 (#29414)

  • browsers.opera.releases.128 (#29414)

  • browsers.opera.releases.129 (#29414)

  • browsers.opera.releases.130 (#29414)

  • browsers.opera.releases.131 (#29414)

  • browsers.opera.releases.132 (#29444)

  • browsers.webview_android.releases.150 (#29413)

  • css.at-rules.container.container-query_optional (#29300)

  • css.types.url.cross-origin (#29440)

  • css.types.url.referrer-policy (#29440)

  • http.headers.Reporting-Endpoints.crash-reporting (#29399)

Statistics

  • 11 contributors have changed 49 files with 950 additions and 300 deletions in 28 commits (v7.3.10...v7.3.11)

  • 19,561 total features

  • 1,240 total contributors

  • 5,628 total stargazers

          ### v7.3.10### Removals
    
  • html.elements.video.autoplay.loading (#29359)

Additions

  • api.Element.attachShadow.options_referenceTarget_parameter (#29261)
  • api.fetch.init_targetAddressSpace_parameter (#29331)
  • api.HTMLTemplateElement.shadowRootReferenceTarget (#29261)
  • api.Permissions.permission_local-network (#29331)
  • api.Permissions.permission_local-network-access (#29331)
  • api.Permissions.permission_loopback-network (#29331)
  • api.Request.Request.init_targetAddressSpace_parameter (#29331)
  • browsers.safari_ios.releases.26.5 (#29370)
  • browsers.safari.releases.26.5 (#29370)
  • browsers.webview_ios.releases.26.5 (#29370)
  • html.elements.video.loading (#29359)
  • http.headers.Permissions-Policy.local-network (#29331)
  • http.headers.Permissions-Policy.local-network-access (#29331)
  • http.headers.Permissions-Policy.loopback-network (#29331)
  • manifests.webapp.migrate_from (#29356)
  • manifests.webapp.migrate_to (#29356)
  • webdriver.bidi.browser.setClientWindowState.height_parameter (#29394)
  • webdriver.bidi.browser.setClientWindowState.state_parameter (#29394)
  • webdriver.bidi.browser.setClientWindowState.width_parameter (#29394)
  • webdriver.bidi.browser.setClientWindowState.x_parameter (#29394)
  • webdriver.bidi.browser.setClientWindowState.y_parameter (#29394)

Statistics

  • 11 contributors have changed 37 files with 986 additions and 282 deletions in 31 commits (v7.3.9...v7.3.10)

  • 19,546 total features

  • 1,239 total contributors

  • 5,628 total stargazers

          ### v7.3.9### Removals
    
  • css.properties.-webkit-margin-after (#29322)

  • css.properties.-webkit-margin-before (#29322)

Additions

  • api.CookieStore.set.maxAge_option (#29197)
  • api.CSSFontFaceDescriptors.ascent-override (#29352)
  • api.CSSFontFaceDescriptors.ascentOverride (#29352)
  • api.CSSFontFaceDescriptors.descent-override (#29352)
  • api.CSSFontFaceDescriptors.descentOverride (#29352)
  • api.CSSFontFaceDescriptors.font-language-override (#29352)
  • api.CSSFontFaceDescriptors.font-variation-settings (#29352)
  • api.CSSFontFaceDescriptors.fontLanguageOverride (#29352)
  • api.CSSFontFaceDescriptors.fontVariationSettings (#29352)
  • api.CSSFontFaceDescriptors.line-gap-override (#29352)
  • api.CSSFontFaceDescriptors.lineGapOverride (#29352)
  • api.Document.createElement.options_parameter.customElementRegistry_option (#29216)
  • api.Document.createElement.options_parameter.options_is_parameter (#29216)
  • api.Document.createElementNS.options_parameter.customElementRegistry_option (#29216)
  • api.Document.createElementNS.options_parameter.options_is_parameter (#29216)
  • api.HTMLMediaElement.loading (#29256)
  • browsers.firefox_android.releases.152 (#29334)
  • browsers.firefox.releases.152 (#29334)
  • css.properties.all.revert-rule (#29352)
  • css.properties.shape-outside.xywh (#29284)
  • css.types.color.color-mix.variadic_color_arguments (#29214)
  • html.elements.audio.loading (#29256)
  • html.elements.video.autoplay.loading (#29256)

Statistics

  • 11 contributors have changed 88 files with 2,426 additions and 1,395 deletions in 29 commits (v7.3.8...v7.3.9)

  • 19,529 total features

  • 1,236 total contributors

  • 5,620 total stargazers

          ### v7.3.8### Additions
    
  • api.HTMLMediaElement.playbackRate.negative_values (#29253)

  • api.VideoFrame.VideoFrame.metadata_option (#29298)

  • browsers.bun.releases.1.3.11 (#29291)

  • browsers.edge.releases.149 (#29263)

  • css.properties.anchor-name.position_after_layout (#29282)

  • css.properties.letter-spacing.percentages (#29200)

  • css.properties.position-area.disables_auto_margins_and_insets (#29280)

  • webdriver.bidi.network.disownData.dataType_parameter.request (#29275)

Statistics

  • 10 contributors have changed 50 files with 926 additions and 295 deletions in 31 commits (v7.3.7...v7.3.8)
  • 19,510 total features
  • 1,234 total contributors
  • 5,616 total stargazers
Commit history:
  • 4bf815 Release v7.3.16 (#29640)
  • f14ff9 Split Wasm mutable globals into specific features (#29503)
    • Add more accurate/specific BCd for Wasm mutable globals

    • Add instructions object level

    • Update webassembly/instructions/global.json

    Co-authored-by: Ryan Hunt <rhunt@​eqrion.net>

    • Update webassembly/instructions/global.json

    Co-authored-by: Ryan Hunt <rhunt@​eqrion.net>

    • Move global to definitions directory

    • update spec URLs to bikeshed version

    • apply auto fixes


    Co-authored-by: Ryan Hunt <rhunt@​eqrion.net>
    Co-authored-by: Claas Augner <495429+caugner@​users.noreply.redirect.github.com>

  • 4a6681 Add Element.attachShadow() option slotAssignment (#29681)

    Element.attachShadow() - option.slotAssignment

  • f1c1b1 Update browser releases (#29675)
  • 3a5916 Firefox Nightly has partial ::-webkit-scrollbar behind flag (#29665)

    • added partial imp note for ::-webkit-scrollbar in firefox

    • fixed linting issue with bug link

    • Update css/selectors/-webkit-scrollbar.json

    Co-authored-by: Daniel D. Beck <daniel@​ddbeck.com>


    Co-authored-by: Daniel D. Beck <daniel@​ddbeck.com>

  • aa035e Safari 26.4 adds navigational-prefetch behind a flag (#29609)
  • 65ebd0 Firefox Android doesn't support Document Picture-in-Picture (#29678)
  • 335fac Firefox fully supports EXT_texture_compression_rgtc (#29679)

    EXT_texture_compression_rgtc is fully supported in Firefox

    I'm not sure where the partial implementation came from, but it definitely seems to be true today that this is supported everywhere, and I'm struggling to find any evidence from bugzilla that it wasn't supported on all platforms from the start (at least if they had the necessary hardware support).

  • 064764 Firefox 148 shipped WASM branch-hinting (#29680)

    Firefox shipped WASM branch-hinting

  • 4f5723 Deno 2.6.7 adds *Map.getOrInsert*() (#29668)

    Add missing Deno compatibility for upsert (#29652)

  • 35c8c7 Fix some obscure old version ranges (#29672)

    See-also: https://issues.chromium.org/issues/40398476#comment8
    See-also: https://chromestatus.com/feature/6263395770695680
    See-also: https://chromestatus.com/feature/5823679871057920
    See-also: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/23#security
    See-also: https://bugzilla.mozilla.org/show_bug.cgi?id=834836
    See-also: https://redirect.github.com/WebKit/WebKit/commit/67b65d5017afb949a6d14b2a77f60d35a70c8cfa
    See-also: https://stackoverflow.com/questions/32883306/safari-9-disallowed-running-of-insecure-content
    See-also: https://discussions.apple.com/thread/7235380?sortBy=rank

  • 55cb2c Chrome 150: update url() modifiers (#29663)

    integrity() has an implementation now and the others are in Canary.

    See-also: https://redirect.github.com/mdn/browser-compat-data/pull/29440
    See-also: https://chromestatus.com/feature/5111997147512832
    WPT: https://wpt.fyi/results/css/css-values/urls/url-request-modifiers-computed.sub.html?label=experimental&label=master&aligned&q=css%2Fcss-values%2Furls%2Furl-request-modifiers

  • db51e2 text-decoration-skip-ink: link to Safari rendering bug (#29664)

    This is a longstanding problem that hasn't been widely complained about,
    so it's not a partial. But it did come up in my search when
    text-decoration-skip-ink: all advanced to Baseline newly available.

    Issue: https://webkit.org/b/255159

  • e28ded getPublicKey(): add per-algorithm subfeatures (#29637)

    • getPublicKey(): add per-algorithm subfeatures

    Issue: https://redirect.github.com/web-platform-dx/web-features/issues/3995

    • Lowercase new keys
    • c35bfb Add notes on text-autospace initial-value mismatch (#29646)

    Agent-Logs-Url: https://redirect.github.com/tats-u/browser-compat-data/sessions/2e6e0f19-da52-49ba-be0e-4355deca2c50
    Agent-Logs-Url: https://redirect.github.com/tats-u/browser-compat-data/sessions/67de7613-fb42-4b68-8eb6-a88d58032bbb


    Co-authored-by: Copilot <198982749+Copilot@​users.noreply.redirect.github.com>

  • cda57e Link Chromium bug for unsupported :lang() selector ranges in Chrome (#29642)

    Link Chromium bug for unsupported :lang() selector ranges in Chrome (Bump typescript from 5.0.2 to 5.0.3 #3)

    • Add Chromium bug link for lang selector gaps

    Agent-Logs-Url: https://redirect.github.com/tats-u/browser-compat-data/sessions/bf851ef8-8cf2-4756-9301-31bb657bb47f

    • Use crbug short links for lang selector tracking bugs

    Agent-Logs-Url: https://redirect.github.com/tats-u/browser-compat-data/sessions/bf851ef8-8cf2-4756-9301-31bb657bb47f


    Co-authored-by: Copilot <198982749+Copilot@​users.noreply.redirect.github.com>

  • 5bc439 Fix WebGL 2.0 spec_urls (#29644)
  • 427353 Fix spec_urls for pointer events (#29643)
  • b77e05 Fix some api.HTML* spec_urls per webref id validation (#29638)
  • 68ba90 Safari 26 uses <meta name="theme-color"> only for web apps (#28503)

    • update compatability for theme-color: Safari 26 removes support

    • Update html/elements/meta.json to remove stray array

    Co-authored-by: mister-ben <1676039+mister-ben@​users.noreply.redirect.github.com>

    • Update html/elements/meta.json

    Co-authored-by: mister-ben <1676039+mister-ben@​users.noreply.redirect.github.com>
    Co-authored-by: Claas Augner <495429+caugner@​users.noreply.redirect.github.com>

  • 38208f chore(deps-dev): bump @​ddbeck/mdn-content-inventory from 0.2.20260514 to 0.2.20260515 (#29682)

    • chore(deps-dev): bump @​ddbeck/mdn-content-inventory

    Bumps @​ddbeck/mdn-content-inventory from 0.2.20260514 to 0.2.20260515.


    updated-dependencies:

    • dependency-name: "@​ddbeck/mdn-content-inventory"
      dependency-version: 0.2.20260515
      dependency-type: direct:development
      update-type: version-update:semver-patch
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

    • chore: fix mdn urls

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>
    Co-authored-by: mdn-bot <108879845+mdn-bot@​users.noreply.redirect.github.com>

  • 789d41 chore(deps-dev): bump @​ddbeck/mdn-content-inventory from 0.2.20260513 to 0.2.20260514 (#29677)

    chore(deps-dev): bump @​ddbeck/mdn-content-inventory

    Bumps @​ddbeck/mdn-content-inventory from 0.2.20260513 to 0.2.20260514.


    updated-dependencies:

    • dependency-name: "@​ddbeck/mdn-content-inventory"
      dependency-version: 0.2.20260514
      dependency-type: direct:development
      update-type: version-update:semver-patch
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • 2c6ea4 fix(update-browser-releases): skip Opera versions before current (#29657)
  • 5fb2da Update browser releases (#29656)
  • 4a32e5 chore(deps-dev): bump @​ddbeck/mdn-content-inventory from 0.2.20260512 to 0.2.20260513 (#29671)

    • chore(deps-dev): bump @​ddbeck/mdn-content-inventory

    Bumps @​ddbeck/mdn-content-inventory from 0.2.20260512 to 0.2.20260513.


    updated-dependencies:

    • dependency-name: "@​ddbeck/mdn-content-inventory"
      dependency-version: 0.2.20260513
      dependency-type: direct:development
      update-type: version-update:semver-patch
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

    • chore: fix mdn urls

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>
    Co-authored-by: mdn-bot <108879845+mdn-bot@​users.noreply.redirect.github.com>

  • a41366 chore(deps-dev): bump @​ddbeck/mdn-content-inventory from 0.2.20260511 to 0.2.20260512 (#29667)

    • chore(deps-dev): bump @​ddbeck/mdn-content-inventory

    Bumps @​ddbeck/mdn-content-inventory from 0.2.20260511 to 0.2.20260512.


    updated-dependencies:

    • dependency-name: "@​ddbeck/mdn-content-inventory"
      dependency-version: 0.2.20260512
      dependency-type: direct:development
      update-type: version-update:semver-patch
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

    • chore: fix mdn urls

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>
    Co-authored-by: mdn-bot <108879845+mdn-bot@​users.noreply.redirect.github.com>

  • 48553a chore(deps-dev): bump the npm group with 2 updates (#29666)

    Bumps the npm group with 2 updates: @​types/node and typescript-eslint.

    Updates @&ZeroWidthSpace;types/node from 24.12.3 to 24.12.4

    Updates typescript-eslint from 8.59.2 to 8.59.3


    updated-dependencies:

    • dependency-name: "@​types/node"
      dependency-version: 24.12.4
      dependency-type: direct:development
      update-type: version-update:semver-patch
      dependency-group: npm
    • dependency-name: typescript-eslint
      dependency-version: 8.59.3
      dependency-type: direct:development
      update-type: version-update:semver-patch
      dependency-group: npm
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • bf605f Add Reporting-Endpoints header data on default endpoints usage (#29539)
  • ef6b82 Mark baseline-shift: baseline as deprecated (#29625)

    The spec says:

    User agents may additionally support the keyword baseline as
    computing to 0 if is necessary for them to support legacy SVG content.

    See: https://drafts.csswg.org/css-inline-3/#valdef-baseline-shift-baseline

  • 5ac42f Nominating Vadim Makeev as a peer (#29560)

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented May 18, 2026

Bump @​michijs/shared-configs from 0.0.36 to 0.0.37

Changelog:
Sourced from releases.
        ### 0.0.37## What's Changed

Full Changelog: https://redirect.github.com/michijs/shared-configs/compare/0.0.36...0.0.37

        ### 0.0.36## What's Changed

New Contributors

Full Changelog: https://redirect.github.com/michijs/shared-configs/compare/0.0.34...0.0.36

Commit history:
  • bf294a Update tsconfig.json (Bump typescript from 5.1.6 to 5.2.2 #16)

    What is the purpose of this pull request?

    Screenshots or example usage

    Types of changes

    • Bug fix (non-breaking change which fixes an issue)
    • New feature (non-breaking change which adds functionality)
    • Quality improvement (tests or refactors)
    • Breaking change (fix or feature that would cause existing
      functionality to change)
    • Trivial change (small fix or feature that doesn't impact
      functionalities)
    • Requires change to documentation, which has been updated
      accordingly

    Signed-off-by: Lucas Segurado <lsegurado1996@​gmail.com>

  • 3c3aca chore: Release v0.0.37

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented May 18, 2026

Bump typescript from 5.9.3 to 6.0.3

Changelog:
Sourced from releases.
        ### v6.0.3For release notes, check out the [release announcement blog post](https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/).

Downloads are available on:

Downloads are available on:

  • npm

          ### v5.9.3Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.
    

For release notes, check out the release announcement

Downloads are available on:

Commit history:
  • f350b5 Redirect Claude Code to read AGENTS.md (#63446)
  • af087e docs: improve Math.sign JSDoc grammar and clarity (#63433)
  • 55423a Update CONTRIBUTING.md with comment automation policy (#63412)
  • f1a928 Also check package name validity in InstallPackageRequest (#63401)
  • c7a0ae Harden ATA package name filtering (#63368)
  • 5f4350 Require AI disclosure in PR descriptions (#63366)
  • 38c327 Document charCodeAt edge case behavior in first line (#63344)
  • 7b8cb3 Fix redundant leading apostrophe in TS1344 diagnostic message (#63341)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@​users.noreply.redirect.github.com>

  • 0844c4 Mark class property initializers as outside of CFA containers (#63310)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@​users.noreply.redirect.github.com>

  • 71586a Bump the github-actions group with 2 updates (#63319)

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • 7881fe Add coding agent instructions: refuse PRs unless maintenance mode is acknowledged (#63305)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@​users.noreply.redirect.github.com>
    Co-authored-by: Ryan Cavanaugh <RyanCavanaugh@​users.noreply.redirect.github.com>

  • 77ddb5 Update deps (#63296)
  • 864777 Bump the github-actions group with 3 updates (#63285)

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • b103a0 Update readme to note current repo state (#63292)
  • 4f7b41 Bump the github-actions group with 2 updates (#63224)

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • 9059e5 Fix missing lib files in reused programs (#63239)
  • c9e742 Port anyFunctionType subtype fix and JSX children NonInferrableType propagation from typescript-go (#63163)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@​users.noreply.redirect.github.com>

  • 206ed1 Deprecate assert in import() (#63172)
  • e688ac Update dependencies (#63156)
  • 29b300 Bump the github-actions group across 1 directory with 2 updates (#63205)

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • 0c2c7a DOM update (#63183)
  • 924810 Adds the symbol name to the error message for TS2742 (#63200)
  • 6cf817 discrete pluralizer for lib.esnext.temporal unit unions (#63190)
  • b24015 Eliminate interpolation from workflows (#63188)
  • 347254 Update DOM types (#63137)
  • ad04bf Fix crash in declaration emit with nested binding patterns (#63154)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@​users.noreply.redirect.github.com>

  • 0ed1ee Fix from and with method types of Temporal.PlainMonthDay (#63142)
  • 040c20 Bump github/codeql-action from 4.32.2 to 4.32.3 in the github-actions group (#63145)

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • cdc205 Ensure node is installed in release publisher (#63127)
  • cdb583 Bump github/codeql-action from 4.32.0 to 4.32.2 in the github-actions group (#63123)

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented May 18, 2026

Bump bun-types from 1.3.11 to 1.3.14

Changelog:
Sourced from releases.
        ### bun-v1.3.14To install Bun v1.3.14
curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.14:

bun upgrade

Read Bun v1.3.14's release notes on Bun's blog

Thanks to 11 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.13:

bun upgrade

Read Bun v1.3.13's release notes on Bun's blog

Thanks to 8 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.12:

bun upgrade

Read Bun v1.3.12's release notes on Bun's blog

Thanks to 8 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.11:

bun upgrade

Read Bun v1.3.11's release notes on Bun's blog

Thanks to 15 contributors!

Commit history:
  • b36759 js_parser/lexer: saturate escape-sequence error offsets to avoid usize underflow (#30895)

    Reproduction

    $ echo J1x48LmRnCf/ | base64 -d | bun-debug -
    panic: attempt to subtract with overflow (src/js_parser/lexer.rs:803:41)

    The input is ' \ x F0 B9 91 9C ' FF — a string literal starting with
    \x immediately followed by a 4-byte UTF-8 codepoint.

    Cause

    In decode_escape_sequences, several error paths place the diagnostic
    caret by computing start + iter.i - widthN — the position of the
    offending character minus its byte width. When that character is the
    very first thing in the string literal, iter.i can be smaller than
    widthN (e.g. iter.i = 1, widthN = 4), and the usize subtraction
    underflows. Debug builds panic; release silently wraps to a nonsense
    self.end.

    The original Zig source used -| (saturating subtract) in two of these
    spots (lexer.zig:511, 517), but the rest used raw subtraction —
    inherited as-is by the Rust port.

    Fix

    Use saturating_sub in every such error path in
    decode_escape_sequences. The result is only used to produce a caret
    position inside an error message; saturating to 0 when iter.i < widthN
    still gives a reasonable location. Patched sites:

    • 2-digit \x — first hex invalid (the reported panic)
    • 2-digit \x — second hex invalid
    • \u fixed-length — any of 4 hex digits invalid
    • JSON-mode checks inside \0, \u{, \r, \n, and the catch-all
      non-JSON-allowed escape
    • octal_start computation for the legacy-octal range error

    Verification

    $ echo J1x48LmRnCf/ | base64 -d | bun-debug -
    1 | '\x𹑜'
        ^
    error: Syntax Error
        at -:1:1

    Four new tests in
    test/regression/issue/invalid-escape-sequences.test.ts cover \x
    (1st-hex), \x2 (2nd-hex), \u (fixed-length), and \u{
    (variable-length) each followed by a 4-byte codepoint. Without the fix:
    3 of the 4 panic on their respective lines (803/817/909); the \u{
    variant already used saturating_sub so it passes either way but is
    retained for coverage.

    Fixes #30893


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • 25ad47 js_parser/lexer: reject JSX numeric entities outside Unicode range (#30961)

    Reproduction

    $ echo 'PP87JiM3Nzc3NzA3O3s=' | base64 -d > /tmp/repro.jsx   # <\xff;&#7777707;{
    $ bun-debug /tmp/repro.jsx
    panic: assertion failed: supplementary >= 0x10000 && supplementary <= 0x10FFFF (src/bun_core/lib.rs:1319:9)

    Minimal JSX form:

    $ bun-debug -e 'const x = <div>&#7777707;</div>'
    panic: assertion failed: supplementary >= 0x10000 && supplementary <= 0x10FFFF

    &#7777707; decodes to 0x76B22B, well beyond the maximum valid Unicode
    codepoint U+10FFFF.

    Cause

    maybe_decode_jsx_entity (src/js_parser/lexer.rs:3312) parses the
    numeric entity as i32 and only errors on InvalidCharacter /
    Overflow from bun_core::parse_int. Any value that fits in i32 is
    forwarded to strings::push_codepoint_utf16 (called from
    decode_jsx_entities), which calls encode_surrogate_pair
    u16_lead / u16_trail. Both assert supplementary <= 0x10FFFF
    (src/bun_core/lib.rs:1319 and :1326). Debug builds panic; release
    builds silently encode garbage surrogate pairs (the Zig original used
    @&ZeroWidthSpace;truncate inline and hid the problem).

    Fix

    Reject values outside the Unicode range 0..=0x10FFFF in the same
    arm that handles parse_int success, emitting the existing
    "JSX entity escape is too big" diagnostic and substituting
    UNICODE_REPLACEMENT (U+FFFD) — matching the Overflow branch.

    Verification

    $ bun-debug -e 'const x = <div>&#7777707;</div>'
    1 | const x = <div>&#7777707;</div>
                        ^
    error: JSX entity escape is too big: #7777707

    Boundary cases covered:

    • &#x10FFFF; (max valid) — still encodes as a surrogate pair
    • &#x110000; (max + 1) — "JSX entity escape is too big"
    • &#-1; (negative i32) — "JSX entity escape is too big"
    • &#2147483647; (i32::MAX) — "JSX entity escape is too big"

    Test added to test/bundler/transpiler/transpiler.test.js alongside
    the other JSX lexer tests. Without the fix the test binary panics in
    u16_lead; with the fix each out-of-range entity throws and the
    &#x10FFFF; boundary still compiles.

    Fixes #30958


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • a7dca1 parser: gate class-static-block branch on is_class (#30967)

    Fixes #30963.

    Reproduction

    $ echo '[{static{}' > /tmp/repro.js
    $ bun-debug /tmp/repro.js
    panic: assertion failed: prop.key.is_some() || prop.value.is_some() (src/js_parser/parse/parse_prefix.rs:870:25)

    Release builds correctly emit a user-facing syntax error; only the debug
    assertion fires, because the assertion is gated on
    cfg!(debug_assertions).

    Cause

    src/js_parser/parse/parse_property.rs at the static { ... } branch
    entered the class-static-block path purely on identifier + {, without
    checking whether the enclosing context was a class body:

    } else if p.lexer.token == T::TOpenBrace && name == b"static" {
        // ... parse statements until `}` ...
        return Ok(Some(G::Property {
            kind: PropertyKind::ClassStaticBlock,
            class_static_block: Some(js_ast::StoreRef::from_bump(block)),
            ..Default::default()   // key = None, value = None
        }));
    }

    Every sibling branch in the same match (PStatic, PDeclare,
    PAbstract, PAccessor,
    PPrivate/PProtected/PPublic/POverride/PReadonly)
    already gates on opts.is_class; this one was the only exception. When
    invoked from the object-literal path
    (parse_prefix.rs::pfx_t_open_brace),
    opts.is_class is false and the returned property had neither key
    nor
    value, tripping the debug_assert in the caller.

    Fix

    Add opts.is_class && to the condition so static { ... } is only
    parsed
    as a class static block inside a class body. Outside a class body
    static
    now falls through to ordinary identifier handling and the trailing {
    produces a syntax error, matching release-mode behavior.

    The Zig sibling (parse_property.zig) had the same un-gated branch;
    it's
    updated in lockstep to keep the porting reference aligned.

    Test

    test/bundler/transpiler/transpiler.test.js — added four malformed
    object-literal cases ([{static{}, ({static{}}), ({static{};}),
    ({static{},})) alongside the existing "class static blocks" suite,
    each
    asserting a SyntaxError with Expected "}" but found "{".

    Verification

    • bun bd test test/bundler/transpiler/transpiler.test.js -t "class static blocks" — 1 pass, 24 expect() calls (130 filtered).
    • With the fix stashed, the same test panics at the original assertion
      site → confirms the test exercises the fix.
    • bun bd test test/cli/run/syntax.test.ts — 590 pass; valid class A{static{}} still works.
    • Full transpiler.test.js — 109 pass, 0 fail.

    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • ba1562 Fix over-deref of Blob.name in borrowed_view() (#30955)

    What does this PR do?

    Fixes a SIGFPE crash that occurs when writing to a BunFile multiple
    times after reading its .name property, followed by a GC.

    const f = Bun.file("/tmp/test.txt");
    f.name;
    f.write("a").catch(() => {});
    f.write("b").catch(() => {});
    Bun.gc(true); // SIGFPE

    Root cause

    Blob::borrowed_view() constructed its name field via
    OwnedStringCell::new(self.name.get()), which copies the String value
    without bumping its refcount. The surrounding doc comment assumed
    name was Copy raw data with no Drop, but OwnedStringCell
    does implement Drop (it deref()s the inner String).

    So every time a borrowed_view() was dropped — which happens in
    BunFile.prototype.write(), Bun.write(file, ...), and
    WriteFile::create via PathOrBlob::Blob(...) — the original Blob's
    name StringImpl was deref'd without a matching ref.

    After two writes to a BunFile whose .name had been materialized, the
    StringImpl refcount hit 0 while the cached JSString in
    JSBlob::m_name still pointed at it. The next GC then hit
    StringImpl::costDuringGC()divideRoundedUp(len, refCount()) with
    refCount() == 0 → SIGFPE.

    Fix

    Clone the OwnedStringCell (which dupe_ref()s, balanced by its
    Drop), same as the store field already does.

    How did you verify your code works?

    Added regression tests to test/js/bun/io/bun-write.test.js covering
    file.write(), Bun.write(file, ...), and concurrent writes followed
    by GC. All crash on the unfixed binary and pass with the fix.

    Found by Fuzzilli (fingerprint db407a6431bfbfa7).

  • c47ec9 Validate Bun.password.hash memoryCost against argon2 minimum (#30964)

    Fixes #30960.

    Problem

    Bun.password.hash({ algorithm: "argon2id", memoryCost: N }) silently
    rounded up any N < 8 to 8 and emitted the clamped value in the
    encoded PHC string:

    const hash = await Bun.password.hash("test", {
      algorithm: "argon2id", memoryCost: 3, timeCost: 1,
    });
    // Actual:   m=8,t=1,p=1
    // Expected: an error, or m=3,t=1,p=1

    This is a 1.4.0 regression from the Rust port. The old Zig impl passed
    m through unchanged because its argon2 had a special clamp on working
    memory (@&ZeroWidthSpace;max(m_rounded_down, 2*sync_points*p)). rust-argon2 instead
    hard-rejects mem_cost < 8*lanes with MemoryTooLittle, and the port
    worked around that by clamping m up to 8 * p before the call — the
    clamped value is what got baked into the PHC output.

    Fix

    Validate at the JS argument-parsing boundary (AlgorithmValue::from_js
    in PasswordObject.rs) and reject memoryCost < 8 with "Memory cost
    must be at least 8". Bun hard-codes parallelism = 1, so 8 * parallelism == 8. The clamp in the pwhash shim is removed — with the
    validation in place, rust-argon2 sees only valid parameters and the
    user-provided value round-trips through the encoded hash.

    Docs (docs/runtime/hashing.mdx,
    docs/guides/util/hash-a-password.mdx) used memoryCost: 4 as an
    example; bumped to the documented minimum of 8.

    Verification

    $ bun bd /tmp/repro.ts
    error: Memory cost must be at least 8
    

    Added regression coverage in test/js/bun/util/password.test.ts:

    • invalid algorithm throws now also asserts that memoryCost of 1, 3,
      7 each throw with "Memory cost must be at least 8".
    • New argon2 memoryCost at the 8 minimum is encoded faithfully test
      confirms memoryCost: 8 produces m=8,t=1,p=1 in the PHC string and
      verifies round-trip.

    The stashed-src gate confirms the new assertions fail against unmodified
    source (clamp returns silently) and pass with the fix.

  • 390e0d Upgrade WebKit to 2b257999 (#30705)

    Upgrades WebKit to autobuild-preview-pr-231-2b257999 (commit
    2b257999114b) (Upgrade WebKit to 49d2e914a4cc oven-sh/WebKit#231 — ~755 upstream commits since
    5488984d20e0).

    Bun-side changes

    JSPromise rework (3f9955f695b6)

    JSPromise is no longer JSInternalFieldObjectImpl<2>. The
    getPromiseInternalField/putPromiseInternalField bytecode intrinsics
    and the promiseField*/promiseState* intrinsic constants were removed
    upstream. Added three C++ host functions exposed as private globals —
    $peekPromiseStatus(p) (0/1/2 = pending/fulfilled/rejected),
    $peekPromiseSettledValue(p), and $pokePromiseAsHandled(p) — and
    rewrote all 26 builtin call sites across Peek.ts, CommonJS.ts,
    BundlerPlugin.ts, StreamInternals.ts, WritableStreamInternals.ts,
    ReadableStreamInternals.ts, and internal/util/inspect.js. The
    $isPromiseFulfilled/$isPromiseRejected/$isPromisePending codegen
    macros now expand to $peekPromiseStatus(...) === N.

    C++ bindings (bindings.cpp, BunPlugin.cpp) that touched
    JSPromise::Field/internalField() switched to
    flags()/setFlags()/setSlot()/payloadCell().

    RapidHash (ee2220df2080)

    WTF replaced WyHash/SuperFastHash with RapidHash. The static-property
    lookup tables (*.lut.h) embed the string hash, so the
    create_hash_table perl script must produce the same hash the runtime
    computes. Replaced src/codegen/create_hash_table with the upstream
    RapidHash version and re-grafted Bun's ConstantInteger extension.
    Without this every static property on JSGlobalObject (Bun, fetch,
    process, ...) is invisible.

    JSType enum (24cf2e544f58)

    JSWebAssemblyStreamingContextType was inserted at slot 27 —
    src/jsc/JSType.rs/.zig re-numbered.

    WebAssembly streaming hooks

    compileStreaming/instantiateStreaming global hook signatures
    changed: the JSPromise* is now passed in instead of returned.

    JSModuleNamespaceObject/AbstractModuleRecord

    getModuleNamespace() gains a ModulePhase argument (import defer);
    Bun's shouldPreventExtensions parameter is preserved as a trailing
    default.

    Known regression (pre-existing investigation)

    Error inside minified file snapshot tests in inspect-error.test.js
    show an extra at require (native:50:24) frame. The require builtin's
    ImplementationVisibility::Private is no longer hiding the frame after
    the upstream PCH/builtin refactor — needs follow-up.


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • 9ecb98 Fix FileSink.start() crash when called without path/fd on an open writer (#30953)

    What

    Fixes a debug assertion failure (fd != Fd::INVALID in
    src/sys/Error.rs) when calling .start() on a FileSink created by
    Bun.file(path).writer() with an options object that does not include a
    path or fd property.

    const writer = Bun.file("/tmp/out.txt").writer();
    writer.start({}); // panic: assertion failed: fd != Fd::INVALID

    Why

    Start::from_js_with_tag::<FileSink> returns Start::FileSink { input_path: Fd(Fd::INVALID), .. } when the options object has neither
    path nor fd. FileSink::start() then unconditionally called
    setup(), which called dup_with_flags(Fd::INVALID, 0). The fcntl
    fails with EBADF, and when building the error via
    .with_fd(Fd::INVALID) we hit the debug assertion.

    In Blob::get_writer the invalid-fd placeholder is always overwritten
    with the real file path/fd before start() is called, but the
    JS-exposed .start() has no such override.

    How

    Add a match guard in FileSink::start() to skip setup() when the
    incoming input_path is the invalid-fd placeholder — the writer is
    already configured, so we only update done/started/signal state as
    before. Calls with a real path or fd still re-run setup().

    Found by Fuzzilli.

  • ad68af Discourage comments
  • b18bf6 Bump (#30952)

    What does this PR do?

    How did you verify your code works?

  • 80a06a Add cargo-miri support and fix HiveArray aliasing UB (#30876)

    Fixes #30719

    Miri support

    Adds bun run rust:miri (scripts/rust-miri.ts), which runs cargo miri test over the FFI-free crate set (bun_collections, bun_paths,
    bun_clap, bun_base64, bun_hash, bun_wyhash, bun_ptr, bun_md,
    bun_ast, bun_dispatch, bun_errno, bun_http_types,
    bun_resolve_builtins, bun_shell_parser).

    Aliasing model is -Zmiri-tree-borrows, not the default Stacked
    Borrows. Stacked Borrows pops every raw pointer derived through &mut self the moment a later &mut self is formed — that's the entire
    premise of the slab/pool/slot types in this codebase. Tree Borrows is
    the candidate replacement spec, allows that pattern, and still catches
    the bugs we care about (UAF, OOB, uninit, races).

    Bit-rot fixes

    cargo test has never run on these crates. Enabling it surfaced compile
    errors and wrong assertions that have been there since the original
    port:

    • bun_collections: dead test stub needing generic_const_exprs, wrong
      type name, ambiguous init(), plus a cfg(miri) iteration-count guard.
    • bun_paths: back_then_forward expected previous() → None to
      rewind the cursor; it doesn't (matches std.fs.path.ComponentIterator).
      Plus 2 doc-comments that compiled as failing doctests.
    • bun_clap: the errors test expected unrecognized long flags to
      error; Bun's StreamingClap intentionally skips them (warn + continue).
    • bun_base64: test_base64_url_safe_no_pad fed unpadded input to
      decoder_with_ignore, which for URL_SAFE_NO_PAD is the padded
      decoder (the field is shared with URL_SAFE). Reworked the test helpers
      to feed each decoder the form it accepts; the impl is unchanged.
    • bun_ast: 3 doc-comments compiling as failing doctests.

    HiveArray interior mutability

    Tree Borrows immediately flagged HiveArray/Fallback/HiveRef as UB.
    The pool used &mut self receivers and handed out raw *mut T pointers
    into its internal buffer. Under noalias, any subsequent &mut self
    reborrow invalidates pointers derived from a prior one. This was a
    mechanical Zig→Rust translation: Zig's *Self carries no aliasing
    contract, but Rust's &mut self is noalias.

    Fix is the bumpalo/typed-arena shape — &self receivers + interior
    mutability:

    • HiveArray::bufferUnsafeCell<[MaybeUninit<T>; CAP]>. Slot
      pointers come from UnsafeCell::get() and survive &self reborrows.
      Made private; ptr_at() is the typed accessor.
    • HiveBitSet::masks[Cell<usize>; 32]. Same size, same alignment,
      no atomics; verified identical codegen.
    • All &mut self receivers → &self. HiveSlot::write() writes
      through a raw pointer.
    • HiveRef::ref_countCell<u32>; unref(this: *mut Self) (not a
      protected &mut self it would then free through the pool back-pointer).
    • New HiveRefHandle<T, CAP> smart pointer — Clone/Drop track the
      refcount, into_raw()/from_raw() for raw round-trips, get_mut()
      instead of DerefMut (a blanket DerefMut on a shared-ownership handle
      is unsound). Safe API; unsafe only at raw-pointer ingress.

    Adds 11 tests covering the previously-untested API surface. All 13 hive
    tests pass under MIRIFLAGS=-Zmiri-tree-borrows cargo miri test -p bun_collections hive_array with no ignores.

    HiveRefHandle migration

    Request.body and RequestContext.request_body migrated from raw
    NonNull + manual ref/unref to HiveRefHandle. Value::ref_/unref
    deleted (they recovered the parent HiveRef from a *mut Value via
    offsetof, only needed because RequestContext held a payload
    pointer). The RuntimeHooks.init_request_body_value vtable slot
    deleted: its only caller and only impl were both in bun_runtime. Net
    unsafe delta across the touched files: −17.

    Verification

    cargo +nightly check --workspace                                # clean
    cargo +nightly test -p bun_collections                          # 35 passed
    MIRIFLAGS=-Zmiri-tree-borrows cargo +nightly miri test -p bun_collections hive_array  # 13 passed, 0 ignored
    bun run rust:miri                                               # all 14 crates pass

    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • 035add install: reuse existing folder/tarball entry in package.json (#30935)

    Fixes #30933 (and finishes #30499, which was never ported to the Rust
    PackageJSONEditor).

    Repro

    mkdir /tmp/myproject && cd /tmp/myproject
    cat > package.json <<'JSON'
    { "name": "myproject", "version": "1.0.0", "bin": { "myproject": "./index.js" } }
    JSON
    echo 'console.log("hi")' > index.js
    
    export BUN_INSTALL_GLOBAL_DIR=/tmp/g BUN_INSTALL_BIN=/tmp/b
    mkdir -p \"\$BUN_INSTALL_GLOBAL_DIR\" \"\$BUN_INSTALL_BIN\"
    
    bun add -g /tmp/myproject   # 1st — clean
    bun add -g /tmp/myproject   # 2nd — duplicates
    
    cat /tmp/g/package.json
    # {
    #   \"dependencies\": {
    #     \"myproject\": \"/tmp/myproject\",
    #     \"myproject\": \"/tmp/myproject\"   <- dup
    #   }
    # }

    Enough repeat runs make the lockfile unparseable:

    error: Duplicate package path
        at bun.lock:XXX:5
    InvalidPackageKey: failed to parse lockfile: 'bun.lock'
    

    Also reproduces without -g — any `bun add ` run twice
    duplicates the entry. It's the folder-install code path, not the
    global-install code path, that's broken. The same shape also regresses
    `bun add ` (previously fixed in #30499 for the Zig file,
    which is no longer compiled after the Rust port).

    Cause

    `PackageJSONEditor::edit`'s initial name-match phase looks up the
    existing entry by `UpdateRequest::get_name()`. For a non-aliased
    folder/path/tarball positional, `get_name()` returns the version
    literal (the path/URL the user typed), not the resolved package name,
    so `query.expr.as_property(name)` never finds the existing
    `""` key and the code falls through to the append path.

    The fallback URL-value-match loop below only fired for `Tag::Github` /
    `Tag::Git`, so `.folder` and `.tarball` both fell through to the
    append path. `get_resolved_name(lockfile)` then returned the real
    package name (`"myproject"`) which was written as a second key
    next
    to the existing `"myproject": "/tmp/myproject"` entry — producing
    two keys with the same name.

    Fix

    Extend the fallback URL/path-match loop to also match on `.tarball`
    and `.folder`, skip it when the user wrote `alias@​url` (that form is
    an explicit request to key by `alias`, so consolidating into an
    existing entry under a different name would silently drop the alias),
    and guard on `request.e_string.is_none()` so a match in an earlier
    dependency list (e.g. `dependencies`) isn't re-counted when the
    outer loop continues to the remaining lists (`devDependencies`, etc.).

    The `.zig` sibling is kept aligned as a porting reference (it is no
    longer compiled — CLAUDE.md: "not compiled, not shipped").

    Verification

    Two regression tests added in `test/cli/install/bun-add.test.ts`:

    • `should not add duplicate package.json entries when installing the
      same local folder twice (#30933)` — this issue.
    • `should not add duplicate package.json entries when installing the
      same tarball URL twice (#30499)` — re-port of the test dropped during
      the Rust rewrite.

    Gate:

    • `USE_SYSTEM_BUN=1 bun test test/cli/install/bun-add.test.ts -t
      '30933|30499'` — both fail on the duplicate `"":` key.
    • `bun bd test test/cli/install/bun-add.test.ts -t '30933|30499'` —
      both pass with the fix.

    Existing tests that exercise the same fallback still pass:

    • `should add local tarball dependency` ✅
    • `should add dependency without duplication` ✅
    • `should add aliased dependency (npm)` ✅

    Supersedes #30500 (which targeted the `.zig` file only).


    Co-authored-by: robobun <robobun@​users.noreply.redirect.github.com>

  • 655398 encoding: fix Vec->Vec layout UB in fs.readFile utf16le path (#30926)

    Summary

    Fixes a Vec allocator-layout UB in to_bun_string_from_owned_slice's
    Ucs2/Utf16le arm — the sole code path for fs.readFile(path, { encoding: "utf16le" | "ucs2" }).

    What was wrong

    The arm took an owned Vec<u8> and rebuilt it as a Vec<u16> via
    Vec::from_raw_parts(ptr.cast::<u16>(), len/2, cap/2), then handed that
    to WebKit's external-string deallocator. This is a direct port of the
    Zig original's @&ZeroWidthSpace;alignCast(bytesAsSlice(u16, …)), but Rust's Vec is
    stricter:

    • Vec::from_raw_parts requires that T's alignment equal the
      alignment of the original allocation. Vec<u8> allocates with Layout
      align 1; reclaiming as Vec<u16> makes the eventual dealloc use align
    • Per alloc::alloc::dealloc's safety contract, the Layout used to
      free must match the one used to allocate. Mismatched align is UB.

    The TODO(port) comment above the code already called this out:

    Reinterpreting a Vec<u8> as Vec<u16> is not generally sound in
    Rust (alignment + allocator layout).

    Why it never crashed

    mimalloc gives us over-aligned (>= 8 byte) pointers, so the layout
    mismatch is benign in practice on the allocator we ship. Miri would flag
    it, and a future allocator change would surface it as either a crash on
    free or silent heap corruption.

    The fix

    Mirror the already-merged solution in construct_from_u16's utf16le arm
    (same file). That arm had the symmetric Vec<u16> -> Vec<u8>
    reinterpret problem when porting from Zig, and the porter resolved it
    the same way — comment from encoding.rs:786-789:

    The Zig original allocated u16-aligned then reinterpreted the Vec
    header to u8, which is allocator-layout-dependent in Rust; a fresh u8
    Vec sidesteps that…

    Same shape here, opposite direction: allocate a fresh Vec<u16> and
    copy the input bytes into it via bytemuck::cast_slice_mut. Sound by
    construction — the Vec is allocated and freed with the same Layout.

    - // TODO(port): Zig reinterpreted the owned u8 allocation as []u16 ...
    - let as_u16 = unsafe {
    -     let mut input = core::mem::ManuallyDrop::new(input);
    -     Vec::from_raw_parts(
    -         input.as_mut_ptr().cast::<u16>(),
    -         usable_len / 2,
    -         input.capacity() / 2,
    -     )
    - };
    + let mut as_u16 = vec![0u16; usable_len / 2];
    + let dst: &mut [u8] = bytemuck::cast_slice_mut(&mut as_u16);
    + dst.copy_from_slice(&input[..usable_len]);
      create_external_globally_allocated_utf16(as_u16)

    Tradeoff

    One extra usable_len-byte memcpy on the fs.readFile(path, "utf16le"|"ucs2") hot path. For typical file sizes (KB-MB) this is
    negligible. The zero-copy path can be restored later by adding a
    bun_core::String constructor that accepts (ptr, len, cap, dtor)
    exactly what the original TODO(refactor) suggested.

    Sole caller

    src/runtime/node/node_fs.rs:7071 — the fs.readFile(path, { encoding }) return-as-string path, when the encoding is utf16le or ucs2
    (Latin-1/UTF-8 paths take separate arms and aren't affected).

    Test plan

    • bun bd test test/regression/issue/utf16-encoding-crash.test.ts
      fs.readFileSync(path, "utf16le") plus "ucs2", including a 256 KB + 1
      byte case that hits the dynamic-allocation branch
    • bun bd test test/js/node/buffer-utf16.test.ts
      Buffer.from(str, "utf-16le") roundtrip
    $ bun bd --asan=off test test/regression/issue/utf16-encoding-crash.test.ts test/js/node/buffer-utf16.test.ts
     3 pass
     0 fail
     9 expect() calls
    

    No new tests added — this is a soundness fix, not a behavior fix. The
    existing tests already exercise the relevant code path (fs.readFile
    with utf16le/ucs2 encodings, including the >256 KB
    dynamic-allocation branch); their pre/post-fix behavior is identical, as
    expected.

    🤖 Generated with Claude Code

    Co-authored-by: Khang Le Duy <khangl@​nvidia.com>
    Co-authored-by: Claude Opus 4.7 (1M context) <noreply@​anthropic.com>

  • c7a757 Collapse ThreadPool::init dead generic and fix cpuid cfg gate (#30886)

    ThreadPool::init dead generic. bundler::ThreadPool::init (and its
    helper init_with_pool) were generic over V2 because, during the
    phased Zig→Rust port, bundle_v2.rs carried two BundleV2 definitions
    — the canonical one plus a bv2_impl draft module — and both needed to
    call init. The PORT NOTE on the function explicitly said it should
    collapse to &BundleV2<'_> once bv2_impl was dropped. That module is
    gone (grep -rn "struct BundleV2" src/bundler/ finds exactly one
    definition, bundle_v2.rs:75), so this collapses the generic, names the
    concrete type, and drops the now-stale PORT NOTE. The body was already
    storing a type-erased raw pointer, so the monomorphised code is
    identical.

    cpuid cfg-gate mismatch. perf/hw_timer.rs defines struct CpuidResult and fn cpuid() under #[cfg(target_arch = "x86_64")],
    but their only callers live inside a #[cfg(not(any(target_os = "macos", target_os = "freebsd")))] block (macOS/FreeBSD read the boot-time TSC
    frequency from sysctl instead of probing CPUID). On
    x86_64-apple-darwin and x86_64-unknown-freebsd the helpers were
    therefore compiled with no callers, producing never constructed /
    never used warnings. The cfg gates now mirror the callers' conditions.

    Verified with cargo check --workspace --keep-going (clean), bun run rust:check-all (10/10 targets), and cargo fmt -p bun_bundler -p bun_perf --check. Confirmed the dead-code warnings on
    x86_64-apple-darwin are present without this change and gone with it.
    File set is disjoint from #30879.

  • 172afa Replace bun assert helpers with Rust builtin assert macros (#30918)
  • 945b89 perf: bundler & transpiler hot-path optimizations (#30901)
  • 112f30 refactor: remove unsafe for static strings (#30867)

    What does this PR do?

    Removes unnecessary str::from_utf8_unchecks calls for static slices.

    How did you verify your code works?

    Trivial conversion.

  • e75098 cargo fmt
  • 880ee8 Clean up Zig-port phase comments and trivial lint warnings (#30877)

    What

    Removes the ~1,750 stale "Phase A" / "Phase B" references the Zig→Rust
    port left across ~600 files. The port phases are complete; the
    references confuse what's a real TODO vs. a finished process step.
    Comments that encode real deferred work (e.g. PERF(port): was X — profile in Phase B) keep the substance and drop the phase framing
    (PERF(port): was X — profile if hot.). Comments that only describe
    past process steps are removed.

    Also fixes the trivial lint warnings cargo check surfaced along the way:
    unused imports, an unnecessary unsafe block over a safe extern "C" fn, unreachable_pub items, ambiguous glob re-exports, an unused
    #[must_use] result, and a private-type-in-public-alias. Two
    SAFETY/rustdoc comments that referenced API methods removed in a
    follow-up are rewritten to name the current entry points.

    What this is not

    No behavior changes. No public API changes. The hive-pool deprecation
    warnings (HiveArrayFallback::get/try_get) are not silenced here — the
    call sites are migrated to the safe API in a follow-up PR.

    Verification

    • cargo check --workspace clean for everything this PR touches
    • cargo fmt --all applied
    • bun run rust:check-all (all 6 target triples)
    • e52006 Harden 36 reachable security findings across runtime, install, parsers, http (#30722)

    Hardens 36 reachable security findings across the runtime, package
    manager, parsers, HTTP client/server, and SQL drivers. Three
    auto-applied fixes (Bump typescript from 5.6.2 to 5.7.2 #61 SSL exception leak, Bump @mdn/browser-compat-data from 6.0.13 to 6.0.15 #68 YAML merge dedup, [michijs/dependabot] Autofix changes #104
    archive overwrite precheck) were dropped: Bump typescript from 5.6.2 to 5.7.2 #61 introduced a
    use-after-free, Bump @mdn/browser-compat-data from 6.0.13 to 6.0.15 #68 stored a non-'static byte view in a 'static
    field, and [michijs/dependabot] Autofix changes #104 added dead gating that did not close the traversal.

    Memory safety / lifetime

    Untrusted-input bounds / panics

    DoS / resource caps

    Auth / injection / traversal

    Permission hygiene

    Parser correctness

    Summary

    • ~SourceProvider() derefs m_resolvedSource.specifier and
      .source_url (introduced in c713ab53130b to fix a leak), which requires
      every ResolvedSource producer to hand those BunStrings in as +1.
    • The synthetic-module paths in jsc_hooks.rs (bun:main, bun:wrap,
      macro:, standalone-graph, embedded sqlite) stored a bitwise copy of
      the borrowed specifier (*specifier) with no extra ref, so the
      destructor over-derefs. The atom impl frees while a JSString in the
      worker heap still references it, and once that slot is reused,
      Heap::lastChanceToFinalize trips RELEASE_ASSERT(wasRemoved) in
      AtomStringImpl::remove during worker VM teardown — symptom is a
      SIGABRT on a random atom string.
    • Fix: specifier.dupe_ref() for both specifier and source_url on
      the paths whose ResolvedSource flows into
      Zig::SourceProvider::create(), matching
      RuntimeTranspilerStore::run_from_js_thread.

    Test plan

    • test/js/node/test/parallel/test-worker-console-listeners.js
      480/480 clean (was ~5/240 SIGABRT) with BUN_DESTRUCT_VM_ON_EXIT=1
      under 8× parallel debug-build loop
    • test/js/node/test/parallel/test-crypto-worker-thread.js
      400/400 clean under the same harness
    • Diagnostic heap walk before ~VM confirms worker heaps no longer
      hold a bun:main JSString whose StringImpl is absent from the
      worker's atom table (foreign=1foreign=0)
    • 8438ff resolver: split the port's module wrapper into files; type the extern-Rust pointers (#30880)

    What

    Module split

    The Zig→Rust port wrapped the entire resolver implementation in a single
    7,664-line pub mod __phase_a_body { ... } inside src/resolver/lib.rs
    (lines 2609–10,273) — a port artifact ("this is the
    mechanically-translated block"). There's no name for a module that wraps
    a crate's whole body that isn't redundant, which is the tell the wrapper
    shouldn't exist. Split it into sibling files following the crate's
    existing convention (data_url.rs / dir_info.rs / package_json.rs):

    File Lines Holds
    options.rs 357 BundleOptions, Packages, ExternalModules,
    Framework, ExtOrder, …
    result.rs 578 Result, MatchResult, PathPair, DebugLogs,
    PendingResolution, LoadResult, …
    resolver.rs 6,640 Resolver struct + impl, threadlocal Bufs,
    local shim modules
    standalone_module_graph.rs 30 the StandaloneModuleGraph trait

    |
    | allocators.rs | 6 | re-exports referenced cross-file from
    dir_info.rs |

    lib.rs shrinks 10,273 → 2,615 lines. Public API surface is
    byte-identical — bun_resolver::Resolver, ::Result, ::options, …
    all resolve as before.

    Typed extern-Rust pointers

    Un-erase the extern "Rust" link-time pointers where the declaring
    crate already names the type. The port applied "type-erase across the
    crate boundary" uniformly to every #[no_mangle] upward call, but
    extern "Rust" carries full Rust types — both crates can name the
    parameters. Where visible, use the typed pointer with the Zig pointer
    shape (NonNull<T> for *T, Option<NonNull<T>> for ?*T):

    • __bun_resolver_init_package_manager: log: *mut Log
      NonNull<Log>, install: *const ()Option<NonNull<BunInstall>>,
      env: *mut c_voidNonNull<Loader<'static>>
    • BundleOptions.install: *const ()Option<NonNull<BunInstall>>
    • Resolver.log: *mut LogNonNull<Log>
    • __bun_jsc_enable_hot_module_reloading_for_bundler: *mut ()
      NonNull<BundleV2<'static>>

    The implementation-side cast::<T>() calls — the tell that the erasure
    was unnecessary — are removed.

    Sites where the type is genuinely not visible (bun_event_loop
    bun_jsc::VirtualMachine, bun_js_parserbun_bundler::Transpiler)
    are left as-is — that's the real layering boundary the pattern exists
    for.

    Verification

    • cargo check --workspace clean
    • cargo fmt --check clean
    • bun run rust:check-all (all 6 target triples)
    • bun bd links and runs
    • grep -rn resolver_body src/ returns nothing
    • f85020 hooks: deny direct rustfmt, point at cargo fmt --all (#30881)

    What

    Adds a deny rule to the PreToolUse Bash hook
    (.claude/hooks/pre-bash-zig-build.js) that intercepts rustfmt
    invocations and rejects them with a message pointing at cargo fmt --all instead.

    Why

    CI's Format job runs cargo fmt --all --check (#30682). Standalone
    rustfmt doesn't read the workspace edition from Cargo.toml the way
    cargo fmt does — it falls back to edition 2015 — and our
    rustfmt.toml only carries the ignore list, not an edition override.
    So rustfmt <file> can produce output that disagrees with what CI
    expects, leading to a red Format job after a "formatting" commit.

    How

    Same denyWithReason pattern the hook already uses for zig build obj,
    bun bd under timeout, etc. Matches on argv0 after stripping inline
    env assignments and path prefixes, so rustfmt, /path/to/rustfmt, and
    FOO=1 rustfmt are all caught. cargo fmt / cargo fmt --all are
    unaffected.

    $ echo '{"tool_name":"Bash","tool_input":{"command":"rustfmt src/foo.rs"}}' | bun .claude/hooks/pre-bash-zig-build.js
    {"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"error: Don't run `rustfmt` directly. Run `cargo fmt --all` — it's what CI checks."}}
    
    $ echo '{"tool_name":"Bash","tool_input":{"command":"cargo fmt --all"}}' | bun .claude/hooks/pre-bash-zig-build.js
    (empty — allowed)
    ```</li><li><a href="https://redirect.github.com/oven-sh/bun/commit/2a3d0e7d2911e59d7367aed85da692a65605c015"><code>2a3d0e</code></a> resolver: keep forward slashes when imports target is a package specifier (#30845)
    
    ## Repro
    
    Per the reporter on Windows (also reproduced on main):
    
    ```jsonc
    // packages/app/package.json
    {
      "imports": { "#res": "@&ZeroWidthSpace;myproject/resolver" }
    }
    
    // packages/resolver/package.json
    {
      "name": "@&ZeroWidthSpace;myproject/resolver",
      "main": "./index.cjs",
      "exports": { ".": "./index.mjs" }
    }
    
    import { type } from '#res';   // Node: 'esm (from exports)'
                                    // Bun (Windows): 'cjs (from main)'

    Linux/macOS output the expected ESM value; Windows falls back to the
    legacy main field.

    Cause

    In src/resolver/package_json.rs resolve_target, the branch that
    handles an imports target which is itself a bare package specifier
    (not ./…, ../…, /…) joins [target, subpath] via
    resolve_path::platform::Auto and hands the joined string back to
    package-resolve for a second pass.

    platform::Auto is platform::Windows on Windows, so the join calls
    normalize_string_node_t::<u8, Windows> which rewrites / to \. The
    scoped package name @&ZeroWidthSpace;myproject/resolver becomes @&ZeroWidthSpace;myproject\resolver;
    that no longer matches anything in node_modules and the resolver falls
    back to legacy main-field lookup, producing the CJS file.

    Per the Node.js packages spec, values inside imports and exports are
    URL-like specifiers that always use forward slashes — they are not
    OS-specific filesystem paths and must not be normalized to backslashes.
    The Zig reference (package_json.zig:1782) uses .auto here too; the
    Rust port inherited the bug.

    Fix

    Use platform::Posix for this one join so the scoped-package / is
    preserved. The other two platform::Auto joins in the same function
    operate on [package_url, str] / [package_url, str, subpath], where
    the result IS a real filesystem path — Windows normalization there is
    correct and stays as-is.

    Test

    Added describe.if(isWindows)("#30839 - imports entry pointing at a scoped package", …) in test/js/bun/resolve/resolve.test.ts that
    mirrors the reporter's setup: a workspace with @&ZeroWidthSpace;myproject/resolver
    dual-built (main=cjs, exports=mjs) and an imports entry mapping #res
    to the scoped name. Asserts that running bun test.mjs outputs the ESM
    value.

    The test is Windows-only because on Linux/macOS platform::Auto is
    already platform::Posix and this join is a no-op for forward-slash
    input; the misbehavior only surfaces when the join's platform is
    Windows. That matches the existing test.if(isWindows) regression
    pattern in the repo (e.g. test/regression/issue/23292.test.ts).

    Verification

    • Linux: bun bd test test/js/bun/resolve/resolve.test.ts — 37 pass, 2
      skip (including the new Windows-only case), 0 fail.
    • Reproduction script from the issue, run against
      build/debug/bun-debug on Linux, prints Resolved type: esm (from exports) both before and after the fix (expected — Linux isn't
      affected).

    Fixes #30839


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • 4d443e collections: funnel multi_array_list SoA ops through Col/ColMut primitives (#30726)

    Part of the bun_collections unsafe-reduction roadmap. Reduces
    multi_array_list.rs from 35 → 12 unsafe occurrences while keeping
    the single-allocation SoA layout (lockfile serialization reads/writes
    raw column bytes, so a per-column Vec<F> is not an option).

    What changed

    Every raw operation now routes through a small primitive set so each
    irreducible unsafe pattern appears exactly once:

    primitive unsafe op
    column_base NonNull::add
    Col::as_slice / ColMut::as_mut_slice from_raw_parts[_mut]
    Slice::scatter / Slice::gather per-field byte copy
    MultiArrayList::zero ptr::write_bytes
    free_allocated_bytes Allocator::deallocate
    __mal_split_mut_impl macro N-way disjoint from_raw_parts_mut

    plus unsafe impl Send/Sync and the pub unsafe fn signatures on
    set_len / column_bytes_mut.

    All row-level mutations (insert_assume_capacity, swap_remove,
    ordered_remove, append_list_assume_capacity, set_capacity,
    shrink_and_free, clone, sort_internal) are rebuilt on safe
    <[MaybeUninit<u8>]>::copy_within / split_at_mut / copy_from_slice
    over Col/ColMut views.

    Storage migration

    bytes: *mut u8NonNull<u8> and Slice::ptrs: [*mut u8; 32]
    [NonNull<u8>; 32]. The empty sentinel is
    NonNull::<T>::dangling().cast::<u8>() (= align_of::<T>(), ≥ every
    field's alignment), so the per-accessor cap == 0 dangling-substitution
    branches are no longer needed. The ZST-field branch is kept
    (over-aligned ZST column offsets are not guaranteed aligned). Drops both
    NonNull::new_unchecked calls.

    Signature fixes

    • sort / sort_span / sort_unstable / sort_span_unstable /
      zero: &self&mut self (they mutate).
    • bun_collections_sort_context / _unstable_context / sift_down
      swap closure: FnFnMut (so swap_rows(&mut self, ..) can be
      captured).

    Caller updates

    • src/sourcemap/Mapping.rs: SortContext now holds *const LineColumnOffset + len and reads via unsafe { *ptr.add(i) } in
      less_than. The previous code held a &[LineColumnOffset] over the
      generated column across sort, which swaps that column's bytes — UB
      under Stacked Borrows. The &mut self receiver makes the borrow checker
      reject that pattern, and the raw-pointer comparator is the correct
      shape.
    • src/bundler/LinkerGraph.rs::load: no edit; self.files.zero() is
      already on a &mut self.files path.

    Perf notes

    • insert_assume_capacity / ordered_remove change from O(n)
      per-element copy_nonoverlapping loops to one copy_within (memmove)
      per column.
    • zero() keeps its ptr::write_bytes (memset).
      [MaybeUninit<u8>]::fill is not memset-specialized in std, and this is
      on the bundler hot path (LinkerGraph::load).

    Out of scope

    Pre-existing soundness gap — Slice<T>: Copy lets a caller alias &mut
    via two copies. Removing Copy breaks ~140 .slice() snapshot sites
    that intentionally exploit it for borrowck. Documented on the Slice
    type; tracked separately.

  • bb1973 build: generate bun_core::build_options from Config (#30749)

    bun_core::build_options (the Rust analogue of Zig's
    @&ZeroWidthSpace;import("build_options") — version, sha, baseline, canary, paths) was
    populated via a dozen BUN_* env vars that scripts/build/rust.ts
    exported and bun_core/lib.rs read back with option_env!. The names
    were maintained in two places, and a bare cargo check / rust-analyzer
    saw placeholder defaults ("0000…" sha, fake version, mixed-separator
    Windows BASE_PATH).

    Now scripts/build/buildOptionsRs.ts writes
    ${codegenDir}/build_options.rs at configure time with literal pub consts straight from the resolved Config, and bun_core
    include!()s it (same pattern as generated_classes.rs / cpp.rs).
    writeIfChanged keeps the mtime stable so an unchanged sha doesn't
    recompile bun_core and its dependents.

    Target/profile-derived constants (ENABLE_TINYCC, ENABLE_ASAN,
    ENABLE_LOGS) stay as cfg!() inside the generated file so
    cross-target cargo check still evaluates them per-triple.

    Also:

    • adds src/bun_core/build.rs to export BUN_CODEGEN_DIR +
      rerun-if-changed (mirrors src/{jsc,runtime}/build.rs)
    • wires cfg.fuzzilliENABLE_FUZZILLI (was hardcoded false)
    • drops the Windows mixed-separator BASE_PATH fallback hack

    Verified: bun bd --revision reports the configured sha; empty-commit +
    rebuild reports the new sha; reconfigure with unchanged Config
    preserves build_options.rs mtime; cargo check -p bun_core passes.

  • 314d04 JSON lexer: tokenize ?/*/(/) so define auto-quote can recover (#30679)

    Summary

    • The JSON lexer raised Operators are not allowed in JSON eagerly on
      ?, *, (, ). That aborts Lexer::init before parse_env_json's
      auto-quote fallback (which treats a non-JSON define: value as a string
      literal) ever runs.
    • This broke building Bun itself: bun run build:debug:noasan failed in
      bake-codegen.ts because OVERLAY_CSS is a raw minified CSS string
      starting with *{...}:
      Errors while bundling Bake error runtime ...
      

    1 |
    *{box-sizing:border-box;margin:0;padding:0}.root{all:initial;--modal-bg:#202020;-
    ^
    error: Unsupported syntax: Operators are not allowed in JSON

    - Drop `?`, `*`, `(`, `)` from the operators-error list so they fall
    through to the catch-all `TSyntaxError` path that
    `JSONLikeParser::parse_expr`'s auto-quote arm handles. The other
    operator characters (`%`, `&`, `|`, `^`, `+`, `=`, `<`, `>`, `!`, `` `
    ``) keep erroring as before.
    - Adds a regression test that `Bun.build({define: {X:
    "*{box-sizing:border-box}.root{}"}})` (and `?`/`(`/`)`/non-JSON-brace
    values) auto-quote into string literals.
    
    ## Test plan
    - [x] `bun bd test test/bundler/bun-build-api.test.ts -t "auto-quoted"`
    — 1 pass
    - [x] `bun bd test test/bundler/bun-build-api.test.ts` — 41 pass / 0
    fail
    - [x] `bun bd src/codegen/bake-codegen.ts --codegen-root=/tmp/x
    --debug=false` — emits `bake.client.js`, `bake.server.js`,
    `bake.error.js` with no errors
    - [x] `cargo check -p bun_parsers` clean</li><li><a href="https://redirect.github.com/oven-sh/bun/commit/fe2635b460dda3892664e3d535991b1e52fc4b50"><code>fe2635</code></a> ci: replace zig fmt with cargo fmt --all in the format workflow (#30682)
    
    ## Summary
    - Drop the Zig download + `zig fmt src` block from
    `.github/workflows/format.yml` and run `cargo fmt --all` instead. The
    codebase no longer has Zig source to format.
    - The pinned nightly + `rustfmt` come from `rust-toolchain.toml` (now
    lists `rustfmt` in `components`); `rustup` auto-installs on the first
    `cargo` invocation, so no separate setup step.
    - Run `cargo fmt --all` once against the current toolchain so the next
    format run is a no-op — 92 source files reformatted (~640 lines, mostly
    import-list reordering and over-long-line wraps).
    - Update `.github/workflows/CLAUDE.md` to describe the rustfmt step and
    toolchain-bump process.
    
    ## Test plan
    - [x] `cargo fmt --all -- --check` exits 0 after the formatting pass
    (idempotent)
    - [x] `cargo check -p bun_core -p bun_runtime -p bun_bin` clean after
    the reformat
    - [x] `bun run rust:check` clean
    - [x] `python3 -c "import yaml;
    yaml.safe_load(open('.github/workflows/format.yml'))"` — YAML valid
    - [ ] Confirm the `Format` GHA job on this PR runs `cargo fmt --all` and
    emits no changes
    
    ---------
    
    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@&ZeroWidthSpace;users.noreply.redirect.github.com></li><li><a href="https://redirect.github.com/oven-sh/bun/commit/bbd3e624af078e3eaff79c9f4046b0b6cb4f0222"><code>bbd3e6</code></a> bun:ffi: extract embedded shared libraries from bunfs in `dlopen()` (#30720)
    
    ## Reproduction
    
    ```js
    // repro.js
    import libpath from "./libhello.so" with { type: "file" };
    import { dlopen, FFIType } from "bun:ffi";
    const lib = dlopen(libpath, { hello: { args: [], returns: FFIType.i32 } });
    console.log("loaded:", lib.symbols.hello());
    
    clang -shared -fPIC -o libhello.so hello.c
    bun repro.js                                    # works → "loaded: 42"
    bun build --compile repro.js --outfile repro
    ./repro                                         # broken on canary

    Fails with:

    error: Failed to open library "/$bunfs/root/libhello-XXXX.so":
      /$bunfs/root/libhello-XXXX.so: cannot open shared object file: No such file or directory
     syscall: "dlopen", code: "ERR_DLOPEN_FAILED"
    

    Cause

    Regression from the Rust rewrite (1.3.14-canary, commit 23427dbc12;
    last known-good 1.3.13). The Rust port of FFI.open
    (src/runtime/ffi/ffi_body.rs:1486) shipped a stub where the Zig
    original called jsc.ModuleLoader.resolveEmbeddedFile to materialize
    the bunfs-embedded library to an on-disk tmpfile. The raw /$bunfs/...
    virtual path fell through to libc dlopen(2), which can't see the
    bunfs virtual filesystem.

    process.dlopen (.node addons) was unaffected — that path still
    reaches the working Bun__resolveEmbeddedNodeFile
    resolve_embedded_node_file_hook. The PORT NOTE at
    ModuleLoader.rs:561 enumerated only two Zig callers being ported; it
    omitted ffi.zig:1030.

    Fix

    Factor the extraction body out of resolve_embedded_node_file_hook
    into resolve_embedded_file_to_buf(input_path, extname, out_buf).
    Keep the .node hook thin (pass b"node" and clone the result
    into in_out_str). Call the helper from ffi_body with the
    platform-chosen extname (so/dylib/dll). Same-crate call, no
    new LoaderHooks entry needed.

    Verification

    • test/regression/issue/30717.test.ts: compiles a C fixture, embeds
      it with { type: "file" }, runs bun build --compile, deletes
      the on-disk .so, runs the compiled binary from a different cwd,
      asserts it prints loaded: 42 without ERR_DLOPEN_FAILED.
      Fails on pre-fix tree (ERR_DLOPEN_FAILED /$bunfs/root/…), passes
      with the fix.
    • Existing test/napi/napi.test.ts --compile tests still load
      .node addons correctly (refactor preserves behavior).
    • Existing test/js/bun/ffi/ffi.test.js tests unchanged.

    Fixes #30717.
    Fixes #11598.
    Fixes #14009.


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>

  • 428f61 Bun.serve: finish h3/h1 → http3/http1 ServerConfig rename in Rust (#30741)

    The Rust port of #30583 covered the user-facing JS option names
    ("http3"/"http1") and validation error messages, but left the
    internal ServerConfig struct fields as h3/h1 and one stderr
    warning string as "h3: true with a unix socket — HTTP/3 listener skipped".

    This finishes the rename:

    • ServerConfig::{h3,h1}{http3,http1} (fields, defaults, clone,
      all reads in ServerConfig.rs/mod.rs)
    • unix-socket warning string "h3: true ...""http3: true ..."
    • doc comments in mod.rs and uws_sys/quic/Context.rs

    Transport-layer names (uws_sys::h3::, h3_app, on_h3_listen,
    AnyRequest::H1, HTTPClient.h3) are left as-is, matching #30583.

    Adds serve-http3.test.tsvalidation: http3 with unix socket warns and skips H3 listener to cover the warning text.

  • 175f62 ffi: cfg-gate local tcc_delete extern to match bun_tcc_sys (#30743)

    src/runtime/ffi/mod.rs declares its own unconditional extern "C" { fn tcc_delete }, separate from bun_tcc_sys::tcc_externs! which correctly
    cfg-gates the libtcc externs on cfg.tinycc (= NOT android / freebsd /
    windows-aarch64, where libtcc.a isn't built).

    Function::drop calls it inside if let Some(state)state is never
    Some on those targets so the call is dead at runtime, but with cargo
    LTO overridden off (asan / linker-plugin-lto path in rust.ts) the
    symbol reference survives into the staticlib and link fails:

    lld-link: error: undefined symbol: tcc_delete
    

    Gate the local extern on the same predicate as tcc_externs! and
    provide an unreachable!() stub on the disabled targets, mirroring what
    src/tcc_sys/tcc.rs already does.

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented May 18, 2026

Bump @​vscode/vsce from 3.7.1 to 3.9.1

Changelog:
Sourced from releases.
        ### v3.9.2-3

Changes:

  • #1274: Run npm audit fix

This list of changes was auto generated.

        ### v3.9.2-2

Changes:

  • #1272: Bump fast-uri from 3.0.6 to 3.1.2

This list of changes was auto generated.

        ### v3.9.2-1

Changes:

  • #1267: Bump minimatch from 10.2.2 to 10.2.3

This list of changes was auto generated.

        ### v3.9.2-0

Changes:

  • #1247: Update minimatch dependency to v10

This list of changes was auto generated.

        ### v3.9.1

Changes:

  • #1266: fix: module type mismatch

This list of changes was auto generated.

        ### v3.9.1-0

Changes:

  • #1266: fix: module type mismatch

This list of changes was auto generated.

        ### v3.9.0

Changes:

  • #1263: fix: build regressions in 3.8.1
  • #1261: Add override for serialize-javascript

This list of changes was auto generated.

        ### v3.8.2-1

Changes:

  • #1263: fix: build regressions in 3.8.1

This list of changes was auto generated.

        ### v3.8.2-0

Changes:

  • #1261: Add override for serialize-javascript

This list of changes was auto generated.

        ### v3.8.1

Changes:

  • #1259: chore: update @​azure/identity to 4.13.1 and modernize TypeScript/Node.js configuration

This list of changes was auto generated.

        ### v3.8.1-0

Changes:

  • #1259: chore: update @​azure/identity to 4.13.1 and modernize TypeScript/Node.js configuration

This list of changes was auto generated.

        ### v3.8.0

Changes:

  • #1258: fix: run npm audit fix
  • #1255: Bump brace-expansion
  • #1253: Bump picomatch from 2.3.1 to 2.3.2
  • #1252: Bump yauzl from 2.10.0 to 3.2.1
  • #1250: Bump underscore from 1.13.1 to 1.13.8
  • #1249: Bump minimatch
  • #1243: Bump markdown-it from 14.1.0 to 14.1.1
  • #1244: Bump qs from 6.14.1 to 6.14.2
  • #1239: Bump @​isaacs/brace-expansion from 5.0.0 to 5.0.1
  • #1238: Bump lodash from 4.17.21 to 4.17.23
See More
  • #1234: Bump qs from 6.11.0 to 6.14.1
  • #1233: Return non-zero exit code when signature verification fails
  • #1232: Audit npm package
  • #1228: Bump jws

This list of changes was auto generated.

        ### v3.7.2-13

Changes:

  • #1258: fix: run npm audit fix

This list of changes was auto generated.

        ### v3.7.2-12

Changes:

  • #1255: Bump brace-expansion

This list of changes was auto generated.

        ### v3.7.2-11

Changes:

  • #1253: Bump picomatch from 2.3.1 to 2.3.2

This list of changes was auto generated.

        ### v3.7.2-10

Changes:

  • #1252: Bump yauzl from 2.10.0 to 3.2.1

This list of changes was auto generated.

        ### v3.7.2-9

Changes:

  • #1250: Bump underscore from 1.13.1 to 1.13.8

This list of changes was auto generated.

        ### v3.7.2-8

Changes:

  • #1249: Bump minimatch

This list of changes was auto generated.

        ### v3.7.2-7

Changes:

  • #1243: Bump markdown-it from 14.1.0 to 14.1.1

This list of changes was auto generated.

        ### v3.7.2-6

Changes:

  • #1244: Bump qs from 6.14.1 to 6.14.2

This list of changes was auto generated.

        ### v3.7.2-5

Changes:

  • #1239: Bump @​isaacs/brace-expansion from 5.0.0 to 5.0.1

This list of changes was auto generated.

        ### v3.7.2-4

Changes:

  • #1238: Bump lodash from 4.17.21 to 4.17.23

This list of changes was auto generated.

        ### v3.7.2-3

Changes:

  • #1234: Bump qs from 6.11.0 to 6.14.1

This list of changes was auto generated.

        ### v3.7.2-2

Changes:

  • #1233: Return non-zero exit code when signature verification fails

This list of changes was auto generated.

        ### v3.7.2-1

Changes:

  • #1232: Audit npm package

This list of changes was auto generated.

        ### v3.7.2-0

Changes:

  • #1228: Bump jws

This list of changes was auto generated.

        ### v3.7.1

Changes:

  • #1223: Bump js-yaml
  • #1222: Bump glob

This list of changes was auto generated.

        ### v3.7.1-1

Changes:

  • #1223: Bump js-yaml

This list of changes was auto generated.

        ### v3.7.1-0

Changes:

  • #1222: Bump glob

This list of changes was auto generated.

Commit history:
  • 469958 Run npm audit fix and update lockfile (#1274)

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/f2316742-5e81-44c7-ad59-2785c896ae92

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

  • e003a0 Merge pull request #1272 from microsoft/dependabot/npm_and_yarn/fast-uri-3.1.2

    Bump fast-uri from 3.0.6 to 3.1.2

  • 74ab7a Bump fast-uri from 3.0.6 to 3.1.2

    Bumps fast-uri from 3.0.6 to 3.1.2.


    updated-dependencies:

    • dependency-name: fast-uri
      dependency-version: 3.1.2
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 7a3c1c Bump minimatch from 10.2.2 to 10.2.3 (#1267)

    Bumps minimatch from 10.2.2 to 10.2.3.


    updated-dependencies:

    • dependency-name: minimatch
      dependency-version: 10.2.3
      dependency-type: direct:production
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • 54bea4 update minimatch dependency to v10 (#1247)

    Signed-off-by: Andrew Twydell <andrew.twydell@​ibm.com>

  • 98cca9 fix: module type mismatch (#1266)

    Co-authored-by: Copilot <copilot@​redirect.github.com>

  • 9329b3 fix: build regressions in 3.8.1 (#1263)

    • chore: add serialize-javascript override

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/542e6132-ca27-4a60-b13f-e4d127bc19db

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • chore: update serialize-javascript override to 7.x

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/1a55d5b2-81b6-49f5-8caf-f6ccee37a4b5

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • chore: refresh lockfile after serialize-javascript override

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/13bb15ff-ae4f-4d6f-a53e-c9794578e757

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • fix: downgrade engine and fix build

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>

  • 165b0f Add override for serialize-javascript (#1261)

    • chore: add serialize-javascript override

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/542e6132-ca27-4a60-b13f-e4d127bc19db

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • chore: update serialize-javascript override to 7.x

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/1a55d5b2-81b6-49f5-8caf-f6ccee37a4b5

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • chore: refresh lockfile after serialize-javascript override

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/13bb15ff-ae4f-4d6f-a53e-c9794578e757

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>


    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

  • 7d124a chore: update @​azure/identity to 4.13.1 and modernize TypeScript/Node.js configuration (#1259)

    • chore: update @​azure/identity to 4.13.1

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/eaaf7c49-62dc-48e3-a4bc-f0b4286e52d5

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • chore: set moduleResolution to nodenext in tsconfig.json

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/e9cc90e0-f5ea-49d7-9728-9c667e7835f4

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

    • chore: bump @​types/node to ^22, update engines and CI workflow to Node 22

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/2dff95b2-a252-43a9-b142-ae81b52bc6d3

    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>


    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

  • cbdd40 fix: run npm audit fix to update package-lock.json (#1258)

    Agent-Logs-Url: https://redirect.github.com/microsoft/vscode-vsce/sessions/79064f2b-a533-4e09-ac40-4f8bce617f05

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: rzhao271 <7199958+rzhao271@​users.noreply.redirect.github.com>

  • 13c5fa Merge pull request #1255 from microsoft/dependabot/npm_and_yarn/multi-580a7c2f10

    Bump brace-expansion

  • c6f98d Bump brace-expansion

    Bumps and brace-expansion. These dependencies needed to be updated together.

    Updates brace-expansion from 5.0.3 to 5.0.5

    Updates brace-expansion from 1.1.12 to 1.1.13

    Updates brace-expansion from 2.0.2 to 2.0.3


    updated-dependencies:

    • dependency-name: brace-expansion
      dependency-version: 5.0.5
      dependency-type: indirect
    • dependency-name: brace-expansion
      dependency-version: 1.1.13
      dependency-type: indirect
    • dependency-name: brace-expansion
      dependency-version: 2.0.3
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 01da00 Bump picomatch from 2.3.1 to 2.3.2 (#1253)

    Bumps picomatch from 2.3.1 to 2.3.2.


    updated-dependencies:

    • dependency-name: picomatch
      dependency-version: 2.3.2
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • bb899f Merge pull request #1252 from microsoft/dependabot/npm_and_yarn/yauzl-3.2.1

    Bump yauzl from 2.10.0 to 3.2.1

  • 3f4fa9 Bump yauzl from 2.10.0 to 3.2.1

    Bumps yauzl from 2.10.0 to 3.2.1.


    updated-dependencies:

    • dependency-name: yauzl
      dependency-version: 3.2.1
      dependency-type: direct:production
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 72f319 Merge pull request #1250 from microsoft/dependabot/npm_and_yarn/underscore-1.13.8

    Bump underscore from 1.13.1 to 1.13.8

  • c65131 Bump underscore from 1.13.1 to 1.13.8

    Bumps underscore from 1.13.1 to 1.13.8.


    updated-dependencies:

    • dependency-name: underscore
      dependency-version: 1.13.8
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 82cd05 Merge pull request #1249 from microsoft/dependabot/npm_and_yarn/multi-3189fdc835

    Bump minimatch

  • f8e927 Bump minimatch

    Bumps minimatch to 10.2.3 and updates ancestor dependencies and minimatch. These dependencies need to be updated together.

    Updates minimatch from 10.1.1 to 10.2.3

    Updates minimatch from 3.1.2 to 3.1.4

    Updates minimatch from 9.0.5 to 9.0.7

    Updates minimatch from 5.1.6 to 5.1.8


    updated-dependencies:

    • dependency-name: minimatch
      dependency-version: 10.2.3
      dependency-type: indirect
    • dependency-name: minimatch
      dependency-version: 3.1.4
      dependency-type: direct:production
    • dependency-name: minimatch
      dependency-version: 9.0.7
      dependency-type: indirect
    • dependency-name: minimatch
      dependency-version: 5.1.8
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 5f09e2 Merge pull request #1243 from microsoft/dependabot/npm_and_yarn/markdown-it-14.1.1

    Bump markdown-it from 14.1.0 to 14.1.1

  • 61ad36 Merge pull request #1244 from microsoft/dependabot/npm_and_yarn/qs-6.14.2

    Bump qs from 6.14.1 to 6.14.2

  • b30d61 Bump qs from 6.14.1 to 6.14.2

    Bumps qs from 6.14.1 to 6.14.2.


    updated-dependencies:

    • dependency-name: qs
      dependency-version: 6.14.2
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • d3230b Bump markdown-it from 14.1.0 to 14.1.1

    Bumps markdown-it from 14.1.0 to 14.1.1.


    updated-dependencies:

    • dependency-name: markdown-it
      dependency-version: 14.1.1
      dependency-type: direct:production
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 2aeafb Bump @​isaacs/brace-expansion from 5.0.0 to 5.0.1 (#1239)

    Bumps @​isaacs/brace-expansion from 5.0.0 to 5.0.1.


    updated-dependencies:

    • dependency-name: "@​isaacs/brace-expansion"
      dependency-version: 5.0.1
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • dea3b1 Bump lodash from 4.17.21 to 4.17.23 (#1238)

    Bumps lodash from 4.17.21 to 4.17.23.


    updated-dependencies:

    • dependency-name: lodash
      dependency-version: 4.17.23
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.redirect.github.com>

  • dc34fd Merge pull request #1234 from microsoft/dependabot/npm_and_yarn/qs-6.14.1

    Bump qs from 6.11.0 to 6.14.1

  • 5ac9b7 Bump qs from 6.11.0 to 6.14.1

    Bumps qs from 6.11.0 to 6.14.1.


    updated-dependencies:

    • dependency-name: qs
      dependency-version: 6.14.1
      dependency-type: indirect
      ...

    Signed-off-by: dependabot[bot] <support@​redirect.github.com>

  • 47330a Merge pull request #1233 from JoeRobich/dev/jorobich/set-exitcode

    Return non-zero exit code when signature verification fails

  • 7a8969 Return non-zero exit code when signature verification fails
  • d6d2ef Merge pull request #1232 from microsoft/benibenj/relevant-lamprey

    Audit npm package

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.

0 participants