Preview Engine 5.4.0 / Alpha 24 (Release Candidate 1)
Pre-release⚠️ Important Note ⚠️
This pre-release is not expected to work with Terasology Launcher <= 4.8.0 due to the included upgrade to Java 17
Special thanks to everyone that contributed to this pre-release:
@BenjaminAmos @Cervator @DarkWeird @engiValk @F14V10 @jdrueckert @Imitater967 @kaen @keturn @Khaled-Dridi @manumafe98 @MrGizmo123 @NikitasMaragkos @pollend @priya4991 @rzats @Sabo2k @sfavello @skaldarnar @soloturn @spookynutz @subjectnull
Changelog
🚀 Features
- #5248 ui: reduce button height to text field height (@jdrueckert)
- #5237 feat: make number of chunk processing threads configurable (@BenjaminAmos)
- #5238 feat: throttle chunk processing based on deadline (@BenjaminAmos)
- #5233 feat: make WorldConfigurator subscribable (@jdrueckert)
- #5208 feat: prevent serialisation of private component fields (@BenjaminAmos)
- #5168 test: split and improve ObjectFieldMapTypeHandlerFactoryTests (@jdrueckert)
- #5160 perf(rendering): use MONO rendering stage (@skaldarnar)
- #5156 Update Ukrainian locale with current strings (@rzats)
- #5128 feat: fix ExecutorCompletionService workaround in ChunkProcessingPipeline (@BenjaminAmos)
- #5107 Java 18 - do not set SecurityManager if unsupported (@BenjaminAmos)
- #5089 Update menu_en.lang (@NikitasMaragkos)
- #5073 feat: add check for facet provider requirements (@MrGizmo123)
🐛 Bug Fixes
- #5252 fix(Movement): water super jump bug (@engiValk)
- #5250 fix: fix server crash when executing console commands (@BenjaminAmos)
- #5245 fix(facades): fix command line args not working (@Imitater967)
- #5243 Windowedfullscreen fix (@Khaled-Dridi)
- #5211 Part fix for M1 support (@priya4991)
- #5163 fix: move readme images back into docs folder (@jdrueckert)
- #5158 Fix crash when system locale is complex (@rzats)
- #5145 fix: make entity dump filename windows compatible (@jdrueckert)
- #5083 fix: remove Rendering Module Settings screen (@skaldarnar)
✔️ Quality
- #5217 test: add private serialisation cases to type serialiser tests (@BenjaminAmos)
- #5209 qa: address PMD GuardLogStatement warnings (@soloturn)
- #5192 Terasology engine (@soloturn)
- #5181 qa: parametrize logger usages (@jdrueckert)
- #5180 revert: "qa: parametrize logger usages" (@jdrueckert)
- #5179 qa: consume TeraConfig v2.2.0 (@jdrueckert)
- #5178 Qa/engine tests (@soloturn)
- #5173 qa: parametrize logger usages (@jdrueckert)
- #5170 logger qa, use parameterized logger. (@soloturn)
- #5154 qa: fix typehandlerlibrary spotbugs findings (@soloturn)
- #5146 fix pmd warnings, codemetrics-2.1.0, gradle-8.4 (@soloturn)
- #5117 test(TypeHandler): More tests for empty collections (@skaldarnar)
- #5046 test(MTE): IntegrationEnvironment is the only annotation you need (maybe) (@keturn)
- #5045 test(StorageManager): Convert TTE tests to MTE (@keturn)
🧰 Maintenance
- #5241 chore: screen merge follow-ups (@jdrueckert)
- #5226 refactor: merge world config in setup screen (@jdrueckert)
- #5225 chore: update JNBullet to 1.0.4 (@skaldarnar)
- #5221 chore: remove year from idea copyright template (@jdrueckert)
- #5210 chore: consume gestalt v7.2.0 (@jdrueckert)
- #5193 remove logback RegexFilterAction, not supported any more. (@soloturn)
- #5191 refactor: component field visibility public (@jdrueckert)
- #5188 refactor: use logger instead of
System.out.println
(@soloturn) - #5175 refactor: remove unused local var for artifactview (@jdrueckert)
- #5165 chore: init metrics only if monitoring enabled (@jdrueckert)
- #5149 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
- #5131 chore: consume CrashReporter v5.0.0 (@jdrueckert)
- #5122 refactor: merge universe setup into world pregen screen (@jdrueckert)
- #5118 refactor: merge spawn preview screen into world pre generation screen (@jdrueckert)
- #5116 refactor!: remove multi-world support (@skaldarnar)
- #5115 refactor!: remove TeraEd facade (@skaldarnar)
- #5112 refactor: remove vr support (@jdrueckert)
- #5106 refactor(netork)!: rewrite ping logic (@skaldarnar)
- #4800 chore(persistence): replace transaction manager with Reactor (@pollend)
📚 Documentation
- #5249 doc: fix broken forum links (@jdrueckert)
- #5222 doc: link TypeHandlerLibrary readme (@jdrueckert)
- #5220 doc: guidance on PMD guard log statement warning (@jdrueckert)
- #5218 doc: remove gooey tour link (@jdrueckert)
- #5199 remove double javadoc, static is uppercase (@soloturn)
- #5184 doc: Contributor Quick Start JDK 17 (@jdrueckert)
- #5172 doc: fix broken links (@jdrueckert)
- #5164 doc: add link to docsified engine wiki (@jdrueckert)
- #5155 doc: move wiki content to docsify page (@skaldarnar)
- #5123 doc(facade/PC): add README (@skaldarnar)
- #5095 doc: update README (@sfavello)
- #5079 doc: document restrictions for BindButtonEvent (@skaldarnar)
⚙️ Logistics
- #5230 update gradle to support java-22 (@soloturn)
- #5231 introduce JUnit tag "flaky", to exclude tests from running. (@soloturn)
- #5207 slf4j 1.7.x --> 2.0.11 (@soloturn)
- #5204 prepare subprojects.settings.gradle for kotlin (@soloturn)
- #5203 migrate subprojects.build.grade to kotlin (@soloturn)
- #5202 convert engine-tests build.gradle to kotlin (@soloturn)
- #5197 convert main build.gradle to kotlin (@soloturn)
- #5196 convert engine build to kotlin (@soloturn)
- #5195 prepare switch over to kotlin, "new" java date formatting (@soloturn)
- #5194 sonar upgrade to 5.0.0 (@soloturn)
- #5189 gradle-8.5, full java-21 support. (@soloturn)
- #5162 Compile against Java 17 (@BenjaminAmos)
- #5153 Gradle deprecations (@soloturn)
- #5147 convert settings.gradle to kotlin (@soloturn)
- #5142 New Artifactory URL (@Cervator)
- #5141 build: update groovy wrapper (@jdrueckert)
- #5138 gradle 8.3, supporting java-21 via its kotlin dependency (@soloturn)
- #5137 build: Add Gradle task to assemble module build harness (@skaldarnar)
- #5119 ci: configure jenkins to abort builds if new builds are triggered (@jdrueckert)
- #5109 build(gradle): upgrade gradle 6.4.2 >>> 8.2.1 (@DarkWeird)
- #5097 ci: update autoclose file version and fix github username (@sfavello)
- #5091 build(distribution): re-enable SecurityManager in distributions running under Java 18 and above (@BenjaminAmos)
- #5080 ci: fix project-autoadd github action (@jdrueckert)
- #5071 ci: add workflow autoclosing issues with unresponsive authors (@jdrueckert)
- #5070 ci: add workflow to auto-add issues and PRs to projects (@jdrueckert)
Module Changelog
🚀 Features
Terasology/CoreRendering#77 feat(eyeAdaption): make eye adaption for propertly (@Imitater967)
Terasology/FlexiblePathfinding#8 feat: better debugging for pathfinding tasks (@kaen)
🐛 Bug Fixes
Terasology/CoreAdvancedAssets#7 Fix tooltip for Chest, Furnace and TNT (@subjectnull)
Terasology/CoreRendering#78 fix(rendering): fix bloom not working (@Imitater967)
Terasology/PolyWorld#44 build: fix mockito compilation errors in tests (@BenjaminAmos)
Terasology/Behaviors#115 Java 17 fixes (@BenjaminAmos)
Terasology/Index#19 Fix minor Gradle 8 upgrade issue (@Cervator)
✔️ Quality
Terasology/Caves#20 Qa/cs (@soloturn)
Terasology/BiomesAPI#20 qa: checkstyle, spotbugs (@soloturn)
Terasology/JoshariasSurvival#75 qa: fix checkstyle warnings, use parameterized logging statements (@soloturn)
Terasology/CoreRendering#76 Qa/checkstyle (@soloturn)
Terasology/Drops#14 qa: address annotation, line length, and javadoc warnings; update copyright (@soloturn)
Terasology/Explosives#12 qa: remove empty javadoc, update copyright (@soloturn)
Terasology/ModuleTestingEnvironment#78 Qa, pmd, checkstyle, intellij warnings addressed (@soloturn)
Terasology/Inventory#52 qa: checkstyle, pmd (@soloturn)
Terasology/FlexiblePathfinding#32 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
Terasology/CoreWorlds#45 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
Terasology/Inventory#51 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
Terasology/Health#105 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
Terasology/Furnishings#17 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
Terasology/CoreRendering#75 refactor: address IntelliJ QAPlug plugin findings (@jdrueckert)
🧰 Maintenance
Terasology/CoreRendering#80 refactor(vignette): use shader to create vignette instead of texture (@Imitater967)
Terasology/Tasks#32 Reformatting annotations of Tasks
(@manumafe98)
Terasology/Rails#92 Reformatting annotations of Rails
(@manumafe98)
Terasology/Behaviors#116 Reformatting annotations of Behaviors
(@manumafe98)
Terasology/NameGenerator#39 Reformatting annotations of NameGenerator
(@manumafe98)
Terasology/SimpleFarming#124 Reformatting annotations of SimpleFarming
(@manumafe98)
Terasology/ItemPipes#45 Reformatting annotations of ItemPipes
(@manumafe98)
Terasology/Scenario#64 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Portals#7 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/WorkstationInGameHelp#13 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/EdibleSubstance#9 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Exoplanet#26 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/WildAnimalsGenome#19 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/IRLCorp#44 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/FunnyBlocks#30 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/InGameHelp#15 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/ManualLabor#63 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/GooeyDefence#76 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Economy#28 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/WeatherManager#31 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Minesweeper#29 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Inferno#30 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Machines#57 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Equipment#140 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/GooeysQuests#73 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/Sample#130 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/MetalRenegades#187 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/MasterOfOreon#105 Refactor Components without attributes to EmptyComponent (@spookynutz)
Terasology/DynamicCities#113 refactor: Components without attributes to EmptyComponent (@spookynutz)
Terasology/Furnishings#18 chore: update copyright (@soloturn)
Terasology/CustomOreGen#17 refactor: component field visibility public (@jdrueckert)
Terasology/Workstation#21 refactor: component field visibility public (@jdrueckert)
Terasology/WildAnimals#102 refactor: component field visibility public (@jdrueckert)
Terasology/SubstanceMatters#17 refactor: component field visibility public (@jdrueckert)
Terasology/StructureTemplates#73 refactor: component field visibility public (@jdrueckert)
Terasology/StaticCities#37 refactor: component field visibility public (@jdrueckert)
Terasology/Sensors#14 refactor: component field visibility public (@jdrueckert)
Terasology/Sample#129 refactor: component field visibility public (@jdrueckert)
Terasology/PolyWorld#43 refactor: component field visibility public (@jdrueckert)
Terasology/MultiBlock#30 refactor: component field visibility public (@jdrueckert)
Terasology/MobileBlocks#13 refactor: component field visibility public (@jdrueckert)
Terasology/MetalRenegades#186 refactor: component field visibility public (@jdrueckert)
Terasology/Lost#42 refactor: component field visibility public (@jdrueckert)
Terasology/LightAndShadow#259 refactor: component field visibility public (@jdrueckert)
Terasology/KComputers#14 refactor: component field visibility public (@jdrueckert)
Terasology/JoshariasSurvival#74 refactor: component field visibility public (@jdrueckert)
Terasology/ItemPipes#44 refactor: component field visibility public (@jdrueckert)
Terasology/Inferno#29 refactor: component field visibility public (@jdrueckert)
Terasology/GooeyDefence#75 refactor: component field visibility public (@jdrueckert)
Terasology/DynamicCities#112 refactor: component field visibility public (@jdrueckert)
Terasology/CoreWorlds#46 refactor: component field visibility public (@jdrueckert)
Terasology/ComputerMonitors#13 refactor: component field visibility public (@jdrueckert)
Terasology/CombatSystem#94 refactor: component field visibility public (@jdrueckert)
Terasology/ClimateConditions#59 refactor: component field visibility public (@jdrueckert)
Terasology/Caves#19 refactor: component field visibility public (@jdrueckert)
Terasology/AlchemyPlantGenerator#10 refactor: component field visibility public (@jdrueckert)
Terasology/DynamicCities#111 refactor(test): replaced old annotations (@F14V10)
Terasology/Health#106 refactor(test): replace Dependencies annotation with IntegrationEnvironment (@Sabo2k)
Terasology/ModuleTestingEnvironment#77 refactor: remove OpenVRInput usage (@jdrueckert)
Terasology/CoreRendering#74 refactor: remove OutputToHMDNode and usage (@jdrueckert)
Terasology/Inventory#38 chore: fix import order and whitespaces (@keturn)
📚 Documentation
Terasology/Health#102 doc: add component and ui element docs (@jdrueckert)