Skip to content

Java25 support#176

Closed
Voyinno wants to merge 2 commits intoyWorks:masterfrom
Voyinno:java25-support
Closed

Java25 support#176
Voyinno wants to merge 2 commits intoyWorks:masterfrom
Voyinno:java25-support

Conversation

@Voyinno
Copy link
Copy Markdown
Contributor

@Voyinno Voyinno commented Jan 30, 2026

Add Java 25 Support

Summary

This PR adds support for Java 25 (class file version 69) to yGuard, including:

  • Accept major version 69 class files
  • Handle the new ACC_IDENTITY flag (shares bit value with ACC_SUPER)
  • Recognize, parse, and remap the new LoadableDescriptors attribute (preview feature)

Related Issues

Addresses issue 153

@thomasbehr
Copy link
Copy Markdown
Member

@Voyinno Thank you very much for your effort. It seems your work is based on this preliminary list of todos. However, as far as I can tell neither ACC_IDENTITY nor LoadableDescriptors made it into Java 25 (at least I can find no mention of either the access flag or the attribute in The Java Virtual Machine Specification, Java SE 25 Edition). But maybe that is because ACC_IDENTITY and LoadableDescriptors are preview features.
Can you maybe share actual Java code snippets and the corresponding compiler commands to generate class files that use ACC_IDENTITY or LoadableDescriptors or both?

@Fohlen
Copy link
Copy Markdown
Member

Fohlen commented Mar 4, 2026

A bit of an oddball but for security reasons GitHub does not run CI on foreign commits. We should run all examples to verify these changes @thomasbehr

@yGuy
Copy link
Copy Markdown
Member

yGuy commented Mar 4, 2026

This was likely a bot-generated PR. The OP does not answer, the implementation looks like it was just using my preliminary todo list and did not check whether this is actually implemented. We can probably ignore it.

What model were you using @Voyinno ?

@Voyinno
Copy link
Copy Markdown
Contributor Author

Voyinno commented Mar 5, 2026

Hi, Apologies for the late response. @yGuy I used Claude Opus 4.5 to draft the initial PR and then modified it myself, but I ended up pushing the wrong branch with the unverified changes.
I updated the commits.

@thomasbehr thomasbehr closed this Mar 18, 2026
@thomasbehr thomasbehr reopened this Mar 18, 2026
@thomasbehr
Copy link
Copy Markdown
Member

Manually merged pull request after testing changes locally.

@thomasbehr thomasbehr closed this Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants