Skip to content

Releases: jbangdev/jbang

v0.100.1

17 Nov 23:19
Compare
Choose a tag to compare

Kotlin support was broken as its compiler don't support -g for debug symbols. Now fixed - sorry for the troubles!

🐛 Fixes

  • 35d2038 only add -g for javac invocations.

Contributors

We'd like to thank the following people for their contributions:
evanchooly, Tako Schotanus, Max Rydahl Andersen

v0.100.0

08 Nov 15:27
Compare
Choose a tag to compare

JBang is now a 100!

Fix missing authentication for Maven repositories

And this release fixes a regression where auth settings from ~/.m2/.settings.xml got ignored. Now they don't. Meaning by having the following in your ~/.m2/settings.xml:

...
<servers>
    <server>
      <id>github</id>
      <username>${env.GITHUB_ACTOR}</username>
      <password>${env.GITHUB_TOKEN}</password>
    </server>
  </servers>
...

which is the default case in GitHub actions jbang will once again work when using repositories that require authentication - which is the case for GitHub packages.

Compile and runtime flags

JBang now has -C and -R for setting compile and runtime flags.

This release adds debugging by default (i.e. running javac with -g). If you don't want that you can run with -C=-g:none. Turned that on because it allows then easy debugging - and it is what is the default for Maven and Gradle.

Download specific JBang version

Also added support for setting JBANG_DOWNLOAD_VERSION environment variable to allow installing arbitrary jbang versions. i.e.

curl -Ls https://sh.jbang.dev | JBANG_DOWNLOAD_VERSION=0.48.0 bash -s - app setup

Will (if no other jbang available on your system) install JBang 0.48 - the earliest JBang that had support for installing this way.

Enjoy!

Changelog

