Skip to content

[master] Michijs Dependabot changes#142

Merged
lsegurado merged 1 commit into
masterfrom
michijs-dependabot
Dec 22, 2025
Merged

[master] Michijs Dependabot changes#142
lsegurado merged 1 commit into
masterfrom
michijs-dependabot

Conversation

@michijs
Copy link
Copy Markdown
Contributor

@michijs michijs Bot commented Dec 22, 2025

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented Dec 22, 2025

Bump @​vscode/web-custom-data from 0.6.1 to 0.6.2

Changelog:
Sourced from releases.
        ### v0.6.2

Changes:

This list of changes was auto generated.

        ### v0.6.1

Changes:

This list of changes was auto generated.

Commit history:

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented Dec 22, 2025

Bump vscode-html-languageservice from 5.6.0 to 5.6.1

Changelog:
Sourced from releases.
        ### v5.6.1


        ### v5.6.0

Changes:

  • #221: release 5.6.0
  • #219: Add setting to disable end tag suggestions
  • #216: Setting to disable end tag suggestions
  • #220: doc[README.md]: add notes about syntax highlighting and web-data source near API section

This list of changes was auto generated.

Commit history:
  • 10daf4 prepare 5.6.1 (#225)
  • b2e40a feat: filter path suggestions by file type in HTML attributes (#218)
    • feat: filter path suggestions by file type in HTML attributes

    Implements intelligent file filtering for HTML path completion based on
    tag type and attributes. Files matching the expected type are now
    prioritized in autocomplete suggestions.

    Changes:

    • Add optional 'attributes' field to HtmlAttributeValueContext interface
    • Pass node attributes to completion participants in htmlCompletion
    • Implement getExtensionFilter() method in pathCompletion
    • Use sortText to prioritize matching files (0_) over others (1_)
    • Support multiple tag/attribute patterns:
      • prioritizes CSS files
      • prioritizes image files
      • <script src> prioritizes JavaScript files
      • prioritizes image files
      • prioritizes audio files
    • Add comprehensive tests for filtering behavior
    • Maintain backward compatibility (non-exclusive filtering)

    All files remain visible and selectable; filtering is non-exclusive.
    Directories are always included. No breaking changes to existing API.

    Fixes #242999

    Signed-off-by: Giovanni Magliocchetti <giovimag123@​gmail.com>

    • Update src/services/htmlCompletion.ts

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


    Signed-off-by: Giovanni Magliocchetti <giovimag123@​gmail.com>
    Co-authored-by: Copilot <175728472+Copilot@​users.noreply.redirect.github.com>
    Co-authored-by: Martin Aeschlimann <martinae@​microsoft.com>

  • 5793c7 Bump glob (#224)

    Bumps and glob. These dependencies needed to be updated together.

    Updates glob from 10.4.5 to 10.5.0

    Updates glob from 11.0.0 to 11.1.0


    updated-dependencies:

    • dependency-name: glob
      dependency-version: 10.5.0
      dependency-type: indirect
    • dependency-name: glob
      dependency-version: 11.1.0
      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>

  • 41281a Bump js-yaml from 4.1.0 to 4.1.1 (#223)

    Bumps js-yaml from 4.1.0 to 4.1.1.


    updated-dependencies:

    • dependency-name: js-yaml
      dependency-version: 4.1.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>

  • 144f3b release 5.6.0 (#221)
  • 28e96e Add setting to disable end tag suggestions (#219)

    • Add setting to disable end tag suggestions

    Fixes #216

    This change introduces a new hideEndTagSuggestions configuration option
    in the CompletionConfiguration interface that allows users to disable
    closing tag suggestions in HTML completions.

    Previously, the html.suggest.html5 setting controlled whether HTML5
    tags, properties, and values were suggested, but it did not affect
    closing tag suggestions (e.g., </div>). Users who wanted to disable
    the extension's suggestions entirely had no way to turn off these
    end tag completions without disabling the entire extension.

    Changes:

    • Added hideEndTagSuggestions?: boolean to the CompletionConfiguration
      interface in htmlLanguageTypes.ts
    • Updated the collectCloseTagSuggestions function in htmlCompletion.ts
      to check this setting and return early if end tag suggestions are
      disabled
    • Added comprehensive tests to verify the setting works correctly in
      various scenarios

    The setting defaults to false (showing end tag suggestions) to
    maintain backward compatibility with existing behavior.

    Signed-off-by: Giovanni Magliocchetti <giovimag123@​gmail.com>

    • add 5.6.0 entry for CompletionConfiguration.hideEndTagSuggestions

    Signed-off-by: Giovanni Magliocchetti <giovimag123@​gmail.com>
    Co-authored-by: Martin Aeschlimann <martinae@​microsoft.com>

  • 6d8c8c doc[README.md]: add notes about syntax highlighting and web-data source near API section (#220)
  • 150525 prepare 5.5.2 (#217)
  • f2b53c prepare 5.5.1 (#213)
  • ade027 chore: bump action and node versions (#212)
  • 0eca2e doc[README.md]: remove duplicate "`" (#209)
  • 1db442 prepare 5.5.0 (#211)
  • f09d3a fix customData schema (#210)
  • 995bfe fix tests (#206)
  • 2f1dfe update custom data (#205)

    • update custom data

    • update to 0.5.2

    • e1ee56 prepare 5.4.0 (#204)
    • 31a116 baseline status for html elements and attributes (#202)
    • 61bc1c update to node 20 (#201)
    • 4d4ede prepare 5.3.3 (#200)
    • ba8c26 prepare 5.3.2 (#197)
    • f831c8 do not ask for extra approval when publishing (#196)
    • 4c9084 Engineering - remove preReleaseTagAddToLatest pipeline template parameter (#195)
    • d5f6af run ci with node 18 (#193)
    • d48091 prepare 5.3.1 (#192)
    • 2470e2 prepare 5.3.0 (#191)
    • 907177 Lazy evaluation of voidElements (#187)
    • ca7588 Bump braces from 3.0.2 to 3.0.3 (#190)

    Bumps braces from 3.0.2 to 3.0.3.


    updated-dependencies:

    • dependency-name: braces
      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>

  • 56bc29 update package-lock (#183)
  • cea022 prepare 5.2.0 (#182)
  • a134f3 Update js-beautify v1.15.1 to add new angular templating option (#181)

    • fix: adapt parameters for templating

    • fix: update js-beautify to last version

    • fix: update beautify-js

    • fix: templatingFormatOption function

    • fix: comment

    • fix: remarks of NesTeRDGIT but more permissive

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented Dec 22, 2025

Bump @​mdn/browser-compat-data from 7.1.23 to 7.2.2

Changelog:
Sourced from releases.
        ### v7.2.2### Additions
  • api.CredentialsContainer.get.identity_option.providers_option_nonce (#28684)
  • browsers.safari_ios.releases.26.3 (#28669)
  • browsers.safari.releases.26.3 (#28669)
  • browsers.webview_ios.releases.26.3 (#28669)
  • html.elements.details.search_match_opens (#28672)
  • http.headers.Accept-CH.Sec-CH-Device-Memory (#28636)
  • http.headers.Accept-CH.Sec-CH-DPR (#28636)
  • http.headers.Accept-CH.Sec-CH-Viewport-Height (#28636)
  • http.headers.Accept-CH.Sec-CH-Viewport-Width (#28636)
  • http.headers.Sec-CH-Device-Memory (#28636)
  • http.headers.Sec-CH-DPR (#28636)
  • http.headers.Sec-CH-Viewport-Height (#28636)
  • http.headers.Sec-CH-Viewport-Width (#28636)

Statistics

  • 7 contributors have changed 49 files with 735 additions and 220 deletions in 17 commits (v7.2.1...v7.2.2)

  • 19,143 total features

  • 1,213 total contributors

  • 5,522 total stargazers

          ### v7.2.1### Removals
    
  • css.properties.position-try-fallbacks.span-x-self-end (#28652)

  • css.properties.position-try-fallbacks.span-x-self-start (#28652)

  • css.properties.position-try-fallbacks.span-y-self-end (#28652)

  • css.properties.position-try-fallbacks.span-y-self-start (#28652)

  • css.properties.position-try-fallbacks.x-self-end (#28652)

  • css.properties.position-try-fallbacks.x-self-start (#28652)

  • css.properties.position-try-fallbacks.y-self-end (#28652)

  • css.properties.position-try-fallbacks.y-self-start (#28652)

  • css.properties.position-try.span-x-self-end (#28652)

  • css.properties.position-try.span-x-self-start (#28652)

  • css.properties.position-try.span-y-self-end (#28652)

  • css.properties.position-try.span-y-self-start (#28652)

  • css.properties.position-try.x-self-end (#28652)

  • css.properties.position-try.x-self-start (#28652)

  • css.properties.position-try.y-self-end (#28652)

  • css.properties.position-try.y-self-start (#28652)

Additions

  • css.properties.position-anchor.none (#28648)

Statistics

  • 10 contributors have changed 103 files with 1,235 additions and 845 deletions in 17 commits (v7.2.0...v7.2.1)

  • 19,133 total features

  • 1,212 total contributors

  • 5,520 total stargazers

          ### v7.2.0### Notable changes
    

This release includes one notable change.

1. Add top-level mediatypes folder (#27168)

Previously, support data for media formats was not available.

Now, a new top-level mediatypes folder has been created to host 11 image formats (mediatypes.image.*), and to support future data additions for other media types.

Removals

  • css.types.attr.fallback (#26624)
  • css.types.attr.type-or-unit (#26624)
  • css.types.attr.type-or-unit.angle (#26624)
  • css.types.attr.type-or-unit.color (#26624)
  • css.types.attr.type-or-unit.integer (#26624)
  • css.types.attr.type-or-unit.length (#26624)
  • css.types.attr.type-or-unit.number (#26624)
  • css.types.attr.type-or-unit.percentage (#26624)
  • css.types.attr.type-or-unit.time (#26624)

Additions

  • api.GPUSupportedFeatures.feature_texture-component-swizzle (#28411)
  • api.GPUTexture.createView.descriptor_swizzle_parameter (#28411)
  • api.SubtleCrypto.importKey.ECDH (#28497)
  • api.SubtleCrypto.importKey.ECDH.compressed_elliptic_curve_points (#28497)
  • api.SubtleCrypto.importKey.ECDSA (#28497)
  • api.SubtleCrypto.importKey.ECDSA.compressed_elliptic_curve_points (#28497)
  • browsers.bun.releases.1.3.4 (#28607)
  • browsers.firefox_android.releases.149 (#28607)
  • browsers.firefox.releases.149 (#28607)
  • css.at-rules.container.anchor_position_queries (#28526)
  • css.at-rules.container.anchor_position_queries.fallback (#28526)
  • css.at-rules.container.anchor_position_queries.fallback.any_value (#28526)
  • css.properties.container-type.anchored (#28526)
  • css.properties.position-try-fallbacks.self-x-end (#28624)
  • css.properties.position-try-fallbacks.self-x-start (#28624)
  • css.properties.position-try-fallbacks.self-y-end (#28624)
  • css.properties.position-try-fallbacks.self-y-start (#28624)
  • css.properties.position-try-fallbacks.span-self-x-end (#28624)
  • css.properties.position-try-fallbacks.span-self-x-start (#28624)
  • css.properties.position-try-fallbacks.span-self-y-end (#28624)
  • css.properties.position-try-fallbacks.span-self-y-start (#28624)
  • css.properties.position-try.self-x-end (#28624)
  • css.properties.position-try.self-x-start (#28624)
  • css.properties.position-try.self-y-end (#28624)
  • css.properties.position-try.self-y-start (#28624)
  • css.properties.position-try.span-self-x-end (#28624)
  • css.properties.position-try.span-self-x-start (#28624)
  • css.properties.position-try.span-self-y-end (#28624)
  • css.properties.position-try.span-self-y-start (#28624)
  • css.properties.position-visibility.anchors-valid (#28624)
  • css.selectors.view-transition-group-children (#28595)
  • css.types.attr.declaration-value (#26624)
  • css.types.attr.type_function (#26624)
  • css.types.attr.type_function.angle (#26624)
  • css.types.attr.type_function.color (#26624)
  • css.types.attr.type_function.custom-ident (#26624)
  • css.types.attr.type_function.ident (#26624)
  • css.types.attr.type_function.image (#26624)
  • css.types.attr.type_function.integer (#26624)
  • css.types.attr.type_function.length (#26624)
  • css.types.attr.type_function.length-percentage (#26624)
  • css.types.attr.type_function.number (#26624)
  • css.types.attr.type_function.percentage (#26624)
  • css.types.attr.type_function.resolution (#26624)
  • css.types.attr.type_function.string (#26624)
  • css.types.attr.type_function.time (#26624)
  • css.types.attr.type_function.transform-function (#26624)
  • css.types.attr.type_function.url (#26624)
  • mediatypes.image.avif (#27168)
  • mediatypes.image.avif.animation (#27168)
  • mediatypes.image.bmp (#27168)
  • mediatypes.image.gif (#27168)
  • mediatypes.image.heif (#27168)
  • mediatypes.image.ico (#27168)
  • mediatypes.image.jpeg (#27168)
  • mediatypes.image.jxl (#27168)
  • mediatypes.image.png (#27168)
  • mediatypes.image.png.animation (#27168)
  • mediatypes.image.svg (#27168)
  • mediatypes.image.tiff (#27168)
  • mediatypes.image.webp (#27168)
  • mediatypes.image.webp.alpha (#27168)
  • mediatypes.image.webp.animation (#27168)
  • mediatypes.image.webp.lossless (#27168)
  • mediatypes.image.webp.lossy (#27168)
  • webdriver.bidi.emulation.setScreenSettingsOverride (#28606)

Statistics

  • 8 contributors have changed 136 files with 2,740 additions and 887 deletions in 24 commits (v7.1.24...v7.2.0)

  • 19,148 total features

  • 1,212 total contributors

  • 5,520 total stargazers

          ### v7.1.24### Removals
    
  • api.GPUTexture.createView.texture_rgb10a2uint (#28525)

  • api.GPUTexture.createView.usage (#28525)

Additions

  • api.ClipboardChangeEvent (#28578)
  • api.ClipboardChangeEvent.changeId (#28578)
  • api.ClipboardChangeEvent.ClipboardChangeEvent (#28578)
  • api.ClipboardChangeEvent.types (#28578)
  • api.CompressionStream.CompressionStream.zstd (#28508)
  • api.DecompressionStream.DecompressionStream.zstd (#28508)
  • api.GPUTexture.createView.descriptor_format_parameter_accepts_rgb10a2uint (#28525)
  • api.GPUTexture.createView.descriptor_usage_parameter (#28525)
  • api.ViewTransition.waitUntil (#28578)
  • api.XRView.index (#28578)
  • api.XRVisibilityMaskChangeEvent (#28578)
  • api.XRVisibilityMaskChangeEvent.eye (#28578)
  • api.XRVisibilityMaskChangeEvent.index (#28578)
  • api.XRVisibilityMaskChangeEvent.indices (#28578)
  • api.XRVisibilityMaskChangeEvent.session (#28578)
  • api.XRVisibilityMaskChangeEvent.vertices (#28578)
  • api.XRVisibilityMaskChangeEvent.XRVisibilityMaskChangeEvent (#28578)
  • browsers.chrome_android.releases.146 (#28531)
  • browsers.chrome.releases.146 (#28531)
  • browsers.edge.releases.146 (#28580)
  • browsers.opera_android.releases.93 (#28531)
  • browsers.webview_android.releases.146 (#28531)
  • css.at-rules.container.style_queries_for_custom_properties.range_syntax (#28537)
  • css.properties.position-try-fallbacks.flip-x (#28574)
  • css.properties.position-try-fallbacks.flip-y (#28574)
  • css.properties.position-try.flip-x (#28574)
  • css.properties.position-try.flip-y (#28574)
  • css.selectors.search-text (#28578)
  • css.types.if.style (#28537)
  • css.types.if.style.range_syntax (#28537)
  • mathml.global_attributes.dir.rtl_operator_mirroring (#28561)
  • webassembly.api.Memory.toFixedLengthBuffer (#28575)
  • webassembly.api.Memory.toResizableBuffer (#28575)
  • webassembly.branch-hinting (#28566)

Statistics

  • 11 contributors have changed 83 files with 2,159 additions and 1,380 deletions in 33 commits (v7.1.23...v7.1.24)

  • 19,094 total features

  • 1,212 total contributors

  • 5,515 total stargazers

          ### v7.1.23### Additions
    
  • api.HTMLAnchorElement.interestForElement (#28469)

  • api.HTMLAreaElement.interestForElement (#28469)

  • api.HTMLButtonElement.interestForElement (#28469)

  • api.HTMLElement.interest_event (#28469)

  • api.HTMLElement.loseinterest_event (#28469)

  • api.InterestEvent (#28469)

  • api.InterestEvent.InterestEvent (#28469)

  • api.InterestEvent.source (#28469)

  • api.SVGAElement.interestForElement (#28469)

  • browsers.bun.releases.1.3.3 (#28514)

  • browsers.nodejs.releases.24.1.0 (#28441)

  • browsers.nodejs.releases.24.10.0 (#28441)

  • browsers.nodejs.releases.24.11.0 (#28441)

  • browsers.nodejs.releases.24.2.0 (#28441)

  • browsers.nodejs.releases.24.3.0 (#28441)

  • browsers.nodejs.releases.24.4.0 (#28441)

  • browsers.nodejs.releases.24.6.0 (#28441)

  • browsers.nodejs.releases.24.8.0 (#28441)

  • browsers.nodejs.releases.24.9.0 (#28441)

  • browsers.nodejs.releases.25.0.0 (#28441)

  • browsers.nodejs.releases.25.1.0 (#28441)

  • browsers.nodejs.releases.25.2.0 (#28441)

  • html.elements.a.interestfor (#28469)

  • html.elements.area.interestfor (#28469)

  • html.elements.button.interestfor (#28469)

  • svg.elements.a.interestfor (#28469)

Statistics

  • 12 contributors have changed 43 files with 691 additions and 372 deletions in 34 commits (v7.1.22...v7.1.23)
  • 19,067 total features
  • 1,210 total contributors
  • 5,494 total stargazers
Commit history:

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented Dec 22, 2025

Bump @​michijs/shared-configs from 0.0.30 to 0.0.34

Changelog:
Sourced from releases.
        ### 0.0.34**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.33...0.0.34


        ### 0.0.33**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.32...0.0.33


        ### 0.0.32**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.31...0.0.32


        ### 0.0.31**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.30...0.0.31


        ### 0.0.30## What's Changed

Full Changelog: https://redirect.github.com/michijs/shared-configs/compare/0.0.29...0.0.30

Commit history:

@michijs
Copy link
Copy Markdown
Contributor Author

michijs Bot commented Dec 22, 2025

Bump bun-types from 1.3.3 to 1.3.5

Changelog:
Sourced from releases.
        ### bun-v1.3.5To install Bun v1.3.5
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.5:

bun upgrade

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

Thanks to 10 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.4:

bun upgrade

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

Thanks to 14 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.3:

bun upgrade

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

Thanks to 19 contributors!

Commit history:
  • 3898ed perf: pack boolean flags and reorder fields to reduce struct padding (#25627)
  • c08ffa perf(linux): add memfd optimizations and typed flags (#25597)

    Summary

    • Add MemfdFlags enum to replace raw integer flags for memfd_create,
      providing semantic clarity for different use cases (executable,
      non_executable, cross_process)
    • Add support for MFD_EXEC and MFD_NOEXEC_SEAL flags (Linux 6.3+)
      with automatic fallback to older kernel flags when EINVAL is returned
    • Use memfd + /proc/self/fd/{fd} path for loading embedded .node
      files in standalone builds, avoiding disk writes entirely on Linux

    Test plan

    • Verify standalone builds with embedded .node files work on Linux
    • Verify fallback works on older kernels (pre-6.3)
    • Verify subprocess stdio memfd still works correctly

    🤖 Generated with Claude Code


    Co-authored-by: Claude <noreply@​anthropic.com>

  • fa9832 fix(create): crash when running postinstall task with --no-install (#25616)

    Summary

    • Fix segmentation fault in bun create when using --no-install with
      a template that has a bun-create.postinstall task starting with "bun "
    • The bug was caused by unconditionally slicing argv[2..] which
      created an empty array when npm_client was null
    • Added check for npm_client != null before slicing

    Reproduction

    # Create template with bun-create.postinstall
    mkdir -p ~/.bun-create/test-template
    echo '{"name":"test","bun-create":{"postinstall":"bun install"}}' > ~/.bun-create/test-template/package.json
    
    # This would crash before the fix
    bun create test-template /tmp/my-app --no-install

    Test plan

    • Verified the reproduction case crashes before the fix
    • Verified the reproduction case works after the fix

    🤖 Generated with Claude Code


    Co-authored-by: Claude Opus 4.5 <noreply@​anthropic.com>

  • 99b0a1 fix: prevent out-of-bounds access in NO_PROXY parsing (#25617)

    Summary

    • Fix out-of-bounds access when parsing NO_PROXY environment variable
      with empty entries
    • Empty entries (e.g., "localhost, , example.com") would cause a panic
      when checking if the host starts with a dot
    • Skip empty entries after trimming whitespace

    fixes BUN-110G
    fixes BUN-128V

    Test plan

    • Verify NO_PROXY="localhost, , example.com" no longer crashes

    🤖 Generated with Claude Code


    Co-authored-by: Claude <noreply@​anthropic.com>

  • 085e25 fix: protect StringOrBuffer from GC in async operations (#25594)

    Summary

    • Fix use-after-free crash in async zstd compression, scrypt, and
      JSTranspiler operations
    • When StringOrBuffer.fromJSMaybeAsync is called with is_async=true,
      the buffer's JSValue is now protected from garbage collection
    • Previously, the buffer could be GC'd while a worker thread was still
      accessing it, causing segfaults in zstd's HIST_count_simple and
      similar functions

    Fixes BUN-167Z

    Changes

    • fromJSMaybeAsync: Call protect() on buffer when is_async=true
    • fromJSWithEncodingMaybeAsync: Same protection for the early return
      path
    • Scrypt: Fix cleanup to use deinitAndUnprotect() for async path,
      add missing deinit() in sync path
    • JSTranspiler: Use new protection mechanism instead of manual
      protect()/unprotect() calls
    • Simplify createOnJSThread signatures to not return errors (OOM is
      handled internally)
    • Update all callers to use renamed/simplified APIs

    Test plan

    • Code review of all callsites to verify correct protect/unprotect
      pairing
    • Run existing zstd tests
    • Run existing scrypt tests
    • Run existing transpiler tests

    🤖 Generated with Claude Code


    Co-authored-by: Claude Opus 4.5 <noreply@​anthropic.com>

  • ce5c33 Revert "fix: memory leaks in IPC message handling (#25602)"

    This reverts commit 05b12e0ed02e8931d6b22abe4ae76a6536cbd519.

    The tests did not fail with system version of Bun.

  • 05b12e fix: memory leaks in IPC message handling (#25602)

    Summary

    • Add periodic memory reclamation for IPC buffers after processing
      messages
    • Fix missing deref() on bun.String created from cmd property in
      handleIPCMessage
    • Add reclaimMemory() function to shrink incoming buffer and send
      queue when they exceed 2MB capacity
    • Track message count to trigger memory reclamation every 256 messages

    The incoming ByteList buffer and send queue ArrayList would grow but
    never shrink, causing memory accumulation during sustained IPC
    messaging.

    Test plan

    • Added regression tests in
      test/js/bun/spawn/spawn-ipc-memory.test.ts
    • Existing IPC tests pass (spawn.ipc.test.ts)
    • Existing cluster tests pass

    🤖 Generated with Claude Code

    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude <noreply@​anthropic.com>

  • d9459f Fix postgres empty check when handling arrays (#25607)

    What does this PR do?

    Closes #25505. This adjusts the byte length check in DataCell: fromBytes to 12 bytes instead of 16, as zero-dimensional arrays will
    have a shorter preamble.

    How did you verify your code works?

    Test suite passes, and I've added a new test that fails in the main
    branch but passes with this change. The issue only seems to crop up when
    a connection is reused, which is curious.

  • e79b51 Propagate debugger CLI config in single-file executables (#25600)
  • 990203 fix: memory leaks in error-handling code for Brotli, Zstd, and Zlib compression state machines (#25592)

    Summary

    Fix several memory leaks in the compression libraries:

    • NativeBrotli/NativeZstd reset() - Each call to reset() allocated
      a new encoder/decoder without freeing the previous one
    • NativeBrotli/NativeZstd init() error paths - If setParams()
      failed after stream.init() succeeded, the instance was leaked
    • NativeZstd init() - If setPledgedSrcSize() failed after context
      creation, the context was leaked
    • ZlibCompressorArrayList - After deflateInit2_() succeeded, if
      ensureTotalCapacityPrecise() failed with OOM, zlib internal state was
      never freed
    • NativeBrotli close() - Now sets state to null to prevent potential
      double-free (defensive)
    • LibdeflateState - Added deinit() for API consistency

    Test plan

    • Added regression test that calls reset() 100k times and measures
      memory growth
    • Test shows memory growth dropped from ~600MB to ~10MB for Brotli
    • Verified no double-frees by tracing code paths
    • Existing zlib tests pass (except pre-existing timeout in debug
      build)

    Before fix (system bun 1.3.3):

    Memory growth after 100000 reset() calls: 624.38 MB  (BrotliCompress)
    Memory growth after 100000 reset() calls: 540.63 MB  (BrotliDecompress)
    

    After fix:

    Memory growth after 100000 reset() calls: 11.84 MB   (BrotliCompress)
    Memory growth after 100000 reset() calls: 0.16 MB    (BrotliDecompress)
    

    🤖 Generated with Claude Code

    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude <noreply@​anthropic.com>

  • f3fd75 fix(windows): handle UV_UNKNOWN and UV_EAI_* error codes in libuv errno mapping (#25596)

    Summary

    • Add missing UV_UNKNOWN and UV_EAI_* error code mappings to the
      errno() function in ReturnCode
    • Fixes panic "integer does not fit in destination type" on Windows when
      libuv returns unmapped error codes
    • Speculative fix for BUN-131E

    Root Cause

    The errno() function was missing mappings for UV_UNKNOWN (-4094) and
    all UV_EAI_* address info errors (-3000 to -3014). When libuv returned
    these codes, the switch fell through to else => null, and the caller
    at sys_uv.zig:317 assumed success and tried to cast the negative
    return code to usize, causing a panic.

    This was triggered in readFileWithOptions -> preadv when:

    • Memory-mapped file operations encounter exceptions (file
      modified/truncated by another process, network drive issues)
    • Windows returns error codes that libuv cannot map to standard errno
      values

    Crash Report

    Bun v1.3.5 (1e86ceb) on windows x86_64baseline []
    panic: integer does not fit in destination type
    sys_uv.zig:294: preadv
    node_fs.zig:5039: readFileWithOptions
    

    Test plan

    • This fix prevents a panic, converting it to a proper error.
      Testing would require triggering UV_UNKNOWN from libuv, which is
      difficult to do reliably (requires memory-mapped file exceptions or
      unusual Windows errors).

    🤖 Generated with Claude Code

    Co-authored-by: Claude Opus 4.5 <noreply@​anthropic.com>

  • c21c51 test(security-scanner): add TTY prompt tests using Bun.Terminal (#25587)

    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 0bbf6c test: add describe blocks for grouping in bun-types.test.ts (#25598)

    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 57cbbc fix: correct off-by-one bounds checks in bundler and package installer (#25582)

    Summary

    • Fix two off-by-one bounds check errors that used > instead of >=
    • Both bugs could cause undefined behavior (array out-of-bounds access)
      when an index equals the array length

    The Bugs

    1. src/install/postinstall_optimizer.zig:62

    // Before (buggy):
    if (resolution > metas.len) continue;
    const meta: *const Meta = &metas[resolution];  // Out-of-bounds when resolution == metas.len
    
    // After (fixed):
    if (resolution >= metas.len) continue;

    2. src/bundler/linker_context/doStep5.zig:10

    // Before (buggy):
    if (id > c.graph.meta.len) return;
    const resolved_exports = &c.graph.meta.items(.resolved_exports)[id];  // Out-of-bounds when id == c.graph.meta.len
    
    // After (fixed):
    if (id >= c.graph.meta.len) return;

    Why These Are Bugs

    Valid array indices are 0 to len - 1. When index == len:

    • index > len evaluates to false → check passes
    • array[index] accesses array[len] → out-of-bounds / undefined
      behavior

    Codebase Patterns

    The rest of the codebase correctly uses >= for these checks:

    • lockfile.zig:484: if (old_resolution >= old.packages.len) continue;
    • lockfile.zig:522: if (old_resolution >= old.packages.len) continue;
    • LinkerContext.zig:389: if (source_index >= import_records_list.len) continue;
    • LinkerContext.zig:1667: if (source_index >= c.graph.ast.len) {

    Test plan

    • Verified fix aligns with existing codebase patterns
    • CI passes

    🤖 Generated with Claude Code

    Co-authored-by: Claude <noreply@​anthropic.com>

  • 7f589f Disable coderabbit enrichment
  • cea59d docs(sqlite): fix .run() return value documentation (#25060)

    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 4ea145 Delete unused workflow
  • 8941a3 fix: dupe ca string in .npmrc to prevent use-after-free (#25563)

    Summary

    • Fix use-after-free bug when parsing ca option from .npmrc
    • The ca string was being stored directly from the parser's arena
      without duplication
    • Since the parser arena is freed at the end of loadNpmrc, this
      created a dangling pointer

    The Bug

    In src/ini.zig, the ca string wasn't being duplicated like all other
    string properties:

    // Lines 983-986 explicitly warn about this:
    // Need to be very, very careful here with strings.
    // They are allocated in the Parser's arena, which of course gets
    // deinitialized at the end of the scope.
    // We need to dupe all strings
    
    // Line 981: Parser arena is freed here
    defer parser.deinit();
    
    // Line 1016-1020: THE BUG - string not duped!
    if (out.asProperty("ca")) |query| {
        if (query.expr.asUtf8StringLiteral()) |str| {
            install.ca = .{
                .str = str,  // ← Dangling pointer after parser.deinit()!
            };

    All other string properties in the same function correctly duplicate:

    • registry (line 996): try allocator.dupe(u8, str)
    • cache (line 1002): try allocator.dupe(u8, str)
    • cafile (line 1037): asStringCloned(allocator)
    • ca array items (line 1026): asStringCloned(allocator)

    User Impact

    When a user has ca=<certificate> in their .npmrc file:

    1. The certificate string is parsed and stored
    2. The parser arena is freed
    3. install.ca.str becomes a dangling pointer
    4. Later TLS/SSL operations access freed memory
    5. Could cause crashes, undefined behavior, or security issues

    Test plan

    • Code inspection confirms this matches the pattern used for all other
      string properties
    • The fix adds try allocator.dupe(u8, str) to match cache,
      registry, etc.

    🤖 Generated with Claude Code

    Co-authored-by: Claude <noreply@​anthropic.com>

  • 722ac3 fix: check correct variable in subprocess stdin cleanup (#25562)

    Summary

    • Fix typo in onProcessExit where existing_stdin_value.isCell() was
      checked instead of existing_value.isCell()
    • Since existing_stdin_value is always .zero at that point, the
      condition was always false, making the inner block dead code

    The Bug

    In src/bun.js/api/bun/subprocess.zig:593:

    var existing_stdin_value = jsc.JSValue.zero;  // Line 590 - always .zero
    if (this_jsvalue != .zero) {
        if (jsc.Codegen.JSSubprocess.stdinGetCached(this_jsvalue)) |existing_value| {
            if (existing_stdin_value.isCell()) {  // BUG! Should be existing_value
                // This block was DEAD CODE - never executed

    Compare with the correct pattern used elsewhere:

    // shell/subproc.zig:251-252 (CORRECT)
    if (jsc.Codegen.JSSubprocess.stdinGetCached(subprocess.this_jsvalue)) |existing_value| {
        jsc.WebCore.FileSink.JSSink.setDestroyCallback(existing_value, 0);  // Uses existing_value
    }

    Impact

    The dead code prevented:

    • Recovery of stdin from cached JS value when weak_file_sink_stdin_ptr
      is null
    • Proper cleanup via onAttachedProcessExit on the FileSink
    • setDestroyCallback cleanup in onProcessExit

    Note: The user-visible impact was mitigated by redundant cleanup paths
    in Writable.zig that also call setDestroyCallback.

    Test plan

    • Code inspection confirms this is a straightforward typo fix
    • Existing subprocess tests continue to pass

    🤖 Generated with Claude Code

    Co-authored-by: Claude <noreply@​anthropic.com>

  • a333d0 fix: correct inverted buffer allocation logic in Postgres array parsing (#25564)

    Summary

    • Fix inverted buffer allocation logic when parsing strings in Postgres
      arrays
    • Strings larger than 16KB were incorrectly using the stack buffer
      instead of dynamically allocating
    • This caused spurious InvalidByteSequence errors for valid data

    The Bug

    In src/sql/postgres/DataCell.zig, the condition for when to use
    dynamic allocation was inverted:

    // BEFORE (buggy):
    const needs_dynamic_buffer = str_bytes.len < stack_buffer.len;  // TRUE when SMALL
    
    // AFTER (fixed):
    const needs_dynamic_buffer = str_bytes.len > stack_buffer.len;  // TRUE when LARGE

    What happened with large strings (>16KB):

    1. needs_dynamic_buffer = false (e.g., 20000 < 16384 is false)
    2. Uses stack_buffer[0..] which is only 16KB
    3. unescapePostgresString hits bounds check and returns
      BufferTooSmall
    4. Error converted to InvalidByteSequence
    5. User gets error even though data is valid

    User Impact

    Users with Postgres arrays containing JSON or string elements larger
    than 16KB would get spurious InvalidByteSequence errors even though
    their data was perfectly valid.

    Test plan

    • Code inspection confirms the logic was inverted
    • The fix aligns with the intended behavior: use stack buffer for small
      strings, dynamic allocation for large strings

    🤖 Generated with Claude Code

    Co-authored-by: Claude <noreply@​anthropic.com>

  • c1acb0 fix(shell): prevent double-close of fd when using &> redirect with builtins (#25568)

    Summary

    • Fix double-close of file descriptor when using &> redirect with
      shell builtin commands
    • Add dupeRef() helper for cleaner reference counting semantics
    • Add tests for &> and &>> redirects with builtins

    Test plan

    • Added tests in test/js/bun/shell/file-io.test.ts that reproduce
      the bug
    • All file-io tests pass

    The Bug

    When using &> to redirect both stdout and stderr to the same file with
    a shell builtin command (e.g., pwd &> file.txt), the code was creating
    two separate IOWriter instances that shared the same file descriptor.
    When both IOWriters were destroyed, they both tried to close the same
    fd, causing an EBADF (bad file descriptor) error.

    import { $ } from "bun";
    await $`pwd &> output.txt`; // Would crash with EBADF

    The Fix

    1. Share a single IOWriter between stdout and stderr when both are
      redirected to the same file, with proper reference counting
    2. Rename refSelf to dupeRef for clarity across IOReader,
      IOWriter, CowFd, and add it to Blob for consistency
    3. Fix the Body.Value blob case to also properly reference count when
      the same blob is assigned to multiple outputs

    🤖 Generated with Claude Code


    Co-authored-by: Claude Latest model <noreply@​anthropic.com>

  • ffd224 Bump
  • fa5a5b fix: v8::Value::IsInt32()/IsUint32() edge cases (#25548)

    What does this PR do?

    • fixes both functions returning false for double-encoded values (even
      if the numeric value is a valid int32/uint32)
    • fixes IsUint32() returning false for values that don't fit in int32
    • fixes the test from #22462 not testing anything (the native functions
      were being passed a callback to run garbage collection as the first
      argument, so it was only ever testing what the type check APIs returned
      for that function)
    • extends the test to cover the first edge case above

    How did you verify your code works?

    The new tests fail without these fixes.


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

  • 1e86ce Add bun_version to link metadata (#25545)

    Summary

    • Add bun_version field to link-metadata.json
    • Pass VERSION CMake variable to the metadata script as BUN_VERSION
      env var

    This ensures the build version is captured in the link metadata JSON
    file, which is useful for tracking which version produced a given build
    artifact.

    Test plan

    • Build with bun bd and verify link-metadata.json includes
      bun_version

    🤖 Generated with Claude Code

    Co-authored-by: Claude <noreply@​anthropic.com>

  • bc47f8 fix(ini): support env var expansion in quoted .npmrc values (#25518)

    Summary

    Fixes environment variable expansion in quoted .npmrc values and adds
    support for the ? optional modifier.

    Changes

    Simplified quoted value handling:

    • Removed unnecessary isProperlyQuoted check that added complexity
      without benefit
    • When JSON.parse succeeds for quoted strings, expand env vars in the
      result
    • When JSON.parse fails for single-quoted strings like '${VAR}', still
      expand env vars

    Added ? modifier support (matching npm behavior):

    • ${VAR} - if VAR is undefined, leaves as ${VAR} (no expansion)
    • ${VAR?} - if VAR is undefined, expands to empty string

    This applies consistently to both quoted and unquoted values.

    Examples

    # Env var found - all expand to the value
    token = ${NPM_TOKEN}
    token = "${NPM_TOKEN}"
    token = '${NPM_TOKEN}'
    
    # Env var NOT found - left as-is
    token = ${NPM_TOKEN}         # → ${NPM_TOKEN}
    token = "${NPM_TOKEN}"       # → ${NPM_TOKEN}
    token = '${NPM_TOKEN}'       # → ${NPM_TOKEN}
    
    # Optional modifier (?) - expands to empty if not found
    token = ${NPM_TOKEN?}        # → (empty)
    token = "${NPM_TOKEN?}"      # → (empty)
    auth = "Bearer ${TOKEN?}"    # → Bearer 

    Test Plan

    • Added 8 new tests for the ? modifier covering quoted and unquoted
      values
    • Verified all expected values match npm config get behavior
    • All 30 ini tests pass

    🤖 Generated with Claude Code


    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude <noreply@​anthropic.com>
    Co-authored-by: Jarred Sumner <jarred@​jarredsumner.com>
    Co-authored-by: Dylan Conway <dylan.conway567@​gmail.com>

  • 698b00 Add step in CI to upload link metadata (#25448)

    What does this PR do?

    How did you verify your code works?


    Co-authored-by: Claude <noreply@​anthropic.com>

  • b135c2 fix(yaml): remove YAML 1.1 legacy boolean values for YAML 1.2 compliance (#25537)

    Summary

    • Remove YAML 1.1 legacy boolean values (yes/no/on/off/y/Y) that are
      not part of the YAML 1.2 Core Schema
    • Keep YAML 1.2 Core Schema compliant values: true/True/TRUE,
      false/False/FALSE, null/Null/NULL, 0x hex, 0o octal
    • Add comprehensive roundtrip tests for YAML 1.2 compliance

    Removed (now parsed as strings):

    • yes, Yes, YES (were true)
    • no, No, NO (were false)
    • on, On, ON (were true)
    • off, Off, OFF (were false)
    • y, Y (were true)

    This fixes a common pain point where GitHub Actions workflow files with
    on: keys would have the key parsed as boolean true instead of the
    string "on".

    YAML 1.2 Core Schema Specification

    From YAML 1.2.2 Section 10.3.2 Tag
    Resolution
    :

    Regular expression Resolved to tag
    null | Null | NULL | ~ tag:yaml.org,2002:null
    /* Empty */ tag:yaml.org,2002:null
    true | True | TRUE | false | False | FALSE
    tag:yaml.org,2002:bool
    [-+]? [0-9]+ tag:yaml.org,2002:int (Base 10)
    0o [0-7]+ tag:yaml.org,2002:int (Base 8)
    0x [0-9a-fA-F]+ tag:yaml.org,2002:int (Base 16)
    [-+]? ( \. [0-9]+ | [0-9]+ ( \. [0-9]* )? ) ( [eE] [-+]? [0-9]+ )?
    tag:yaml.org,2002:float
    [-+]? ( \.inf | \.Inf | \.INF ) tag:yaml.org,2002:float
    (Infinity)
    \.nan | \.NaN | \.NAN tag:yaml.org,2002:float (Not a number)

    Note: yes, no, on, off, y, n are not in the YAML 1.2
    Core Schema boolean list. These were removed from YAML 1.1 as noted in
    YAML 1.2 Section 1.2:

    The YAML 1.2 specification was published in 2009. Its primary focus
    was making YAML a strict superset of JSON. It also removed many of the
    problematic implicit typing recommendations.

    Test plan

    • Updated existing YAML tests to reflect YAML 1.2 Core Schema
      behavior
    • Added roundtrip tests (stringify → parse) for YAML 1.2 compliance
    • Verified tests fail with system Bun (YAML 1.1 behavior) and pass
      with debug build (YAML 1.2)
    • Run bun bd test test/js/bun/yaml/yaml.test.ts

    🤖 Generated with Claude Code


    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude <noreply@​anthropic.com>

  • a1dd26 fix(usockets) fix last_write_failed flag (#25496)

    https://redirect.github.com/oven-sh/bun/pull/25361 needs to be merged before this
    PR

    Summary

    • Move last_write_failed flag from loop-level to per-socket flag for
      correctness

    Changes

    • Move last_write_failed from loop->data to socket->flags
    • More semantically correct since write status is per-socket, not
      per-loop

    🤖 Generated with Claude Code


    Co-authored-by: Claude Opus 4.5 <noreply@​anthropic.com>

  • 7c0632 fix(ws): fix zlib version mismatch on Windows (segfault) (#25538)

    Summary

    Fixes #24593 - WebSocket segfault on Windows when publishing large
    messages with perMessageDeflate: true.
    Also fixes #21028 (duplicate issue).
    Also closes #25457 (alternative PR).

    Root cause:

    On Windows, the C++ code was compiled against system zlib headers
    (1.3.1) but linked against Bun's vendored Cloudflare zlib (1.2.8).

    This version mismatch caused deflateInit2() to return
    Z_VERSION_ERROR (-6), leaving the deflate stream in an invalid state.
    All subsequent deflate() calls returned Z_STREAM_ERROR (-2),
    producing zero output, which then caused an integer underflow when
    subtracting the 4-byte trailer → segfault in memcpy.

    Fix:

    Add ${VENDOR_PATH}/zlib to the C++ include paths in
    cmake/targets/BuildBun.cmake. This ensures the vendored zlib headers
    are found before system headers, maintaining header/library version
    consistency.

    This is a simpler alternative to #25457 which worked around the issue by
    using libdeflate exclusively.

    Test plan

    • Added regression test test/regression/issue/24593.test.ts with 4
      test cases:
      • Large ~109KB JSON message publish (core reproduction)
      • Multiple rapid publishes (buffer corruption)
      • Broadcast to multiple subscribers
      • Messages at CORK_BUFFER_SIZE boundary (16KB)
    • Tests pass on Windows (was crashing before fix)
    • Tests pass on macOS

    🤖 Generated with Claude Code


    Co-authored-by: Claude Opus 4.5 <noreply@​anthropic.com>

  • dd04c5 feat: implement V8 Value type checking APIs (#22462)

    Summary

    This PR implements four V8 C++ API methods for type checking that are
    commonly used by native Node.js modules:

    • v8::Value::IsMap() - checks if value is a Map
    • v8::Value::IsArray() - checks if value is an Array
    • v8::Value::IsInt32() - checks if value is a 32-bit integer
    • v8::Value::IsBigInt() - checks if value is a BigInt

    Implementation Details

    The implementation maps V8's type checking APIs to JavaScriptCore's
    equivalent functionality:

    • IsMap() uses JSC's inherits<JSC::JSMap>() check
    • IsArray() uses JSC's isArray() function with the global object
    • IsInt32() uses JSC's isInt32() method
    • IsBigInt() uses JSC's isBigInt() method

    Changes

    • Added method declarations to V8Value.h
    • Implemented the methods in V8Value.cpp
    • Added symbol exports to napi.zig (both Unix and Windows mangled
      names)
    • Added symbols to symbols.txt and symbols.dyn
    • Added comprehensive tests in v8-module/main.cpp and v8.test.ts

    Testing

    The implementation has been verified to:

    • Compile successfully without errors
    • Export the correct symbols in the binary
    • Follow established patterns in the V8 compatibility layer

    Tests cover various value types including empty and populated
    Maps/Arrays, different numeric ranges, BigInts, and other JavaScript
    types.

    🤖 Generated with Claude Code


    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude <noreply@​anthropic.com>
    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.redirect.github.com>
    Co-authored-by: Jarred Sumner <jarred@​jarredsumner.com>

@lsegurado lsegurado merged commit f9e722e into master Dec 22, 2025
10 checks passed
@lsegurado lsegurado deleted the michijs-dependabot branch December 22, 2025 10:05
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.

1 participant