All versions
1.3.0
Release
ServerPatch 1.3.04 months ago 9
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
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.
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).
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:ymSYsTHZ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:odapE4VV:ymSYsTHZ"
}

