Repository navigation
Releases
Releases Β· Pumpkin-MC/Pumpkin
Canary Build
From commit: 3ea7d28
Generated on: 2026-11-08 00:07 UTC
Canary build of master for testing, built without LTO. The fully optimized daily build is the Nightly Build release.
Nightly Build
Release 0.2.1+26.3-26.51
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
rcontomanagement. - Pump Default Chunk Storage (Breaking / Migration):
pumpis 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 standalonepumpkinbinary (#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
StartGamenetwork 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
NeutralMobanger 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
sendChangesduring 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::attackhook 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_remainderitem 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_tableproperty (#3997) by @xSlime
World Generation & Storage
- Region File Optimization: Maintained open region file d...
Release 0.2.0+26.3-26.51
0.2.0 Release Notes
π¨ Highlights & Breaking Changes
- Removed Core Multi-Version Support (Breaking): Built-in support for multiple Java client versions has been removed from the server core. Backwards compatibility is now maintained separately via the
pumpkin-java-multiversionplugin. - Java 26.3 Port: Upgraded server core and network handling to version 26.3 (#3495) by @MidnightDoes
- Bedrock 26.51 Support: Updated Bedrock protocol target to 26.51 (#3472) by @ZlordHUN
- Telemetry: Added server telemetry to help track adoption, stability, and runtime performance metrics.
- 26.x Worldgen Format: Added native support for 26.x world generation settings layouts (#3366) by @Phoenixxo
- Config Validation: The server will now reject an invalid
view-distanceof 1 rather than crashing on initial join (#3035) by @catdum200 - Plugin WIT Migration: Converted
pumpkin-plugin-witfrom a Git submodule to a subtree (#3449) by @QuantumSegfault
Bedrock Edition Parity
- Recipe Variants: Added support for wood crafting recipe variants (#3405) by @ZlordHUN
- Hunger & Eating: Restored hunger synchronization, eating feedback, and prevented hotbar changes from corrupting the hunger bar (#3346, #3403) by @ZlordHUN
- Particles & Audio: Restored block breaking particles and added block placement sounds (#3345, #3347) by @ZlordHUN
- Network & Sync: Corrected experience sync, improved NetherNet external address advertisement, and properly deliver version rejection before disconnecting (#2994, #2993, #3218) by @ZlordHUN
- Interaction Events: Dispatched cancellable entity interaction events for Bedrock clients (#3056) by @Neol3108
- Logging: Reduced ICE datagram log noise (#3579) by @ZlordHUN
Mobs & Entities
- Brain Framework: Implemented the vanilla mob brain framework (#3490) by @wiflow
- Mob AI Goals: Vanilla parity pass over existing entity AI goals (#3095) by @TheDarkSword
- Mob Interactions:
- Added entity pushing mechanics for mobs (#3180) by @RoosterBooster007
- Prevented neutral mobs (iron golems, wolves) from targeting players unconditionally (#3434) by @Developers13
- Skeletons now actively avoid wolves (#3478) by @Thijs226
- Creepers now actively avoid cats (#3481) by @Thijs226
- Enabled floating behaviors in water from mob swim goals (#3477) by @Thijs226
- Piglins now inspect and barter for dropped gold (#3440) by @wiflow
- Zombie villagers can now be cured using golden apples (#3226) by @ydw1904
- Entity Tracking & Spawning:
- Visuals & Audio:
- Added corpse despawn POOF particles (#3408) by @Developers13
- Added death sounds and corrected entity variation handling (#3283) by @orpos
- Scoped projectile hit sounds to chunk-level broadcasts (#3252) by @BryanFRD
- Corrected horizontal 3D orientation when sending paintings to clients (#3564) by @matheustavarestrindade
Blocks, Items & Mechanics
- Block Behavior:
- Implemented Netherrack logic (#2934) by @Xavierhorwood
- Persist shulker box inventory through break and placement cycles (#3451) by @BouncingElf10
- Re-enabled bone meal growth for huge mushrooms (#3411) by @Laggy60
- Saplings now grow into trees and leaf decay drop logic is corrected (#3248) by @MegalithOfficial
- Added specific dispenser dispensing behaviors (#3165) by @BouncingElf10
- Crops now pop when the block beneath them ceases to be farmland (#3024) by @Simlesk
- Breaking unsupported cactus and bamboo blocks now notifies clients (#3281) by @JulesB40
- Corrected orientation checks when placing doors, levers, and crafters (#3182) by @AdmerPRO
- Retain sculk veins at placement targets (#3426) by @JulesB40
- Ported Sculk Shrieker warning tiers and Warden summon sequence (#3599) by @MegalithOfficial
- Fluids & Solidification:
- Redstone & Containers:
- Corrected repeater behavior, delays, and state interactions (#3146) by @zinedinp
- Fixed comparator dirty-container updates and container implementations (#3372) by @zinedinp
- Lever toggling now plays click audio and emits game events (#3204) by @pxperr
- Pressing an already activated button now returns
Consume(#3205) by @pxperr - Prevented hopper TOCTOU race condition and item dupe crashes (#3147) by @zinedinp
- Hoppers now check item components when stacking items (#3413) by @Laggy60
- Unpack loot tables for both halves of double chests (#3318) by @ydw1904
- Player Mechanics & Inventory:
- Vanilla parity pass on food, saturation, and exhaustion levels (#3134) by @TheDarkSword
- Fixed hotbar swaps when target slots are already occupied (#3150) by @dehmitros
- Prevented stuttering when sprint-swimming on Java edition (#3247) by @ZlordHUN
- Instant status effects now execute once without appearing as active effects (#3400) by @Laggy60
- Waterlogged sign placement support and legacy-solid checks for wall signs (#3206, #3162) by @pxperr
- Fixed Enchantment Table audio triggers and exposed a general block sound API (#2756) by @MidnightDoes
- End Portals now play ambient activation audio upon opening (#3193) by @AdmerPRO
- Handled item-use result propagation and bucket raycasting with packet rotation (#2653, #3174) by @JJordan0C & @AdmerPRO
- Sound parity updates aligned with 26.3 changes (#3578) by @MidnightDoes
World Generation & Storage
- Corrected Deep Dark sculk distribution algorithm (#2882) by @CompileRider
- Prevented Overworld biomes from leaking into the Nether and End dimensions (#3271) by @ydw1904
- Corrected structure pool selections for Nether complexes (#3305) by @ydw1904
- Recorded trunk logs in fancy trees to avoid premature leaf decay (#3374) by @matheustavarestrindade
- Corrected the inverted moon brightness calculation (#3212) by @BryanFRD
- Added vertical boundary checks to light propagation routines (#3279) by @IndrajeethY
- Accepted byte booleans in flat world generation configuratio...
Release 0.1.0-dev+26.2-26.45
First release :D
What's Changed
- Add configuration by @zp3x in #1
- Added Development Tools by @ferdinandkeller in #5
- Dev tools java by @ferdinandkeller in #6
- Add default gamemode to configuration by @lukas0008 in #16
- Serde Serialize and split client packets into their own files by @lukas0008 in #17
- Add Deserializer for server bound packets by @lukas0008 in #21
- todo to TODO by @lukas0008 in #22
- Tokio + reqwest async by @lukas0008 in #23
- Add release profile optimiztion by @lidarbtc in #27
- World Loading (woohoo) by @lukas0008 in #28
- Change fly speed to vanilla speed by @NGSpace in #31
- Fixed BlastFurnace typo by @Kratti-uwu in #32
- Fix some minor typos by @KolibroidAmy in #37
- Add Player Inventory by @Bryntet in #38
- Command Parser by @user622628252416 in #39
- docs: format markdown by @piprett in #40
- Fix basic chat message packet by @kralverde in #45
- Fix compilation of individual packages by @Luk-ESC in #47
- Add prettier CommandTree formatting for help command and usage hint by @user622628252416 in #48
- Add CSetContainerSlot by @Bryntet in #50
- Add permissions check for SSetCreativeSlot by @Bryntet in #51
- Add CSetContainerSlot and refactor container logic to own file by @Bryntet in #54
- Fix typo in method name by @Luk-ESC in #52
- Use rustls instead of system openssl to make compilation easier by @DaniD3v in #43
- Chat packet updates + Serialization additions by @kralverde in #53
- Fix
set_slotarmor indexing (Off-by-one error) by @Luk-ESC in #56 - Implement the unload chunk packet by @kralverde in #57
- Print packet id in hex instead of decimal by @neeleshpoli in #58
- Spell Checker by @StripedMonkey in #44
- feat: initial docker support by @piprett in #42
- Add packets CCloseContainer, CSetContainerProperty and SCloseContainer by @Bryntet in #59
- Update CONTRIBUTING.md by @Bryntet in #55
- Implement Use Item (packet id 0x39) packet by @neeleshpoli in #61
- Superflat Worldgeneration by @DaniD3v in #63
- implement xoroshiro128 RNG by @kralverde in #66
- create rust-toolchain.toml by @StripedMonkey in #65
- Move config to lazy_lock and into own crate by @DaniD3v in #68
- Remove lazy static in favor of LazyLock by @DaniD3v in #70
- implement legacy_random and java string hash by @kralverde in #71
- Created Identifier to help keep track of plugin resources. by @neeleshpoli in #72
- docs: structure documentation by @piprett in #73
- Networking Refactor Pt. 1 by @StripedMonkey in #74
- Incoming Packet Validation by @kralverde in #78
- Removed unused #[allow()]'s by @DaniD3v in #69
- Buffer check for varint decoding by @kralverde in #79
- Command system rewrite by @Snowiiii in #81
- Make a way to disable extism by @lukas0008 in #82
- Add packet SClickContainer and abstractions by @Bryntet in #60
- Cleanup Server struct by @lukas0008 in #84
- Bump actions/configure-pages from 4 to 5 by @dependabot[bot] in #86
- Solve Pumpkin's locking problem by @Snowiiii in #88
- Improved synchronization primitives by @Asurar0 in #91
- Networking Refactor Pt. 2 by @StripedMonkey in #89
- start work on noise for chunk generation by @kralverde in #90
- misc spelling fixes in comments and variables by @StripedMonkey in #102
- Add
block_id!macro by @lukas0008 in #101 - Add keep alive packets by @Bryntet in #104
- Expands Chunk data structure by @Asurar0 in #97
- Add kill command by @Alerty2 in #107
- Create Block, BlockCategory enums. Create block state struct. by @kralverde in #106
- allow assets for docker build by @ThePaulo1 in #109
- expose docker container port by @ThePaulo1 in #111
- Add default values for config by @lukas0008 in #112
- Update README.md by @dbwrush in #113
- Add a general error trait for simplified use of Pumpkin errors by @Bryntet in #87
- kill the program if the main thread panics by @kralverde in #116
- Add config option to scrub ips from logs by @kralverde in #115
- implement density functions for terrain generation by @kralverde in #98
- docs: Adjust static assets directory and fix favicon path by @reynaldichernando in #123
- Update networking.md by @rockerBOO in #124
- Add Docker Support to the Dev Container by @Legonois in #126
- Improved formatting and fixed typos by @raconmeow in #128
- docs: update Wikipedia link from German to English version by @alpaim in #131
- feat : make dockerfile uses cargo cache by @IronMine in #133
- fix : RUST_BACKTRACE=full may be to much ^^ by @IronMine in #134
- Optimize floating point operations by @julianbraha in #135
- Revert "Optimize floating point operations" by @Snowiiii in #136
- Fixed velocity support by @Alvsch in #137
- Correct language used by minestom to Java by @neeleshpoli in #141
- Optimize some floating point operations, but maintain parity with Java by @julianbraha in #140
- /kick command by @didli789 in #146
- Fix server icons + add server icon to config by @kralverde in #143
- Fixed cylindrical by @Alvsch in #149
- Move to tokio by @Snowiiii in #142
- unload chunks when no players are using them by @kralverde in #152
- Basic surface lighting by @EamonHeffernan in #155
- made encryption config work by @Alvsch in #160
- Fixed player movement syncing by @Alvsch in #161
- Format numbers and dates per region by @neeleshpoli in #157
- Handle player packet id 0x23 by @tuttarealstep in #163
- Prevent panic on client poll function by @tuttarealstep in #164
- Added better and more descriptive logging by @AnonymousBit0111 in #167
- More debug messages for packets by @kralverde in #156
- Block breaking and placing by @Bryntet in #162
- fix tick system by @kralverde in #169
- Fix chunk loading deadlock and dangling chunk memory by @kralverde in #159
- Port to 1.21.2 by @Snowiiii in #171
- fix: autenticate -> authenticate by @lokka30 in #175
- Improved pvp by @Alvsch in #173
- make commands async by @kralverde in https://github.com/Pumpkin-MC...