Skip to content

Libreforge 2026.27 · Folia & Memory Fix 3

Choose a tag to compare

@heoduling heoduling released this 20 Sep 18:02

Libreforge 2026.27 · Folia & Memory Fix 3

Community maintenance build for Shiroha/Folia 26.2, based on Libreforge 2026.27.

✨ Highlights

  • Tracks non-player living entities by lifecycle and schedules each refresh on the entity owner.
  • Backfills entities that were already loaded before Libreforge enabled.
  • Uses location/entity-owned schedulers for affected particle and potion operations.
  • Cleans owner-bound providers, refresh functions, placeholders, caches and nested hit state.
  • Makes point mutations concurrency-safe and avoids unchanged inventory slot writes.
  • Coalesces pickup refreshes and avoids duplicate player/entity polling.
  • Stops retaining empty previousStates entries and short-circuits empty effect polls without skipping holder discovery.

📊 Verified results

  • Real ArmorStand effect lifecycle: 6/6 scenarios passed.
  • 14-plugin Shiroha 26.2 stack loaded and stopped cleanly.
  • Concurrent points test: 80,000/80,000 operations, 0 failures.
  • Entity lifecycle test: 100 created / 100 removed / 0 remaining.
  • Libreforge reload test: 20/20 successful.
  • Scoped Libreforge/Folia ownership errors: 0.
  • Empty-state stress: 50,000 retained entries → 0.
  • Cached empty-effect polling median: 56.120 → 32.532 ns/op (-42.03%).
  • Cached empty-effect allocation median: 56 → 32 B/op (-42.86%).

The performance figures are controlled microbenchmarks of the real updateEffects() implementation. They do not mean whole-server CPU or heap will fall by the same percentage.

📦 Artifact

  • Plugin: libreforge-standalone-2026.27-memoryfix-3.jar
  • SHA-256: B59AE849B422CBC32523DB7FCE3E12B7EB7D4365A1ECD29955B042BCBBCB14AD
  • Java bytecode target: 21
  • Runtime tested on: Java 25 + Shiroha/Folia 26.2

🚀 Installation

  1. Stop the server.
  2. Back up the current Libreforge JAR.
  3. Replace it with the attached JAR.
  4. Start the server and verify item, enchantment, reforge and permanent-effect behavior.

Do not hot-swap this build with a plugin manager.

⚠️ Validation boundary

No real Minecraft client was connected during the automated suite. Production acceptance should still include a controlled canary, an equivalent before/after Spark allocation profile, live multi-region activity and packet counters for particle-heavy effects.