JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser .
🐛 Fix
fix: preserve player saves and segment statistics under concurrency
🐛 Fix
fix: improve movement detection and gameplay performance
🐛 Fix
fix: protect menu navigation and improve playlist and duel menus
🐛 Fix
fix: make duel rewards durable and add player effect preferences
🐛 Fix
fix(duel): a queued player stays queued through the ghost race; a match pulls them out and returns them to where they were (#1058)
🐛 Fix
fix(timetrial): the start plate can't restart a trial until the player left it; a ghost race is a race — a fall before checkpoint 1 keeps the run and the ghost going (#1059)
feat(duel): settle details in duel history, no-contest window, queue countdown sounds (#1035 #1030 #1031)
feat(duel): queue UX - idempotent join/leave, status bar, fairer matching, clickable announcements
feat(duel): race a ghost when the duel queue is empty (#1032)
feat(duel): Elo skill rating, repeat-play rewards and a play_duel trigger (#1034)
feat(duel): live race HUD and a finish grace for the loser (#1033)
🐛 Fix
fix(play): refuse a start before exiting the current run — a duelist can't forfeit by starting another map (#1042)
🐛 Fix
fix(duel): settle a mid-race disconnect as a disconnect — right line for the opponent, no prompts or restore for the player who left (#1044)
🐛 Fix
fix(duel): a queue match whose map was unpublished or deleted in the match-found window tells both players and requeues them (#1045)
🐛 Fix
fix(duel): deleting a map mid-duel cancels its duels instead of settling them as a forfeit (#1043)
🐛 Fix
fix(spectate): /fp spectate asks the forfeit confirmation before exiting a duelist's run (#1051)
🐛 Fix
fix(build): a save that leaves a map unpublishable cancels its duels before ejecting the runners (#1052)
🐛 Fix
fix(duel): throttle the queue win reward per pair and per day so instant matching can't be farmed with an alt (#1046)
🐛 Fix
fix(duel): one reward gate for every duel reward — streak and first-win payouts obey the pair cooldown and daily cap too (#1056)
🐛 Fix
fix(data): stop caching DB errors as missing worlds (#978 residue)
✨ New
Add nms-26_3 module for Paper 26.3 (pre-emptive)
feat(auto-unpublish): auto-unpublish blocked-name, low-rated and over-reported maps (#1018)
🐛 Fix
fix(provider): mark the timed load-failure on world-data exceptions too (#978)
refactor(visibility): owner dimension for the hide registry, showcase hides recorded (#780)
🐛 Fix
fix(i18n): route the remaining hardcoded GUI English through lang keys (#812)
feat(duel): accept/decline step for queue matches (#969)
🐛 Fix
fix(browse): build-mode play refusal, filter-edit click, rating filters, Bedrock card hints (#995 #974 #976 #996 #994)
🐛 Fix
fix(cmd): /fp command layer fixes from the 2026-09-15 review (#950 #944 #945 #946 #981 #948)
🐛 Fix
fix(duel): queue-duel forfeit restore, forfeit confirmation, map length in duel prompts
Name/profile resolution: stop the Mojang 429 storm, bound the async fan-outs (#954 #973 #979 #982 #1002)
🐛 Fix
fix(replay): replay persistence + recording/playback tick robustness (#963, #964, #988, #966, #985)
Play session: practice-mode exit, fractional-stance ability blocks, no-jump baseline, fog/scale/equip churn
🐛 Fix
fix: showcase teardown isolation, Bedrock label/hologram/particle fallbacks, logbook retention (#965, #1004, #989, #980, #990)
perf(registry): cache registry-wide derivations, drop per-call registry copies (#951 #952 #953 #947 #1001)
🐛 Fix
fix(menus): prompt recovery, Bedrock form reopen, confirm cancel, party invite picker, favorites tile, material renames, i18n (lane 9)
Play-mode move listener: detect plates along the path, cheaper per-move work, refusal feedback (#987 #984 #986 #959 #968)
Browse session lifecycle, world-load state and Bedrock boss bars (lane 4, 2026-09-15 wave)
feat(join): unfinished-run reminder + next steps after the starter playlist
✨ New
feat(xp): show the next cosmetic unlock (placeholders, level-up lines, /fp level)
✨ New
feat(xp): the per-completion XP line names the next unlock
feat(menu): Build a map tile on the newcomer screen
feat(menu): the newcomer Build tile resumes an existing draft
feat(menu): two-choice first screen for players with no completions
feat(elimination): scheduled event announcements
feat(join): creator activity digest + draft reminder for returning builders
feat(browse): pre-filter the configured difficulty for zero-completion players
🐛 Fix
fix(play): let a map's own dispenser hand out the elytra (#932)
review(#932): mark in the slot region the hand-out landed in
🐛 Fix
fix(protection): let anyone open a map container, refuse only moving items
thread
🐛 Fix
fix(play): admit items a map's own dispensers hand out to the runner
thread
🐛 Fix
fix(protection): deny item actions to players in a parkour world with no mode
🐛 Fix
fix(play): actually lock a runner's inventory — pickup, drop, armor and gliding
🐛 Fix
fix(protection): route container access through the map's owner/trust gate
🐛 Fix
fix(build): stop a creative builder dropping items into their map world
feat(replay): record runner state — ground contact, sprint, double-jump and fall-damage cues (format 0x0A)
feat(showcase): consume recorded runner state — exact cues, recorded ground, recorded sprint FOV
feat(replay): record fire state and water splashes; hurt flash, flames and splash on phantoms
feat(replay): record potion-effect snapshots and block clicks; swirls and plate clicks on playback
feat(replay): ambient phantoms make sound during normal play
refactor(replay): carry the phantom label in one text display, not four
feat(onboarding): "Start Here" hub tile that starts a curated starter playlist
🐛 Fix
fix(replay): spawn phantom info labels with zero pitch so they stay upright
feat(cosmetics): drive cosmetic models via item_model instead of shared custom_model_data
perf(chunks): bound the chunk-ticket region and release it when a map empties
feat(diagnostics): name the maps that are expensive to load
perf(replay): mount phantom info labels as NPC passengers instead of per-tick moves (#823)
feat(browse): instant scrolling — read-ahead prefetch, cold-load-only rate limiting, view loads, instant HUD swap
feat(browse): keep the top of the default browse order loaded (warm-browse-maps)
perf(unloading): exempt read-only worlds from max-unloads-per-cycle
feat(bedrock): optional per-ability bedrock-strength-multiplier (#881)
refactor(text): unify player-facing vocabulary on "map" (#878)
feat(ux): browse core — weighted highest-rated sort, rate-limit countdown, legacy filter aliases, hotbar slots (#853 #855 #858 #879)
feat(ux): build & publish flow — hotbar tools, publish feedback, seeded dialogs, hub My maps, start-point flow, test-run notice (#859–#864)
feat(ux): play-mode controls & post-run flow (#869 restart confirm, #870 two visibility items, #871 post-run flow)
feat(ux): Bedrock chat-click fallbacks — duel/party forms, /fp accept|decline, typed hints, spectate skip clock, Bedrock sound fallback, map share link (#866 #867 #868 #872 #884)
feat(ux): Bedrock parity leftovers — /fp stats compare, horse-style icons, phantom real-skin toggle (#880)
🐛 Fix
fix(text): vocabulary + typo cluster in shipped lang/menus/config (refs #878)
feat(ux): parkour feed toggle + quieter broadcasts, prestige confirm, duel wager cap, challenge tracking hints (#873–#876)
feat(ux): browse position memory, keyword search results, play-by-name, richer map cards (#854 #856 #857 #882)
feat(ux): hub party/duel/elimination menus, topic-grouped help, elimination + chained-mode onboarding (#877, #883)
feat(ux): empty-draft cleanup + quota message, collaborators menu + save-in-place (#865, #885)
🐛 Fix
fix(browse,spectate): snapshot featured sort key + guard returnToBrowse in elimination (#899, #900)
🐛 Fix
fix(browse): snapshot every single-key sort comparator so the whole browse sort is immutable