Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump com.github.cryptomorin:XSeries from 12.1.0 to 13.0.0 #91

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 3, 2025

Bumps com.github.cryptomorin:XSeries from 12.1.0 to 13.0.0.

Release notes

Sourced from com.github.cryptomorin:XSeries's releases.

v13.0.0

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.0.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.0.0")
}

[!IMPORTANT] Don't forget to shade the library.


Happy new year!

[!IMPORTANT]

XReflection

About

For the past few months I've been working on XReflection extensively. XReflection first started as a small group of classes that's designed for Minecraft in mind specifically. It makes other classes that require reflection much easier. However, I've been improving it a lot that simplifies this process, each simplification is in a stage. There are a total of five stages and currently 4 of them are implemented. All these steps were mostly a proof-of-concept for the 5th and final stage. This final stage allows developers to seamlessly use NMS/CraftBukkit classes across multiple versions, using real constructors, fields and methods, whether private, protected or public, with compile-time checked types and almost zero overhead.

Future Plans

XSeries packaged JAR is currently 700kb and 200kb belongs to the XReflection classes. Since XReflection is becoming too big for this project, and frankly, even becoming an offtopic project, I'm planning to split it into its own project. However, XSeries will continue to use the stage I and stage II of XReflection as a dependency, but unnecessary classes will be excluded to decrease the JAR file size. This new project will use Gradle as its build system as it's going to be multimodule with its own custom IntelliJ plugin to make things easier. For now, XReflection will remain in XSeries until the preparations are done.

Paper's Reflection Remapper

Also, I've just saw this after finishing the stage IV (ASM generated classes), but it seems like Paper also has a similar project named Reflection Remapper which uses a similar interface-based system as well. However, there are some features that is missing from that project:

  • ReflectionRemapper uses raw Java proxies (similar to Stage III - ReflectiveProxy in our project) but we also have ASM-generated classes as well which will improve performance significantly with almost zero overhead.

... (truncated)

Commits
  • ee8f5f9 v13.0.0
  • 79dc6f9 Merge pull request #320 from IanTapply22/wrong-value-change-maxheight
  • 37e572a Fix setting of wrong minHeight value
  • b51d9fd Javadocs + Contract + XReflection String Signatures
  • f6210b7 XReflection Stage IV - ASM Mode
  • 58a2929 Minor fixes and cleanup
  • 21304db Reduce code duplicate of ReflectedObject
  • 43d2520 XReflection - Stage III - Proxification
  • 6ccb4f4 Some JavaDocs
  • b8b6c86 Unit Test + Code practices improvements
  • 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 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 <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 [com.github.cryptomorin:XSeries](https://github.com/CryptoMorin/XSeries) from 12.1.0 to 13.0.0.
- [Release notes](https://github.com/CryptoMorin/XSeries/releases)
- [Commits](CryptoMorin/XSeries@v12.1.0...v13.0.0)

---
updated-dependencies:
- dependency-name: com.github.cryptomorin:XSeries
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 3, 2025
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants