Releases: RelativityMC/C2ME-fabric
0.3.0+rc.2
C2ME 0.3.0 Release Candidate 2 for Minecraft 1.21.3 is released
The second release candidate, fixing critical issues. Please put this RC through testing, as your feedback is invaluable in finding any remaining critical issues.
Changelog since 0.3.0+rc.1
:
- fix: absurdly high scheduling latency on Windows
0.3.0+rc.1
C2ME 0.3.0 Release Candidate 1 for Minecraft 1.21.3 is released
The first release candidate. Please put this RC through testing, as your feedback is invaluable in finding any remaining critical issues.
Changelog since 0.3.0+beta.2
:
- fix(nativeaccel): workaround compiler bug in some versions of clang
- fix(dfc): avoid disconnecting caches
- change: enable dfc by default once again
0.3.0+beta.2
C2ME Preview channel 0.3.0+beta.2 for Minecraft 1.21.3 is released
The second preview release, fixing critical issues.
Changelog since 0.3.0+beta.1:
- fix: very rare NPE in SchedulingManager#getPriority
- fix: gcFreeChunkSerializer with ioSystem.replaceImpl disabled
- fix: abysmal tectonic performance with density function compiler (now 30% faster)
- change: disable density function compiler by default
- change: adjust thread count allocation
Full Changelog: 0.3.0+beta.1...0.3.0+beta.2
0.3.0+beta.1 changelog: https://github.com/RelativityMC/C2ME-fabric/releases/tag/0.3.0%2Bbeta.1
0.3.0+beta.1
C2ME Preview channel 0.3.0+beta.1 for Minecraft 1.21.3 is released
The first preview release.
Changelog:
- build: 1.21.3
- perf: chunk system rewrite
- perf: native acceleration v2
- perf: density function compiler v0 (#361)
- perf: optimize aquifer heavily
- perf: consolidate light update notifications
- perf: improve idle loop for storage threads
- perf: reduce GC pressure
- new: further increase maximum render distance
- new: add ext_render_distance_v1 protocol for 127+ RD multiplayer
- new: log changed settings on startup
- new: actually unload POI
- new: uncap render distance in VulkanMod
- fix: mitigate ghost mushroom past simulation distance
- fix: improve player ticket consistency
- change: use twice the parallelism for notickvd max concurrent loads
Full changelog: 0.2.0+alpha.11...0.3.0+beta.1
0.2.0+alpha.11
C2ME 0.2.0+alpha.11 for Minecraft 1.20.1 is released
This release improves overall stability and performance.
Changelog:
- perf: reduces allocation pressure in scheduling
- perf: rewrites chunk priority system to better handle urgent loads
- perf: improves notickvd loading mechanism
- perf: do not depend on server thread to complete
EMPTY
state - perf: improve chunk transition speed with threaded worldgen
- new: chunk cancellation mechanism with threaded worldgen
- new: allow recover from errors in async io (disabled by default)
- new: experimental GC-Free chunk serializer (disabled by default)
- fix: a native leak by unclosed Inflaters and Deflaters
- fix: remove profiler usage in upgradeChunk to prevent issues
- fix: upgrade visibility of a mixin method to fix some incompatibiliy issues (#207)
- fix: incorrect random instance derive
- fix: prevent async save and saveAll
- fix: non-atomic player chunk position tracking in notickvd
- fix: mushrooms as ghost blocks in strange places with
fabric-biome-api-v1
(#222) - change: makes CheckedThreadLocalRandom message more clear
- change: disable reduced lock radius debugging
Full Changelog: 0.2.0+alpha.10...0.2.0+alpha.11
For 1.20.2 builds: https://ci.codemc.io/job/RelativityMC/job/C2ME-fabric/job/ver%252F1.20.2/
0.2.0+alpha.10
C2ME 0.2.0+alpha.10 for Minecraft 1.19.3 is released
This small release improves overall stability and fixes some bugs.
Changelog:
- Updates to 1.19.3
- perf: Optimizes needsBlending lookup to reduce unnecessary storage I/O and unnecessary stalls during worldgen
- fix: Disables surface builder alloc optimization when qfapi is present
- fix: Fixes some startup issues on extremely low-end devices
- fix: Fixes improper "unsafe async ServerWorld full chunk requests" handling
- change: Replaces panics with warnings when the disk is too slow when using the new optimized I/O system
- change: Enables new optimized I/O system only if the parallelism is set to 2 or above
- change: Raises soft- and hard- limits for vanilla storage cache
Full Changelog: 0.2.0+alpha.9...0.2.0+alpha.10
0.2.0+alpha.9.12
This release serves as a hotfix for any 1.19.3 versions of C2ME. As this contains out of cycle changes staged for the next alpha release it is not recommended you build this unless you're running 1.19.3.
This build contains a critical hotfix for users of Quilt. IF YOU ARE USING 1.19.3 AND QUILT UPDATE IMMEADENTLY TO PREVENT A KNOW ISSUE OF INPROPER GENERATION OF NEW CHUNKS. We are not aware of any effects on existing chunks from this issue.
0.2.0+alpha.9
C2ME 0.2.0+alpha.9 for Minecraft 1.19.2 is released
This small release improves overall stability, fixes some bugs and adds some features.
Changelog:
- Updates to 1.19.2
- Fixes some default configuration generation issues
- Try to catch off-thread access to world random to provide more information for
java.lang.IllegalStateException: Accessing LegacyRandomSource from multiple threads
- More aggressive chunk unloading to help mitigate memory issues
- Fixes some crashes related to ticket level updates
- Enables
ioSystem.replaceImpl
by default on non-Windows systems - Allows overriding default parallelism calculation
Full Changelog: 0.2.0+alpha.8...0.2.0+alpha.9
0.2.0+alpha.8
C2ME 0.2.0+alpha.8 for Minecraft 1.19 is released
This release improves overall performance and stability and fixes some bugs.
Changelog:
- Updates to 1.19
- Makes C2ME modular
- Optimizes sync loads a bit with priority system
- Implements chunkload cancellation mechanism
- Makes teleporting lag less
- Improves server shutdown times
- .. and more
- Improves the handling of async chunkload requests on WorldGen threads to fix some rare deadlock issues
- Some micro-optimizations for math used by world generation
- Improves mobcaps consistency by filtering out mobs in no-tick chunks when calculating mobcaps
- Makes the new IO system implementation priority-aware
(the new IO system can be enabled manually withioSystem.replaceImpl
in config) - Client: The default max view distance is now determined by the JVM type and the memory allocated to Minecraft.
Notes:
- The calculation of default parallelism has been changed to be more reasonable.
This means that some features may get re-enabled again by default if you are on a relatively lower-end devices
Full Changelog: 0.2.0+alpha.7...0.2.0+alpha.8
EDIT: 0.2.0+alpha.8.2 patch for 1.19 has been released:
- Enables
ioSystem.replaceImpl
by default - Fixes thread count calculation for threaded worldgen
0.2.0+alpha.7
C2ME 0.2.0+alpha.7 for Minecraft 1.18.2 is released
This release improves overall performance and stability and fixes some bugs.
Changelog:
- Optimizes entity filtering in no-tick chunks to reduce lag when tons of entities in no-tick chunks
- Disables perlin noise vectorization with Vector API due to performance issues in JDK17
- Optimizes perlin noise with 25% speedup over vanilla
- Optimizes aquifer without changing vanilla behavior
- Rewrites chunk IO system focused on overall throughput
(can be enabled manually withioSystem.replaceImpl
in config) - Adds parallel scheduling to further reduce server thread load
(can be enabled manually withasyncScheduling.enabled
in config) - Re-enabled noise caching in The End dimension when lithium is present
- Allows changing auto-save behavior
Now defaults to saving chunks after ticking with periodical saving
You can still use the original vanilla behavior or revert to pre-1.18 behaviors in config - Fixes high cpu usage on scheduler thread when idle
- Fixes large lag in singleplayer creating world screen.
- Fixes compatibility issues with lithium 0.7.8 and later
- Fixes some crashes with certain datapacks and mods
Notes:
- The calculation of default parallelism has been changed to reduce stuttering in singleplayer worlds.
This means that some features may get disabled if you are on a relatively lower-end devices.
You can always re-enable them manually in config.
Full Changelog: 0.2.0+alpha.6...0.2.0+alpha.7