Skip to content

Node version update from 22 to 24#2347

Merged
GCHQDeveloper581 merged 13 commits into
masterfrom
bump-node-to-v24
Apr 28, 2026
Merged

Node version update from 22 to 24#2347
GCHQDeveloper581 merged 13 commits into
masterfrom
bump-node-to-v24

Conversation

@GCHQDeveloper581
Copy link
Copy Markdown
Contributor

Credit

This PR is almost entirely based on a rebased cherry-pick of commits from #2278 by @lzandman

A new branch/PR was required owing to problems encountered with Jimp and the Webpack 5 updates in the original (which are due to a bug in Jimp).

Description below (edited) from the original PR

Description
Update the Node version from 22 to 24 and also bring in some other related fixes.

  • Node.js upgraded to 24 across all configuration files (.nvmrc, Dockerfile, devcontainer, GitHub Actions workflows)
  • Added WASM fetch polyfill for Node.js 22+ compatibility in the test suite (tests/lib/wasmFetchPolyfill.mjs)
  • Updated dependencies via npm update, including core-js to 3.49.0
  • Fixed Dockerfile base image to use a valid Node 24 image

Existing Issue
#1960

AI disclosure
No AI used in this PR version. Use of AI in original #2278 not known/declared as it predates the question being asked. However all changes have been verified by the author of this PR.

Test Coverage
Mostly uses existing tests as functionality should not have changed. New test added for wasm fetch polyfill.

