Releases: jbangdev/jbang
v0.123.0
First release of 2025!
This now honors add-opens and exports found in MANIFEST.MF making it possible to easily run modular .jar's.
A breaking but important change is that before BOM dependencies were by mistake not checked for existence, thus if you askef for i.e. io.quarkus:quarkus-bom:878.4
it would actually resolve to whatever version available. Thus this release will no longer run with such non-existent dependencies and will instead report it as not found/missing.
- bunch of nice documentation cleanups and clarifications!
Changelog
🚀 Features
- 723bdc3 feat: honor add-opens/exports from jar manifest (#1899)
- c675836 feat: recognize cursor as editor (#1896)
🐛 Fixes
- 0927594 fix: update templates (#1917)
- 27935f7 fix: Fix a few ShellCheck SC2086 & SC2155 in Wrapper's Linux script (#1892)
- f603f8b fix: if no deps, avoid npe; also make sure POMs refd exist (#1901)
- b3b2281 fix: Remove spurious line endings in Wrapper's Powershell script
🧰 Tasks
- 5e83c07 chore: install Java 11 via SDKMAN (#1915)
- 80e3c66 chore(deps): update github-actions (#1828)
📝 Documentation
- f80695f docs: fix vscode icon (#1905)
- 6a276e3 docs: Add "Disable integrations" section (#1898)
- c2adeb5 docs: Clarify further why normal shebang is really not recommended (#1903)
- 9b5cbec docs: explicit document how to debug jbang itself
- 455cde2 docs: Add //PREVIEW (#1894)
- bc85774 docs: Add links to relevant google-java-format issues to FAQ (#1893)
- a5ac52f [minor] relase
- 57799e7 [minor] relase
- f726bc9 add yostane as a contributor for doc (#1908)
- 1a52d50 Update Adoptium URL in javaversions.adoc (#1906)
- 6167b8c Add
jbang jdk list --available
in javaversions.adoc as a way to fetch versions (#1907)
Contributors
We'd like to thank the following people for their contributions:
GitHub, Jérémie Bresson, Max Rydahl Andersen, Michael Vorburger, Tako Schotanus, Tamas Cservenak, Werner Fouché, Yassine Benabbas!
v0.122.0
A holiday release where we:
- add
--no-integrations
flag together with//NOINTEGRATIONS
directive if you have a project where you do NOT want jbang to run any jbang integrations - Finally, we decided that since we are about to enter 2025, it's time that JBang defaults to adding
-parameters
tojavac
so parameter names are always available. Most frameworks today assumes that is set - so lets make it easy.
🚀 Features
- 1b2b928 feat: add --no-integrations option (#1875)
- 5d794a7 ensure -parameters is set for javac (#1877)
🐛 Fixes
- b6a1ccf fix: report.yml indent
🧰 Tasks
- b651c44 [minor] relase
- 25aeabc enable annotation on forked repos
- 1d4c7af add wfouche as a contributor for doc (#1884)
- 70dfe33 (docs) show that Kotlin 2.0.21 is supported (#1883)
- 5d794a7 ensure -parameters is set for javac (#1877)
- 55c6cf0 add comment for test reports
- 8600301 Fixes for --preview option and using build.jbang (#1879)
- ae55c05 Fix whitespace in dependencies.adoc (#1871)
Contributors
We'd like to thank the following people for their contributions:
GitHub, Jérémie Bresson, Max Rydahl Andersen, Tako Schotanus, Werner Fouché, allcontributors[bot], renovate[bot]
v0.121.0
v0.120.4
Reaching 120!
Honoring transitive dependencies managed setup
JBang will now (like Maven 4) honor transitive dependencies managed dependencies. This is probably how many think and expect dependencies to be resolved, but this is not the case for Maven 3 nor the previous JBang version. If you already use explicitly managed dependencies then that still wins, it is only that transitive dependencies now will be managed if transitive dependencies have a managed dependency section.
Example:
jbang info tools io.quarkus:quarkus-tls-registry-cli:3.15.1
would resolve jackson-core-2.16.1
in past but now resolve jackson-core-2.17.2
as the quarkus-tls-registry-cli
has a managed pom.
Ignore transitive repositories
Another possible surprise is that transitive dependencies can add maven repositories into the resultion chain. Often that is fine, but in some cases you want to ensure only your own configured repositories gets honored.
To enable this there is now a --itr
or --ignore-transitive-repositories
flag.
Restored jitpack support
jitpack stopped supporting fetching HEAD snapshot, now we fallback to main-SNAPSHOT
allowing jitpack dependencies via github URLs 'just work' as long as the repos branch name is main
.
What's Changed
- fix: Markdown files now handled properly on Windows by @quintesse in #1856
- fix: fixes issue with too long command lines on windows by @quintesse in #1862
- fix: fix dependency resolution re depMgmt by @cstamas in #1853
- fix: avoid noisy jshell logging in dockerfile by @maxandersen in #1841
- docs: add prerequisite Java 11 version to build by @apupier in #1866
- add wfouche as a contributor for code by @allcontributors in #1863
- Update and fix qrest cute template by @yostane in #1845
- add yostane as a contributor for code by @allcontributors in #1867
- fix: document default command better by @maxandersen in #1844
- chore(deps): update Kotlin to 2.0.21 by @wfouche in #1860
- fix: fixes
InaccessibleObjectException
in tests on JDK 17+ by @quintesse in #1868 - feat: Improve error message to know where to place --verbose option by @apupier in #1865
- fix: use main-SNAPSHOT as best-effort fallback for jitpack by @maxandersen in #1843
- feat: Introduce itr option by @cstamas in #1820
New Contributors
- @apupier made their first contribution in #1866
- @yostane made their first contribution in #1845
- @wfouche made their first contribution in #1860
Full Changelog: v0.119.0...v0.120.4
v0.119.0
v0.118.0
new feature:
- linux now available as a provider of jdks to detect already installed jdks
notable fixes:
- Kotlin stdlib now added by default for kotlin runs
- Foojay.io errors are now always reported as github actions users seeing failures not reproducible elsewhere.
Changelog
🚀 Features
🐛 Fixes
- 6e342c9 fix: transparently add kotlin-stdlib to the deps based on the configured kotlin version
- f385183 fix: provide error info from foojay when listing/fetching JDK's (#1824)
🧰 Tasks
- c8e5834 chore: fix typo
- 3d5daa0 chore(deps): update dependency gradle to v8.9 (#1807)
- 9a2a13a chore(deps): update jbangdev/jbang-action docker digest to 8095495 (#1768)
- 99a9119 chore(deps): update github-actions (#1798)
- 1e2e4d0 chore(config): migrate config renovate.json (#1827)
- 3797d78 chore: add initial releasecheck file
🛠 Build
- a0b3fe4 build: use proper qute artifact name
- 1d06b0e build: dont update qute higher than what can run on java 8
- e72e466 test: add test for runkotlin
📝 Documentation
Contributors
We'd like to thank the following people for their contributions:
GitHub, Max Rydahl Andersen, Tako Schotanus, evanchooly, k-klemmer, renovate[bot]
v0.117.1
v0.117.0
Main new feature thanks to @cstamas is you can now use @fatjar
which comes from maven4 to express the jar dependency should not download transitive dependencies defined for it. Useful for jars that has shaded in all its dependencies.
Furthmore JBANG_LAUNCH_CMD
is now available to be able to know which jbang command was used to launch the jbang script with. Thanks to @dsyer.
...and a bunch of small minor fixes.
Changelog
🚀 Features
- ccdae1d feat: introduce type 'fatjar' (#1800)
- a2ef5a7 feat: export an additional env var pointing to the location of jbang (#1811)
🐛 Fixes
- b8f9591 fix: export portable --force now works (#1821)
- 0461c57 fix: Filter 'app list' output by executable (#1783)
- cdb99ff fix: make sure native build honors the
--fresh
flag (#1788) - e835e50 fix: no longer get an exception when using option names as values (#1790)
🧰 Tasks
- 28ad5a8 chore: made
version --verbose
more verbose (#1794) - d863c33 chore(deps): update github-actions (#1765)
- 792e83e chore(deps): update dependency gradle to v8.7 (#1764)
- 70d9e53 chore(deps): pin github/codeql-action action to 4355270 (#1796)
🛠 Build
- b58b6a0 build: update to codeql v3
- d739694 [minor] relase
- cd2bf0f add dsyer as a contributor for code (#1819)
- 79480ab Upgrade (c) to 2024 in CLI (#1789)
Contributors
We'd like to thank the following people for their contributions:
Claus Ibsen, Dave Syer, GitHub, Igor, Max Rydahl Andersen, Tako Schotanus, Tamas Cservenak, allcontributors[bot], renovate[bot]
v0.116.0
This release adds jbanghub catalog in by default. Meaning jbang catalog list
now provides easy access to list of catalogs. See more at https://github.com/jbanghub.
JBang automatic java downloading now works on riscv64 and 32-bit arm systems thanks to @sxa.
Changelog
🚀 Features
🐛 Fixes
- c26de98 fix: 32-bit arm architecture detection missing (#1773)
- eceb5c1 fix: fixes for handling more 3xx codes and not asking for trust twice (#1771)
📝 Documentation
Contributors
We'd like to thank the following people for their contributions:
GitHub, Julien Ponge, Max Rydahl Andersen, Stewart X Addison, Tako Schotanus, allcontributors[bot]
v0.115.0
About time we have the first release of 2024!
This one has a good set of fixes and a few cleanup fixes around Aliases, Catalogs and app installs.
First, a (small) breaking change:
Aliases now get arguments appended instead of overwritten.
i.e. before you made an alias like:
jbang alias add
--name=color_sqlline \
--deps com.oracle.database.jdbc:ojdbc8:23.3.0.23.09,com.h2database:h2:2.0.204 \
sqlline:sqlline:1.12.0 --color=true
and call it jbang color_sqlline --nullValue='***'
the --color=true
would not apply.
That is now the case.
We should have done that from the beginning. It is more natural. Thank you to @robin-a-meade for reminding us!
Second, app installs now can specify build arguments to make it possible to have different commands with different build input.
For example specify system properties to change a version for a dependency.
Finally, catalogs now support import, i.e. jbang catalog add --import jbanghub
will import all the alias, catalogs, templates etc. in the jbanghub
catalog making it directly available without having to add @jbanghub
to the name.
To do this some of the list commands and how catalog names are treated have been unified so things looks the same and can be accessed consistently.
Changelog
🚀 Features
- 8855f35 feat!: alias arguments are now appended (#t)
- 7380851 feat: allow setting build/run options for
app install
(#1754) - b9f8412 feat: extended syntax for catalog references (#1756)
🐛 Fixes
- d5dfb8c fix: taking tabs into account as seprator for tag values (#1759)
- bd0c49a fix: typo in edit message (#1722)
- c1fff3d fix: Edit wasn't updating Gradle build files correctly (#1728)
- 7a8bc7d fix: fixed filename extraction from URL (#1742)
- abc3c23 fix: support references with slashes. (#1731)
🧰 Tasks
- fe45753 chore(deps): pin dependencies (#1762)
- 7d61581 chore: enable renovate per mgr and best practice
- d92cb15 chore: enable renovate per mgr and best practice
- aebb6d1 chore: update quarkus version in templates (#1757)
- 87c02ad chore: made rendering of lists less noisy (#1748)
- 38fa191 chore: updated java-properties library to 0.0.7 (#1752)
- 1657c47 chore(deps): update tj-actions/verify-changed-files action to v8 [security] (#1747)
- 314bcf2 chore: update deps (#1721)
- d662199 chore(deps): update tj-actions/verify-changed-files action to v7.2 [security] (#1725)
- f5d8300 chore: added descriptions to some edit command flags (#1727)
- 826755c [minor] relase
- 3a11634 Catalog command improvements (#1743)
- 9f47346 add tarilabs as a contributor for code (#1744)
- 08a80ee add timfel as a contributor for code (#1739)
Contributors
We'd like to thank the following people for their contributions:
GitHub, Matteo Mortari, Max Rydahl Andersen, Tako Schotanus, Tamas Cservenak, Tim Felgentreff, allcontributors[bot], renovate[bot]