- Breaking: Debug traces are now activated with
NODE_DEBUG=java-callerinstead ofDEBUG=java-caller. Thedebugpackage has been replaced by Node's built-inutil.debuglog, which only readsNODE_DEBUGfrom the environment the process is launched with (settingprocess.env.NODE_DEBUGat runtime no longer enables traces). The output format changes accordingly, fromjava-caller <message> +1mstoJAVA-CALLER <pid>: <message>. - Breaking: Minimum supported Node.js version is now 18 (
enginespreviously declared>=12, whilenjrev3 already required>=18) - Reduce runtime dependencies from 17 packages to 10: remove
fs-extra(replaced bynode:fs) anddebug(replaced bynode:util), and upgradeyauzlso it no longer pullsbuffer-crc32. Onlynjreandsemverremain as direct dependencies. - Remove the
whichdev dependency, whoseenginesexcluded the Node versions tested in CI - Fix
npm run lint, broken since the ESLint v10 upgrade:@eslint/jsandglobalsare required byeslint.config.jsbut were no longer installed transitively. They are now explicit dev dependencies, and CI runsnpm run lintso the script cannot silently break again.
- Breaking: Upgrade
njreto 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()andjava -versiondetection hanging on Node 24 + Windows - Fix Java 8 (legacy
1.8.0_xxxversion scheme) being wrongly rejected byminimumJavaVersion/maximumJavaVersion - Upgrade dependencies and CI/tooling
- Upgrade dependencies
- Upgrade dependencies
- Add
timeoutandkillSignalrun options - Add
windowsHide(default: true) to allow to show window ifwindowHide: trueis sent
- Add types definition to make library compliant with typescript usage
- Upgrade dependencies
- CI: Use MegaLinter javascript flavor for better performance
- Upgrade dependencies
- Refactor workflows to use OIDC (npm Trusted Publishers) to publish package
- Upgrade njre dependency
- CI: avoid jobs in double
- Add tests for Node 24 & Java 25
- CI: Upgrade MegaLinter to v9
- CI: Remove CircleCI
- Upgrade dependencies
- Fix to allow absolute path to JAR file
- Upgrade dependencies
- Upgrade to njre v1.4.2
- Upgrade dependencies
- Upgrade to njre v1.4.0
- Fix issue when package called from ES Module by using njre installPath option
- Upgrade to MegaLinter v8
- Upgrade npm dependencies, including base package njre to 1.3.0
- 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
- Before 4.00: Update PATH +
- 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
- Upgrade tar dependency to avoid CVE
- Add option for using javaw instead of java on run for Windows, by @SotirisVas in #65
- Add github-dependents-info page and generation
- Update minor dependencies
- Upgrade njre to v1.1.0 (now handles Mac M1)
- Add support for configuring windowsVerbatimArguments on run to make it easier to create cross platform compatible code.
- fix couple of issues in the rule used to detect if desired java version is installed or not, by @djukxe in #46
- 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
- Upgrade njre to 1.0.0 (Allowing to install until Java 20)
- Upgrade dependencies
- Fix override of java executable on Linux & Mac environments (#23)
- Allow to use
JAVA_CALLER_JAVA_EXECUTABLEenvironment variable to force javaExecutable option - Fix npm audit issues
- Upgrade dependencies
- debug
- eslint
- fs-extra
- mocha
- njre
- nyc
- which
- Upgrade NPM dependencies
- CI: upgrade to MegaLinter v6
- Fix additionalJavaArgs issue #13
- Support absolute paths in classpath with argument
useAbsoluteClassPathsand classPath as array of strings (#12, by Dan Gowans)
- Fix Java 8 detection (#101@npm-groovy-lint)
- Fix CLASSPATH on windows in case there are spaces in paths
- Update License to MIT
- Allow to use java-caller to build your own CLI embedding java sources
- Example projects using module and CLI
- 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)
- Return
javaChildProcesswhendetachedis true, so it can be used to be killed later
- Initial version