WARNING: This is an early-access release directly from main branch, not intended for production use.
To enable experimental native-image jbang set JBANG_USE_NATIVE to true, i.e. export JBANG_USE_NATIVE=true
If you want to try the latest and greatest, please give it a spin and report any issues you find.
Here is how to install it:
Linux / macOS / WSL (bash):
curl -Ls https://sh.jbang.dev | JBANG_DOWNLOAD_VERSION=early-access bash -s - app setup
Windows PowerShell:
$env:JBANG_DOWNLOAD_VERSION='early-access'; iex "& { $(iwr -useb https://ps.jbang.dev) } app setup"
Changelog
🚀 Features
- a551bd2 feat: replace picocli with aesh for CLI parsing (#2453)
- 09ec597 feat: support release tag names in JBANG_DOWNLOAD_VERSION (early-access) (#2480)
- 1a6383b feat: Add download retry support to startup scripts (#2461)
- 221049f feat: install multiple JDKs with same major version (#2271)
🐛 Fixes
- b808feb fix: correct integration test report_paths and harden merge-test-reports (#2533)
- 034c735 fix: document native image option on early access
- 12edfda fix: clean up old early-access drafts before un-drafting latest
- ecb3c96 fix: use releases list API to find draft early-access release
- d7a3d02 fix: use correct JReleaser env var to disable draft for early-access
- 592647e fix: native bundle archives now have a root folder (#2535)
- bce440d fix: mark early-access releases as pre-release instead of draft (#2536)
- 4d4ac5a fix: use proper versioned download URL for native
- 1695ecc fix: generate correct module-info requires for JavaFX //MODULE scripts (#2525)
- 947d3e7 fix: optimize test suite performance (2m42s → ~50s) (#2527)
- 38927ed fix: use daemon thread for version check to prevent JVM hang (#2524)
- 99735bd fix: use stream copy instead of transferFrom for service file merging.
- cd2f10d fix: close DirectoryStream in ExternalCommandsProvider.listFiles (#2482) (#2507)
- b60479e fix: support --option=false syntax for boolean flags (#2504) (#2505)
- 27b1c9b fix: re-enable Renovate configuration
- 0c1b40a fix: sign earlyaccess
- 2d10ce3 fix: explicit tag early-access and dont push release if non-earlyacces
- fe7d073 fix: treat 1.2.3.4 as earlyaccess/snapshot releases
- b0578c7 fix: add -PforceSnapshot to ensure earlyaccess builds get -SNAPSHOT version
- 3243277 fix: use manual retry loop in bash download() with user feedback (#2472)
- f2a5e31 fix: align nisse plugin and dependency versions (#2475)
- 188167a fix: Use nisse-gradle-plugin (#2464)
- 1924f8b fix: prevent duplicate PATH entries when running setup multiple times on Windows (#2455)
- ee8e078 fix: add more cli tests (#2456)
- 4a801a9 fix: fix allure links
🧪 Tests
- a84a3fa test: add native download URL tests and apply JBANG_USE_NATIVE to jbang.ps1
🧰 Tasks
🛠 Build
- 149352f build: upgrade to aesh 3.13 and fix primitive option types (#2504, #2… (#2519)
- 230f3af build: upgrade to aesh 3.12.1 (#2516)
- 24f1bb4 build: add 'just shell' recipe for isolated completion testing (#2514)
- e91bc62 build: upgrade to aesh 3.11 and readline-api 3.11 (#2509)
- 021cee0 build: have earlyaccess releases be released automatically
- 3e3dd18 ci: show all OS test results in merged Allure report (#2486)
- 61a77dc ci: auto-cancel superseded ci-build runs via concurrency group
- 1c2332d build: Add PR limits to renovate configuration
- 5431926 build: update CI and release for native bundles and latest jreleaser (#2473)
- 00f9490 build: update GitHub Actions to Node.js 24 versions (#2474)
- 90dd464 ci: pin GitHub Actions to full-length commit SHAs (#2469)
- 9927a54 build: Build with Java 25 toolchain (#2448)
📝 Documentation
- 2eb08b4 docs: add description to --manifest option (#2485) (#2506)
- 2d4f1f5 docs: update AGENTS.md with script testing and env var guidelines (#2462)
- e0fcb27 Fix: multi-jdk regression (due to AEsh migration) (#2515)
- 31fa8d5 JDK26: Put modules required by JavaFX modules on the module-path (#2511)
- f01590b Revert "fix: add -PforceSnapshot to ensure earlyaccess builds get -SNAPSHOT version"
- 950e6be fix earlyaccess jreleaser (#2478)
Contributors
We'd like to thank the following people for their contributions:
Boomika SN, Claude Opus 4.8, CodeRabbit, GitHub, Max Rydahl Andersen, Mend Renovate, Oliver Kopp, Ståle Pedersen, Tako Schotanus, Tamas Cservenak, Werner Fouché, coderabbitai[bot]