lzandman and others added 13 commits April 28, 2026 09:42
Remove stale --experimental-* flags and redundant node version reset step in releases workflow.
- upgraded chromedriver from ^130.0.4 to ^146.0.5
- upgraded cspell from ^8.19.4 to ^9.7.0
- upgraded globals from ^15.15.0 to ^17.4.0
- upgraded sitemap from ^8.0.3 to ^9.0.1
- upgraded otpauth from 9.3.6 to ^9.5.0
Avoids DEP[0040] warnings regarding use of the deprecated node internal punycode module
@GCHQDeveloper581 GCHQDeveloper581 requested a review from C85297 April 28, 2026 11:08
@GCHQDeveloper581 GCHQDeveloper581 linked an issue Apr 28, 2026 that may be closed by this pull request
const buffer = await readFile(urlStr);
return new Response(buffer, {
status: 200,
headers: { "Content-Type": "application/wasm" },
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to hardcode this content type? @GCHQDeveloper581

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might look at this one longer term...

Comment thread package.json
Copy link
Copy Markdown
Member

@C85297 C85297 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with optional suggestions

@GCHQDeveloper581 GCHQDeveloper581 merged commit 1fdd2ec into master Apr 28, 2026
5 checks passed
@GCHQDeveloper581 GCHQDeveloper581 deleted the bump-node-to-v24 branch April 28, 2026 12:18
dgalanberasaluce added a commit to dgalanberasaluce/infra-personal that referenced this pull request May 7, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/gchq/cyberchef](https://github.com/gchq/CyberChef) | major | `10.23.0` → `11.0.0` |

---

### Release Notes

<details>
<summary>gchq/CyberChef (ghcr.io/gchq/cyberchef)</summary>

### [`v11.0.0`](https://github.com/gchq/CyberChef/blob/HEAD/CHANGELOG.md#1100---2026-04-28)

[Compare Source](gchq/CyberChef@v10.24.0...v11.0.0)

- Revert sitemap to v8.0.X to fix build/deploy on master \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2348](gchq/CyberChef#2348)]
- Node version update from 22 to 24 \[[@&#8203;lzandman](https://github.com/lzandman)] \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2347](gchq/CyberChef#2347)]
- Fix XSS in Show Base64 offsets \[[@&#8203;C85297](https://github.com/C85297)] | \[[#&#8203;2346](gchq/CyberChef#2346)]
- Make compatible with node >=22 \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2273](gchq/CyberChef#2273)]
- Fix(node): enable asynchronous operation support in Node.js API \[[@&#8203;engin0223](https://github.com/engin0223)] \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2342](gchq/CyberChef#2342)]
- Feature: Change to nginx-unprivileged image for better kubernetes support \[[@&#8203;hsolberg](https://github.com/hsolberg)] | \[[#&#8203;1922](gchq/CyberChef#1922)]

Breaking changes:

- Minimum supported node version - now v24 (was v16)
- Change of exported port on Docker Container - now 8080 (was 80)
- Node API now exports "bake" and "execute" functions as async.

<details>
    <summary>Click to expand v10 minor versions</summary>

##### [10.24.0] - 2026-04-27
- Update CONTRIBUTING.md [@&#8203;GCHQDeveloper581] | [#&#8203;2333]
- Fix, and link, Fernet tests [@&#8203;GCHQDeveloper581] | [#&#8203;2335]
- [#&#8203;927] added parity bit operation [@&#8203;j83305] | [#&#8203;1036]
- Feature md link blanks [@&#8203;BjoernAkAManf] [@&#8203;GCHQDeveloper581] | [#&#8203;660]
- Accessibility - Add support for screenreaders in operations search [@&#8203;mattnotmitt] | [#&#8203;1862]
- Added metadata extraction for UUID strings. [@&#8203;ko80240] | [#&#8203;2322]
- chore (deps): bump the patch-updates group with 6 updates  | [#&#8203;2330]
- chore (deps): bump @&#8203;codemirror/search from 6.6.0 to 6.7.0  | [#&#8203;2331]
- (Feature) Improve CI [@&#8203;GCHQDeveloper581] | [#&#8203;2328]
- Update dependabot.yml [@&#8203;GCHQDeveloper581] | [#&#8203;2326]
- chore (deps): bump lodash, grunt-legacy-log and grunt-legacy-util  | [#&#8203;2327]
- chore (deps): bump the patch-updates group with 6 updates [@&#8203;GCHQDeveloper581] | [#&#8203;2323]
- chore (deps): bump autoprefixer from 10.4.27 to 10.5.0  | [#&#8203;2324]
- chore (deps): bump dompurify from 3.3.3 to 3.4.0  | [#&#8203;2321]
- chore (deps): bump follow-redirects from 1.15.11 to 1.16.0  | [#&#8203;2320]
- Regular Expression operation email address regex: Support IPv4 domains [@&#8203;C85297] [@&#8203;GCHQDeveloper581] | [#&#8203;2167]
- Rewriting fixCryptoApiImports and fixSnackbarMarkup to js to make it OS agnostic [@&#8203;BigYellowHammer] | [#&#8203;2298]
- chore (deps): bump basic-ftp from 5.2.1 to 5.2.2  | [#&#8203;2317]
- chore (deps): bump axios from 1.13.6 to 1.15.0  | [#&#8203;2316]
- chore (deps): bump webpack from 5.105.4 to 5.106.0  | [#&#8203;2315]
- chore (deps): bump basic-ftp from 5.2.0 to 5.2.1  | [#&#8203;2313]
- Update vulnerable dependencies [@&#8203;GCHQDeveloper581] | [#&#8203;2311]

##### [10.23.0] - 2026-04-06
- Properly escape HTML entities in sampleDelim to avoid XSS issue [@&#8203;GCHQDeveloper581] | [#&#8203;2307]
- chore (deps): bump lodash from 4.17.23 to 4.18.1  | [#&#8203;2304]
- chore (deps): bump @&#8203;codemirror/view from 6.40.0 to 6.41.0  | [#&#8203;2305]
- chore (deps): bump the patch-updates group with 2 updates  | [#&#8203;2303]
- chore (deps): bump @&#8203;xmldom/xmldom from 0.8.11 to 0.8.12  | [#&#8203;2302]
- chore (deps): bump picomatch  | [#&#8203;2299]
- chore (deps): bump node-forge from 1.3.3 to 1.4.0  | [#&#8203;2297]
- chore (deps): bump the patch-updates group with 3 updates | [#&#8203;2296]
- chore (deps) bump chromedriver from 130.0.4 to 146.0.6 [@&#8203;GCHQDeveloper581] | [#&#8203;2292]
- ParseEthernetFrame - Fix vlan calculation [@&#8203;Kalkran] | [#&#8203;2295]
- Add pull request template with AI usage disclosure [@&#8203;C85297] | [#&#8203;2279]
- fix: return empty output for zero-length To Modhex input [@&#8203;saschabuehrle] | [#&#8203;2249]
- Added tab focus to top banner and navigation to About/Support Modal [@&#8203;j264415] | [#&#8203;1733]
- Add Parse Ethernet frame Operation, allow Parse IPv4 Header to cascade [@&#8203;Kalkran] | [#&#8203;1722]
- Selection and Deselection of autobake checkbox using keyboard [@&#8203;j264415] | [#&#8203;1727]
- chore (deps): bump @&#8203;babel/runtime from 7.28.6 to 7.29.2  | [#&#8203;2263]
- Add more helpful error for when numerical ingredient is left empty [@&#8203;Lamby777] [@&#8203;C85297] | [#&#8203;1540]
- chore (deps): bump @&#8203;codemirror/view from 6.39.17 to 6.40.0  | [#&#8203;2262]
- Bump flatted from 3.3.2 to 3.4.2 [@&#8203;GCHQDeveloper581] | [#&#8203;2266]
- feat: add Raw option for Jq operation [@&#8203;rtpt-romankarwacik] | [#&#8203;2237]
- chore (deps): bump core-js from 3.48.0 to 3.49.0  | [#&#8203;2261]
- chore (deps): bump the patch-updates group with 6 updates  | [#&#8203;2260]
- Add Extract Audio Metadata operation [@&#8203;d0s1nt] [@&#8203;GCHQDeveloper581] | [#&#8203;2170]
- Fix Jq issue [@&#8203;GCHQDeveloper581] | [#&#8203;2210]
- Configure dependabot updates [@&#8203;GCHQDeveloper581] | [#&#8203;2259]
- fix(A1Z26): return empty string instead of empty array for empty input [@&#8203;brick-pixel] | [#&#8203;2257]
- Fix broken Docker link in README [@&#8203;am-periphery] | [#&#8203;2250]
- Update some dependencies, including a number causing npm audit warnings [@&#8203;GCHQDeveloper581] | [#&#8203;2236]
- Bump axios from 1.7.9 to 1.13.6  | [#&#8203;2234]
- Bump jws from 3.2.2 to 3.2.3  | [#&#8203;2235]
- Bump pbkdf2 from 3.1.2 to 3.1.5  | [#&#8203;2229]
- Bump form-data from 4.0.1 to 4.0.5  | [#&#8203;2228]
- Bump basic-ftp from 5.0.5 to 5.2.0  | [#&#8203;2231]
- feat: add ARM disassembler operation [@&#8203;thomasxm] | [#&#8203;2156]
- Add Text/Integer Converter operation [@&#8203;p-leriche] [@&#8203;GCHQDeveloper581] | [#&#8203;2213]
- Feat/rc6 add RC6 Encrypt/Decrypt operations [@&#8203;thomasxm] | [#&#8203;2163]
- [bugfix] Add Bootstrap form style for CodeMirror editor [@&#8203;Swonkie] | [#&#8203;2161]
- Add Flask Session operations (Decode, Sign, Verify) [@&#8203;ThePlayer372-FR] | [#&#8203;2208]
- fix: `jq-web` -> `jq-wasm`, includes `jq` version `1.8.1` [@&#8203;W-Floyd] [@&#8203;GCHQDeveloper581] | [#&#8203;2223]
- Bump jsonwebtoken from 8.5.1 to 9.0.0 [@&#8203;GCHQDeveloper581] | [#&#8203;2219]
- Bump basic-ftp from 5.0.5 to 5.2.0  | [#&#8203;2218]
- feat: add random integer generation operation [@&#8203;cktgh] | [#&#8203;2151]
- Add BigInt utility functions for number theory operations [@&#8203;p-leriche] [@&#8203;GCHQDeveloper581] | [#&#8203;2205]
- Improve SQL Beautify: use sql-formatter and support bind variables [@&#8203;aby-jo] [@&#8203;GCHQDeveloper581] | [#&#8203;2071]
- update tesseract.js to 6.0.1 [@&#8203;atsiv1] | [#&#8203;2133]
- Fix hint tooltip display issues [@&#8203;bartvanandel] | [#&#8203;2017]
- Simplify babel dependencies [@&#8203;GCHQDeveloper581] | [#&#8203;2204]
- Dependency updates [@&#8203;GCHQDeveloper581] | [#&#8203;2201]
- Fix: Move Magic checks from Escape to Unescape Unicode Characters [@&#8203;fjh1997] | [#&#8203;2195]
- Paste spreadsheets as text [@&#8203;C85297] | [#&#8203;2200]
- Fix Roboto Mono font [@&#8203;C85297] | [#&#8203;2199]
- Fix return of buffer for PNG QR image generation [@&#8203;GCHQDeveloper581] [@&#8203;C85297] | [#&#8203;2125]
- Update JIMP [@&#8203;C85297] | [#&#8203;2171]
- Overwrite NGINX maintainer label [@&#8203;C85297] | [#&#8203;2194]
- Bump v10.22.1 [@&#8203;GCHQDeveloper581] | [#&#8203;2193]
- Fix npm publish - Run "npm ci" and "npm run node" under node 18 then switch to node 24.5 [@&#8203;GCHQDeveloper581] | [#&#8203;2192]

##### [10.22.0] - 2026-02-11
- Separate npm publish out into separate job and run with Node 24.5 [@&#8203;GCHQDeveloper581] | [#&#8203;2188]
- Fixed Percent delimiter for hex encoding [@&#8203;beneri] [@&#8203;C85297] | [#&#8203;2137]
- Added the ability to paste one or more Images from the Clipboard [@&#8203;t-martine] [@&#8203;a3957273] [@&#8203;C85297] | [#&#8203;1876]
- Quoted Printable - consistent reference to 'email' [@&#8203;wesinator] | [#&#8203;2186]
- Fix freeze when output text decoding fails [@&#8203;Raka-loah] | [#&#8203;1573]
- Update Browserslist DB [@&#8203;C85297] | [#&#8203;2183]
- Add contents write permission to releases workflow [@&#8203;C85297] | [#&#8203;2182]
- Fix release workflow permissions [@&#8203;C85297] | [#&#8203;2181]

##### [10.21.0] - 2026-02-05
- Fix import operations with special chars in them [@&#8203;d98762625] [@&#8203;jg42526] | [#&#8203;1040]
- Remove custom CodeQL workflow [@&#8203;C85297] | [#&#8203;2176]
- Fix code scanning warnings in workflows [@&#8203;GCHQDeveloper581] | [#&#8203;2177]
- Use NPM trusted publishing [@&#8203;C85297] [@&#8203;GCHQDeveloper581] | [#&#8203;2174]
- Fix: Correctly parse xxd odd byte hexdumps [@&#8203;ThomasNotTom] [@&#8203;GCHQDeveloper581] | [#&#8203;2058]
- Update Sitemap URLs to Use Valid Paths in sitemap.mjs [@&#8203;rbpi] [@&#8203;C85297] | [#&#8203;1861]
- Use recommended GitHub Actions to build image [@&#8203;AlexGustafsson] [@&#8203;C85297] | [#&#8203;2055]
- Remove version 10 message from banner [@&#8203;C85297] | [#&#8203;2169]
- Bump form-data from 4.0.1 to 4.0.5  | [#&#8203;2175]
- Bump node-forge from 1.3.1 to 1.3.3  | [#&#8203;2173]
- Update crypto browserify [@&#8203;C85297] | [#&#8203;2172]
- Update kbpgp package (resolves #&#8203;2135) [@&#8203;GCHQDeveloper581] | [#&#8203;2136]
- Fix the processing of ALPNs for JA4 to align with new specification update [@&#8203;tuliperis] | [#&#8203;2165]
- Add Bech32 and Bech32m encoding/decoding operations [@&#8203;thomasxm] | [#&#8203;2159]
- Exclude Delete character from hex dump output [@&#8203;mikecat] [@&#8203;C85297] | [#&#8203;2086]
- Tiny typo fix in "To Base85" operation [@&#8203;twostraws] | [#&#8203;2118]
- Bump jsonpath-plus [@&#8203;C85297] | [#&#8203;2166]

##### [10.20.0] - 2026-01-28
- Fixed Optical Character Recognition and added tests [@&#8203;n1474335] | [ab37c1e]
- Fixed JA4 version fallback value [@&#8203;n1474335] | [7a5225c]
- Updated chromedriver [@&#8203;n1474335] | [0e82e4b]
- Fixed RSA Sign and Verify character encodings [@&#8203;n1474335] | [895a929]
- Updated chromedriver [@&#8203;n1474335] | [d3adfc7]
- Added message format arg to RSA Verify operation [@&#8203;n1474335] | [47c85a1]
- Add operation for parsing X.509 CRLs [@&#8203;robinsandhu] | [#&#8203;1887]
- Fix typo in description of JWT Sign recipe [@&#8203;GuilhermoReadonly] | [#&#8203;1961]
- Corrected path to generateNodeIndex.mjs [@&#8203;simonarnell] | [#&#8203;1959]
- Add 'header' ingredient to JWT Sign operation [@&#8203;RandomByte] | [#&#8203;1957]
- Add Parse TLS record operation [@&#8203;c65722] | [#&#8203;1936]
- Automatically detect chrome driver version [@&#8203;gchq] | [#&#8203;1972]
- Add Strip UDP header operation [@&#8203;c65722] | [#&#8203;1900]
- Add Strip TCP header operation [@&#8203;c65722] | [#&#8203;1898]
- Webpack compress with gzip and brotli [@&#8203;max0x53] | [#&#8203;1955]
- add offset field to 'Add Line Numbers' operation [@&#8203;Adamkadaban] | [#&#8203;1866]
- Disable flakey URL test [@&#8203;a3957273] | [#&#8203;1973]
- Add Strip IPv4 header operation [@&#8203;c65722] | [#&#8203;1899]
- IPv6 Transition Operation [@&#8203;jb30795] | [#&#8203;1780]
- fix: Blowfish - ignore IV length in ECB mode [@&#8203;FranciscoPombal] | [#&#8203;1902]
- Add 'Drop nth bytes' operation [@&#8203;Oshawk] | [#&#8203;1914]
- Add 'Take nth bytes' operation  [@&#8203;Oshawk] | [#&#8203;1915]
- Add Leet Speak [@&#8203;bartblaze] | [#&#8203;1971]
- Fix Generate TOTP & HOPT [@&#8203;exactlyaron] | [#&#8203;1966]
- Updated luhn checksum operation to work with different bases [@&#8203;k3ach] | [#&#8203;1933]
- automatically theme mode based on user preference [@&#8203;vs4vijay] | [#&#8203;1921]
- fix: DES/Triple DES - misleading error messages [@&#8203;FranciscoPombal] | [#&#8203;1904]
- fix: ROT13 - shifting numbers by negative amounts [@&#8203;FranciscoPombal] | [#&#8203;1903]
- Introduce Yubico's Modhex for Conversion [@&#8203;linuxgemini] | [#&#8203;1105]
- Feature: MIME RFC2047 Decoding [@&#8203;MShwed] | [#&#8203;630]
- CC-1889 add _ option [@&#8203;depperm] | [#&#8203;1977]
- chore(root): add cspell [@&#8203;evenstensberg] | [#&#8203;1976]
- Preserve uppercase for Leet Speak [@&#8203;bartblaze] | [#&#8203;1981]
- Load the user's preferred color scheme if the URL contains an invalid theme [@&#8203;0xh3xa] | [#&#8203;2007]
- Add SM2 Encrypt and Decrypt Operations [@&#8203;flakjacket95] | [#&#8203;1909]
- Support jq as an operation. [@&#8203;zhzy0077] | [#&#8203;1604]
- Add fingerprints to the 'Parse X.509 certificate' operation [@&#8203;JSCU-CNI] | [#&#8203;1863]
- Added a JSON to YAML and a YAML to JSON operation [@&#8203;ccarpo] | [#&#8203;1286]
- Add CRC Operation [@&#8203;r4mos] | [#&#8203;1993]
- Bug Fix: selected theme not loading when refreshing [@&#8203;0xh3xa] | [#&#8203;2006]
- Fix(RecipeWaiter): sanitize user input in addOperation to prevent XSS [@&#8203;0xh3xa] | [#&#8203;2014]
- Docker multiplatform build support [@&#8203;PathToLife] | [#&#8203;1974]
- Add Base32 Hex Extended Alphabet and Base32 Tests. [@&#8203;peterc-s] | [#&#8203;1991]
- Add ECB/NoPadding and CBC/NoPadding support to AES encryption [@&#8203;plvie] | [#&#8203;2013]
- Add new operation: PHP Serialize [@&#8203;brun0ne] | [#&#8203;1548]
- Push input through postmessage [@&#8203;kenduguay1] | [#&#8203;1992]
- Add jsonata query operation [@&#8203;jonking-ajar] | [#&#8203;1587]
- Re-enable Npm Release in github workflows [@&#8203;PathToLife] | [#&#8203;2031]
- Add to ECDSA Verify the message format [@&#8203;r4mos] | [#&#8203;2027]
- Added alternating caps functionality [@&#8203;sw5678] | [#&#8203;1897]
- XOR Checksum operation added [@&#8203;jg42526] | [#&#8203;2035]
- Add GenerateAllChecksums operation * Remove checksums from GenerateAllHashes operation [@&#8203;es45411] | [66d445c]
- Update GenerateAllChecksums infoURL [@&#8203;es45411] | [#&#8203;2037]
- Add toggle "+" character to URLDecode operation [@&#8203;es45411] | [#&#8203;2040]
- Workaround for Safari load bug [@&#8203;GCHQDeveloper94872] | [#&#8203;2038]
- Updated Dockerfile to correctly build on ARM64 platforms [@&#8203;Sma-Das] | [#&#8203;2042]
- Addresses bug report #&#8203;2008 Added explicit support for octal IP addresses. Changed approach to IPv4 regex to be string manipulation generated. Added some unit tests for IP address parsing - probably not full coverage. Added lookahead and lookbehind tricks to resolve warned issue that 1.2.3.256 would still be extracted as 1.2.3.25. Now only accepts valid IP addresses. Warning replaced with clause about infinite length dotted decimal forms. [@&#8203;gchqdev364] | [#&#8203;2041]
- Remove trim from rail fence [@&#8203;Odyhibit] | [#&#8203;1986]
- Fix email regex [@&#8203;ericli-splunk] | [#&#8203;2025]
- Add Blake3 hashing [@&#8203;xumptex] | [#&#8203;2023]
- Use defaultIndex instead of 0 in transformArgs [@&#8203;bartvanandel] | [#&#8203;2015]
- Add "Generate UUID" and "Analyse UUID" operations [@&#8203;bartvanandel] | [#&#8203;2011]
- Add new operation: Template [@&#8203;kendallgoto] | [#&#8203;2021]
- Add more clear build instructions [@&#8203;remingtr] | [#&#8203;1873]
- Show On Map updated to use leaflet over WikiMedia [@&#8203;0xff1ce] | [#&#8203;1884]
- Fixed ToDecimal signed logic [@&#8203;starplanet] | [#&#8203;1545]
- Use BigInt for encoding/decoding VarInt [@&#8203;mikecat] | [#&#8203;1978]

##### [10.19.0] - 2024-06-21
- Add support for ECDSA and DSA in 'Parse CSR' [@&#8203;robinsandhu] | [#&#8203;1828]
- Fix typos in SIGABA.mjs [@&#8203;eltociear] | [#&#8203;1834]

##### [10.18.0] - 2024-04-24
- Added 'XXTEA Encrypt' and 'XXTEA Decrypt' operations [@&#8203;n1474335] | [0a353ee]

##### [10.17.0] - 2024-04-13
- Fix unit test 'expectOutput' implementation [@&#8203;zb3] | [#&#8203;1783]
- Add accessibility labels for icons [@&#8203;e218736] | [#&#8203;1743]
- Add focus styling for keyboard navigation [@&#8203;e218736] | [#&#8203;1739]
- Add support for operation option hiding [@&#8203;TheZ3ro] | [#&#8203;541]
- Improve efficiency of RAKE implementation [@&#8203;sw5678] | [#&#8203;1751]
- Require (a, 26) to be coprime in 'Affine Encode' [@&#8203;EvieHarv] | [#&#8203;1788]
- Added 'JWK to PEM' operation [@&#8203;cplussharp] | [#&#8203;1277]
- Added 'PEM to JWK' operation [@&#8203;cplussharp] | [#&#8203;1277]
- Added 'Public Key from Certificate' operation [@&#8203;cplussharp] | [#&#8203;1642]
- Added 'Public Key from Private Key' operation [@&#8203;cplussharp] | [#&#8203;1642]

##### [10.16.0] - 2024-04-12
- Added 'JA4Server Fingerprint' operation [@&#8203;n1474335] | [#&#8203;1789]

##### [10.15.0] - 2024-04-02
- Fix Ciphersaber2 key concatenation [@&#8203;zb3] | [#&#8203;1765]
- Fix DeriveEVPKey's array parsing [@&#8203;zb3] | [#&#8203;1767]
- Fix JWT operations [@&#8203;a3957273] | [#&#8203;1769]
- Added 'Parse Certificate Signing Request' operation [@&#8203;jkataja] | [#&#8203;1504]
- Added 'Extract Hash Values' operation [@&#8203;MShwed] | [#&#8203;512]
- Added 'DateTime Delta' operation [@&#8203;tomgond] | [#&#8203;1732]

##### [10.14.0] - 2024-03-31
- Added 'To Float' and 'From Float' operations [@&#8203;tcode2k16] | [#&#8203;1762]
- Fix ChaCha raw export option [@&#8203;joostrijneveld] | [#&#8203;1606]
- Update x86 disassembler vendor library [@&#8203;evanreichard] | [#&#8203;1197]
- Allow variable Blowfish key sizes [@&#8203;cbeuw] | [#&#8203;933]
- Added 'XXTEA' operation [@&#8203;devcydo] | [#&#8203;1361]

##### [10.13.0] - 2024-03-30
- Added 'FangURL' operation [@&#8203;breakersall] [@&#8203;arnydo] | [#&#8203;1591] [#&#8203;654]

##### [10.12.0] - 2024-03-29
- Added 'Salsa20' and 'XSalsa20' operation [@&#8203;joostrijneveld] | [#&#8203;1750]

##### [10.11.0] - 2024-03-29
- Add HEIC/HEIF file signatures [@&#8203;simonw] | [#&#8203;1757]
- Update xmldom to fix medium security vulnerability [@&#8203;chriswhite199] | [#&#8203;1752]
- Update JSONWebToken to fix medium security vulnerability [@&#8203;chriswhite199] | [#&#8203;1753]

##### [10.10.0] - 2024-03-27
- Added 'JA4 Fingerprint' operation [@&#8203;n1474335] | [#&#8203;1759]

##### [10.9.0] - 2024-03-26
- Line ending sequences and UTF-8 character encoding are now detected automatically [@&#8203;n1474335] | [65ffd8d]

##### [10.8.0] - 2024-02-13
- Add official Docker images [@&#8203;AshCorr] | [#&#8203;1699]

##### [10.7.0] - 2024-02-09
- Added 'File Tree' operation [@&#8203;sw5678] | [#&#8203;1667]
- Added 'RISON' operation [@&#8203;sg5506844] | [#&#8203;1555]
- Added 'MurmurHash3' operation [@&#8203;AliceGrey] | [#&#8203;1694]

##### [10.6.0] -  2024-02-03
- Updated 'Forensics Wiki' URLs to new domain [@&#8203;a3957273] | [#&#8203;1703]
- Added 'LZNT1 Decompress' operation [@&#8203;0xThiebaut] | [#&#8203;1675]
- Updated 'Regex Expression' UUID matcher [@&#8203;cnotin] | [#&#8203;1678]
- Removed duplicate 'hover' message within baking info [@&#8203;KevinSJ] | [#&#8203;1541]

##### [10.5.0] - 2023-07-14
- Added GOST Encrypt, Decrypt, Sign, Verify, Key Wrap, and Key Unwrap operations [@&#8203;n1474335] | [#&#8203;592]

##### [10.4.0] - 2023-03-24
- Added 'Generate De Bruijn Sequence' operation [@&#8203;gchq77703] | [#&#8203;493]

##### [10.3.0] - 2023-03-24
- Added 'Argon2' and 'Argon2 compare' operations [@&#8203;Xenonym] | [#&#8203;661]

##### [10.2.0] - 2023-03-23
- Added 'Derive HKDF key' operation [@&#8203;mikecat] | [#&#8203;1528]

##### [10.1.0] - 2023-03-23
- Added 'Levenshtein Distance' operation [@&#8203;mikecat] | [#&#8203;1498]
- Added 'Swap case' operation [@&#8203;mikecat] | [#&#8203;1499]

</details>

### [`v10.24.0`](https://github.com/gchq/CyberChef/blob/HEAD/CHANGELOG.md#10240---2026-04-27)

[Compare Source](gchq/CyberChef@v10.23.0...v10.24.0)

- Update CONTRIBUTING.md \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2333](gchq/CyberChef#2333)]
- Fix, and link, Fernet tests \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2335](gchq/CyberChef#2335)]
- \[[#&#8203;927](gchq/CyberChef#927)] added parity bit operation \[[@&#8203;j83305](https://github.com/j83305)] | \[[#&#8203;1036](gchq/CyberChef#1036)]
- Feature md link blanks \[[@&#8203;BjoernAkAManf](https://github.com/BjoernAkAManf)] \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;660](gchq/CyberChef#660)]
- Accessibility - Add support for screenreaders in operations search \[[@&#8203;mattnotmitt](https://github.com/mattnotmitt)] | \[[#&#8203;1862](gchq/CyberChef#1862)]
- Added metadata extraction for UUID strings. \[[@&#8203;ko80240](https://github.com/ko80240)] | \[[#&#8203;2322](gchq/CyberChef#2322)]
- chore (deps): bump the patch-updates group with 6 updates  | \[[#&#8203;2330](gchq/CyberChef#2330)]
- chore (deps): bump [@&#8203;codemirror/search](https://github.com/codemirror/search) from 6.6.0 to 6.7.0  | \[[#&#8203;2331](gchq/CyberChef#2331)]
- (Feature) Improve CI \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2328](gchq/CyberChef#2328)]
- Update dependabot.yml \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2326](gchq/CyberChef#2326)]
- chore (deps): bump lodash, grunt-legacy-log and grunt-legacy-util  | \[[#&#8203;2327](gchq/CyberChef#2327)]
- chore (deps): bump the patch-updates group with 6 updates \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2323](gchq/CyberChef#2323)]
- chore (deps): bump autoprefixer from 10.4.27 to 10.5.0  | \[[#&#8203;2324](gchq/CyberChef#2324)]
- chore (deps): bump dompurify from 3.3.3 to 3.4.0  | \[[#&#8203;2321](gchq/CyberChef#2321)]
- chore (deps): bump follow-redirects from 1.15.11 to 1.16.0  | \[[#&#8203;2320](gchq/CyberChef#2320)]
- Regular Expression operation email address regex: Support IPv4 domains \[[@&#8203;C85297](https://github.com/C85297)] \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2167](gchq/CyberChef#2167)]
- Rewriting fixCryptoApiImports and fixSnackbarMarkup to js to make it OS agnostic \[[@&#8203;BigYellowHammer](https://github.com/BigYellowHammer)] | \[[#&#8203;2298](gchq/CyberChef#2298)]
- chore (deps): bump basic-ftp from 5.2.1 to 5.2.2  | \[[#&#8203;2317](gchq/CyberChef#2317)]
- chore (deps): bump axios from 1.13.6 to 1.15.0  | \[[#&#8203;2316](gchq/CyberChef#2316)]
- chore (deps): bump webpack from 5.105.4 to 5.106.0  | \[[#&#8203;2315](gchq/CyberChef#2315)]
- chore (deps): bump basic-ftp from 5.2.0 to 5.2.1  | \[[#&#8203;2313](gchq/CyberChef#2313)]
- Update vulnerable dependencies \[[@&#8203;GCHQDeveloper581](https://github.com/GCHQDeveloper581)] | \[[#&#8203;2311](https://github.com/gchq/CyberChef/issues/2311)]

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My43My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->

Co-authored-by: David G. <85518858+dgalanberasaluce@users.noreply.github.com>
Reviewed-on: https://forgejo.internal/forgejo_admin/infra-personal/pulls/84
Co-authored-by: Renovate Bot <renovatebot@forgejo.internal>
Co-committed-by: Renovate Bot <renovatebot@forgejo.internal>
@lzandman
Copy link
Copy Markdown
Contributor

lzandman commented May 9, 2026

Great! I was busy with other things. Good to see this got merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Node 24

3 participants