Commit Graph

253 Commits

Author SHA1 Message Date
github-actions[bot]
79fd995c74
feat: add v22.21.0 patch (#125)
## Node.js Patch Update to v22.21.0

This PR updates the Node.js patch to version 22.21.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 08:43:37 +02:00
github-actions[bot]
4ae27c5c2a
feat: add v24.10.0 patch (#120)
## Node.js Patch Update to v24.10.0

This PR updates the Node.js patch to version 24.10.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.
                 
### AI Resolution Details
Processing section 1/1 for ./src/node_contextify.cc...
Found 1 reject files to process
Processing: ./src/node_contextify.cc.rej -> ./src/node_contextify.cc
Prompt for OpenAI API:
I have a Git patch that failed to apply. Here's the specific section
that needs to be fixed:

REJECTED PATCH HUNK:
```
@@ -1118,6 +1134,10 @@
           .IsNothing())
     return;
 
+  if (sourceless && produce_cached_data) {
+    V8::DisableCompilationForSourcelessUse();
+  }
+
   TRACE_EVENT_END0(TRACING_CATEGORY_NODE2(vm, script), "ContextifyScript::New");
 }
 
```

CURRENT FILE SECTION (lines 1113-1128):
```
    return;
  }
  if (StoreCodeCacheResult(env,
                           self,
                           compile_options,
                           source,
                           produce_cached_data,
                           std::move(new_cached_data))
          .IsNothing()) {
    return;
  }
  if (self->Set(env->context(),
                env->source_url_string(),
                v8_script->GetSourceURL())
          .IsNothing()) {
    return;
```

Please apply the intended changes from the rejected hunk to this file
section. Return ONLY the corrected file section content, preserving the
exact line structure and formatting. Do not add explanations or markdown
formatting.
RESOLVED CONTENT for ./src/node_contextify.cc:
```
return;
  }
  if (StoreCodeCacheResult(env,
                           self,
                           compile_options,
                           source,
                           produce_cached_data,
                           std::move(new_cached_data))
          .IsNothing()) {
    return;
  }
  if (sourceless && produce_cached_data) {
    V8::DisableCompilationForSourcelessUse();
  }
  if (self->Set(env->context(),
                env->source_url_string(),
                v8_script->GetSourceURL())
          .IsNothing()) {
    return;
```
 Successfully resolved ./src/node_contextify.cc
CONFLICTS_RESOLVED=1
TOTAL_CONFLICTS=1
HAS_UNRESOLVED=False
Resolution summary: 1/1 conflicts resolved

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-10-14 10:02:24 +02:00
github-actions[bot]
fc9d107fd2
feat: add v22.20.0 patch (#114)
## Node.js Patch Update to v22.20.0

This PR updates the Node.js patch to version 22.20.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.
                 
### AI Resolution Details
Processing section 1/1 for ./src/node_options.cc...
Found 1 reject files to process
Processing: ./src/node_options.cc.rej -> ./src/node_options.cc
Prompt for OpenAI API:
I have a Git patch that failed to apply. Here's the specific section
that needs to be fixed:

REJECTED PATCH HUNK:
```
@@ -319,6 +319,7 @@
 // TODO(addaleax): Make that unnecessary.
 
 DebugOptionsParser::DebugOptionsParser() {
+  return;
 #ifndef DISABLE_SINGLE_EXECUTABLE_APPLICATION
   if (sea::IsSingleExecutable()) return;
 #endif
```

CURRENT FILE SECTION (lines 314-329):
```
    args, exec_args, v8_args, options, required_env_settings, errors);
}

// XXX: If you add an option here, please also add it to doc/node.1 and
// doc/api/cli.md
// TODO(addaleax): Make that unnecessary.

DebugOptionsParser::DebugOptionsParser() {
  AddOption("--inspect-port",
            "set host:port for inspector",
            &DebugOptions::host_port,
            kAllowedInEnvvar);
  AddAlias("--debug-port", "--inspect-port");

  AddOption("--inspect",
            "activate inspector on host:port (default: 127.0.0.1:9229)",
```

Please apply the intended changes from the rejected hunk to this file
section. Return ONLY the corrected file section content, preserving the
exact line structure and formatting. Do not add explanations or markdown
formatting.
RESOLVED CONTENT for ./src/node_options.cc:
```
args, exec_args, v8_args, options, required_env_settings, errors);
}

// XXX: If you add an option here, please also add it to doc/node.1 and
// doc/api/cli.md
// TODO(addaleax): Make that unnecessary.

DebugOptionsParser::DebugOptionsParser() {
  return;
  AddOption("--inspect-port",
            "set host:port for inspector",
            &DebugOptions::host_port,
            kAllowedInEnvvar);
  AddAlias("--debug-port", "--inspect-port");

  AddOption("--inspect",
            "activate inspector on host:port (default: 127.0.0.1:9229)",
```
 Successfully resolved ./src/node_options.cc
CONFLICTS_RESOLVED=1
TOTAL_CONFLICTS=1
HAS_UNRESOLVED=False
Resolution summary: 1/1 conflicts resolved

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-14 10:01:30 +02:00
github-actions[bot]
39131f5b18
feat: add v24.9.0 patch (#115)
## Node.js Patch Update to v24.9.0

This PR updates the Node.js patch to version 24.9.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-29 10:32:12 +02:00
faulpeltz
a4bdb1649a
feat: node 24 support and attempt some Node 22 fixes (by @faulpeltz) (#107)
This PR adds Node24 support

**Node/V8 changes:**
- Move to new V8 syntax for some constructs (e.g. Cast<>)
- Tracked down two issues which caused the read-only snapshot to be
different across platforms:
- in `read-only-serializer:258` the "live" pointer gets overwritten by
the encoded slot (EncodedTagged).
If V8_COMPRESS_POINTERS is not enabled, EncodedTagged is 4 bytes, but
the live pointer is 8 bytes.
memcpy() only copies EncodeTagged leaving 4bytes of "garbage" (=previous
upper pointer half) which is semi-random per run - fixed this by
clearing the whole value first
- the CSA_HOLE_SECURITY_CHECK macro somehow leaves a string with a
platform-dependent filename in the readonly heap as a constant, replaced
that with "placeholder"
- add PKG_TRACE_READONLY_HEAP blocks for debugging further snapshot
issues

Those fixes partially fix the sourceless cross-build issues introduced
in Node 22 - For my test builds linux/linuxstatic/alpine/win on x64 are
now compatible again. The heap contents on macos builds and other arm64
is wildly different, not sure why. I don't think this kind of
compatibility is a goal for the V8 snapshot implementation in general.
(This affects Node SEA as well, but SEA always has the source to fall
back onto, which incurs a small performance hit)

**Build Changes:**

- Update linux/linuxcross build to use gcc 12 (required for Node 24)
- For aloine/linuxstatic: Node 24 doesn't build on the muslcc image used
previously, the image is unmaintained (although the toolchain builder
isn't, we could build our own image)
- Moved alpine/linuxstatic to native Alpine x64/arm64 toolchains, which
seems to work quite well
- Some minor upgrades to the Windows build, but had to enable `full-icu`
for now because the ICU code gen step crashes with `small-icu` on the GH
action build runners (not on my Windows test machine though)
- Moved the macos build to macos 14 which is now required for Node 24 -
x64 is now cross-built from arm64 because GH doesn't offer free macos14
x64 build workers
- Removed all builds for Node 18 and older
- 
**Notes:**
- Needs more testing, I did some basic testing for x64 builds as well as
macos/arm64
- I added a backport of the snapshot-determinism fixes to the latest
Node 22 patch
2025-09-17 14:50:36 +02:00
github-actions[bot]
78d158cdcb
feat: add v20.19.5 patch (#109)
## Node.js Patch Update to v20.19.5

This PR updates the Node.js patch to version 20.19.5.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 17:29:39 +02:00
github-actions[bot]
03677a1f15
feat: add v22.19.0 patch (#106)
## Node.js Patch Update to v22.19.0

This PR updates the Node.js patch to version 22.19.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.
                 
### AI Resolution Details
Processing section 1/1 for ./lib/internal/modules/cjs/loader.js...
Found 1 reject files to process
Processing: ./lib/internal/modules/cjs/loader.js.rej ->
./lib/internal/modules/cjs/loader.js
Prompt for OpenAI API:
I have a Git patch that failed to apply. Here's the specific section
that needs to be fixed:

REJECTED PATCH HUNK:
```
@@ -250,12 +250,16 @@
   // Guard against internal bugs where a non-string filename is passed in by mistake.
   assert(typeof filename === 'string');
 
+  const origFilename = filename;
   filename = path.toNamespacedPath(filename);
   if (statCache !== null) {
     const result = statCache.get(filename);
     if (result !== undefined) { return result; }
   }
-  const result = internalFsBinding.internalModuleStat(internalFsBinding, filename);
+  const fs = require('fs');
+  const result = fs.existsSync(origFilename) ?
+    (fs.statSync(origFilename).isDirectory() ? 1 : 0) : -1;
+
   if (statCache !== null && result >= 0) {
     // Only set cache when `internalModuleStat(internalFsBinding, filename)` succeeds.
     statCache.set(filename, result);
```

CURRENT FILE SECTION (lines 245-266):
```
}

/**
 * Get a path's properties, using an in-memory cache to minimize lookups.
 * @param {string} filename Absolute path to the file
 */
function stat(filename) {
  // Guard against internal bugs where a non-string filename is passed in by mistake.
  assert(typeof filename === 'string');

  filename = path.toNamespacedPath(filename);
  if (statCache !== null) {
    const result = statCache.get(filename);
    if (result !== undefined) { return result; }
  }
  const result = internalFsBinding.internalModuleStat(filename);
  if (statCache !== null && result >= 0) {
    // Only set cache when `internalModuleStat(filename)` succeeds.
    statCache.set(filename, result);
  }
  return result;
}
```

Please apply the intended changes from the rejected hunk to this file
section. Return ONLY the corrected file section content, preserving the
exact line structure and formatting. Do not add explanations or markdown
formatting.
RESOLVED CONTENT for ./lib/internal/modules/cjs/loader.js:
```
}

/**
 * Get a path's properties, using an in-memory cache to minimize lookups.
 * @param {string} filename Absolute path to the file
 */
function stat(filename) {
  // Guard against internal bugs where a non-string filename is passed in by mistake.
  assert(typeof filename === 'string');

  const origFilename = filename;
  filename = path.toNamespacedPath(filename);
  if (statCache !== null) {
    const result = statCache.get(filename);
    if (result !== undefined) { return result; }
  }
  const fs = require('fs');
  const result = fs.existsSync(origFilename) ?
    (fs.statSync(origFilename).isDirectory() ? 1 : 0) : -1;

  if (statCache !== null && result >= 0) {
    // Only set cache when `internalModuleStat(internalFsBinding, filename)` succeeds.
    statCache.set(filename, result);
  }
  return result;
}
```
 Successfully resolved ./lib/internal/modules/cjs/loader.js
CONFLICTS_RESOLVED=1
TOTAL_CONFLICTS=1
HAS_UNRESOLVED=False
Resolution summary: 1/1 conflicts resolved

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 12:20:05 +02:00
github-actions[bot]
f82c20f02a
feat: add v22.17.1 patch (#93)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-07-16 08:15:50 +02:00
github-actions[bot]
e56a438179
feat: add v20.19.4 patch (#92)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 08:14:39 +02:00
github-actions[bot]
33afe2af5a
feat: add v22.17.0 patch (#91)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 08:26:11 +02:00
github-actions[bot]
65f9590456
feat: add v20.19.3 patch (#90)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-24 08:27:09 +02:00
github-actions[bot]
772a7a98ae
feat: add v22.16.0 patch (#85)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 09:21:17 +02:00
github-actions[bot]
95e9d04480
feat: add v20.19.2 patch (#84)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-05-17 18:21:31 +02:00
Dashrath Yadav
377c55d1f9
feat: node 22.15.1 patch (#82)
* feat: node 22.15.0 patch

* updated version in patches.json

* feat: node 22.15.1 patch

* update patch file name

---------

Co-authored-by: dashrath <dashrath.yadav@postman.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-05-15 11:54:46 +02:00
Dashrath Yadav
14e455940b
feat: node 20.19.1 patch (#83)
Co-authored-by: dashrath <dashrath.yadav@postman.com>
2025-05-15 09:15:11 +00:00
github-actions[bot]
e9701b48d5
feat: add v18.20.8 patch (#76)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-28 08:37:51 +01:00
faulpeltz
2b27ec40ec
feat: node 22.14.0 patch (#75) 2025-03-26 14:46:28 +01:00
github-actions[bot]
d165ece55b
feat: add v18.20.7 patch (#74)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-23 10:03:51 +01:00
Daniel Lando
78459a684e
fix: arm64 WIN patch for 18.20.6 (#72) 2025-01-30 10:57:50 +01:00
Daniel Lando
85f955eec3
feat: add v22.13.1 patch (#70) 2025-01-28 10:54:00 +01:00
github-actions[bot]
da3e27b069
feat: add v18.20.6 patch (#68)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-22 08:32:40 +01:00
github-actions[bot]
cc8271ad36
feat: add v20.18.2 patch (#67)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-22 08:29:54 +01:00
faulpeltz
79afca1c5c feat: add patches for Node v22.12.0 and v20.18.1 (#63) 2024-12-27 12:22:32 +01:00
github-actions[bot]
76803c6054
feat: add v22.11.0 patch (#59)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-30 08:59:36 +01:00
faulpeltz
ea8746dd3b
fix: node 22 package json loader (#57) @faulpeltz 2024-10-22 15:30:14 +02:00
faulpeltz
03f4da25c2
feat: node 22 and 20 patches and fix builds (#55) 2024-10-19 09:15:19 +02:00
Daniel Lando
aabfc16f7e
feat: patch for node 20.18.0 (#51) 2024-10-08 09:19:17 +02:00
faulpeltz
e436d74e4c
fix: node 22 module filename resolution in win32 (#49) by @faulpeltz 2024-09-24 09:51:37 +02:00
github-actions[bot]
588dda6744
feat: add v22.9.0 patch (#47)
Co-authored-by: robertsLando <robertsLando@users.noreply.github.com>
2024-09-19 14:13:53 +02:00
faulpeltz
1703cd2f28
feat: add Node 22 patch (#45) (by @faulpeltz) 2024-09-10 11:25:22 +02:00
faulpeltz
480ebec19a
feat: node 20.17.0 (#44) 2024-09-04 15:51:09 +02:00
github-actions[bot]
2a45bc5b3d
feat: add v18.20.4 patch (#43)
Co-authored-by: robertsLando <robertsLando@users.noreply.github.com>
2024-09-04 15:18:23 +02:00
Daniel Lando
f35e749bca
feat: node 20.14.0 (#37) 2024-08-28 16:04:45 +02:00
Daniel Lando
1defa22a8b fix: nodejs 18 patch sys/random.h not included
Ref: https://github.com/nodejs/node/issues/52223
2024-06-13 13:15:31 +00:00
keegan-w
36e3726289
feat: add v18.20.2 patch (#35)
Co-authored-by: Keegan Williams <Keegan.Williams@Honeywell.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2024-05-24 08:36:36 +02:00
Daniel Lando
f673feb48b fix: revert v20.12.1 patch (#32)
This reverts commit 9cb16d3616.
2024-05-23 08:36:08 +02:00
github-actions[bot]
9cb16d3616
feat: add v20.12.1 patch (#32)
Co-authored-by: robertsLando <robertsLando@users.noreply.github.com>
2024-04-05 09:00:32 +00:00
github-actions[bot]
3845065386
feat: add v18.19.1 patch (#28)
Co-authored-by: robertsLando <robertsLando@users.noreply.github.com>
2024-02-16 08:41:06 +00:00
github-actions[bot]
a69918b166
feat: add v20.11.1 patch (#29)
Co-authored-by: robertsLando <robertsLando@users.noreply.github.com>
2024-02-16 08:38:04 +00:00
Daniel Lando
59a2c69e8d
fix: build issues (#20) 2024-02-02 11:02:42 +01:00
Daniel Lando
de81e9f50c
feat: node 20.11.0 and 18.19.0 patches (#18) 2024-02-01 10:03:53 +01:00
Daniel Lando
c7dff09919
fix: patches for arm64 (#15) 2024-01-03 10:06:50 +01:00
Daniel Lando
07ed56d3e3
fix: v20 patch ARM64 (#12) 2023-12-04 17:11:57 +01:00
Daniel Lando
2ba1dd8939 fix: node20 patch syntax error winx64
Ref #11
2023-12-04 13:59:50 +01:00
G'lek Tarssza
31bbc32166
feat: support for latest NodeJS v20 (#11) 2023-12-04 09:09:51 +01:00
Gabriel Poulenard-Talbot
7a6232968d
fix: update to node 18.18.2 and node 16.20.2 (#4)
Co-authored-by: Gabriel P <gabriel.pt@planethoster.info>
2023-10-16 17:54:27 +02:00
Matthias Heller
0098fa8a26
fix: patch issues with workers #282 (#288)
* Fix for issue #282 (node.js 18.15.0)

This commit solves issue #282 for node.js 18.15.0

* Fix for issue #282 (node.js 19.8.1) 

This commit solves issue #282 for node.js 19.8.1
2023-03-27 12:33:24 +02:00
Brad Parham
75f1e002d6 patches: bump to 19.8.1 2023-03-17 12:14:32 +01:00
Brad Parham
bef28786f5 patches: bump to 19.7.0 and 18.15.0 2023-03-15 12:06:22 +01:00
Brad Parham
87812e0a6e patches: update 16.19.1 patch with support for cross compiling 2023-03-15 12:06:22 +01:00