Skip to content

Latest commit

 

History

History
178 lines (113 loc) · 6.47 KB

File metadata and controls

178 lines (113 loc) · 6.47 KB

Changelog

Unreleased

[6.0.0] 2026-08-09

  • Breaking: Debug traces are now activated with NODE_DEBUG=java-caller instead of DEBUG=java-caller. The debug package has been replaced by Node's built-in util.debuglog, which only reads NODE_DEBUG from the environment the process is launched with (setting process.env.NODE_DEBUG at runtime no longer enables traces). The output format changes accordingly, from java-caller <message> +1ms to JAVA-CALLER <pid>: <message>.
  • Breaking: Minimum supported Node.js version is now 18 (engines previously declared >=12, while njre v3 already required >=18)
  • Reduce runtime dependencies from 17 packages to 10: remove fs-extra (replaced by node:fs) and debug (replaced by node:util), and upgrade yauzl so it no longer pulls buffer-crc32. Only njre and semver remain as direct dependencies.
  • Remove the which dev dependency, whose engines excluded the Node versions tested in CI
  • Fix npm run lint, broken since the ESLint v10 upgrade: @eslint/js and globals are required by eslint.config.js but were no longer installed transitively. They are now explicit dev dependencies, and CI runs npm run lint so the script cannot silently break again.

[5.0.0] 2026-06-30

  • Breaking: Upgrade njre to v2.0.0: auto-installed JDK/JRE now comes from Eclipse Temurin (api.adoptium.net) instead of the deprecated AdoptOpenJDK endpoint (which hung under Node 24)
  • Fix run() and java -version detection hanging on Node 24 + Windows
  • Fix Java 8 (legacy 1.8.0_xxx version scheme) being wrongly rejected by minimumJavaVersion/maximumJavaVersion
  • Upgrade dependencies and CI/tooling

[4.4.2] 2026-03-29

  • Upgrade dependencies

[4.4.1] 2026-02-28

  • Upgrade dependencies

[4.4.0] 2026-02-07

  • Add timeout and killSignal run options
  • Add windowsHide (default: true) to allow to show window if windowHide: true is sent

[4.3.3] 2026-02-03

  • Add types definition to make library compliant with typescript usage
  • Upgrade dependencies
  • CI: Use MegaLinter javascript flavor for better performance

[4.3.2] 2026-01-24

  • Upgrade dependencies
  • Refactor workflows to use OIDC (npm Trusted Publishers) to publish package

[4.3.1] 2025-12-04

  • Upgrade njre dependency
  • CI: avoid jobs in double

[4.3.0] 2025-12-03

  • Add tests for Node 24 & Java 25
  • CI: Upgrade MegaLinter to v9
  • CI: Remove CircleCI
  • Upgrade dependencies

[4.2.1] 2025-05-25

  • Fix to allow absolute path to JAR file
  • Upgrade dependencies

[4.2.0] 2025-02-23

  • Upgrade to njre v1.4.2
  • Upgrade dependencies

[4.1.1] 2024-08-30

  • Upgrade to njre v1.4.0
  • Fix issue when package called from ES Module by using njre installPath option

[4.1.0] 2024-08-20

  • Upgrade to MegaLinter v8
  • Upgrade npm dependencies, including base package njre to 1.3.0

[4.0.0] 2024-05-08

  • When java used has been installed by JavaCaller, use full java executable path to perform the calls
    • Before 4.00: Update PATH + java -cp /home/circleci/project/test/java/dist com.nvuillam.javacaller.JavaCallerTester
    • Since 4.0.0: Update PATH + /home/circleci/.java-caller/jre/jdk-20.0.2+9/bin/java -cp /home/circleci/project/test/java/dist com.nvuillam.javacaller.JavaCallerTester
    • For example handles issue where Java 21 is installed and you need to run Java 17 with JavaCaller
  • Refactor CI/CD
    • Add additional tests in GitHub Actions
    • Test in more contexts (Mac, Java 21...)
  • Java 8 and 14 on Mac are not supported: Set default minimum java version to 11 on Mac

[3.3.1] 2024-04-28

  • Upgrade tar dependency to avoid CVE

[3.3.0] 2024-01-29

[3.2.0] 2023-11-26

  • Upgrade njre to v1.1.0 (now handles Mac M1)

[3.1.2] 2023-11-25

  • Add support for configuring windowsVerbatimArguments on run to make it easier to create cross platform compatible code.

[3.1.1] 2023-11-19

  • fix couple of issues in the rule used to detect if desired java version is installed or not, by @djukxe in #46

[3.1.0] 2023-11-18

  • Use semver module to check found java version instead of custom code
  • Add java 17 to test cases
  • Automate and secure releases using GitHub Actions
  • Inclusivity: Rename git branch master into main

[3.0.0] 2023-09-19

  • Upgrade njre to 1.0.0 (Allowing to install until Java 20)
  • Upgrade dependencies

[2.7.0] 2022-11-16

  • add stdoutEncoding option (default utf8) (#26, by danunafig)

[2.6.0] 2022-09-11

  • Fix override of java executable on Linux & Mac environments (#23)
  • Allow to use JAVA_CALLER_JAVA_EXECUTABLE environment variable to force javaExecutable option
  • Fix npm audit issues
  • Upgrade dependencies
    • debug
    • eslint
    • fs-extra
    • mocha
    • njre
    • nyc
    • which

[2.5.0] 2022-08-10

[2.4.0] 2020-07-19

  • Fix additionalJavaArgs issue #13

[2.3.0] 2020-09-05

  • Support absolute paths in classpath with argument useAbsoluteClassPaths and classPath as array of strings (#12, by Dan Gowans)

[2.2.3] 2020-09-05

[2.2.0] 2020-08-29

  • Fix CLASSPATH on windows in case there are spaces in paths
  • Update License to MIT

[2.1.0] 2020-08-12

  • Allow to use java-caller to build your own CLI embedding java sources
  • Example projects using module and CLI

[2.0.0] 2020-08-11

  • Big refactoring to simplify and enhance performances of code checking/installing java version
  • Replace use of deprecated package node-jre by njre
  • Compliance with JDK & JRE from 8 to 14 (AdoptOpenJdk releases)

[1.1.0] 2020-08-10

  • Return javaChildProcess when detached is true, so it can be used to be killed later

[1.0.0] 2020-08-10

  • Initial version