Skip to content

Bump org.teavm from 0.14.1 to 0.15.0#75

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/org.teavm-0.15.0
Open

Bump org.teavm from 0.14.1 to 0.15.0#75
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/org.teavm-0.15.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 19, 2026

Copy link
Copy Markdown
Contributor

Bumps org.teavm from 0.14.1 to 0.15.0.

Release notes

Sourced from org.teavm's releases.

0.15.0

Bump minimum Java version to 17

Java 17 was released almost 5 years ago. Since the migration between post-8 versions does not bring as much pain as the migration from 8 to 11, it was decided to bump minimum Java version to 17. There are dependencies (like Jetty) that require Java 17 or higher. You can still compile your project with Java 11, but then when you need to run TeaVM with at least Java 17.

TeaVM public dependencies like JSO still compatible with Java 11.

New compiler extension API

Previously, TeaVM allowed describing the list of reflectable entries by extending ReflectionSupplier class and registering it using ServiceLoader convention. The problem with this approach was that the ReflectionSupplier API relied on compiler internals, which are not guaranteed to be stable.

0.15.0 introduces new public user-friendly API for introspecting compiler structures in reflection-style way. It does not include any compiler modules as dependencies. Additionally, this API adds more user-friendly fluent configuration, for example:

selectClasses(withAnnotation(MyReflectable.class))
    .reflectablePublicMembers()
    .foundByName();

Together with reflection definitions, there are two new extension points: ResourcePolicy and SubstibutionPolicy. The former allows to control which resources are included in the final bundle. The latter allows to substitute certain classes with TeaVM-specific implementation. Primary goal is to provide web-friendly implementations of classes that rely heavily on native routines.

Old APIs are now deprecated. Moreover, former META-INF/teavm.properties approach is no more supported: it was never documented and never considered public.

Improvements to reflection

Following APIs added:

  • java.lang.reflect.Proxy
  • java.lang.reflect.Executable#getParameterAnnotations
  • java.lang.reflect.Executable#getExceptionTypes

Also, this version fixes a bug with calling async methods via reflection.

Improvements to Wasm GC backend

New internal representation for Wasm instructions

TeaVM added support for WebAssembly in early pre-MVP stages. Back then early proposals relied on expression-based (tree) syntax for method bodies. Later, the committee change it with instruction-based (flat) syntax, but TeaVM never had a chance to switch to this one, performing conversion right at the stage of WebAssembly binary format emission. Now, TeaVM finally closes this gap and represents WebAssembly instructions as is, which allows more efficient code generation.

As an example, TeaVM starts utilizing local.tee instruction instead of pairs of local.set/local.get, which in turn can decrease module size by up to 1%.

Replace try with try_table instruction

Exception handling support in WebAssembly had made a thorny way, with at least one deprecation. TeaVM witnessed this and stuck at the former (now deprecated) way to encode exceptions. Now TeaVM closes this gap as well and starts emitting new exception handling instruction. As a consequence, you will notice that Firefox does not log warnings when loading Wasm modules, produced by TeaVM.

Stop bundling TeaVM with IDEA plugin

... (truncated)

Commits
  • ee91b03 wasm gc: fix not resetting forced target type when visiting subexpressions wi...
  • de2d8aa Don't read compilation class path resources from class loaders
  • c436a8a Deprecate old internal extension APIs
  • a96e772 wasm gc: fix generation of invalid module when no resources registered by pro...
  • 0eb2cff Remove usage of not implemented method for use in bootstrap mode
  • c4d9da8 wasm gc: optimize "casting" to boolean
  • a68562c wasm gc: optimize case when conditional statement has only break statement
  • c913b00 wasm gc: improve generation of debug info
  • de7a1a4 wasm gc: optimize trivial cases in coroutine transformation, reduce number of...
  • c89ed26 Remove test with unknown purpose (perhaps, Windows-specific) which creates an...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [org.teavm](https://github.com/konsoletyper/teavm) from 0.14.1 to 0.15.0.
- [Release notes](https://github.com/konsoletyper/teavm/releases)
- [Commits](konsoletyper/teavm@0.14.1...0.15.0)

---
updated-dependencies:
- dependency-name: org.teavm
  dependency-version: 0.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants