Bump com.github.cryptomorin:XSeries from 11.3.0 to 13.0.0 #48

Closed
dependabot[bot] wants to merge 1 commit from dependabot/maven/com.github.cryptomorin-XSeries-13.0.0 into master
dependabot[bot] commented 2025-01-02 17:51:04 +01:00 (Migrated from github.com)

Bumps com.github.cryptomorin:XSeries from 11.3.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 11.3.0 to 13.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/CryptoMorin/XSeries/releases">com.github.cryptomorin:XSeries's releases</a>.</em></p> <blockquote> <h2>v13.0.0</h2> <h3>Maven</h3> <pre lang="xml"><code>&lt;dependency&gt; &lt;groupId&gt;com.github.cryptomorin&lt;/groupId&gt; &lt;artifactId&gt;XSeries&lt;/artifactId&gt; &lt;version&gt;13.0.0&lt;/version&gt; &lt;/dependency&gt; </code></pre> <h3>Gradle</h3> <pre lang="kotlin"><code>repositories { mavenCentral() } dependencies { implementation(&quot;com.github.cryptomorin:XSeries:13.0.0&quot;) } </code></pre> <blockquote> <p>[!IMPORTANT] Don't forget to <a href="https://github.com/CryptoMorin/XSeries#shading">shade</a> the library.</p> </blockquote> <hr /> <h1>Happy new year!</h1> <blockquote> <p>[!IMPORTANT]</p> <h1>XReflection</h1> <h2>About</h2> <p>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 <!-- raw HTML omitted -->multiple versions<!-- raw HTML omitted -->, using <!-- raw HTML omitted -->real constructors, fields and methods<!-- raw HTML omitted -->, whether <!-- raw HTML omitted -->private, protected or public<!-- raw HTML omitted -->, with <!-- raw HTML omitted -->compile-time checked types<!-- raw HTML omitted --> and almost <!-- raw HTML omitted -->zero overhead<!-- raw HTML omitted -->.</p> <h2>Future Plans</h2> <p>XSeries packaged JAR is currently <strong>700kb</strong> and <strong>200kb</strong> 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 <!-- raw HTML omitted -->split it into its own project<!-- raw HTML omitted -->. 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.</p> <h2>Paper's Reflection Remapper</h2> <p>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 <a href="https://github.com/jpenilla/reflection-remapper">Reflection Remapper</a> which uses a similar interface-based system as well. However, there are some features that is missing from that project:</p> <ul> <li>ReflectionRemapper uses raw Java proxies (similar to <strong>Stage III - ReflectiveProxy</strong> in our project) but we also have ASM-generated classes as well which will improve performance significantly with almost zero overhead.</li> </ul> </blockquote> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/CryptoMorin/XSeries/commit/ee8f5f999305c0d1bff2515639296a070726a8b9"><code>ee8f5f9</code></a> v13.0.0</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/79dc6f9a6519e803ca3b7a5f310d2ba0819f3be0"><code>79dc6f9</code></a> Merge pull request <a href="https://redirect.github.com/CryptoMorin/XSeries/issues/320">#320</a> from IanTapply22/wrong-value-change-maxheight</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/37e572a936110edbcd3bec161f9bbd4c88f74032"><code>37e572a</code></a> Fix setting of wrong minHeight value</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/b51d9fdce75529a9d39f596cffe46c8ce1e72dc0"><code>b51d9fd</code></a> Javadocs + Contract + XReflection String Signatures</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/f6210b7a9a1fd0332439251dad59dd71284e9332"><code>f6210b7</code></a> XReflection Stage IV - ASM Mode</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/58a2929a11b8931a15cf219479f18d1d0c978e52"><code>58a2929</code></a> Minor fixes and cleanup</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/21304db824af3cc07928cefaa763e97669f0dc48"><code>21304db</code></a> Reduce code duplicate of ReflectedObject</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/43d25200b1dc3deef6fc2be358f9db80ad9bb2dd"><code>43d2520</code></a> XReflection - Stage III - Proxification</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/6ccb4f46e847c19041778a3e45345d8e5185a261"><code>6ccb4f4</code></a> Some JavaDocs</li> <li><a href="https://github.com/CryptoMorin/XSeries/commit/b8b6c869d006f1987be58dc0746100a600d40abd"><code>b8b6c86</code></a> Unit Test + Code practices improvements</li> <li>Additional commits viewable in <a href="https://github.com/CryptoMorin/XSeries/compare/v11.3.0...v13.0.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.cryptomorin:XSeries&package-manager=maven&previous-version=11.3.0&new-version=13.0.0)](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) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details>
SBDeveloper closed this pull request 2025-03-27 19:52:38 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.