Download Latest Version restheart-windows-amd64.exe (166.2 MB)
Email in envelope

Get an email when there's a new version of RESTHeart

Home / 9.7.2
Name Modified Size InfoDownloads / Week
Parent folder
restheart-darwin-arm64 2026-08-11 161.3 MB
restheart-windows-amd64.exe 2026-08-11 166.2 MB
restheart-linux-amd64 2026-08-11 163.1 MB
restheart.tar.gz 2026-08-11 54.6 MB
restheart.zip 2026-08-11 54.6 MB
9.7.2 source code.tar.gz 2026-08-11 7.0 MB
9.7.2 source code.zip 2026-08-11 8.0 MB
README.md 2026-08-11 2.5 kB
Totals: 8 Items   614.8 MB 1

Release 9.7.2

Bug Fixes

JS plugins now work in Docker with GraalVM 25.x (#663)

JavaScript plugins were completely broken in the Docker image since GraalVM 25.x. Four separate bugs were identified and fixed:

  1. Classloader issue (Source.findLanguage): JS language discovery failed because plugins/lib/js-language-*.jar was invisible to the system classloader. Fixed by routing through PluginsClassloader.

  2. Removed GraalVM option: The js.commonjs-core-modules-replacements option was removed in GraalVM 25.x but RESTHeart still set it, causing every Context creation to fail.

  3. Virtual threads crash (ArrayIndexOutOfBoundsException): Truffle's DefaultContextThreadLocal doesn't support Java virtual threads ([oracle/graal#7520](https://github.com/oracle/graal/issues/7520)). Since RESTHeart uses virtual threads for request handling and plugin deployment, any polyglot Context operation crashed. Fixed by routing all Truffle operations through a dedicated platform thread ("RH JS PLT"), gated by the system property restheart.polyglot.force-platform-threads (default: true).

  4. Native image interceptor reflection: Intercept Point: null in native images caused by reachability-metadata.json registering the interceptPoint field on JSPlugin instead of JSInterceptor.

GraalVM native image fixes

  • Fixed plugin enabledByDefault annotation not being read in native images
  • Fixed null provider type in ProvidersChecker for native images
  • Added static metrics to native image configuration
  • Improved native image resource extraction and indexing
  • Added restheart-emails dependency to native image

Improvements

  • Dockerfile: Optimized JVM options for better performance in containers
  • Bootstrap logging: Improved consistency during startup
  • CI: Increased native image build timeout to 60 minutes

Known limitations

  • JS plugin execution is serialized on a single platform thread under concurrent load (performance trade-off for correctness). Full virtual thread parallelism will be restored when oracle/graal#7520 is fixed upstream (tracked in #665).
  • Escape hatch: -Drestheart.polyglot.force-platform-threads=false bypasses the workaround.

Dependencies

  • GraalVM: 25.1.3
  • Java: 25+
Source: README.md, updated 2026-08-11