Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for NodeJS 23 #47

Draft
wants to merge 47 commits into
base: main
Choose a base branch
from
Draft

Support for NodeJS 23 #47

wants to merge 47 commits into from

Conversation

NorthernMan54
Copy link

@NorthernMan54 NorthernMan54 commented Nov 13, 2024

Breaking Change

  • Support for NodeJS 16 and older has been removed
  • Support for the original RPI, and PI Zero (armv6) has been removed

Significant Changes

  • Added Support for NodeJS 23
  • Refresh of Docker images to bookwork and NodeJS 22 runtime
  • Remove seperate abi_registry.json, and use node-api version
  • Refreshed node-pty code from https://github.com/microsoft/node-pty ( Used squash and merge into Current Branch )

Other Changes

This pull request includes several updates to configuration files, build scripts, and documentation to support newer versions of Node.js and Electron, as well as improvements to the build environment. The most important changes are summarized below:

Configuration Updates:

  • Added a new configuration file .config/tsaoptions.json to define TSA options for the project.
  • Updated .eslintrc.js to include additional ignore patterns for the scripts directory.

Build Environment Enhancements:

  • Updated the Node.js and Electron build targets in .github/workflows/Prepare prebuild environment.yml to include newer versions and removed older versions. [1] [2] [3] [4] [5]
  • Changed the base images in .github/workflows/Prepare prebuild environment.yml and .prebuild/Dockerfile.debian to use Debian Bookworm instead of Buster. [1] [2] [3] [4] [5]

Documentation Updates:

  • Updated README.md to reflect the new minimum supported versions of Node.js and Electron. [1] [2]

Removal of Deprecated Files:

  • Removed the deprecated .prebuild/abi_registry.json file and associated references in build scripts. [1] [2] [3] [4]

Pipeline Configuration:

  • Updated azure-pipelines.yml to use 1ES pipeline templates and improved the build job configurations for Linux, macOS, and Windows. [1] [2] [3]

commit 8bdbd71
Merge: 5063e0e d3ea906
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Fri Oct 4 07:45:35 2024 -0700

    Merge pull request microsoft#723 from microsoft/tyriar/compile_commands

    Move to compile commands on postinstall for fixing intellisense

commit d3ea906
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Fri Oct 4 07:30:55 2024 -0700

    Move to compile commands on postinstall for fixing intellisense

    Fixes microsoft#707

commit 5063e0e
Merge: 589a720 d06ed4f
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 07:27:53 2024 -0700

    Merge pull request microsoft#722 from microsoft/tyriar/log

    Fix typo in trace log

commit d06ed4f
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:56:29 2024 -0700

    Fix typo in trace log

    Follow up microsoft#720

commit 589a720
Merge: de86139 353f219
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:33:40 2024 -0700

    Merge pull request microsoft#721 from microsoft/tyriar/deps

    Move from yarn to npm

commit de86139
Merge: b2d9866 53e60b0
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:24:35 2024 -0700

    Merge pull request microsoft#719 from microsoft/tyriar/move_buffer_to_heap

    Move buffer_ to heap

commit b2d9866
Merge: 1ece036 d2bf81f
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:22:56 2024 -0700

    Merge pull request microsoft#718 from microsoft/tyriar/717

    Close piClient.hThread handle

commit 1ece036
Merge: 796e11e 7e431b9
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:20:46 2024 -0700

    Merge pull request microsoft#720 from microsoft/tyriar/catch_winpty_deconstructor

    Catch possible exceptions in ~Agent

commit 353f219
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:20:09 2024 -0700

    Regenerate dependencies

commit 13c661d
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:12:07 2024 -0700

    yarn.lock -> package-lock.json

    Fixes microsoft#712

commit 7e431b9
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:07:45 2024 -0700

    Catch possible exceptions in ~Agent

    Fixes warning:

    deps\winpty\src\agent\Agent.cc(231): warning C4722: 'Agent::~Agent': destructor never returns, potential memory leak

commit 53e60b0
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 06:00:25 2024 -0700

    Move buffer_ to heap

    Resolves warning:

    src\win\path_util.cc(54): warning C6262: Function uses '131804' bytes of stack:  exceeds /analyze:stacksize '16384'.  Consider moving some data to heap.

commit d2bf81f
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Oct 3 05:54:52 2024 -0700

    Close piClient.hThread handle

    Fixes microsoft#717

commit 796e11e
Merge: cb94da7 59771c0
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Fri Sep 27 07:19:10 2024 -0700

    Merge pull request microsoft#713 from microsoft/tyriar/711

    Bring back clear impl

commit 59771c0
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Mon Sep 9 06:28:10 2024 -0700

    Bring back clear impl

    Fixes microsoft#711

commit cb94da7
Merge: 8c0a6d7 4f2f641
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Sun Aug 11 09:34:35 2024 -0700

    Merge pull request microsoft#704 from microsoft/tyriar/npm_arch

    Copy right dll/exe based on npm_config_arch

