9.0.0-beta.4
Pre-release
Pre-release
✂️ Refactor
- api: make the chunked-line backend reachable from a test (80e4a2b)
- api: one local runner, taking labelled commands (2a68d10)
📔 Docs
- append the container-ownership audit, with every finding and its resolution (2bea631)
- correct four stale references to
cleanup()and a configuration-cache claim it was part of (f7b6d6c) - make the self-extracting server pack buildable off Linux, and runnable on Windows (885580c)
- record that a bind mount is resolved by the daemon, and re-derive the api count (bab9e35)
- record that a gate nobody sets is an absent guard, not a skipped one (650c321)
- record the benchmark source set and the three things it does not inherit (166d151)
- record the Rosetta exit-code trap and where the PowerShell checks live (355e875)
- record what a repository-wide assertion audit found (66913f1)
- ci: record that a Forgejo run has two numbers and the routes disagree (c493137)
- grinder,ci: record the two labels, and that two refs build every commit in parallel (ee0cdd8), closes #678
📦 Other
- regenerate the license agreement for the dependency bumps (8bc69ef)
- update the shipped manifest snapshot to Minecraft 26.3 (152f895)
🦊 CI/CD
- bump dokka 2.1.0 -> 2.2.0 (19096ae)
- bump jackson, springdoc, bouncycastle and install4j (5bfca6b)
- bump Kotlin 2.4.10 -> 2.4.20 (3b242ca)
- bump pf4j 3.15.0 -> 3.16.0 (fdc1920)
- bump Spring Boot 4.1.0 -> 4.1.1, plugin and BOM together (5acc101)
- bump the license-report plugin 3.0.1 -> 3.1.4 (b53955f)
- app: stop re-declaring what java-conventions already does for
test(f7e1d0f) - grinder: give the store benchmark its own source set (9eaea96)
- ask Qodana for @test methods that assert nothing (f4a761e)
- give the grinder's container tests the daemon to themselves (de38369), closes #678
- run the container-engine integration tests on every push (f273ca5)
🧪 Tests
- api: ask fish and PowerShell themselves whether the templates parse (aa77104)
- api: make three tests that only looked like guards actually assert (ecfef13)
- api: pin that a template probe's container can actually see the templates (205474d)
- api: pin that staging writes no empty file, and that a missing jar resource is loud (3a52fc9)
- api: pin that the Batch wrapper starts a pack whose path contains an apostrophe (22bcf36)
- api: pin the other copyFileFromJar overload, which had the same hole (3f391ef)
- api: pin the PowerShell installer-Java override and its fallback on every push (87660a6)
- grinder: pin that a container says which engine made it (e0dfbbf)
- grinder: stop the store benchmark claiming to be a test (d0caf44)
🚀 Features
- grinder: give a container engine an identity, before anything uses it (6e75484)
🛠 Fixes
- api: close the same hole in the directory-taking copyFileFromJar, and repair the test it fooled (bf29b30)
- api: copy the templates into the probe container instead of bind-mounting them (fe961ca)
- api: decide the template checks by completion marker, not exit code (f2d97ca)
- api: hand PowerShell the start script's path instead of pasting it into a string (8a85fdb)
- api: make a PowerShell glob that matches nothing a failure, not a silent pass (e5efd09)
- api: stop staging a Java batch template that does not exist, and fail loudly when one is missing (25f3355)
- app: stop logging a stack trace for a database that is merely absent (136a27a)
- app: tell the analyser that GridFS really does return null, rather than let it be wrong twice (6a72173)
- ci,grinder: authenticate the ghcr pull, and finish raising the container ITs' waits (40921ac)
- ci: link the Qodana artifact by run id, which is not the number in a run's URL (06eb59a)
- ci: upload plugin-grinder's test results too (ecaf2cf)
- grinder,ci: close the audit's findings — a vacuous assertion, a loose one, and a silent skip (797c247)
- grinder: assert what close promises, not what a quiet daemon happens to deliver (240dd82)
- grinder: drop the benchmark's unused import and its unresolvable KDoc link (cb61d70)
- grinder: make the benchmark a program, because a Test task cannot escape
check(ad52693) - grinder: make the ownership fixture stoppable, which is what the third guard was failing on (283710a)
- grinder: reattach three KDoc blocks the container-IT edits stranded (7d70e44)
- grinder: scope the container IT's assertions to the engine that made the containers (589c1d3)
- grinder: stamp which engine made a container, and never reap your own (87e8ce6)
VirusTotal
ServerPackCreator-9.0.0-beta.4.jar- https://www.virustotal.com/gui/file-analysis/ZDM3ZGQ1NDdkNTliMzdmY2VjMzk1ZDk0MGZlZDkwY2M6MTc5MDUzOTAxMA==serverpackcreator-api-9.0.0-beta.4-javadoc.jar- https://www.virustotal.com/gui/file-analysis/MjVhOWI4NTdmYWNhY2FmNTRiN2QyNDkzNmNmMTk1NDE6MTc5MDUzOTAxOA==serverpackcreator-api-9.0.0-beta.4-sources.jar- https://www.virustotal.com/gui/file-analysis/OWM5YzE5MjA4ZWQ5MjlhMjc5NmNjNDVhMjgzMjBlYjk6MTc5MDUzOTAyMQ==serverpackcreator-api-9.0.0-beta.4.jar- https://www.virustotal.com/gui/file-analysis/OTQ3NDc1MzkwZjMzZjQxOTE1ZmRlZjFjMWYyZDhhNmQ6MTc5MDUzOTAyMw==serverpackcreator-app-9.0.0-beta.4-javadoc.jar- https://www.virustotal.com/gui/file-analysis/MzhhMzVmMjBjMzdiMGQ0MGZlODkxN2I2ODMzMWJmODQ6MTc5MDUzOTAyNQ==serverpackcreator-plugin-example-9.0.0-beta.4.jar- https://www.virustotal.com/gui/file-analysis/OGNkYjFiNGUzNWU5MWQxYzU0MmIwNTBiYjM4N2U0Yzk6MTc5MDUzOTAyNg==ServerPackCreator-9_0_0-beta_4-Installer-Linux-amd64.sh- https://www.virustotal.com/gui/file-analysis/YWU0NTY2ZWU2OTg2NDVmOGI2NjA3ZDgwYjJlZTM2YTI6MTc5MDUzOTAzNA==ServerPackCreator-9_0_0-beta_4-Installer-Mac.dmg- https://www.virustotal.com/gui/file-analysis/ZDk5NzAzNGM3ZGI2NzMzMjQ0NGE5OWVhNjBhMjBkYjQ6MTc5MDUzOTA0Mg==ServerPackCreator-9_0_0-beta_4-Installer-Windows-x86_64.exe- https://www.virustotal.com/gui/file-analysis/MWNhN2ZiODFhMzg2MTQyNGQwMjVlZDY0MGEwZGVjMzc6MTc5MDUzOTA1MQ==