-
Bug
-
Resolution: Invalid
-
None
-
1.17.1, 21w38a
-
None
-
Unconfirmed
-
(Unassigned)
Checking libraries used by the latest snapshot via
find ~/.minecraft/libraries -type f -name '*.jar'
shows the following list of Maven artifacts:
~/.minecraft/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar ~/.minecraft/libraries/io/netty/netty-all/4.1.25.Final/netty-all-4.1.25.Final.jar ~/.minecraft/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar ~/.minecraft/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar ~/.minecraft/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar ~/.minecraft/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar ~/.minecraft/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar ~/.minecraft/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.14.1/log4j-slf4j18-impl-2.14.1.jar ~/.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar ~/.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.14.1/log4j-core-2.14.1.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-linux.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2-natives-linux.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-natives-linux.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-natives-linux.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-natives-linux.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2-natives-linux.jar ~/.minecraft/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar ~/.minecraft/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-linux.jar ~/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar ~/.minecraft/libraries/net/java/dev/jna/jna/5.8.0/jna-5.8.0.jar ~/.minecraft/libraries/net/java/dev/jna/jna-platform/5.8.0/jna-platform-5.8.0.jar ~/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar ~/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar ~/.minecraft/libraries/com/google/guava/guava/21.0/guava-21.0.jar ~/.minecraft/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar ~/.minecraft/libraries/com/mojang/blocklist/1.0.5/blocklist-1.0.5.jar ~/.minecraft/libraries/com/mojang/authlib/3.0.35/authlib-3.0.35.jar ~/.minecraft/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar ~/.minecraft/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar ~/.minecraft/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar ~/.minecraft/libraries/com/mojang/patchy/2.1.6/patchy-2.1.6.jar ~/.minecraft/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3-natives-linux.jar ~/.minecraft/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar ~/.minecraft/libraries/com/github/oshi/oshi-core/5.7.5/oshi-core-5.7.5.jar ~/.minecraft/libraries/com/ibm/icu/icu4j/66.1/icu4j-66.1.jar ~/.minecraft/libraries/it/unimi/dsi/fastutil/8.2.1/fastutil-8.2.1.jar ~/.minecraft/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar ~/.minecraft/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar
The problem is that most (if not all) of these are outdated.
Among the most critical ones are:
- netty-all 4.1.25.Final (the latest one is already 4.1.68.Final).
- guava 21 (the latest one is already 31.1.1).
- fastutil 8.21 (the latest one is already 8.56).
While this may be appropriate for Minecraft Client (as the user, at least, does not need to interact with these), this is critical for server implementations based on vanilla minecraft-server as they either have to use limited / more buggy / unstable APIs than the ones actually available (Guava being a good example here) or shade copies of latest versions under different packages.
In general, the possible lack of newer optimizations / fixes is also a problem (although not as serious) for clients.
Thus it seems reasonable to have all libraries updated (at least as part of 1.18, although it may be possible to backport it to 1.17) and the stable strategy to be set up for regular updates of these (GitHub's Dependabot being a good example of maintaining such a dynamic workflow).
- is duplicated by
-
MC-238876 Please update Gson and Guava!
- Resolved