🚀 Features

  • 1649814 honor JBANG_DOWNLOAD_VERSION in bootstrap setup (#1505)
  • 6e6312d added support for specifying native options (#1494)
  • 876a540 enable -g by default + allow -g=vars,lines,source,none (#1479)

🐛 Fixes

  • cd1f71f ensure cache jdks directory exists before creating link (#1503)
  • 5227a95 apply auth from global settings to repositories and use ~/.m2/settings.xml as global rather than user settings (#1506)
  • 192972e now actually passing native options to nativeimage

📝 Documentation

  • d453045 Explain how you can install an existing jdk (#1487)
  • dae3dff update links to the Conventional Commits spec (#1488)

Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, oliv37, Max Rydahl Andersen, GitHub, Jérémie Bresson, allcontributors[bot]

v0.99.1

13 Oct 15:48
Compare
Choose a tag to compare

Changelog

In our move from Shrinkwrap resolver to Aether we missed handling of special packaging types like @test-jar. Reported by @michael-simons and now fixed by @quintesse !

🐛 Fixes

  • 2edef92 the Aether resolver now uses packing types
  • 3dbb8f9 do not use daemon in ci build

📝 Documentation


Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, Ikko Ashimine, Max Rydahl Andersen, GitHub

v0.99.0

05 Oct 11:42
Compare
Choose a tag to compare

Enterprise JBang

JBang now fully support proxies and credentials to use with private/internal repositories. Something that was only partially working before. Settings will be read from ~/.m2/settings.xml and in future we might make more explicit setup available based on feedback.

This was enabled as we moved from Shrinkwrap to use direct Maven/Aether API which also helped reduce the size of jbang from 5.5 to 4.9 MB

In addition various fixes and improvements enabling better use of jbang, one particular is jbang info fixes that enables the recent new JBang Visual Studio code to be even more awesome. If you have not yet tried it do give it a go - enables to open vscode on any folder with JBang enabled .java code and thing like content assist and running with jbang Just Works. Absolutely the simplest and fastest way to start writing code in Java.

Changelog

🚀 Features

🐛 Fixes

  • a38cf87 fixed "app install" using path with spaces
  • e1f62dd fixes running installed apps on Windows
  • 4d6ab0e use //GAV for export mavenrepo (#1468)
  • 7c99280 check for recursion when running info
  • d983101 update to disco v3 endpoints
  • 10426e9 Fixed NPE when running info on a JAR file (#1452)

🛠 Build

📝 Documentation


Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, Max Rydahl Andersen, GitHub, Ilya, allcontributors[bot]

v0.98.0

02 Sep 14:32
Compare
Choose a tag to compare

New feature release!

MANIFEST

New //MANIFEST keyword to allow writing entries to META-INF/manifest.mf including supporting build time variables:

//MANIFEST version=${version:unknown}

will result in version=unknown by default and version=1.2 if built using jbang -Dversion=1.2 yourapp.java.

build.jbang (preview)

using jbang to building project is easy; what if you also want to run tests or other build related tasks. For that jbang are hitting its limits but we think there might be a few things we can do without forcing users to use maven/gradle/etc builds.

In this version we enabled build.jbang to be picked up and read the commands from that external file. We will evolve/change that format but at least you can try out jbang without having a single // directive in any of your .java files.

Changelog

🚀 Features

  • 65f5723 Added //MANIFEST option for source files (#1445)
  • 731399a added support for build.jbang project files
  • 9faf9f8 Hide .project/.classpath from virtual project in VS Code (#1430)

🐛 Fixes

  • 155c8aa force minimum java 11 for quarkus init
  • 55b7833 Bump picocli to 4.6.3 in doc and src
  • 94c48c1 Bump Quarkus 1.11.0.Final -> 2.11.2.Final
  • d76a13d change kotlinc's extension to .bat on Windows (#1434)
  • ce7595c typo in README.md.tpl (#1431)

♻️ Changes

  • d28b4f3 more central role for Project
  • 253a1af moved build-related code from RunContext to Project
  • e62f430 introduced the concept of Project

🧰 Tasks

  • 2515783 put new project features behind --preview option

Contributors

We'd like to thank the following people for their contributions:
YeungYeah, Michael Bornholdt Nielsen, Tako Schotanus, Ikko Ashimine, Max Rydahl Andersen, GitHub, Fred Bricon

v0.97.0

10 Aug 13:10
Compare
Choose a tag to compare

Changelog

Main thing is fix for jbang info tools so it works again enabling IDE integration to work!

But also interesting that jbang edit with vscodium will now install jbang-vscode
allowing you to call codium yourfolder and edit jbang based scripts apps without having to have build.gradle project generated.

🚀 Features

  • 37b6781 add jbang-vscode to codium + add usability vscode settings (#1427)

🐛 Fixes

  • 3af66d9 info tools again generates info for nested sources (#1426)

Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, Max Rydahl Andersen, GitHub

v0.96.4

03 Aug 14:10
Compare
Choose a tag to compare

Changelog

--native flag was broken/incomplete thus replace with jbang export native; this
patch release will explain to users what to do if they used the now removed option.

🧰 Tasks

  • e870607 add deprecation message for export --native (#1422)

Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, Max Rydahl Andersen, GitHub

v0.96.3

03 Aug 09:00
Compare
Choose a tag to compare

Changelog

Quick fix to have container images published properly.

🐛 Fixes

  • 6164750 formatting of docker readme

🧰 Tasks


Contributors

We'd like to thank the following people for their contributions:
Max Rydahl Andersen

v0.96.1

02 Aug 12:29
Compare
Choose a tag to compare

Changelog

Important fixes to have the Windows install/script work with systems with spaces.
And a fix that avoids problem of duplicate maven repos.

🐛 Fixes

  • 9968fff now correctly handling duplicate repos (#1419)
  • a18554b Add splatting for passing arguments in Powershell scripts
  • 0eecfbf remove unnecessary quotations for java binary

🧰 Tasks

  • d6bf941 (deps) update java-properties to 0.0.5

🛠 Build


Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, Max Rydahl Andersen, Gustavo Adolfo Rodriguez Libreros, GitHub, Gustavo Adolfo Rodríguez Libreros

v0.96.0

14 Jul 08:05
Compare
Choose a tag to compare

Lots of small bugfixes + stop generating class-path in jars that confuses graalvm native-image.

Changelog

🐛 Fixes

  • 5c5049d don't add Class-Path by default to JARs (#1398)
  • bfbb744 wrapper install now also copies jbang.ps1 (#1391)
  • b08c05b looking for compiler executables on Windows (#1395)
  • 077422d properly detect existing JDK on Macs
  • c89b4c5 fix problem with JDK paths containing spaces
  • 648fc02 fixed certain commands not validating input correctly (#1376)

♻️ Changes

  • 8d9582a fix typo in MarkdownSource.java
  • b4b5d32 small change to Builder API
  • 9fedad4 minor refactor of the IntegrationManager
  • 13df254 SourceSet no longer uses Source
  • 5455a89 minor refactor of RunContext
  • aadbb34 added manifest attributes to SourceSet
  • c1fb77e using less Optional
  • e2686a9 introduced BuildMixin

🧰 Tasks

  • 82d955c changed many File references to Path

🛠 Build

  • a77e83a added tests for additional deps and cp

📝 Documentation


  • a230f53 [minor] release
  • 5b5e364 Also reword //JAVA_OPTS to //JAVA_OPTIONS
  • 4fe2268 Small typo when referring to JAVAC_OPTIONS
  • 35056e8 Add test with --fresh and --repos

Contributors

We'd like to thank the following people for their contributions:
Tako Schotanus, Ikko Ashimine, Jeremie Bresson, Max Rydahl Andersen, GitHub, Nándor Holozsnyák, Jordi Sola