Repository navigation
Releases
Releases · SalyyS1/mcstage
mcstage v0.3.0
What is New in mcstage v0.3.0
- OASIS SARIF v2.1.0 Stage & Crash Diagnostics (
--sarif,--format sarif,action.yml): Emit GitHub Code Scanning SARIF v2.1.0 reports alongside console, JSON, or JUnit XML from a single real-server matrix run. - Console &
crash-reports/Diagnostic Classifier (MCS001-MCS011) +crash-guard: true: Automatically classify plugin load/dependency errors (MCS001),onEnableor JVM classloader/linkage errors (MCS002), Folia off-thread region violations (MCS003), unhandled event/command exceptions (MCS004), Watchdog stalls andOutOfMemoryError(MCS005), and newly savedcrash-reports/crash-*.txtfiles (MCS006). - Negative Console & Filesystem Assertions: Added
not-expect(asserting console output stays free of a pattern across a configurable window) andfile-not-exists(confined relative path absence checks), plus offline regex validation inmcstage validate. - Interactive Browser Scenario Matrix Builder & Crash Log Simulator: Deployed zero-upload client-side tool at https://salyys1.github.io/mcstage/.
MCStage v0.2.0
MCStage v0.2.0
Highlights
- Instance Filesystem Assertions (
file-exists&file-contains): Scenarios can now assert that plugin configs, databases, or exported files are created inside the server instance directory and match substrings orre:regular expressions, polling live while continuing to drain server logs and enforceforbidrules. Path traversal (..) and absolute paths are rejected at validation time. - Native JUnit XML Reporter (
--format junit): Emits well-formed<testsuites>/<testcase>XML reports (stripping illegal XML 1.0 control characters) for GitHub Actions test summary checks, GitLab CI, and Jenkins. - Offline Scenario Preflight Validator (
mcstage validate): Validates YAML schema, suggests Levenshtein typo fixes (timout->timeout), expands(platform x version)cases, checks Java runtime availability, and verifies--check-pluginsJAR globs on disk (--jsonsupported) before downloading or booting servers. - Automatic Loopback Port Probing & Composite GitHub Action (
action.yml): Automatically advances past busy loopback ports on127.0.0.1(and supports--port 0ephemeral ports), plus shipsSalyyS1/mcstage@v0.2.0with built-in~/.mcstage/jarscaching.
Verification
- Full JUnit 5 + real child-JVM integration test suite passing on Java 21 (
./gradlew build --no-daemon).
v0.1.0
First release.
mcstage boots a real Minecraft server, installs your plugin, types commands into its console, and tells you
whether the lines you expected showed up. It downloads the server itself, verifies the jar against the
digest its publisher printed, and reuses it afterwards, so the whole thing is one command and one YAML
file.
Run mcstage test mcstage.yml --accept-eula. See the README for the spec format and what the exit codes
mean.