github Pumpkin-MC/Pumpkin 0.2.1+26.3-26.51
Release 0.2.1+26.3-26.51

2 hours ago

0.2.1 Release Notes

🚨 Highlights & Breaking Changes

  • MSMP Replaced RCON (Breaking): Legacy RCON has been removed from the server core and replaced with the modern Minecraft Server Management Protocol (MSMP) over JSON-RPC. Server configuration has migrated from rcon to management.
  • Pump Default Chunk Storage (Breaking / Migration): pump is now the default chunk storage format for world saving and loading, replacing Anvil for higher throughput and reduced disk footprint. A built-in chunk converter and CLI migration tool have been added to convert existing Anvil worlds.
  • Server Crate Architecture Split: Refactored the core monolithic server crate into modular crates: pumpkin-core, pumpkin-wasm-host (-common, -v0_1, -v0_2), and the standalone pumpkin binary (#3824) by @Phoenixxo. Master release builds now use optimized Thin LTO, while full Fat-LTO binaries are generated nightly.
  • PatchBukkit Integration Support: Exposed critical low-level plugin APIs (Context, PluginManager.handlers, world/player event hooks, #[repr(C)] layouts) to support PatchBukkit running headless Paper and real NMS plugins on Pumpkin.
  • Mob AI Foundation Overhaul: Completely reworked entity AI execution flow (#4092) by @MegalithOfficial. Decoupled brain state from behavior execution, routed mob navigation through movement controls, and preserved path searches across tick steps.
  • Async v0.2 Plugin ABI: Branched and stabilized the new asynchronous v0.2 WebAssembly plugin ABI (#3713, #3766, #3852) by @Phoenixxo and @QuantumSegfault, alongside upgrading Wasmtime to 50.0.0 with sequential engine isolation for v0.1 plugins (#4098).

Bedrock Edition Parity

  • Resource Pack Streaming: Streamed resource packs dynamically to connecting Bedrock clients by @Snowiiii
  • Block Actor Sync & Signs: Synchronized block actor data and added interactive sign editing support for Bedrock players by @Snowiiii
  • StartGame Block Properties: Implemented block property serialization in the Bedrock StartGame network packet by @Snowiiii
  • Mob Metadata Abstraction: Abstracted entity metadata synchronization across Java and Bedrock clients by @Snowiiii
  • Packet Codec Refactoring: Derived enum packet codecs and corrected Bedrock protocol naming (#3423) by @xRookieFight

Mobs & Entities

  • Allay Gameplay: Implemented full Allay behaviors including item collection, delivery to players/note blocks, target chunk loading retention, path corner validation, and dancing to jukeboxes (#4174) by @MegalithOfficial & @AdmerPRO
  • Cod Parity: Added full water animal and fish base state, vanilla swimming physics, schooling AI goals, and bucket pickup/placement (#4284) by @MegalithOfficial
  • Sheep Parity: Synchronized wool colors and shearing states, fired shearing events, implemented dye interaction sounds, lamb growth from grass eating, mixed parental breeding wool colors, and water avoidance (#4173) by @MegalithOfficial
  • Chicken Parity: Ported falling slow-fall travel mechanics, restricted egg laying to living adults with audio, saved chicken jockeys, preserved spawn variants, and allowed water pathing while keeping strolling out of water (#4175) by @MegalithOfficial
  • Cow Parity: Added milk bucket item interaction on milking, variant propagation across calves, fluid ledge climb-out mechanics, and water-avoiding random strolls (#4171) by @MegalithOfficial
  • Wither Skeleton Parity: Added Wither effect infliction on melee attack, burning arrow attacks, and status effect immunity (#4038) by @MegalithOfficial
  • Iron Golem Animation: Added attack swing animation packets for Iron Golems (#3967) by @denys-shatin
  • Neutral Mob AI: Corrected NeutralMob anger persistence, target selection, and daylight sunburn triggers (#3568) by @zinedinp
  • Dimensions & Suffocation: Used entity dimensions for dynamic poses and eye heights (#4043) by @MegalithOfficial, and adopted vanilla suffocation predicates to prevent leaves from suffocating mobs (#4049) by @SplashGG
  • Falling Blocks: Prevented falling blocks from replacing incompatible ground blocks on landing (#3864) by @ydw1904
  • TNT Mechanics: Aligned TNT fuse times, gravity/drag acceleration, and priming velocities with vanilla (#3419) by @zinedinp
  • Mob Spawners: Evaluated spawn potential distance in 64-bit float precision (#3891) by @Rennex07
  • Tracker Resync: Resynced non-default entity data and metadata via sendChanges during dimension travel and respawn (#3401) by @zinedinp

Blocks, Items & Mechanics

  • Block Behavior:
    • Implemented full Conduit block behaviors, activation range calculations, and surrounding frame validation (#4018) by @MegalithOfficial
    • Added Dragon Egg fall delay countdowns (#3882) and broadcast world event teleport particles (#3883) by @tom-devv
    • Added unique oxidation stage sound variants for copper chests (#4071) by @sluhtie
    • Aligned copper chain placement with clicked surface axes (#3870) by @Kron5620
    • Enforced light level 9 minimum for crop growth (#4100) by @Kacperon
    • Hydrated farmland during rain (#3932) by @saranxzi, and corrected stem growth and farmland moisture updates (#4013) by @MegalithOfficial
    • Corrected sea pickle bonemeal spread (#4012) by @MegalithOfficial
    • Matched vanilla daylight detector solar angle and signal calculations (#3786) by @Sandvoxel
    • Scaled weighted pressure plate signals with entity count (#3877) by @Kron5620
    • Allowed block placement against redstone ore (#4025) by @SplashGG
    • Allowed player and mob heads to be placed directly on top of note blocks (#3966) by @DylanClouden28
    • Wrote nether portal frame updates without unnecessary neighbour shape cascade updates (#3842) by @meaningg
    • Broadcast client block break notifications when blocks self-destruct (#3722) by @gitKBDL
    • Suppressed block break particles when leaves decay (#3828) by @tom-devv
    • Added BlockBehaviour::attack hook for dig initiation events (#3884) by @tom-devv
  • Player & Inventory Mechanics:
    • Centered player sleeping coordinates and skipped in-wall suffocation damage while asleep (#4097) by @SplashGG
    • Corrected off-hand item pickup handling and inventory synchronization (#4104) by @0neRain
    • Consistently respawned hardcore players in spectator mode (#4041) by @MegalithOfficial
    • Prevented spectators from opening unrolled loot chests (#4016) by @The-Hypnos
    • Decoded 26.3 spectator actions as optional entity IDs (#3705) by @Missing_Love
    • Applied use_remainder item components upon finishing item consumption (#3977) by @SplashGG
    • Restricted signed book opening to server-verified packets (#3570) by @matheustavarestrindade
    • Ported vanilla dropped item merging and tag-based entity damage absorption (#3711) by @zinedinp
    • Required a mace weapon when triggering the "Over-overkill" advancement (#3825) by @tom-devv
  • Loot Tables:
    • Preserved full loot table JSON structure, conditions, and modifier ordering (#4186) by @MegalithOfficial
    • Automatically cooked mob drop items when entities die while on fire or to Fire Aspect (#4040) by @MegalithOfficial
    • Replaced manual block loot format strings with the generated Block.loot_table property (#3997) by @xSlime

World Generation & Storage

  • Region File Optimization: Maintained open region file descriptors and wrote only dirty/modified chunk records to disk (#4062) by @MegalithOfficial
  • Proto Chunk Memory: Restricted proto-chunk block allocation up to the highest non-air chunk section (#3710) by @MegalithOfficial
  • Upgraded Chunks Without yPos: Added fallback to lowest numeric section Y when loading older upgraded chunks lacking yPos tags (#3488) by @matheustavarestrindade
  • Chunk Tickets: Safely released player chunk loading tickets at their original allocation coordinates (#4103) by @qhashofficial
  • Recursive Block Updates: Guarded against recursive block change stack overflows (#3924) by @Phoenixxo
  • Beardifier Blending: Counted each structure only once in terrain beardifier blending passes (#4037) by @The-Hypnos
  • Top Layer Freezing: Gated snow top layer freezing on solid face support and ambient light levels (#3438) by @Kurenaiiiii
  • World Schema & Flat Flags: Updated world generation schema format to 26.3 (#4094) by @MidnightDoes, and sent flat world generation tags to Java clients (#4102) by @noël Hagestein
  • Disk Integrity: Handled level.dat replacement disk write failures cleanly (#3526) by @Thijs226, and validated chunk payload lengths against corrupted region headers (#3916) by @CompileRider

Commands, Networking & Protocol

  • Tick Flush & Timing: Implemented 50ms batch tick flushes for Java packet dispatch and vanilla 20 TPS timing (#3249) by @zinedinp
  • Protocol Safety:
    • Rejected VarInt/VarLong encodings containing overflowing terminal bits (#3536) by @GoatTech-42
    • Sent variant data components with vanilla-aligned network IDs (#4285) by @MegalithOfficial
    • Tagged partial game profile components as false (#3731) by @GFoniX
    • Logged play packet decoding errors with their own dedicated error severity (#3850) by @Kron5620
    • Gated network state transitions on fully completed logins (#3912) by @CompileRider
  • Commands:

Plugins & WASM Host

  • Inventory & GUI Sync: Corrected GUI slot mapping, container windows, and slot update broadcasting for plugins (#4157) by @MegalithOfficial
  • Plugin Events: Provided world context and block coordinates to BlockBurnEvent (#3857) and supported blocking round-trips for BlockDamageAbortEvent (#3898) by @meaningg
  • Plugin Lifecycle: Handled shutdown store cleanup races (#3727) by @Phoenixxo, and stopped plugin hot-reload filesystem watchers on server termination (#3670) by @yAstrosss
  • Resource Cleanup: Unified WASM resource disposal and runtime cleanup (#3258) by @PigTurtle
  • Scheduling: Added stackless global domain scheduling (#3453) by @Phoenixxo

Core Server, Build & Codegen

  • Fast Startup: Calculated stronghold generation rings in background Rayon threads during boot (#3764) by @zinedinp
  • Build Optimization: Reduced fat-LTO release link memory usage by 24% (#3866) by @Sandvoxel, and eliminated redundant rebuild triggers (#3746) by @Rennex07
  • Data Representation: Replaced runtime string comparisons for block properties and structure processor tags with typed enums by @Snowiiii
  • Structure Lookup: Optimized structure template metadata queries with compile-time perfect hash functions (phf) (#3787) by @UMCEKO
  • Codegen & WIT: Generated block transformer rules (#3982) by @SplashGG, cleaned up Rust-to-WIT code generation (#4074) by @QuantumSegfault, and added GameTest WIT definitions (#3770) by @KyleDavis
  • Config Compatibility: Accepted standard vanilla ops field names in configuration files (#3736) by @Rennex07, and enforced hardcore difficulty consistency (#3501) by @Kurenaiiiii
  • Docker & Packaging: Fixed data persistence issues in Docker containers (#3692) by @Phoenixxo, and enabled vanilla jar fetching for sandboxed Nix builds (#3892) by @xnacly
  • Guidelines: Added AGENTS.md specifying development and parity rules for coding agents (#3714) by @MegalithOfficial

New Contributors

Full Changelog: 0.2.0+26.3-26.51...0.2.1+26.3-26.51

Don't miss a new Pumpkin release

NewReleases is sending notifications on new releases.