Mojang's approval covers Microsoft sign-in only; other account providers
(Ely.by, Yggdrasil servers) are against the rules Horizon plays by, so the
item can't ship. #1270 stays closed.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
server-admin links #9767 and #9748 (merged), so sync ships it once a release has them. The panel's later
features and vanilla's management protocol become server-panel-management (Later). sync also ships
languages (v0.2.65), end-city-banners (v0.2.67) and end-city-loot (v0.2.73).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Both items were filed help-wanted and their issues are closed, so
`python tools/roadmap.py check` answers "every linked issue and pull request is
closed: ship or drop it" for each: the work landed and the roadmap never
learned which pull request did it, so `sync` cannot move either item.
Links added: #1928 for end-city-banners, #1911 and #2037 for end-city-loot,
each merged on 2026-10-26, plus the sentence in `dev` that says what the fix
did. ROADMAP.md and roadmap/roadmap.json are what `roadmap.py build` writes
from the toml.
Status stays help-wanted: `now` needs an owner and a tracking issue and the Now
list is already at its 8-item cap, while `shipped` needs a release tag and
these went into Nightly builds after v0.2.x froze.
Co-Authored-By: Hermes Agent (Nous Research) <[email protected]>
Keeps native_entity_pose_change firing for server players: lan_update_models
(its only caller, which this PR removes) is replaced by a per-guest pose map on
LanHost, filled only while a mod is loaded. Drops main's posed_rider reset and
the gen_light_bench --loading flag with the in-frame code they belonged to,
and the HubConfig.dedicated field that #6993 removed.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Single player only runs on its server thread now. --in-frame and
--no-server-thread print a notice, and HORIZON_SERVER_THREAD is ignored.
This deletes the code that only the in-frame path reached: the window's
world loader and local player tick, its portal travel, the loading screen
and ring-by-ring streaming, and the in-frame LAN host (the host player in
the hub, its models of the guests, the reserved uuid). The world-upgrade
progress screen with its Cancel button moves to the server-thread start.
Tools, the harnesses and the docs no longer use the in-frame path.
Closes#6473
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- appimage_path: only when this binary runs from inside $APPDIR, so a launcher started by another
AppImage's program never overwrites that program's file.
- AppRun no longer exports LD_LIBRARY_PATH (the game and every other child inherited it):
patchelf sets the binary's and libraries' run paths; CI installs patchelf.
- Agent (MCP) configs and desktop shortcuts start update_target(), not the copy in the mount.
- The AppImage is built from $BIN like the archives.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Preserve profile edits, allow resource-only play, and distinguish imported records from registry packs. Finish archive conflict checks and document the partial roadmap milestone.
The roadmap: main's (Now at most 8 items) with this layer's native-mod
wording reapplied; the WebAssembly runtime is removed, not being removed.
docs/README.md: main's data pack upgrade line kept.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
roadmap.toml items get `owner` (a GitHub login) and `issue` (the tracking
issue); `check` requires both on every Now item, at most 8 Now and 12 Next
items, and the tracking issue to be an open issue. ROADMAP.md shows them,
roadmap.json carries them (the hub ignores unknown keys).
The proposed lists, from the work actually happening (open pull requests,
agents' workstreams):
- Now: smooth-frames, server-tick, mods, port-ledger (the player-visible
gaps), modpack-worldgen, server-thread, java-instances, lean-code, with
tracking issues #3909-#3916.
- Mods: one line (Ludovic's decision), owner levzzz5154; native-mods,
mod-registry, server-mods, mod-screens, modder-tools, machines-api and
mod-world-items fold into it.
- Shipped (`sync`, all their pull requests in a release): server-dialogs,
discord-presence, native-shaders, pregen, item-cooldowns, chat-settings,
pointer-hand, text-field-keys, chicken-flap. phones-and-browser is not
shipped: it becomes ongoing so `sync` stops taking its first pieces for it.
- Next: 12 (splitscreen, owner martipops, and launcher-redesign come up);
the rest of Next moves to Later.
Part of #3859.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Linux releases ship horizon-launcher-linux-x86_64.AppImage beside the
.tar.gz: one file to download, make executable and run, with the
libraries GPUI needs beside it. glibc, the graphics drivers and the
session's D-Bus stay the machine's (a driver cannot be packaged), so the
image needs glibc 2.35 or newer, like the .tar.gz. appimagetool 1.9.1
is pinned by SHA-256 and run extracted, so building needs no FUSE; the
image itself needs none either, as its runtime mounts it where FUSE
works and unpacks it where it does not.
Inside an AppImage, current_exe names a copy in the read-only mount, so
a launcher in one updates by replacing the file $APPIMAGE names, and
the menu entry it writes starts that file rather than the mount's copy.
The .tar.gz stays what every other launcher updates itself from.
Closes#2110.
Co-Authored-By: DeepSeek V4.1 Flash 1017 (River) <[email protected]>
Roadmap (from the 59 suggestions in the queue and what merged since):
- Microsoft sign-in shipped in [email protected].
- New: Minecraft Java instances in the launcher, native mods built by the
launcher, the port ledger, a new launcher design, hosting panel setups
(Pterodactyl, AMP), joining older-version servers through a native
protocol adapter, Windows ARM64, splitscreen (#2054).
- Mods items reworded for native hook points instead of the WebAssembly
API; scripts for mods moved to Later; asked-for client mods added.
README: more than 300 harnesses, the Nightly channel, native mods, and
the port ledger as a second, method-by-method measure.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
docs/mods.md is now about content mods (`cargo horizon-mod`, the manifest, the
content fence), native mods, publishing, the official native mods and a short
note on the removed WebAssembly mods. docs/api/mods.md and mods-reference.md
(the code API) are deleted. Other pages, the CLAUDE.md crate table and the
roadmap (five WebAssembly API items removed, others reworded for native mods)
no longer describe the sandbox, the SDK or the WIT.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
playhorizon.dev now deploys from the private ludovic111/horizon-site, which holds website/'s history. The files
its build still reads from here move out of website/:
- the design tokens to crates/horizon-theme/tokens.css (xtask tokens writes them, tokens_css_is_up_to_date checks them);
- the roadmap's JSON to roadmap/roadmap.json (tools/roadmap.py build);
- the benchmark fixtures to crates/horizon-telemetry-server/tests/fixtures/benchmarks/ (the site keeps a copy);
- the web icons to docs/media/brand/web/ (xtask icons).
pr_ready loses its website area and the tokens special case; rust_changes, the roadmap's links and every doc
that pointed into website/ follow.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
check still found five Help wanted items whose only links were closed
issues. Each was finished by a merged pull request, so the item now links
that pull request and waits in Now until a release carries it.
Co-Authored-By: Hermes Agent (Nous Research) <[email protected]>
Adds the ideas he said yes to, as roadmap items with plain and dev text,
and extends ai-companion, new-versions, benchmarks and intel-mac. New
areas: platforms, ai, community.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Kira's X poster (kira #12) posts shipped items flagged announce in journal.json.
Set on the five whose release is news: modpack world generation, the mod
registry, Discord Rich Presence, Microsoft sign-in and CurseForge. Flags must be
booleans.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
One source of truth for what is being done, what comes next and where to help: roadmap/roadmap.toml,
each item said twice (plain words for players, the technical picture for contributors), Now / Next /
Later / Help wanted / Shipped, no dates. tools/roadmap.py builds ROADMAP.md from it, checks its rules
offline (CI, through tests/test_roadmap.py) and against GitHub (links resolve, no stale Now item),
ships items whose pull requests all went out in a release (sync), and keeps a roadmap:<id> label per
item (labels). README links it; roadmap/README.md is the maintenance guide.
Co-Authored-By: Claude Opus 5.5 <[email protected]>