All versions
1.3.0
Release
ServerPatch 1.3.04 months ago 20
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Bukkit
Paper
Changes
ServerPatch Changelog
1.3.0
Added
- Per-plugin ignore list via
/sp ignore add|remove|list(stored inignored.txt). - Changelog links in
/sp statusfor Modrinth and Hangar pending updates. - Modrinth bulk project preload during check to reduce API round-trips.
- Color-coded check output (green = up to date, yellow = update, red = skipped/error).
- API-version compatibility check on downloaded JARs before replace.
- Discord/webhook notifications for
UPDATE_FAILEDduring/sp update. safety.maxConcurrentDownloadsconfig (default 3) for parallel downloads./sp check --plugin <name>to check a single plugin.- Backup folder pruning via
backups.maxBackups(oldest-first). - Snapshot integrity hash validation on load.
/sp dryrunto simulate updates without downloads or JAR replacement./sp pin set|remove|listfor per-plugin maximum-version pins./sp rollback <plugin> [confirm]to restore one plugin from its latest backup.- Config folder backup beside per-run JAR backups.
- Semantic update classification (
PATCH,MINOR,MAJOR,UNKNOWN) in snapshots/status. - Local changelog history storage and
/sp changelog <plugin> [page]. - Changelog text fetched from Modrinth/Hangar API responses during check.
/sp update confirmgate for major or breaking-change updates (10-second window).- Maven profiles
mc-1.20,mc-1.21, andmc-26with platform-labeled JAR names (paper,purpur,spigot). scripts/build-all-jars.ps1to produce all version/platform variants in one run.PlatformInfodetection scaffold for Paper, Spigot, Purpur, and Folia.PlatformInfodetection scaffold for Paper, Spigot, Purpur, and Folia.
Changed
- Command set simplified:
check,status,update,backup restore,ignore,help. - Alias changed to
/sp(was/updater)./serverpatchstill works. /sp statusreplacessnapshot-statusand includes last-run metrics./sp updatereplacesrunand auto-runs check when no valid snapshot exists.- Backup restore uses one command with optional trailing
confirm(10-second window). - Restart warning mute moved to
notifications.muteRestartWarningin config. - Java package renamed from
com.universalupdatertocom.serverpatch. - Documentation aligned to Java 25 (matches
pom.xml). - Snapshot integrity now includes entry contents, not just environment/count/timestamp.
Fixed
- SpigotMC metadata no longer fails strict-mode loader check when Spiget provides no loader list.
- Snapshot tampering detected via integrity hash validation (invalid snapshots deleted).
backups.maxBackupsnow enforced with oldest-first pruning.- Java version mismatch between CHANGELOG/README and
pom.xml.
Removed
- Unused classes:
DryRunService,BootStateManager,RollbackExecutor,RestartManager. - Display-only
modeconfig (CHECK_ONLY/DOWNLOAD_ONLY/AUTO_UPDATE). /sp silentcommand (usenotifications.muteRestartWarninginstead).- Config sections:
rollback.*,restart.*,debug-mode. - Placeholder
websitefield fromplugin.yml.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:odapE4VV:NDnJoVaZ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:odapE4VV:NDnJoVaZ"
}

