Tags
Creators
Details
4.0.2
Compatibility
Changes
π UPDATE 4.0.2 Security Hotfix
CocoVaults Lite - Released February 16th, 2026
β οΈ CRITICAL SECURITY UPDATE
This update patches multiple item duplication exploits and data integrity vulnerabilities. All servers should update immediately.
π Critical Security Fixes
-
Race Condition Dupe Fixed - Fixed race condition where delayed click tasks could overwrite vault saves on close, causing item duplication or loss
-
Blacklist Save Failure Exploit Fixed - Blacklisted items are now only returned to players after successful save, preventing duplication on save failures
β¨ Data Integrity Improvements
-
Thread-Safe Vault Data - VaultData now uses proper synchronization to prevent corruption from concurrent access
-
Thread-Safe Active Vaults - Fixed non-thread-safe ArrayList causing potential crashes in ACTIVE_VAULTS registry
-
Async Save Performance - Vault close saves are now fully async, eliminating main thread blocking during slow I/O operations
π οΈ Additional Fixes
-
Event Priority Corrected - InventoryCloseEvent changed from MONITOR to HIGH priority to properly handle state modifications
-
Debounced Save Race Fixed - Fixed race condition where async removal could delete newly scheduled saves
-
Click Task Leak Fixed - Pending click/drag delayed tasks are now properly cancelled when vaults close
π Update Instructions
- BACKUP YOUR VAULT DATA - Always backup your plugins/CocoVaults folder before updating
- Stop your server
- Replace the old CocoVaults.jar with version 4.0.2
- Start your server
- Monitor console for any errors during startup
β οΈ Critical Notes
- UPDATE IMMEDIATELY - Multiple critical duplication exploits have been patched
- No configuration changes required
- Fully compatible with existing vault data (JSON/YAML)
- Improves stability and prevents item loss
- All async operations now properly synchronized
π Technical Details
For server admins & developers:
- VaultData fields now use volatile for thread visibility
- Synchronized access methods prevent data races
- CopyOnWriteArrayList used for concurrent vault tracking
- Async saves with proper completion callbacks
- Race condition guards in close/save pipeline
- Defensive copies prevent external modification
Questions? Support at fruitforge.com/discord
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:f7krbZbG:w8ltuBWh"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:f7krbZbG:w8ltuBWh"
}

