CINXE.COM

Release 2025-02-10, Version 20.18.3 'Iron' (LTS), @marco-ippolito · nodejs/node · GitHub

<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-7aa84bb7e11e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f65db3e8d171.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-a8258e3c6dda.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-7e97d834719c.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-01d869f460be.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-534f3e971240.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-a8cc7d138001.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-35e9dfdc4f9f.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-cf4cc5f62dfe.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-d9abecd14f1e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-93aded0ee8a1.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-8bed0685a4b5.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-a954a02d9269.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/releases-d27bae89dc62.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["copilot_immersive_file_preview","copilot_new_references_ui","copilot_attach_folder_reference","copilot_personal_instructions","copilot_personal_instructions_templates","copilot_chat_repo_custom_instructions_preview","copilot_chat_retry_on_error","copilot_chat_persist_submitted_input","copilot_conversational_ux_history_refs","copilot_chat_shared_chat_input","copilot_editor_upsells","copilot_implicit_context","copilot_no_floating_button","copilot_smell_icebreaker_ux","copilot_read_shared_conversation","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","hovercard_accessibility","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_react_include_bots_in_pickers","marketing_pages_search_explore_provider","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_copilot_extensions_ga","site_copilot_vscode_link_update","site_proxima_australia_update","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-ada7d3e0df01.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-d7e6bc799724.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-4600dbf2d60a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-f6da4b3fa34c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a74b4e0a8a6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-8094ee2ecc5e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-0b85275f2754.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-682f1551aebf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-72267f4e3ff9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-e3cbe28f1638.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-69cfcc-e034679cfec3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-a1563f62660e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f48a418a99d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-8fa27fd7fbb6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-e2caa5390f5a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-783fc7e142e5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-32252a9260d6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-e12489347ccf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-96453a51f920.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-7238cfcdaa51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-0a7bffd2f129.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-a4509a8583cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-9a5713772ca5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-af33445b6fc3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-611691cca2f6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-f7cc96ebae76.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-4a07d5e6bdd6.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.2b41f48ec06f29182cb4.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>Release 2025-02-10, Version 20.18.3 &#39;Iron&#39; (LTS), @marco-ippolito · nodejs/node · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/releases/tag/*name" data-turbo-transient> <meta name="route-controller" content="releases" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="6f13f31f798a93a6b08d3be0727120e9af35851fac7b9c620d6cf9a70068c136"> <meta name="request-id" content="C8E2:3B044:20F464:26FC7C:67B8982B" data-pjax-transient="true"/><meta name="html-safe-nonce" content="8134c0ffadeb3fb4316349a6c9b7809fffb5e858579bfb5adb12bf7a62c61a18" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDOEUyOjNCMDQ0OjIwRjQ2NDoyNkZDN0M6NjdCODk4MkIiLCJ2aXNpdG9yX2lkIjoiNzI2ODQwNTU2MjI4OTE5OTE0NyIsInJlZ2lvbl9lZGdlIjoic291dGhlYXN0YXNpYSIsInJlZ2lvbl9yZW5kZXIiOiJzb3V0aGVhc3Rhc2lhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="97f02b36f7f2766a045baba04a694ee9ebe03265d8516be91c8366fe4be5df38" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:27193779" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_releases" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/releases/show" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Node.js JavaScript runtime ✨🐢🚀✨. Contribute to nodejs/node development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/nodejs/node/releases/tag/v20.18.3" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/b77b5bd05e0183303f82ffa35cb70f1063bb2803294d6e57dc2be096bdd96519/nodejs/node/releases/tag/v20.18.3" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Release 2025-02-10, Version 20.18.3 &#39;Iron&#39; (LTS), @marco-ippolito · nodejs/node" /><meta name="twitter:description" content="Notable Changes [030f155986] - esm: mark import attributes and JSON module as stable (Nicolò Ribaudo) #55333 [b9b006331f] - doc: add LJHarb to collaborators (Jordan Harband) #56132 [39b89e90b4] - ..." /> <meta property="og:image" content="https://opengraph.githubassets.com/b77b5bd05e0183303f82ffa35cb70f1063bb2803294d6e57dc2be096bdd96519/nodejs/node/releases/tag/v20.18.3" /><meta property="og:image:alt" content="Notable Changes [030f155986] - esm: mark import attributes and JSON module as stable (Nicolò Ribaudo) #55333 [b9b006331f] - doc: add LJHarb to collaborators (Jordan Harband) #56132 [39b89e90b4] - ..." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="Release 2025-02-10, Version 20.18.3 &#39;Iron&#39; (LTS), @marco-ippolito · nodejs/node" /><meta property="og:url" content="/nodejs/node/releases/tag/v20.18.3" /><meta property="og:description" content="Notable Changes [030f155986] - esm: mark import attributes and JSON module as stable (Nicolò Ribaudo) #55333 [b9b006331f] - doc: add LJHarb to collaborators (Jordan Harband) #56132 [39b89e90b4] - ..." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="2a0823d3f545cc9240248edca9acaf52251a9afede6eb7b812b11e39ea7c1c06" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="ace39c3b6632770952207593607e6e0be0db363435a8b877b1f96abe6430f345" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="1c71206221e00a0a8e77d94d48d954f34ddbd711c4a0ced954fd49cd786cfa61" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="313de65343ffc38102536d20e8d51f5bb0d4d95b1511df65811762a0957e26c1" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="go-import" content="github.com/nodejs/node git https://github.com/nodejs/node.git"> <meta name="octolytics-dimension-user_id" content="9950313" /><meta name="octolytics-dimension-user_login" content="nodejs" /><meta name="octolytics-dimension-repository_id" content="27193779" /><meta name="octolytics-dimension-repository_nwo" content="nodejs/node" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="27193779" /><meta name="octolytics-dimension-repository_network_root_nwo" content="nodejs/node" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-97496b0f52ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-c79a97a16b04.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.2b41f48ec06f29182cb4.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-73b675cf164a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-2d195d11c56b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Freleases%2Ftag%2Fv20.18.3" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/nodejs/node/releases/tag/v20.18.3&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d2700874a31a6bb46cbc5932c38929030507465e88038bb26e94f6953e9313bf" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_navbar&quot;}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> Events &amp; Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> Ebooks &amp; Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_enterprise_navbar&quot;}" href="/features/copilot#enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:nodejs/node" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="hMAFBEQKnx19zz0vXuyj4P9hgqTjer4rQoOtDQ5MqUeC3lUvFmPSRBF2Fu4JuRkcktGe2RSMT6TZWXzvVSp5Bg" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="nodejs/node" data-current-org="nodejs" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-86338eb7-6da8-4ff6-b1eb-f4e11670aeed" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-86338eb7-6da8-4ff6-b1eb-f4e11670aeed" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="VVFuqrmzwAohT5uyAjHROWNh16nPn1C5L0Pp/KGPcurTVDhlb9aeHly8rPbWh0tYiE4iZ891pvVpa/wlfz4hbQ==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="T/tkwltC422T6ULnmekaMOA1uQz16r3trRNi0nmRniVFd3x+6sqG7FXcMQe4xM2hf/e4wqNo3Uux9FS8mRCrQQ==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="1vby+VCq237ZCzqtKSmKtSsbV3vRkGjQCv97qt2Q4Gj3NmQjxnY1w7b6YK4FR13J/vmqsSeGwdvB7heKGDpLWA==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Freleases%2Ftag%2Fv20.18.3" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/nodejs/node/releases/tag/v20.18.3&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d2700874a31a6bb46cbc5932c38929030507465e88038bb26e94f6953e9313bf" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Freleases%2Fshow&amp;source=header-repo&amp;source_repo=nodejs%2Fnode" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/nodejs/node/releases/tag/v20.18.3&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d2700874a31a6bb46cbc5932c38929030507465e88038bb26e94f6953e9313bf" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/releases/show;ref_cta:Sign up;ref_loc:header logged out&quot;}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-0e2e887f-ffbf-436a-9114-d52cb1d08493" aria-labelledby="tooltip-58b0fc7d-9d56-42e3-ba9b-02e579ba66d7" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-58b0fc7d-9d56-42e3-ba9b-02e579ba66d7" for="icon-button-0e2e887f-ffbf-436a-9114-d52cb1d08493" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/nodejs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/nodejs"> nodejs </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/nodejs/node">node</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Fnodejs%2Fnode" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nodejs/node/releases/tag/v20.18.3&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6501280263fe867319b4e6107d77110895e994a538901171f876ea721c060a5a" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-4912b0eb-113a-4a66-b890-d4afb203c34d" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fnodejs%2Fnode" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:27193779,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nodejs/node/releases/tag/v20.18.3&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf238604666342e48df9f63e2a5df31ef3b89610f814469bce44d3d3598368a8" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="30,670" data-view-component="true" class="Counter">30.7k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fnodejs%2Fnode" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:27193779,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nodejs/node/releases/tag/v20.18.3&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="352325f4c786cc6d249d480fc315986b0fd1b1c9dfd19288cbdf0fdfc3a85496" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="109758 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="109,758" data-view-component="true" class="Counter js-social-count">110k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/nodejs/node/tree/v20.18.3" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /nodejs/node/tree/v20.18.3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/nodejs/node/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /nodejs/node/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="1,633" data-view-component="true" class="Counter">1.6k</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/nodejs/node/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /nodejs/node/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="518" data-view-component="true" class="Counter">518</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab" href="/nodejs/node/discussions" data-tab-item="i3discussions-tab" data-selected-links="repo_discussions /nodejs/node/discussions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g g" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Discussions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> <span data-content="Discussions">Discussions</span> <span id="discussions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/nodejs/node/actions" data-tab-item="i4actions-tab" data-selected-links="repo_actions /nodejs/node/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/nodejs/node/projects" data-tab-item="i5projects-tab" data-selected-links="repo_projects new_repo_project repo_project /nodejs/node/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="2" data-view-component="true" class="Counter">2</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/nodejs/node/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /nodejs/node/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/nodejs/node/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/nodejs/node/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /nodejs/node/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-button" popovertarget="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-overlay" aria-controls="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-list" aria-haspopup="true" aria-labelledby="tooltip-b1693cef-62db-4a64-99cd-024fea3d66dd" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-b1693cef-62db-4a64-99cd-024fea3d66dd" for="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-overlay" anchor="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-button" id="action-menu-f6dca399-feff-4ab6-be04-9250c999fd3e-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-fcc015ee-8edb-4a00-a6c5-b3bfa826ea39" href="/nodejs/node/tree/v20.18.3" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-d5bd80fa-8d44-4819-873f-aa280baa3db3" href="/nodejs/node/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-adbd453e-26f5-40b5-851c-2fecc50fe3c3" href="/nodejs/node/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3discussions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-913e5498-4ad1-4a69-acdc-88bf6766be1b" href="/nodejs/node/discussions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Discussions </span> </a> </li> <li hidden="hidden" data-menu-item="i4actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-2d2c7beb-2110-4e9a-b088-004eae4de6ee" href="/nodejs/node/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i5projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-e0ad91f4-8e0d-4680-8c25-b22406a91328" href="/nodejs/node/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-fc6e0e36-5280-479b-a66b-e9e4bb4b038f" href="/nodejs/node/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-0b9e344e-a029-4b0a-8ac5-f4593971ea66" href="/nodejs/node/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <div class="clearfix container-xl px-3 px-md-4 px-lg-5 mt-4"> <nav data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" aria-label="Breadcrumb" data-view-component="true" class="mb-5"> <ol> <li data-view-component="true" class="breadcrumb-item "><a target="_self" href="/nodejs/node/releases" data-view-component="true" class="Link">Releases</a></li> <li data-view-component="true" class="breadcrumb-item breadcrumb-item-selected"><a target="_self" aria-current="page" href="/nodejs/node/releases/tag/v20.18.3" data-view-component="true" class="Link">v20.18.3</a></li> </ol> </nav> <div class="" data-hpc> <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <h1 data-view-component="true" class="d-inline mr-3">2025-02-10, Version 20.18.3 &#39;Iron&#39; (LTS), @marco-ippolito</h1> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <details class="details-reset details-overlay position-relative" id="tag-select-menu-72edfc14-f066-11ef-8a28-294fd364b192"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left right-md-0" style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-72edfc14-f066-11ef-8a28-294fd364b192"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/nodejs/node/refs" cache-key="v0:1740075044.0" current-committish="djIwLjE4LjM=" default-branch="bWFpbg==" name-with-owner="bm9kZWpzL25vZGU=" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/nodejs/node/compare/{{ urlEncodedRefName }}...v20.18.3" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/nodejs/node/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="mb-3 pb-md-4 border-md-bottom" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <div class="d-flex flex-row flex-wrap color-fg-muted flex-items-end"> <div class="mr-4 mb-2"> <img src="https://avatars.githubusercontent.com/u/36735501?s=40&amp;v=4" alt="@marco-ippolito" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="text-bold color-fg-muted" data-hovercard-type="user" data-hovercard-url="/users/marco-ippolito/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/marco-ippolito">marco-ippolito</a> released this <relative-time class="no-wrap" prefix="" datetime="2025-02-10T13:57:54Z"> 10 Feb 13:57 </relative-time> </div> <div class="mr-4 mb-2"> &middot; <a href="/nodejs/node/compare/v20.18.3...main"> 4950 commits </a> to main since this release </div> <div class="mr-4 mb-2"> <a href="/nodejs/node/tree/v20.18.3" data-view-component="true" class="Link Link--muted"><span data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1"> v20.18.3 </span> </span></a> <details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This tag was signed with the committer’s <strong>verified signature</strong>. </div> </div> <div class="px-3 pt-3 d-flex"> <a class="pr-1" aria-label="marco-ippolito" href="/marco-ippolito"> <img src="https://avatars.githubusercontent.com/u/36735501?s=64&amp;v=4" alt="" class="avatar avatar-2 avatar-user mr-2"> </a> <span class="signed-commit-signer-name flex-1"> <a class="signer" href="/marco-ippolito">marco-ippolito</a> Marco Ippolito </span> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">27F5E38D5B0A215F</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-02-10 13:45:21 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mr-4 mb-2" style="position: relative; top: 1px;"> <a data-hovercard-type="commit" data-hovercard-url="/nodejs/node/commit/4819c99baa28bf2c1baf411ba100c467fec3d486/hovercard" href="/nodejs/node/commit/4819c99baa28bf2c1baf411ba100c467fec3d486" data-view-component="true" class="Link Link--muted"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1">4819c99</code></a> <details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was signed with the committer’s <strong>verified signature</strong>. </div> </div> <div class="px-3 pt-3 d-flex"> <a class="pr-1" aria-label="marco-ippolito" href="/marco-ippolito"> <img src="https://avatars.githubusercontent.com/u/36735501?s=64&amp;v=4" alt="" class="avatar avatar-2 avatar-user mr-2"> </a> <span class="signed-commit-signer-name flex-1"> <a class="signer" href="/marco-ippolito">marco-ippolito</a> Marco Ippolito </span> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">27F5E38D5B0A215F</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-02-10 08:22:26 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h3>Notable Changes</h3> <ul> <li>[<a href="https://github.com/nodejs/node/commit/030f155986"><code>030f155986</code></a>] - <strong>esm</strong>: mark import attributes and JSON module as stable (Nicolò Ribaudo) <a href="https://github.com/nodejs/node/pull/55333" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55333/hovercard">#55333</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b9b006331f"><code>b9b006331f</code></a>] - <strong>doc</strong>: add LJHarb to collaborators (Jordan Harband) <a href="https://github.com/nodejs/node/pull/56132" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56132/hovercard">#56132</a></li> <li>[<a href="https://github.com/nodejs/node/commit/39b89e90b4"><code>39b89e90b4</code></a>] - <strong>doc</strong>: enforce strict policy to semver-major releases (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55732" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55732/hovercard">#55732</a></li> <li>[<a href="https://github.com/nodejs/node/commit/247fa1959f"><code>247fa1959f</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.104 (Richard Lau) <a href="https://github.com/nodejs/node/pull/55681" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55681/hovercard">#55681</a></li> <li>[<a href="https://github.com/nodejs/node/commit/adfc2f993a"><code>adfc2f993a</code></a>] - <strong>tools</strong>: fix root certificate updater (Richard Lau) <a href="https://github.com/nodejs/node/pull/55681" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55681/hovercard">#55681</a></li> <li>[<a href="https://github.com/nodejs/node/commit/29862ae105"><code>29862ae105</code></a>] - <strong>doc</strong>: add jazelly to collaborators (Jason Zhang) <a href="https://github.com/nodejs/node/pull/55531" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55531/hovercard">#55531</a></li> </ul> <h3>Commits</h3> <ul> <li>[<a href="https://github.com/nodejs/node/commit/b4f5da18a5"><code>b4f5da18a5</code></a>] - <strong>benchmark</strong>: add <code>test-reporters</code> (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55757" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55757/hovercard">#55757</a></li> <li>[<a href="https://github.com/nodejs/node/commit/407992e272"><code>407992e272</code></a>] - <strong>benchmark</strong>: add <code>test_runner/mock-fn</code> (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55771" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55771/hovercard">#55771</a></li> <li>[<a href="https://github.com/nodejs/node/commit/17abec4367"><code>17abec4367</code></a>] - <strong>benchmark</strong>: add nodeTiming.uvmetricsinfo bench (RafaelGSS) <a href="https://github.com/nodejs/node/pull/55614" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55614/hovercard">#55614</a></li> <li>[<a href="https://github.com/nodejs/node/commit/43f7050338"><code>43f7050338</code></a>] - <strong>benchmark</strong>: add --runs support to run.js (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55158" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55158/hovercard">#55158</a></li> <li>[<a href="https://github.com/nodejs/node/commit/470789a981"><code>470789a981</code></a>] - <strong>benchmark</strong>: adjust byte size for buffer-copy (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55295" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55295/hovercard">#55295</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ea1c97ac16"><code>ea1c97ac16</code></a>] - <strong>buffer</strong>: document concat zero-fill (Duncan) <a href="https://github.com/nodejs/node/pull/55562" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55562/hovercard">#55562</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ae683a9e1f"><code>ae683a9e1f</code></a>] - <strong>build</strong>: set DESTCPU correctly for 'make binary' on loongarch64 (吴小白) <a href="https://github.com/nodejs/node/pull/56271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56271/hovercard">#56271</a></li> <li>[<a href="https://github.com/nodejs/node/commit/af020edf96"><code>af020edf96</code></a>] - <strong>build</strong>: fix missing fp16 dependency in d8 builds (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/56266" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56266/hovercard">#56266</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d6a1b74404"><code>d6a1b74404</code></a>] - <strong>build</strong>: add major release action (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/56199" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56199/hovercard">#56199</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bc92a96a5a"><code>bc92a96a5a</code></a>] - <strong>build</strong>: allow overriding clang usage (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/56016" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56016/hovercard">#56016</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f370ec0989"><code>f370ec0989</code></a>] - <strong>build</strong>: remove defaults for create-release-proposal (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/56042" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56042/hovercard">#56042</a></li> <li>[<a href="https://github.com/nodejs/node/commit/25e1862e87"><code>25e1862e87</code></a>] - <strong>build</strong>: set node_arch to target_cpu in GN (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/55967" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55967/hovercard">#55967</a></li> <li>[<a href="https://github.com/nodejs/node/commit/55c205e5f6"><code>55c205e5f6</code></a>] - <strong>build</strong>: add create release proposal action (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55690" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55690/hovercard">#55690</a></li> <li>[<a href="https://github.com/nodejs/node/commit/9f14ba808d"><code>9f14ba808d</code></a>] - <strong>build</strong>: implement node_use_amaro flag in GN build (Cheng) <a href="https://github.com/nodejs/node/pull/55798" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55798/hovercard">#55798</a></li> <li>[<a href="https://github.com/nodejs/node/commit/046430c47e"><code>046430c47e</code></a>] - <strong>build</strong>: fix building with system icu 76 (Michael Cho) <a href="https://github.com/nodejs/node/pull/55563" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55563/hovercard">#55563</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0b6d62c812"><code>0b6d62c812</code></a>] - <strong>build</strong>: fix GN arg used in generate_config_gypi.py (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/55530" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55530/hovercard">#55530</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8f9c642369"><code>8f9c642369</code></a>] - <strong>build</strong>: fix GN build for cares/uv deps (Cheng) <a href="https://github.com/nodejs/node/pull/55477" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55477/hovercard">#55477</a></li> <li>[<a href="https://github.com/nodejs/node/commit/284e932326"><code>284e932326</code></a>] - <strong>build</strong>: fix uninstall script for AIX 7.1 (Cloorc) <a href="https://github.com/nodejs/node/pull/55438" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55438/hovercard">#55438</a></li> <li>[<a href="https://github.com/nodejs/node/commit/2f71f168ef"><code>2f71f168ef</code></a>] - <strong>build</strong>: tidy up cares.gyp (Richard Lau) <a href="https://github.com/nodejs/node/pull/55445" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55445/hovercard">#55445</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e89e807522"><code>e89e807522</code></a>] - <strong>build</strong>: synchronize list of c-ares source files (Richard Lau) <a href="https://github.com/nodejs/node/pull/55445" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55445/hovercard">#55445</a></li> <li>[<a href="https://github.com/nodejs/node/commit/5eb6c94851"><code>5eb6c94851</code></a>] - <strong>build</strong>: fix path concatenation (Mohammed Keyvanzadeh) <a href="https://github.com/nodejs/node/pull/55387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55387/hovercard">#55387</a></li> <li>[<a href="https://github.com/nodejs/node/commit/720d23f3ac"><code>720d23f3ac</code></a>] - <strong>build</strong>: fix make errors that occur in Makefile (minkyu_kim) <a href="https://github.com/nodejs/node/pull/55287" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55287/hovercard">#55287</a></li> <li>[<a href="https://github.com/nodejs/node/commit/dc552c6739"><code>dc552c6739</code></a>] - <strong>build,win</strong>: enable pch for clang-cl (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/55249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55249/hovercard">#55249</a></li> <li>[<a href="https://github.com/nodejs/node/commit/64b140d484"><code>64b140d484</code></a>] - <strong>cli</strong>: add <code>--heap-prof</code> flag available to <code>NODE_OPTIONS</code> (Juan José) <a href="https://github.com/nodejs/node/pull/54259" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54259/hovercard">#54259</a></li> <li>[<a href="https://github.com/nodejs/node/commit/23fb644037"><code>23fb644037</code></a>] - <strong>crypto</strong>: ensure CryptoKey usages and algorithm are cached objects (Filip Skokan) <a href="https://github.com/nodejs/node/pull/56108" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56108/hovercard">#56108</a></li> <li>[<a href="https://github.com/nodejs/node/commit/247fa1959f"><code>247fa1959f</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.104 (Richard Lau) <a href="https://github.com/nodejs/node/pull/55681" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55681/hovercard">#55681</a></li> <li>[<a href="https://github.com/nodejs/node/commit/3c4262a171"><code>3c4262a171</code></a>] - <strong>deps</strong>: V8: cherry-pick 26fd1dfa9cd6 (Shu-yu Guo) <a href="https://github.com/nodejs/node/pull/55961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55961/hovercard">#55961</a></li> <li>[<a href="https://github.com/nodejs/node/commit/558e6588a4"><code>558e6588a4</code></a>] - <strong>deps</strong>: V8: backport ae5a4db8ad86 (Shu-yu Guo) <a href="https://github.com/nodejs/node/pull/55961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55961/hovercard">#55961</a></li> <li>[<a href="https://github.com/nodejs/node/commit/169bc58447"><code>169bc58447</code></a>] - <strong>deps</strong>: update simdutf to 5.6.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/56255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56255/hovercard">#56255</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bc7bb1e269"><code>bc7bb1e269</code></a>] - <strong>deps</strong>: update c-ares to v1.34.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/56256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56256/hovercard">#56256</a></li> <li>[<a href="https://github.com/nodejs/node/commit/782bb6cac4"><code>782bb6cac4</code></a>] - <strong>deps</strong>: update zlib to 1.3.0.1-motley-82a5fec (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55980/hovercard">#55980</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f7131cf178"><code>f7131cf178</code></a>] - <strong>deps</strong>: update corepack to 0.30.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55977" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55977/hovercard">#55977</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b09f6abcd3"><code>b09f6abcd3</code></a>] - <strong>deps</strong>: update simdutf to 5.6.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55973" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55973/hovercard">#55973</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d63ccb60ea"><code>d63ccb60ea</code></a>] - <strong>deps</strong>: update zlib to 1.3.0.1-motley-7e2e4d7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/54432" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54432/hovercard">#54432</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a2f315ef8b"><code>a2f315ef8b</code></a>] - <strong>deps</strong>: update simdutf to 5.6.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55889" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55889/hovercard">#55889</a></li> <li>[<a href="https://github.com/nodejs/node/commit/afed723b6c"><code>afed723b6c</code></a>] - <strong>deps</strong>: update simdutf to 5.6.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55850" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55850/hovercard">#55850</a></li> <li>[<a href="https://github.com/nodejs/node/commit/753c3b322f"><code>753c3b322f</code></a>] - <strong>deps</strong>: update c-ares to v1.34.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55803" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55803/hovercard">#55803</a></li> <li>[<a href="https://github.com/nodejs/node/commit/4f89af8a6f"><code>4f89af8a6f</code></a>] - <strong>deps</strong>: update acorn to 8.14.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55699/hovercard">#55699</a></li> <li>[<a href="https://github.com/nodejs/node/commit/07359ec14f"><code>07359ec14f</code></a>] - <strong>deps</strong>: update acorn to 8.13.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55558" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55558/hovercard">#55558</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c6236571fc"><code>c6236571fc</code></a>] - <strong>deps</strong>: update googletest to df1544b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55465" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55465/hovercard">#55465</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f63413c6f3"><code>f63413c6f3</code></a>] - <strong>deps</strong>: update c-ares to v1.34.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55463" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55463/hovercard">#55463</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ad725c766d"><code>ad725c766d</code></a>] - <strong>deps</strong>: update ada to 2.9.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/54679" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54679/hovercard">#54679</a></li> <li>[<a href="https://github.com/nodejs/node/commit/33367cbd62"><code>33367cbd62</code></a>] - <strong>deps</strong>: update simdutf to 5.6.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55379" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55379/hovercard">#55379</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f2a55d9d2d"><code>f2a55d9d2d</code></a>] - <strong>deps</strong>: update c-ares to v1.34.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55369" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55369/hovercard">#55369</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1d14886266"><code>1d14886266</code></a>] - <strong>dgram</strong>: check udp buffer size to avoid fd leak (theanarkh) <a href="https://github.com/nodejs/node/pull/56084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56084/hovercard">#56084</a></li> <li>[<a href="https://github.com/nodejs/node/commit/de265b9558"><code>de265b9558</code></a>] - <strong>diagnostics_channel</strong>: fix unsubscribe during publish (simon-id) <a href="https://github.com/nodejs/node/pull/55116" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55116/hovercard">#55116</a></li> <li>[<a href="https://github.com/nodejs/node/commit/22e0d17097"><code>22e0d17097</code></a>] - <strong>dns</strong>: stop using deprecated <code>ares_query</code> (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55430" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55430/hovercard">#55430</a></li> <li>[<a href="https://github.com/nodejs/node/commit/44f3b23749"><code>44f3b23749</code></a>] - <strong>dns</strong>: honor the order option (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/55392" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55392/hovercard">#55392</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f78508cd30"><code>f78508cd30</code></a>] - <strong>doc</strong>: add history info for Permission Model (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56707" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56707/hovercard">#56707</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f07be5e3cd"><code>f07be5e3cd</code></a>] - <strong>doc</strong>: add note for features using <code>InternalWorker</code> with permission model (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56706" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56706/hovercard">#56706</a></li> <li>[<a href="https://github.com/nodejs/node/commit/618e005672"><code>618e005672</code></a>] - <strong>doc</strong>: add history entries for JSON modules stabilization (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55855" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55855/hovercard">#55855</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f89f4ff856"><code>f89f4ff856</code></a>] - <strong>doc</strong>: fix color contrast issue in light mode (Rich Trott) <a href="https://github.com/nodejs/node/pull/56272" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56272/hovercard">#56272</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a51ef9d829"><code>a51ef9d829</code></a>] - <strong>doc</strong>: clarify util.aborted resource usage (Kunal Kumar) <a href="https://github.com/nodejs/node/pull/55780" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55780/hovercard">#55780</a></li> <li>[<a href="https://github.com/nodejs/node/commit/2d88c4b425"><code>2d88c4b425</code></a>] - <strong>doc</strong>: add esm examples to node:repl (Alfredo González) <a href="https://github.com/nodejs/node/pull/55432" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55432/hovercard">#55432</a></li> <li>[<a href="https://github.com/nodejs/node/commit/722dada673"><code>722dada673</code></a>] - <strong>doc</strong>: add esm examples to node:readline (Alfredo González) <a href="https://github.com/nodejs/node/pull/55335" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55335/hovercard">#55335</a></li> <li>[<a href="https://github.com/nodejs/node/commit/090c7a3b01"><code>090c7a3b01</code></a>] - <strong>doc</strong>: fix 'which' to 'that' and add commas (Selveter Senitro) <a href="https://github.com/nodejs/node/pull/56216" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56216/hovercard">#56216</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ae3f6fbe59"><code>ae3f6fbe59</code></a>] - <strong>doc</strong>: <code>sea.getRawAsset(key)</code> always returns an ArrayBuffer (沈鸿飞) <a href="https://github.com/nodejs/node/pull/56206" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56206/hovercard">#56206</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d103917d92"><code>d103917d92</code></a>] - <strong>doc</strong>: update announce documentation for releases (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/56200" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56200/hovercard">#56200</a></li> <li>[<a href="https://github.com/nodejs/node/commit/80e5bb87c4"><code>80e5bb87c4</code></a>] - <strong>doc</strong>: update blog link to /vulnerability (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/56198" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56198/hovercard">#56198</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b739c2a926"><code>b739c2a926</code></a>] - <strong>doc</strong>: call out import.meta is only supported in ES modules (Anton Kastritskii) <a href="https://github.com/nodejs/node/pull/56186" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56186/hovercard">#56186</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bbd0222a10"><code>bbd0222a10</code></a>] - <strong>doc</strong>: add ambassador message - benefits of Node.js (Michael Dawson) <a href="https://github.com/nodejs/node/pull/56085" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56085/hovercard">#56085</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0e9abf2754"><code>0e9abf2754</code></a>] - <strong>doc</strong>: fix incorrect link to style guide (Yuan-Ming Hsu) <a href="https://github.com/nodejs/node/pull/56181" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56181/hovercard">#56181</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1dbc7e87d7"><code>1dbc7e87d7</code></a>] - <strong>doc</strong>: fix c++ addon hello world sample (Edigleysson Silva (Edy)) <a href="https://github.com/nodejs/node/pull/56172" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56172/hovercard">#56172</a></li> <li>[<a href="https://github.com/nodejs/node/commit/026f0198c8"><code>026f0198c8</code></a>] - <strong>doc</strong>: update blog release-post link (Ruy Adorno) <a href="https://github.com/nodejs/node/pull/56123" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56123/hovercard">#56123</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c2fa359f7a"><code>c2fa359f7a</code></a>] - <strong>doc</strong>: mention <code>-a</code> flag for the release script (Ruy Adorno) <a href="https://github.com/nodejs/node/pull/56124" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56124/hovercard">#56124</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b9b006331f"><code>b9b006331f</code></a>] - <strong>doc</strong>: add LJHarb to collaborators (Jordan Harband) <a href="https://github.com/nodejs/node/pull/56132" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56132/hovercard">#56132</a></li> <li>[<a href="https://github.com/nodejs/node/commit/7a1365ba62"><code>7a1365ba62</code></a>] - <strong>doc</strong>: add create-release-action to process (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55993" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55993/hovercard">#55993</a></li> <li>[<a href="https://github.com/nodejs/node/commit/51262ec84e"><code>51262ec84e</code></a>] - <strong>doc</strong>: rename file to advocacy-ambassador-program.md (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/56046" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56046/hovercard">#56046</a></li> <li>[<a href="https://github.com/nodejs/node/commit/6fc7328831"><code>6fc7328831</code></a>] - <strong>doc</strong>: remove unused import from sample code (Blended Bram) <a href="https://github.com/nodejs/node/pull/55570" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55570/hovercard">#55570</a></li> <li>[<a href="https://github.com/nodejs/node/commit/9f3ef4a434"><code>9f3ef4a434</code></a>] - <strong>doc</strong>: add FAQ to releases section (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55992" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55992/hovercard">#55992</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1dcf8dfedb"><code>1dcf8dfedb</code></a>] - <strong>doc</strong>: move history entry to class description (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/55991" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55991/hovercard">#55991</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e016f68c73"><code>e016f68c73</code></a>] - <strong>doc</strong>: add history entry for textEncoder.encodeInto() (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/55990" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55990/hovercard">#55990</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1b31638262"><code>1b31638262</code></a>] - <strong>doc</strong>: improve GN build documentation a bit (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/55968" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55968/hovercard">#55968</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d25bcfd0b2"><code>d25bcfd0b2</code></a>] - <strong>doc</strong>: remove confusing and outdated sentence (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/55988" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55988/hovercard">#55988</a></li> <li>[<a href="https://github.com/nodejs/node/commit/65c1784337"><code>65c1784337</code></a>] - <strong>doc</strong>: add doc for PerformanceObserver.takeRecords() (skyclouds2001) <a href="https://github.com/nodejs/node/pull/55786" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55786/hovercard">#55786</a></li> <li>[<a href="https://github.com/nodejs/node/commit/682ae41f86"><code>682ae41f86</code></a>] - <strong>doc</strong>: add vetted courses to the ambassador benefits (Matteo Collina) <a href="https://github.com/nodejs/node/pull/55934" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55934/hovercard">#55934</a></li> <li>[<a href="https://github.com/nodejs/node/commit/9b6cc54b50"><code>9b6cc54b50</code></a>] - <strong>doc</strong>: doc how to add message for promotion (Michael Dawson) <a href="https://github.com/nodejs/node/pull/55843" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55843/hovercard">#55843</a></li> <li>[<a href="https://github.com/nodejs/node/commit/db5378c8b9"><code>db5378c8b9</code></a>] - <strong>doc</strong>: add esm example for zlib (Leonardo Peixoto) <a href="https://github.com/nodejs/node/pull/55946" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55946/hovercard">#55946</a></li> <li>[<a href="https://github.com/nodejs/node/commit/58a6fbb9cf"><code>58a6fbb9cf</code></a>] - <strong>doc</strong>: document approach for building wasm in deps (Michael Dawson) <a href="https://github.com/nodejs/node/pull/55940" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55940/hovercard">#55940</a></li> <li>[<a href="https://github.com/nodejs/node/commit/41e3bcd752"><code>41e3bcd752</code></a>] - <strong>doc</strong>: add esm examples to node:timers (Alfredo González) <a href="https://github.com/nodejs/node/pull/55857" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55857/hovercard">#55857</a></li> <li>[<a href="https://github.com/nodejs/node/commit/61de8f9b04"><code>61de8f9b04</code></a>] - <strong>doc</strong>: include git node release --promote to steps (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55835" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55835/hovercard">#55835</a></li> <li>[<a href="https://github.com/nodejs/node/commit/559a0bfa2e"><code>559a0bfa2e</code></a>] - <strong>doc</strong>: add a note on console stream behavior (Gireesh Punathil) <a href="https://github.com/nodejs/node/pull/55616" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55616/hovercard">#55616</a></li> <li>[<a href="https://github.com/nodejs/node/commit/3d11a85fe5"><code>3d11a85fe5</code></a>] - <strong>doc</strong>: add <code>-S</code> flag release preparation example (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55836" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55836/hovercard">#55836</a></li> <li>[<a href="https://github.com/nodejs/node/commit/955690e6cf"><code>955690e6cf</code></a>] - <strong>doc</strong>: clarify UV_THREADPOOL_SIZE env var usage (Preveen P) <a href="https://github.com/nodejs/node/pull/55832" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55832/hovercard">#55832</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d6738e919a"><code>d6738e919a</code></a>] - <strong>doc</strong>: add notable-change mention to sec release (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55830" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55830/hovercard">#55830</a></li> <li>[<a href="https://github.com/nodejs/node/commit/79876f0dfd"><code>79876f0dfd</code></a>] - <strong>doc</strong>: fix history info for <code>URL.prototype.toJSON</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55818" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55818/hovercard">#55818</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c14776fbaa"><code>c14776fbaa</code></a>] - <strong>doc</strong>: correct max-semi-space-size statement (Joe Bowbeer) <a href="https://github.com/nodejs/node/pull/55812" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55812/hovercard">#55812</a></li> <li>[<a href="https://github.com/nodejs/node/commit/83b415e8f3"><code>83b415e8f3</code></a>] - <strong>doc</strong>: run license-builder (github-actions[bot]) <a href="https://github.com/nodejs/node/pull/55813" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55813/hovercard">#55813</a></li> <li>[<a href="https://github.com/nodejs/node/commit/07f53b1d75"><code>07f53b1d75</code></a>] - <strong>doc</strong>: clarify triager role (Gireesh Punathil) <a href="https://github.com/nodejs/node/pull/55775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55775/hovercard">#55775</a></li> <li>[<a href="https://github.com/nodejs/node/commit/2abfdefcf3"><code>2abfdefcf3</code></a>] - <strong>doc</strong>: clarify removal of experimental API does not require a deprecation (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55746/hovercard">#55746</a></li> <li>[<a href="https://github.com/nodejs/node/commit/39b89e90b4"><code>39b89e90b4</code></a>] - <strong>doc</strong>: enforce strict policy to semver-major releases (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55732" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55732/hovercard">#55732</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d0417eaec9"><code>d0417eaec9</code></a>] - <strong>doc</strong>: add esm example in <code>path.md</code> (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55745" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55745/hovercard">#55745</a></li> <li>[<a href="https://github.com/nodejs/node/commit/032ff07a2d"><code>032ff07a2d</code></a>] - <strong>doc</strong>: consistent use of word child process (Gireesh Punathil) <a href="https://github.com/nodejs/node/pull/55654" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55654/hovercard">#55654</a></li> <li>[<a href="https://github.com/nodejs/node/commit/16eef6461e"><code>16eef6461e</code></a>] - <strong>doc</strong>: clarity to available addon options (Preveen P) <a href="https://github.com/nodejs/node/pull/55715" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55715/hovercard">#55715</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a7ce82e3cc"><code>a7ce82e3cc</code></a>] - <strong>doc</strong>: update <code>--max-semi-space-size</code> description (Joe Bowbeer) <a href="https://github.com/nodejs/node/pull/55495" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55495/hovercard">#55495</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1bb461e2b6"><code>1bb461e2b6</code></a>] - <strong>doc</strong>: add write flag when open file as the demo code's intention (robberfree) <a href="https://github.com/nodejs/node/pull/54626" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54626/hovercard">#54626</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8cd619f8d7"><code>8cd619f8d7</code></a>] - <strong>doc</strong>: remove mention of ECDH-ES in crypto.diffieHellman (Filip Skokan) <a href="https://github.com/nodejs/node/pull/55611" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55611/hovercard">#55611</a></li> <li>[<a href="https://github.com/nodejs/node/commit/4576d14d0f"><code>4576d14d0f</code></a>] - <strong>doc</strong>: improve c++ embedder API doc (Gireesh Punathil) <a href="https://github.com/nodejs/node/pull/55597" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55597/hovercard">#55597</a></li> <li>[<a href="https://github.com/nodejs/node/commit/12bd57fbaa"><code>12bd57fbaa</code></a>] - <strong>doc</strong>: capitalize "MIT License" (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55575" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55575/hovercard">#55575</a></li> <li>[<a href="https://github.com/nodejs/node/commit/362b01b275"><code>362b01b275</code></a>] - <strong>doc</strong>: add esm examples to node:string_decoder (Alfredo González) <a href="https://github.com/nodejs/node/pull/55507" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55507/hovercard">#55507</a></li> <li>[<a href="https://github.com/nodejs/node/commit/29862ae105"><code>29862ae105</code></a>] - <strong>doc</strong>: add jazelly to collaborators (Jason Zhang) <a href="https://github.com/nodejs/node/pull/55531" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55531/hovercard">#55531</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c1b63e5e6b"><code>c1b63e5e6b</code></a>] - <strong>doc</strong>: changed the command used to verify SHASUMS256 (adriancuadrado) <a href="https://github.com/nodejs/node/pull/55420" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55420/hovercard">#55420</a></li> <li>[<a href="https://github.com/nodejs/node/commit/9db657532b"><code>9db657532b</code></a>] - <strong>doc</strong>: add note about stdio streams in child_process (Ederin (Ed) Igharoro) <a href="https://github.com/nodejs/node/pull/55322" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55322/hovercard">#55322</a></li> <li>[<a href="https://github.com/nodejs/node/commit/475e478713"><code>475e478713</code></a>] - <strong>doc</strong>: add <code>isBigIntObject</code> to documentation (leviscar) <a href="https://github.com/nodejs/node/pull/55450" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55450/hovercard">#55450</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0487e70475"><code>0487e70475</code></a>] - <strong>doc</strong>: remove outdated remarks about <code>highWaterMark</code> in fs (Ian Kerins) <a href="https://github.com/nodejs/node/pull/55462" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55462/hovercard">#55462</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e9a8feb44a"><code>e9a8feb44a</code></a>] - <strong>doc</strong>: move Danielle Adams key to old gpg keys (RafaelGSS) <a href="https://github.com/nodejs/node/pull/55399" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55399/hovercard">#55399</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bfbe651626"><code>bfbe651626</code></a>] - <strong>doc</strong>: move Bryan English key to old gpg keys (RafaelGSS) <a href="https://github.com/nodejs/node/pull/55399" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55399/hovercard">#55399</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c1cab9b4d7"><code>c1cab9b4d7</code></a>] - <strong>doc</strong>: move Beth Griggs keys to old gpg keys (RafaelGSS) <a href="https://github.com/nodejs/node/pull/55399" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55399/hovercard">#55399</a></li> <li>[<a href="https://github.com/nodejs/node/commit/85d8eb397c"><code>85d8eb397c</code></a>] - <strong>doc</strong>: spell out condition restrictions (Jan Martin) <a href="https://github.com/nodejs/node/pull/55187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55187/hovercard">#55187</a></li> <li>[<a href="https://github.com/nodejs/node/commit/de8de542b5"><code>de8de542b5</code></a>] - <strong>doc</strong>: add missing return values in buffer docs (Karl Horky) <a href="https://github.com/nodejs/node/pull/55273" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55273/hovercard">#55273</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a5df7087fd"><code>a5df7087fd</code></a>] - <strong>doc</strong>: fix ambasador markdown list (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55361" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55361/hovercard">#55361</a></li> <li>[<a href="https://github.com/nodejs/node/commit/fbfcb0cc08"><code>fbfcb0cc08</code></a>] - <strong>doc</strong>: edit onboarding guide to clarify when mailmap addition is needed (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55334" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55334/hovercard">#55334</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e70abce96a"><code>e70abce96a</code></a>] - <strong>doc</strong>: fix the return type of outgoingMessage.setHeaders() (Jimmy Leung) <a href="https://github.com/nodejs/node/pull/55290" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55290/hovercard">#55290</a></li> <li>[<a href="https://github.com/nodejs/node/commit/030f155986"><code>030f155986</code></a>] - <strong>esm</strong>: mark import attributes and JSON module as stable (Nicolò Ribaudo) <a href="https://github.com/nodejs/node/pull/55333" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55333/hovercard">#55333</a></li> <li>[<a href="https://github.com/nodejs/node/commit/86cb697b81"><code>86cb697b81</code></a>] - <strong>esm</strong>: add a fallback when importer in not a file (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55471" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55471/hovercard">#55471</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8c8de30680"><code>8c8de30680</code></a>] - <strong>esm</strong>: fix inconsistency with <code>importAssertion</code> in <code>resolve</code> hook (Wei Zhu) <a href="https://github.com/nodejs/node/pull/55365" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55365/hovercard">#55365</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a41b0e1247"><code>a41b0e1247</code></a>] - <strong>events</strong>: optimize EventTarget.addEventListener (Robert Nagy) <a href="https://github.com/nodejs/node/pull/55312" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55312/hovercard">#55312</a></li> <li>[<a href="https://github.com/nodejs/node/commit/2c6dcf7209"><code>2c6dcf7209</code></a>] - <strong>fs</strong>: make mutating <code>options</code> in Promises <code>readdir()</code> not affect results (LiviaMedeiros) <a href="https://github.com/nodejs/node/pull/56057" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56057/hovercard">#56057</a></li> <li>[<a href="https://github.com/nodejs/node/commit/9317feb829"><code>9317feb829</code></a>] - <strong>fs</strong>: lazily load ReadFileContext (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/55998" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55998/hovercard">#55998</a></li> <li>[<a href="https://github.com/nodejs/node/commit/739ee18430"><code>739ee18430</code></a>] - <strong>http2</strong>: support ALPNCallback option (ZYSzys) <a href="https://github.com/nodejs/node/pull/56187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56187/hovercard">#56187</a></li> <li>[<a href="https://github.com/nodejs/node/commit/7ba6dcf180"><code>7ba6dcf180</code></a>] - <strong>http2</strong>: fix memory leak caused by premature listener removing (ywave620) <a href="https://github.com/nodejs/node/pull/55966" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55966/hovercard">#55966</a></li> <li>[<a href="https://github.com/nodejs/node/commit/4c15bd44a0"><code>4c15bd44a0</code></a>] - <strong>http2</strong>: fix client async storage persistence (Orgad Shaneh) <a href="https://github.com/nodejs/node/pull/55460" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55460/hovercard">#55460</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ac57dadd9a"><code>ac57dadd9a</code></a>] - <strong>lib</strong>: add validation for options in compileFunction (Taejin Kim) <a href="https://github.com/nodejs/node/pull/56023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56023/hovercard">#56023</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a5b0d8900a"><code>a5b0d8900a</code></a>] - <strong>lib</strong>: remove startsWith/endsWith primordials for char checks (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/55407" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55407/hovercard">#55407</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f10857828f"><code>f10857828f</code></a>] - <strong>lib</strong>: test_runner#mock:timers respeced timeout_max behaviour (BadKey) <a href="https://github.com/nodejs/node/pull/55375" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55375/hovercard">#55375</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1a193bf256"><code>1a193bf256</code></a>] - <strong>meta</strong>: bump github/codeql-action from 3.27.0 to 3.27.5 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/56103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56103/hovercard">#56103</a></li> <li>[<a href="https://github.com/nodejs/node/commit/23f319803d"><code>23f319803d</code></a>] - <strong>meta</strong>: bump actions/checkout from 4.1.7 to 4.2.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/56102" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56102/hovercard">#56102</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a953301a1c"><code>a953301a1c</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.10.1 to 2.10.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/56101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56101/hovercard">#56101</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c58065ae77"><code>c58065ae77</code></a>] - <strong>meta</strong>: bump actions/setup-node from 4.0.3 to 4.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/56100" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56100/hovercard">#56100</a></li> <li>[<a href="https://github.com/nodejs/node/commit/12b0cecc20"><code>12b0cecc20</code></a>] - <strong>meta</strong>: add releasers as CODEOWNERS to proposal action (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/56043" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56043/hovercard">#56043</a></li> <li>[<a href="https://github.com/nodejs/node/commit/070aa9d6a5"><code>070aa9d6a5</code></a>] - <strong>meta</strong>: bump actions/setup-python from 5.2.0 to 5.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55688" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55688/hovercard">#55688</a></li> <li>[<a href="https://github.com/nodejs/node/commit/7a46ffd18a"><code>7a46ffd18a</code></a>] - <strong>meta</strong>: bump actions/setup-node from 4.0.4 to 4.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55687/hovercard">#55687</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8b4f2e0c6a"><code>8b4f2e0c6a</code></a>] - <strong>meta</strong>: bump rtCamp/action-slack-notify from 2.3.0 to 2.3.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55686" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55686/hovercard">#55686</a></li> <li>[<a href="https://github.com/nodejs/node/commit/024c5b2ab3"><code>024c5b2ab3</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 4.4.0 to 4.4.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55685" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55685/hovercard">#55685</a></li> <li>[<a href="https://github.com/nodejs/node/commit/3d06971a15"><code>3d06971a15</code></a>] - <strong>meta</strong>: bump actions/cache from 4.0.2 to 4.1.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55684" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55684/hovercard">#55684</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c33de63a86"><code>c33de63a86</code></a>] - <strong>meta</strong>: bump actions/checkout from 4.2.0 to 4.2.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55683" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55683/hovercard">#55683</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ccc1ea0576"><code>ccc1ea0576</code></a>] - <strong>meta</strong>: bump github/codeql-action from 3.26.10 to 3.27.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55682" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55682/hovercard">#55682</a></li> <li>[<a href="https://github.com/nodejs/node/commit/9c2d0fd242"><code>9c2d0fd242</code></a>] - <strong>meta</strong>: make review-wanted message minimal (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55607" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55607/hovercard">#55607</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0c14cae2b2"><code>0c14cae2b2</code></a>] - <strong>meta</strong>: show PR/issue title on review-wanted (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55606" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55606/hovercard">#55606</a></li> <li>[<a href="https://github.com/nodejs/node/commit/aeae7e1e6f"><code>aeae7e1e6f</code></a>] - <strong>meta</strong>: move one or more collaborators to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55381" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55381/hovercard">#55381</a></li> <li>[<a href="https://github.com/nodejs/node/commit/6d7b78c3d8"><code>6d7b78c3d8</code></a>] - <strong>meta</strong>: change color to blue notify review-wanted (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55423" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55423/hovercard">#55423</a></li> <li>[<a href="https://github.com/nodejs/node/commit/7441e289db"><code>7441e289db</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 4.5.0 to 4.6.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55222" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55222/hovercard">#55222</a></li> <li>[<a href="https://github.com/nodejs/node/commit/158c8ad77c"><code>158c8ad77c</code></a>] - <strong>meta</strong>: bump github/codeql-action from 3.26.6 to 3.26.10 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55221" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55221/hovercard">#55221</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8d3d4a9fab"><code>8d3d4a9fab</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.9.1 to 2.10.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/55220" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55220/hovercard">#55220</a></li> <li>[<a href="https://github.com/nodejs/node/commit/6797a35a5b"><code>6797a35a5b</code></a>] - <strong>module</strong>: prevent main thread exiting before esm worker ends (Shima Ryuhei) <a href="https://github.com/nodejs/node/pull/56183" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56183/hovercard">#56183</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bd99bf109f"><code>bd99bf109f</code></a>] - <strong>node-api</strong>: allow napi_delete_reference in finalizers (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/55620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55620/hovercard">#55620</a></li> <li>[<a href="https://github.com/nodejs/node/commit/6308c18dbb"><code>6308c18dbb</code></a>] - <strong>report</strong>: fix network queries in getReport libuv with exclude-network (Adrien Foulon) <a href="https://github.com/nodejs/node/pull/55602" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55602/hovercard">#55602</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ff2eec7275"><code>ff2eec7275</code></a>] - <strong>sea</strong>: only assert snapshot main function for main threads (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/56120" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56120/hovercard">#56120</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f9f3003de7"><code>f9f3003de7</code></a>] - <strong>src</strong>: fix outdated js2c.cc references (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/56133" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56133/hovercard">#56133</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a882536596"><code>a882536596</code></a>] - <strong>src</strong>: fix kill signal on Windows (Hüseyin Açacak) <a href="https://github.com/nodejs/node/pull/55514" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55514/hovercard">#55514</a></li> <li>[<a href="https://github.com/nodejs/node/commit/df1002438a"><code>df1002438a</code></a>] - <strong>src</strong>: improve <code>node:os</code> userInfo performance (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/55719" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55719/hovercard">#55719</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f17416ec3e"><code>f17416ec3e</code></a>] - <strong>src</strong>: fix dns crash when failed to create NodeAresTask (theanarkh) <a href="https://github.com/nodejs/node/pull/55521" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55521/hovercard">#55521</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8d5b8c31d8"><code>8d5b8c31d8</code></a>] - <strong>src</strong>: use NewFromUtf8Literal in NODE_DEFINE_CONSTANT (Charles Kerr) <a href="https://github.com/nodejs/node/pull/55581" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55581/hovercard">#55581</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0977bb6c1d"><code>0977bb6c1d</code></a>] - <strong>src</strong>: remove icu based <code>ToASCII</code> and <code>ToUnicode</code> (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/55156" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55156/hovercard">#55156</a></li> <li>[<a href="https://github.com/nodejs/node/commit/72817072e2"><code>72817072e2</code></a>] - <strong>src</strong>: fix winapi_strerror error string (Hüseyin Açacak) <a href="https://github.com/nodejs/node/pull/55207" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55207/hovercard">#55207</a></li> <li>[<a href="https://github.com/nodejs/node/commit/6f47f53f90"><code>6f47f53f90</code></a>] - <strong>src,lib</strong>: optimize nodeTiming.uvMetricsInfo (RafaelGSS) <a href="https://github.com/nodejs/node/pull/55614" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55614/hovercard">#55614</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ac583d4549"><code>ac583d4549</code></a>] - <strong>stream</strong>: propagate AbortSignal reason (Marvin ROGER) <a href="https://github.com/nodejs/node/pull/55473" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55473/hovercard">#55473</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1c8b474319"><code>1c8b474319</code></a>] - <strong>test</strong>: skip test-buffer-tostring-range on smartos (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/56727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56727/hovercard">#56727</a></li> <li>[<a href="https://github.com/nodejs/node/commit/39d608f9d8"><code>39d608f9d8</code></a>] - <strong>test</strong>: mark test-http-server-request-timeouts-mixed as flaky (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/56503" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56503/hovercard">#56503</a></li> <li>[<a href="https://github.com/nodejs/node/commit/5c3f18be04"><code>5c3f18be04</code></a>] - <strong>test</strong>: temporary remove resource check from fs read-write (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/56789" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56789/hovercard">#56789</a></li> <li>[<a href="https://github.com/nodejs/node/commit/4196aaf033"><code>4196aaf033</code></a>] - <strong>test</strong>: remove exludes for sea tests on PPC (Michael Dawson) <a href="https://github.com/nodejs/node/pull/56217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56217/hovercard">#56217</a></li> <li>[<a href="https://github.com/nodejs/node/commit/3ea738fc26"><code>3ea738fc26</code></a>] - <strong>test</strong>: remove <code>hasOpenSSL3x</code> utils (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56164" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56164/hovercard">#56164</a></li> <li>[<a href="https://github.com/nodejs/node/commit/21e21a270e"><code>21e21a270e</code></a>] - <strong>test</strong>: remove test-fs-utimes flaky designation (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/56052" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56052/hovercard">#56052</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e464c6f7a5"><code>e464c6f7a5</code></a>] - <strong>test</strong>: move test-worker-arraybuffer-zerofill to parallel (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/56053" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56053/hovercard">#56053</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e99584cd57"><code>e99584cd57</code></a>] - <strong>test</strong>: make HTTP/1.0 connection test more robust (Arne Keller) <a href="https://github.com/nodejs/node/pull/55959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55959/hovercard">#55959</a></li> <li>[<a href="https://github.com/nodejs/node/commit/2d03f87ef7"><code>2d03f87ef7</code></a>] - <strong>test</strong>: convert readdir test to use test runner (Thomas Chetwin) <a href="https://github.com/nodejs/node/pull/55750" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55750/hovercard">#55750</a></li> <li>[<a href="https://github.com/nodejs/node/commit/207562fa3d"><code>207562fa3d</code></a>] - <strong>test</strong>: make x509 crypto tests work with BoringSSL (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/55927" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55927/hovercard">#55927</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a17d9e1acf"><code>a17d9e1acf</code></a>] - <strong>test</strong>: fix determining lower priority (Livia Medeiros) <a href="https://github.com/nodejs/node/pull/55908" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55908/hovercard">#55908</a></li> <li>[<a href="https://github.com/nodejs/node/commit/50b6729d8c"><code>50b6729d8c</code></a>] - <strong>test</strong>: increase coverage of <code>pathToFileURL</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55493" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55493/hovercard">#55493</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0aa9e74027"><code>0aa9e74027</code></a>] - <strong>test</strong>: improve test coverage for child process message sending (Juan José) <a href="https://github.com/nodejs/node/pull/55710" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55710/hovercard">#55710</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ebdbbc3ec8"><code>ebdbbc3ec8</code></a>] - <strong>test</strong>: ensure that test priority is not higher than current priority (Livia Medeiros) <a href="https://github.com/nodejs/node/pull/55739" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55739/hovercard">#55739</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b40789e085"><code>b40789e085</code></a>] - <strong>test</strong>: add buffer to fs_permission tests (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/55734" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55734/hovercard">#55734</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a9998799be"><code>a9998799be</code></a>] - <strong>test</strong>: improve test coverage for <code>ServerResponse</code> (Juan José) <a href="https://github.com/nodejs/node/pull/55711" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55711/hovercard">#55711</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d2421f3c92"><code>d2421f3c92</code></a>] - <strong>test</strong>: ignore unrelated events in FW watch tests (Carlos Espa) <a href="https://github.com/nodejs/node/pull/55605" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55605/hovercard">#55605</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0ac0afc4a9"><code>0ac0afc4a9</code></a>] - <strong>test</strong>: refactor some esm tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55472" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55472/hovercard">#55472</a></li> <li>[<a href="https://github.com/nodejs/node/commit/0f8b8269d1"><code>0f8b8269d1</code></a>] - <strong>test</strong>: split up test-runner-mock-timers test (Julian Gassner) <a href="https://github.com/nodejs/node/pull/55506" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55506/hovercard">#55506</a></li> <li>[<a href="https://github.com/nodejs/node/commit/8f6462f40b"><code>8f6462f40b</code></a>] - <strong>test</strong>: avoid <code>apply()</code> calls with large amount of elements (Livia Medeiros) <a href="https://github.com/nodejs/node/pull/55501" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55501/hovercard">#55501</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e9b0ff482b"><code>e9b0ff482b</code></a>] - <strong>test</strong>: increase test coverage for <code>http.OutgoingMessage.appendHeader()</code> (Juan José) <a href="https://github.com/nodejs/node/pull/55467" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55467/hovercard">#55467</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d5ad060073"><code>d5ad060073</code></a>] - <strong>test</strong>: fix addons and node-api test assumptions (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55441" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55441/hovercard">#55441</a></li> <li>[<a href="https://github.com/nodejs/node/commit/a28376bb85"><code>a28376bb85</code></a>] - <strong>test</strong>: deflake <code>test-cluster-shared-handle-bind-privileged-port</code> (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55378" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55378/hovercard">#55378</a></li> <li>[<a href="https://github.com/nodejs/node/commit/22c07867d1"><code>22c07867d1</code></a>] - <strong>test</strong>: remove duplicate tests (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/55393" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55393/hovercard">#55393</a></li> <li>[<a href="https://github.com/nodejs/node/commit/5489656b35"><code>5489656b35</code></a>] - <strong>test</strong>: update test_util.cc for coverage (minkyu_kim) <a href="https://github.com/nodejs/node/pull/55291" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55291/hovercard">#55291</a></li> <li>[<a href="https://github.com/nodejs/node/commit/ceafb3250d"><code>ceafb3250d</code></a>] - <strong>test,crypto</strong>: make crypto tests work with BoringSSL (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/55491" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55491/hovercard">#55491</a></li> <li>[<a href="https://github.com/nodejs/node/commit/7021b3b276"><code>7021b3b276</code></a>] - <strong>test_runner</strong>: simplify hook running logic (Colin Ihrig) <a href="https://github.com/nodejs/node/pull/55963" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55963/hovercard">#55963</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d9fd632f56"><code>d9fd632f56</code></a>] - <strong>test_runner</strong>: error on mocking an already mocked date (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55858" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55858/hovercard">#55858</a></li> <li>[<a href="https://github.com/nodejs/node/commit/3fcca16374"><code>3fcca16374</code></a>] - <strong>test_runner</strong>: add support for scheduler.wait on mock timers (Erick Wendel) <a href="https://github.com/nodejs/node/pull/55244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55244/hovercard">#55244</a></li> <li>[<a href="https://github.com/nodejs/node/commit/f67147ec47"><code>f67147ec47</code></a>] - <strong>tools</strong>: update github_reporter to 1.7.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/56205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56205/hovercard">#56205</a></li> <li>[<a href="https://github.com/nodejs/node/commit/5c819f1043"><code>5c819f1043</code></a>] - <strong>tools</strong>: add REPLACEME check to workflow (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/56251" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56251/hovercard">#56251</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b24a85b00b"><code>b24a85b00b</code></a>] - <strong>tools</strong>: use <code>github.actor</code> instead of bot username for release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56232" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56232/hovercard">#56232</a></li> <li>[<a href="https://github.com/nodejs/node/commit/33cd7d3d8c"><code>33cd7d3d8c</code></a>] - <strong>tools</strong>: fix release proposal linter to support more than 1 folk preparing (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56203" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56203/hovercard">#56203</a></li> <li>[<a href="https://github.com/nodejs/node/commit/10d55e3d73"><code>10d55e3d73</code></a>] - <strong>tools</strong>: use commit title as PR title when creating release proposal (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56165" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56165/hovercard">#56165</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b3d40e3be5"><code>b3d40e3be5</code></a>] - <strong>tools</strong>: improve release proposal PR opening (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56161" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56161/hovercard">#56161</a></li> <li>[<a href="https://github.com/nodejs/node/commit/13455ca9ce"><code>13455ca9ce</code></a>] - <strong>tools</strong>: update <code>create-release-proposal</code> workflow (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56054" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56054/hovercard">#56054</a></li> <li>[<a href="https://github.com/nodejs/node/commit/851a3d7d8d"><code>851a3d7d8d</code></a>] - <strong>tools</strong>: fix update-undici script (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/56069" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56069/hovercard">#56069</a></li> <li>[<a href="https://github.com/nodejs/node/commit/e1635fbd4e"><code>e1635fbd4e</code></a>] - <strong>tools</strong>: allow dispatch of <code>tools.yml</code> from forks (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56008" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56008/hovercard">#56008</a></li> <li>[<a href="https://github.com/nodejs/node/commit/5f15d8b3f5"><code>5f15d8b3f5</code></a>] - <strong>tools</strong>: fix nghttp3 updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56007" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56007/hovercard">#56007</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bbf39b8c46"><code>bbf39b8c46</code></a>] - <strong>tools</strong>: filter release keys to reduce interactivity (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55950" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55950/hovercard">#55950</a></li> <li>[<a href="https://github.com/nodejs/node/commit/954e60b87d"><code>954e60b87d</code></a>] - <strong>tools</strong>: update WPT updater (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56003" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56003/hovercard">#56003</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1e09d258da"><code>1e09d258da</code></a>] - <strong>tools</strong>: add WPT updater for specific subsystems (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/54460" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54460/hovercard">#54460</a></li> <li>[<a href="https://github.com/nodejs/node/commit/b95c4f5bf0"><code>b95c4f5bf0</code></a>] - <strong>tools</strong>: use tokenless Codecov uploads (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/55943" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55943/hovercard">#55943</a></li> <li>[<a href="https://github.com/nodejs/node/commit/6327554706"><code>6327554706</code></a>] - <strong>tools</strong>: add linter for release commit proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/55923" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55923/hovercard">#55923</a></li> <li>[<a href="https://github.com/nodejs/node/commit/aad478e58d"><code>aad478e58d</code></a>] - <strong>tools</strong>: fix exclude labels for commit-queue (Richard Lau) <a href="https://github.com/nodejs/node/pull/55809" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55809/hovercard">#55809</a></li> <li>[<a href="https://github.com/nodejs/node/commit/1c8c881aef"><code>1c8c881aef</code></a>] - <strong>tools</strong>: make commit-queue check blocked label (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/55781" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55781/hovercard">#55781</a></li> <li>[<a href="https://github.com/nodejs/node/commit/c3913f9c87"><code>c3913f9c87</code></a>] - <strong>tools</strong>: fix c-ares updater script for Node.js 18 (Richard Lau) <a href="https://github.com/nodejs/node/pull/55717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55717/hovercard">#55717</a></li> <li>[<a href="https://github.com/nodejs/node/commit/adfc2f993a"><code>adfc2f993a</code></a>] - <strong>tools</strong>: fix root certificate updater (Richard Lau) <a href="https://github.com/nodejs/node/pull/55681" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55681/hovercard">#55681</a></li> <li>[<a href="https://github.com/nodejs/node/commit/d336f8de15"><code>d336f8de15</code></a>] - <strong>tools</strong>: compact jq output in daily-wpt-fyi.yml action (Filip Skokan) <a href="https://github.com/nodejs/node/pull/55695" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55695/hovercard">#55695</a></li> <li>[<a href="https://github.com/nodejs/node/commit/cdb7839a0c"><code>cdb7839a0c</code></a>] - <strong>tools</strong>: run daily WPT.fyi report on all supported releases (Filip Skokan) <a href="https://github.com/nodejs/node/pull/55619" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55619/hovercard">#55619</a></li> <li>[<a href="https://github.com/nodejs/node/commit/274d0b4062"><code>274d0b4062</code></a>] - <strong>tools</strong>: update lint-md-dependencies (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/55470" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55470/hovercard">#55470</a></li> <li>[<a href="https://github.com/nodejs/node/commit/3dceeb8b15"><code>3dceeb8b15</code></a>] - <strong>tools</strong>: add script to synch c-ares source lists (Richard Lau) <a href="https://github.com/nodejs/node/pull/55445" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55445/hovercard">#55445</a></li> <li>[<a href="https://github.com/nodejs/node/commit/bd0ec907da"><code>bd0ec907da</code></a>] - <strong>url</strong>: handle "unsafe" characters properly in <code>pathToFileURL</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/54545" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54545/hovercard">#54545</a></li> <li>[<a href="https://github.com/nodejs/node/commit/83137bceb6"><code>83137bceb6</code></a>] - <strong>util</strong>: fix Latin1 decoding to return string output (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/56222" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56222/hovercard">#56222</a></li> <li>[<a href="https://github.com/nodejs/node/commit/195cc42935"><code>195cc42935</code></a>] - <strong>util</strong>: do not rely on mutable <code>Object</code> and <code>Function</code>' <code>constructor</code> prop (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/56188" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56188/hovercard">#56188</a></li> <li>[<a href="https://github.com/nodejs/node/commit/cca7c518de"><code>cca7c518de</code></a>] - <strong>util</strong>: add fast path for Latin1 decoding (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/55275" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55275/hovercard">#55275</a></li> <li>[<a href="https://github.com/nodejs/node/commit/7ed346d8fd"><code>7ed346d8fd</code></a>] - <strong>util</strong>: do not catch on circular <code>@@toStringTag</code> errors (Aviv Keller) <a href="https://github.com/nodejs/node/pull/55544" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55544/hovercard">#55544</a></li> <li>[<a href="https://github.com/nodejs/node/commit/aa031b3eec"><code>aa031b3eec</code></a>] - <strong>worker</strong>: fix crash when a worker joins after exit (Stephen Belanger) <a href="https://github.com/nodejs/node/pull/56191" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56191/hovercard">#56191</a></li> </ul></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <details-toggle> <details open="open" data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Collapse" aria-expanded="true" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="2" data-view-component="true" class="Counter ml-1">2</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/nodejs/node/releases/expanded_assets/v20.18.3" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/nodejs/node/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="HIFozYAobdkG1WAv0f_oolDmdMYQriC-pd-x0hWIYmsSsZdKBRd3Ee_pa2V-QWPLV7oysCyiXE1r28M_OJTIvA" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDOAZ7xs84L4lJ0"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-7abeb9" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (15): marco-ippolito, 01:39PM on February 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">15</span> </button> <tool-tip id="tooltip-893747af-b704-4453-b1ed-fd912e6f4040" for="reactions--reaction_button_component-7abeb9" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">softy2k, ghiscoding, Dmitriy-Frostoff, Swampy469, jeangatto, lucas-costa-gb-tech, LenoM, luckasnix, quentinmcq, fadrian06, and 5 more reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-b42574" value="LAUGH react" data-button-index-position="2" data-reaction-label="Laugh" data-reaction-content="smile" aria-pressed="false" aria-label="laugh (3): marco-ippolito, 01:39PM on February 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="smile" fallback-src="https://github.githubassets.com/assets/1f604-7528822fb4c5.png" class="social-button-emoji">😄</g-emoji> <span class="js-discussion-reaction-group-count">3</span> </button> <tool-tip id="tooltip-ee7f2046-2d56-43b2-b845-6ba07ea3a268" for="reactions--reaction_button_component-b42574" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">jeangatto, lucascampolimm, and fadrian06 reacted with laugh emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-55b92c" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (4): marco-ippolito, 01:39PM on February 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">4</span> </button> <tool-tip id="tooltip-3df42ad5-b0e1-46b4-9981-01f7afe3f070" for="reactions--reaction_button_component-55b92c" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">jeangatto, lucascampolimm, syahrizaldev, and fadrian06 reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-3c9959" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (9): marco-ippolito, 01:39PM on February 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">9</span> </button> <tool-tip id="tooltip-6815327d-38c6-4319-93fe-f4f1a867a6c1" for="reactions--reaction_button_component-3c9959" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">jeangatto, lucascampolimm, metcoder95, fadrian06, David-mwas, Roxaski, Dzyanino, gusrubin, and yasso0-0 reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-5fad35" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (7): marco-ippolito, 01:39PM on February 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">7</span> </button> <tool-tip id="tooltip-0bb878e5-e248-456d-92a1-a3e7c869b0f5" for="reactions--reaction_button_component-5fad35" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">ghiscoding, Dmitriy-Frostoff, jeangatto, mbokil, lucascampolimm, fadrian06, and Roxaski reacted with rocket emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-7be53d" value="EYES react" data-button-index-position="7" data-reaction-label="Eyes" data-reaction-content="eyes" aria-pressed="false" aria-label="eyes (4): marco-ippolito, 01:39PM on February 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="eyes" fallback-src="https://github.githubassets.com/assets/1f440-ee44e91e92a7.png" class="social-button-emoji">👀</g-emoji> <span class="js-discussion-reaction-group-count">4</span> </button> <tool-tip id="tooltip-5703f922-0d64-4b4b-bb87-8606ca674508" for="reactions--reaction_button_component-7be53d" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">Dmitriy-Frostoff, lucascampolimm, fadrian06, and smarthafix reacted with eyes emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="softy2k, ghiscoding, Dmitriy-Frostoff, Swampy469, jeangatto, lucas-costa-gb-tech, LenoM, luckasnix, quentinmcq, fadrian06, and 5 more reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>15 reactions</span> </li> <li class="dropdown-item" aria-label="jeangatto, lucascampolimm, and fadrian06 reacted with laugh emoji"> <g-emoji alias="smile" fallback-src="https://github.githubassets.com/assets/1f604-7528822fb4c5.png" class="social-button-emoji mr-2">😄</g-emoji> <span>3 reactions</span> </li> <li class="dropdown-item" aria-label="jeangatto, lucascampolimm, syahrizaldev, and fadrian06 reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>4 reactions</span> </li> <li class="dropdown-item" aria-label="jeangatto, lucascampolimm, metcoder95, fadrian06, David-mwas, Roxaski, Dzyanino, gusrubin, and yasso0-0 reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>9 reactions</span> </li> <li class="dropdown-item" aria-label="ghiscoding, Dmitriy-Frostoff, jeangatto, mbokil, lucascampolimm, fadrian06, and Roxaski reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>7 reactions</span> </li> <li class="dropdown-item" aria-label="Dmitriy-Frostoff, lucascampolimm, fadrian06, and smarthafix reacted with eyes emoji"> <g-emoji alias="eyes" fallback-src="https://github.githubassets.com/assets/1f440-ee44e91e92a7.png" class="social-button-emoji mr-2">👀</g-emoji> <span>4 reactions</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">24 people reacted</div> </div> </div> </div> </div></div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <span> &copy; 2025 GitHub,&nbsp;Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10