Skip to content

Support compatibility mode in GraalVM#811

Merged
vjovanov merged 1 commit intomasterfrom
vj/support-compatibility-mode-preserve
Jan 15, 2026
Merged

Support compatibility mode in GraalVM#811
vjovanov merged 1 commit intomasterfrom
vj/support-compatibility-mode-preserve

Conversation

@vjovanov
Copy link
Member

@vjovanov vjovanov commented Jan 13, 2026

And the debug method in the feature was pulling in hosted code into runtime code which was crashing native image. So we made it a separate class and functionality.

Fixes: #812

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jan 13, 2026
@vjovanov vjovanov force-pushed the vj/support-compatibility-mode-preserve branch 2 times, most recently from da559f7 to d6bd052 Compare January 13, 2026 00:49
@vjovanov vjovanov requested a review from jormundur00 January 13, 2026 15:57
jormundur00
jormundur00 previously approved these changes Jan 14, 2026
@vjovanov vjovanov force-pushed the vj/support-compatibility-mode-preserve branch 2 times, most recently from d53f3a2 to 88e44f1 Compare January 15, 2026 07:35
@melix
Copy link
Collaborator

melix commented Jan 15, 2026

Isn't it doing exactly what we always said that library authors shouldn't do? (add flags in native-image.properties)?

@vjovanov vjovanov force-pushed the vj/support-compatibility-mode-preserve branch from 88e44f1 to bf4c894 Compare January 15, 2026 08:03
@vjovanov
Copy link
Member Author

@melix this is a good point. The matter is that -H:+CompatibilityMode spawns two different behaviors for Native Image.

The alternative is to simply ignore all of the --initialize-at-build-time and --features flags in Native Image when -H:+CompatibilityMode is enabled.

@melix
Copy link
Collaborator

melix commented Jan 15, 2026

The alternative is to simply ignore all of the --initialize-at-build-time and --features flags in Native Image when -H:+CompatibilityMode is enabled.

This sounds like a better fix to me.

@vjovanov vjovanov force-pushed the vj/support-compatibility-mode-preserve branch from bf4c894 to 89c5a62 Compare January 15, 2026 09:29
@vjovanov
Copy link
Member Author

OK, this PR now only fixes the issues with hosted elements.

@vjovanov vjovanov force-pushed the vj/support-compatibility-mode-preserve branch from 89c5a62 to 1ba5ebc Compare January 15, 2026 11:36
Copy link
Member

@jormundur00 jormundur00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vjovanov vjovanov merged commit 06737b9 into master Jan 15, 2026
561 checks passed
@vjovanov vjovanov deleted the vj/support-compatibility-mode-preserve branch January 15, 2026 13:43
mergify bot added a commit to robfrank/linklift that referenced this pull request Jan 25, 2026
…1.3 to 0.11.4 [skip ci]

Bumps [org.graalvm.buildtools:native-maven-plugin](https://github.com/graalvm/native-build-tools) from 0.11.3 to 0.11.4.
Release notes

*Sourced from [org.graalvm.buildtools:native-maven-plugin's releases](https://github.com/graalvm/native-build-tools/releases).*

> 0.11.4
> ------
>
> What's Changed
> --------------
>
> * Release 0.11.3 by [`@​graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#797](https://redirect.github.com/graalvm/native-build-tools/pull/797)
> * Bump version to 0.11.4-SNAPSHOT by [`@​graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#799](https://redirect.github.com/graalvm/native-build-tools/pull/799)
> * Generate dynamic access metadata and provide it to the classpath when passing "--emit build-report" as a build argument by [`@​jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#795](https://redirect.github.com/graalvm/native-build-tools/pull/795)
> * Fix relativlization bug by [`@​melix`](https://github.com/melix) in [graalvm/native-build-tools#792](https://redirect.github.com/graalvm/native-build-tools/pull/792)
> * Fix wrong property name in the maven plugin documentation by [`@​jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#808](https://redirect.github.com/graalvm/native-build-tools/pull/808)
> * Enhance Project Documentation and Testing by [`@​vjovanov`](https://github.com/vjovanov) in [graalvm/native-build-tools#791](https://redirect.github.com/graalvm/native-build-tools/pull/791)
> * Support compatibility mode in GraalVM by [`@​vjovanov`](https://github.com/vjovanov) in [graalvm/native-build-tools#811](https://redirect.github.com/graalvm/native-build-tools/pull/811)
> * Update reachability metadata to 0.3.33 by [`@​graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#814](https://redirect.github.com/graalvm/native-build-tools/pull/814)
> * Release 0.11.4 by [`@​graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#815](https://redirect.github.com/graalvm/native-build-tools/pull/815)
>
> New Contributors
> ----------------
>
> * [`@​jormundur00`](https://github.com/jormundur00) made their first contribution in [graalvm/native-build-tools#795](https://redirect.github.com/graalvm/native-build-tools/pull/795)
>
> **Full Changelog**: <graalvm/native-build-tools@0.11.3...0.11.4>


Commits

* [`cfa42b8`](graalvm/native-build-tools@cfa42b8) Merge pull request [#815](https://redirect.github.com/graalvm/native-build-tools/issues/815) from graalvm/release/0.11.4
* [`0db3ae0`](graalvm/native-build-tools@0db3ae0) Release 0.11.4
* [`ea4d521`](graalvm/native-build-tools@ea4d521) Merge pull request [#814](https://redirect.github.com/graalvm/native-build-tools/issues/814) from graalvm/update-metadata-to-0.3.33
* [`c773ff7`](graalvm/native-build-tools@c773ff7) Update reachability metadata to 0.3.33
* [`06737b9`](graalvm/native-build-tools@06737b9) Merge pull request [#811](https://redirect.github.com/graalvm/native-build-tools/issues/811) from graalvm/vj/support-compatibility-mode-preserve
* [`1ba5ebc`](graalvm/native-build-tools@1ba5ebc) Avoid reaching hosted elements with -H:Preserve=all
* [`ffb728f`](graalvm/native-build-tools@ffb728f) Merge pull request [#791](https://redirect.github.com/graalvm/native-build-tools/issues/791) from graalvm/vj/project-documentation-and-testing
* [`c6ff0a2`](graalvm/native-build-tools@c6ff0a2) Merge pull request [#808](https://redirect.github.com/graalvm/native-build-tools/issues/808) from jormundur00/jormundur00/[gh-807](https://redirect.github.com/graalvm/native-build-tools/issues/807)
* [`aafd2e6`](graalvm/native-build-tools@aafd2e6) Fix wrong property name in the maven plugin documentation
* [`ae4b8eb`](graalvm/native-build-tools@ae4b8eb) Fix relativlization bug ([#792](https://redirect.github.com/graalvm/native-build-tools/issues/792))
* Additional commits viewable in [compare view](graalvm/native-build-tools@0.11.3...0.11.4)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=org.graalvm.buildtools:native-maven-plugin&package-manager=maven&previous-version=0.11.3&new-version=0.11.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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-automerge-start)
[//]: # (dependabot-automerge-end)
---
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support GraalVM compatibility mode

3 participants