commit 4f2f641
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Sun Aug 11 08:33:05 2024 -0700

    Copy right dll/exe based on npm_config_arch

    Part of microsoft/vscode#224488
    Part of microsoft/vscode#225355

commit 8c0a6d7
Merge: 8fc21c9 ef1cefc
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Fri Aug 9 09:09:55 2024 -0700

    Merge pull request microsoft#703 from microsoft/tyriar/conpty_prefix

    Fix correct method being loaded when not using conptydll

commit ef1cefc
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Fri Aug 9 08:37:52 2024 -0700

    Fix correct method being loaded when not using conptydll

    Part of microsoft/vscode#224488

commit 8fc21c9
Merge: 7a8c67c 061487a
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Tue Aug 6 14:19:47 2024 -0700

    Merge pull request microsoft#702 from microsoft/tyriar/conpty_update

    Update to newer version of conpty

commit 061487a
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Tue Aug 6 13:56:45 2024 -0700

    Update to newer version of conpty

commit 7a8c67c
Merge: 485379c cf62104
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Tue Aug 6 05:36:19 2024 -0700

    Merge pull request microsoft#700 from microsoft/tyriar/conpty_path

    Get path of conpty.node for conpty.dll

commit cf62104
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Tue Aug 6 05:32:14 2024 -0700

    Get path of conpty.node for conpty.dll

    Part of microsoft/vscode#224488

commit 485379c
Merge: 1247f91 98d8566
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Mon Aug 5 09:04:40 2024 -0700

    Merge pull request microsoft#699 from microsoft/tyriar/conptydll_exception

    Improve can't find conpty.dll exception message

commit 98d8566
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Mon Aug 5 08:21:32 2024 -0700

    Improve can't find conpty.dll exception message

    Part of microsoft/vscode#224488

commit 1247f91
Merge: 47c16e2 5e99f76
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 13:30:11 2024 -0700

    Merge pull request microsoft#698 from microsoft/tyriar/publish_third_party

    Publish third_party folder

commit 5e99f76
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 13:22:55 2024 -0700

    Publish third_party folder

commit 47c16e2
Merge: 5874200 59f5d47
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 12:41:41 2024 -0700

    Merge pull request microsoft#697 from microsoft/tyriar/conpty4

    Disable APIScan and reduce test flakiness on Windows

commit 59f5d47
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 11:48:07 2024 -0700

    Fix winpty resize and reduce test flakiness

commit 055cd3f
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 11:38:28 2024 -0700

    Disable APIScan task

commit 5874200
Merge: 2622bd1 dde63ec
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 11:25:33 2024 -0700

    Merge pull request microsoft#696 from microsoft/tyriar/node16

    Don't run CI for node 16

commit dde63ec
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 11:22:01 2024 -0700

    Don't run CI for node 16

commit 2622bd1
Merge: bd7fa4f 7c4e9ed
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 10:47:54 2024 -0700

    Merge pull request microsoft#695 from microsoft/tyriar/conpty2

    Ship third_party folder with module

commit 7c4e9ed
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 10:24:27 2024 -0700

    Ship third_party folder with module

    This needs to be there to copy over the right binary on postinstall

    Part of microsoft/vscode#224488

commit bd7fa4f
Merge: efbf8eb 4392169
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 09:55:36 2024 -0700

    Merge pull request microsoft#694 from microsoft/tyriar/conptydll

    Ship conpty.dll/OpenConsole.exe with opt-in experimental option useConptyDll

commit 4392169
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 08:33:27 2024 -0700

    Copy conpty.dll and openconsole.exe depending on arch in postinstall

commit ddcd0b0
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 08:14:27 2024 -0700

    Add useConptyDll option

commit 95f67e7
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Aug 1 08:11:38 2024 -0700

    Add conpty dlls and node headers

commit f2be1af
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Tue Jul 30 11:45:51 2024 -0700

    Get conpty.dll conditionally loading

commit efbf8eb
Merge: 8be08fd 0e791c1
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Tue Jun 18 05:55:56 2024 -0700

    Merge pull request microsoft#687 from microsoft/dependabot/npm_and_yarn/braces-3.0.3

    build(deps): bump braces from 3.0.2 to 3.0.3

commit 8be08fd
Merge: df1ae8c 26f1c69
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Mon Jun 17 07:35:47 2024 -0700

    Merge pull request microsoft#688 from jpcastberg/termios-freebsd

    Include termios.h on freebsd

commit 26f1c69
Author: jpcastberg <jpcastberg@gmail.com>
Date:   Sun Jun 16 23:14:24 2024 -0700

    Include termios.h on freebsd

commit 0e791c1
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Jun 16 11:12:19 2024 +0000

    build(deps): bump braces from 3.0.2 to 3.0.3

    Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
    - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
    - [Commits](micromatch/braces@3.0.2...3.0.3)

    ---
    updated-dependencies:
    - dependency-name: braces
      dependency-type: indirect
    ...

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

