## 1.3.0 — 2026-07-19
### 🆕 New
- **Unload Strategy**: Clears internal `chunkLastSeen` entries under memory pressure using three conditions — far from players, non-hotspot, sufficiently old. Disabled by default; can be enabled in config
- **Hotspot Chunk Tracking**: Records frequently-accessed chunks; preload extends their retention, unload protects them first
- **Dimension Whitelist/Blacklist**: Restrict preloading scope via `dimension_blacklist` / `dimension_whitelist` to avoid wasting CPU in custom plot worlds
- **Stats Collector**: Internal `StatsCollector` tracks preload / throttle-skip / emergency-load counts for diagnostics
- **NeoForge 1.21.1 Platform**: Added NeoForge 1.21.1 alongside existing Fabric 1.21.x / Forge 1.20.1
- **Fabric 26.1 Platform**: Adapted to MC 26.1's new API (ChunkPos record, removed obfuscation mappings, etc.). Requires JDK 25 to compile
### 🔧 Optimizations
- **Preload Path Prediction Cache**: `MovementPredictor.pathAlignment` was being called ~200 times/tick/level inside the scan loop, creating ~4800 temporary `Vec3` objects per tick. Now caches `predictPath` once at entry and passes it in batches — temp objects drop from ~4800/tick to ~8/tick
- **Independent 26.1 Core**: MC 26.1 API changes were too large (ChunkPos record, GameProfile.getName removed, ServerPlayer.serverLevel removed, ResourceKey.location removed, etc.) — no longer shares source with common, maintained as an independent core copy
### 🔧 Fixes
- **Fixed performance regression caused by UnloadStrategy default-on**: When enabled by default, `evictFarChunks` cleared `chunkLastSeen` at ≥85% memory, dropping affected chunks' `agingScore` from ~1.0 to ~0.63 and degrading preload effectiveness. Default changed to disabled
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }