Compatibility
Minecraft: Java Edition
26.1.x
1.21.x
1.20.x
Platforms
Supported environments
Client-side
Tags
Creators
Details
Licensed GPL-3.0-only
Published 5 months ago
Changelog
New Features and Code Changes
New Features
- Added a non-blocking update checker that queries GitHub releases on startup and shows a notification in the multiplayer menu.
- Added "Enable All" / "Disable All" buttons to the whitelist tab to easily select and de-select mods.
Code Changes
- Rewrote key resolution protection to intercept at the call site (decompose()) instead of ClientLanguage. The old approach could be bypassed if Minecraft swapped out the Language implementation at runtime. Removed LanguageMixin.
- Fixed anvil key resolution protection inconsistencies, the deferred context cleanup could prematurely clear the
anvil's protection context if another exploitable screen (e.g., sign) was opened shortly before it. - Replaced fragile reflection-based access to translation storage with a proper Mixin
@Accessor. - Removed require = 0 from protection mixins so a mixin failure crashes on startup instead of silently leaving users
unprotected. - Fixed a race condition where opening exploitable screens in quick succession could clear protection context prematurely.
- Channel tracking now resolves namespaces to their actual owning mod (e.g., jm namespace correctly maps to JourneyMap).
- Expanded startup channel scan to cover more Fabric API entry points (getReceived, getSendable).
- Consolidated duplicated namespace checks across the codebase into ChannelFilterHelper.isCoreNamespace().
- Removed a redundant max redirect check that was placed after the redirect loop body.
- Fixed
/opsec info <mod>reporting mods as whitelisted even when the whitelist feature was disabled. - Channel spoofing is now disabled by default to avoid breaking server-dependent mods for new users.
- Default brand changed from Vanilla to Fabric since servers can flag clients for mismatch key resolution now that channel spoofing is disabled by default.
- Moved the settings button from the bottom-right footer to the top-left header of the multiplayer screen.
- Renamed "Translation Exploit Protection" to "Key Resolution Protection" across the mod.
- Converted hardcoded Component.literal() setting labels to Component.translatable() with lang file keys.
- JAR filenames now include a v prefix (e.g., opsec-1.21.11+v1.0.5.jar).
For Minecraft Fabric 1.21.1 to 1.21.11 Full Changelog: https://github.com/aurickk/OpSec/compare/V1.0.4...V1.0.5
Dependencies
Files
opsec-1.21.9-1.21.10+v1.0.5.jar(366.92 KiB) Primary
Metadata
Release channel
ReleaseVersion number
v1.0.5Loaders
Fabric
Game versions
1.21.9–1.21.10Environment
Client-side only