commit df1ae8c
Author: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Date:   Tue Apr 16 15:43:10 2024 -0700

    docs: add a note on Spectre-mitigated libraries (microsoft#679)

commit f014e86
Merge: 6aa0758 0fbbcf6
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Thu Apr 11 06:45:41 2024 -0700

    Merge pull request microsoft#678 from microsoft/dependabot/npm_and_yarn/tar-6.2.1

    build(deps): bump tar from 6.2.0 to 6.2.1

commit 0fbbcf6
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 11 12:09:54 2024 +0000

    build(deps): bump tar from 6.2.0 to 6.2.1

    Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.0 to 6.2.1.
    - [Release notes](https://github.com/isaacs/node-tar/releases)
    - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
    - [Commits](isaacs/node-tar@v6.2.0...v6.2.1)

    ---
    updated-dependencies:
    - dependency-name: tar
      dependency-type: indirect
    ...

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

commit 6aa0758
Author: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Date:   Mon Apr 1 11:37:15 2024 -0700

    chore: migrate pipeline to use 1ES template (microsoft#676)

commit 3913479
Author: kkocdko <31189892+kkocdko@users.noreply.github.com>
Date:   Mon Mar 18 21:01:50 2024 +0800

    chore: remove deprecated api `process.binding` (microsoft#653)

    * Remove deprecated API `process.binding`

    Originally designed to work with ancient node.js 0.12 and io.js

    * Fix node `net.Socket` limitations

    nodejs/node#37780

commit f25bb55
Author: kkocdko <31189892+kkocdko@users.noreply.github.com>
Date:   Sat Mar 16 00:26:59 2024 +0800

    Upgrade node-gyp to fix microsoft#643 and microsoft#646 (microsoft#673)

commit 783c7ed
Author: Robo <hop2deep@gmail.com>
Date:   Thu Mar 7 22:25:19 2024 +0900

    fix: assertion on node environment shutdown (microsoft#672)

commit 2dab380
Author: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Date:   Mon Mar 4 07:15:19 2024 -0800

    fix: comment out invalid API call (microsoft#669)

commit c712cce
Author: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Date:   Thu Feb 29 11:55:21 2024 -0800

    chore: fix APIScan software name (microsoft#667)

commit a0dd31d
Merge: 0661eaf 0253460
Author: SteVen Batten <sbatten@microsoft.com>
Date:   Sun Feb 25 15:21:58 2024 -0800

    Merge pull request microsoft#666 from microsoft/sbatten/apiscan

    api scan

commit 0253460
Author: SteVen Batten <sbatten@microsoft.com>
Date:   Sun Feb 25 14:59:02 2024 -0800

    fix job name

commit 2483032
Author: SteVen Batten <sbatten@microsoft.com>
Date:   Sun Feb 25 14:57:25 2024 -0800

    api scan

commit 0661eaf
Merge: b1fdda4 e08593d
Author: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Date:   Wed Feb 21 07:39:05 2024 -0800

    Merge pull request microsoft#664 from microsoft/dependabot/npm_and_yarn/ip-2.0.1

    build(deps): bump ip from 2.0.0 to 2.0.1

commit e08593d
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Feb 21 01:42:29 2024 +0000

    build(deps): bump ip from 2.0.0 to 2.0.1

    Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
    - [Commits](indutny/node-ip@v2.0.0...v2.0.1)

    ---
    updated-dependencies:
    - dependency-name: ip
      dependency-type: indirect
    ...

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

commit b1fdda4
Author: kkocdko <31189892+kkocdko@users.noreply.github.com>
Date:   Fri Jan 26 17:17:03 2024 +0800

    Port to NAPI (microsoft#644)

    * Port to NAPI

    The "5th pty bug" in microsoft#432 fixed also.

    * Fix help message in pty.cc

    * Move NAPI deps to devDependencies in package.json

    * Apply most of deepak1556's suggestions

    * Fix winpty

    * Fix conpty missing CloseHandle

    * Use unique_ptr to avoid `goto`s

    * Why macos failed?

    * fix: ci and minor cleanups

    * fix build failed on windows

    ---------

    Co-authored-by: deepak1556 <hop2deep@gmail.com>
@NorthernMan54 NorthernMan54 marked this pull request as draft November 13, 2024 19:34
@NorthernMan54
Copy link
Author

NorthernMan54 commented Nov 25, 2024

The change in build nodejs version breaks bullseye

From discord - https://discord.com/channels/432663330281226270/687483994048167970/1310621193161674782

Bullseye 11 running on Pi 3 B+
Node version 20.18.0
HB version 1.8.5

image

@njuart
Copy link

njuart commented Nov 25, 2024

For tracking purposes

@NorthernMan54
Copy link
Author

@njuart I think this now fixes your issue - https://github.com/homebridge/node-pty-prebuilt-multiarch/actions/runs/12061552022

Tomorrow, I'm going to add this to the UI beta, and publish

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants