Releases: 4laric/er-archipelago
Release list
v0.5.3
What you need to update
- Client: Required — use the v0.5.3 client with v0.5.3 seeds.
- APWorld: Host-only — the room host or generator must install v0.5.3; joining players only
need the matching client. - YAML: No new YAML required. Existing YAMLs remain valid.
- Existing seed/save: Compatible — keep an active v0.5.2 seed on its matched v0.5.2 pair.
There is no save migration; just do not mix client and APWorld versions. - Profile/assets: No action.
The questline-DAG rebuild no longer trips over its existing table on Windows. The #1085
extractor completed all of its semantic checks, then one local full regen failed while reopening
questline_dag.tsv for output. The generator now writes a complete sibling temporary file and
atomically replaces the old table, so it neither opens that destination directly nor leaves a
half-written corpus when replacement fails (#1110).
The website's update verdict is now a reviewed repository artifact. release/latest.json is
generated from the stable-channel and contract ledgers, checked for drift in CI, and deployed only
after its version, contract, and release URL are verified. The served file remains atomic, but its
exact bytes are now visible in the promotion commit instead of being composed only on the host.
Tarnished Pack owners can opt its new gear into the pool. The eight verified player weapons
and shields plus all 18 pieces across the four armor families join as honorary S-tier pool-builder
gear. The toggle defaults off for non-owners; NPC-only weapon bases, Spectral Steed attire unlocks,
and the still-unverified invasion grants remain outside this first #1096 slice. Enabling
the toggle also adds 11 verified limited-stock merchant checks: the Hefty Scimitar, Steel set,
Silver Grooved Shield and set, and Reverse-Bladed Sword. Those checks stay separate from the
Shadow of the Erdtree ownership gate.
The same toggle now adds three verified corpse pickups: Idus Sword near Liurnia Lake Shore, Ritual
Thrusting Shield near the Isolated Merchant's Shack, and Reed Great Katana near Fort Faroth. Their
live 1.17 lot and MSB placements are fully joined; the uncertain invasion rewards and Spectral
Steed attire remain excluded.
Matt's randomizer can summon Torrent again on Elden Ring 1.17. Matt's current
regulation.bin predates the four new RideParam rows and replaces the complete table, which
leaves Torrent unable to answer the whistle. The installer now offers an explicit Torrent-repair
mode that restores only those verified vanilla 1.17 rows. Run it after each randomization, because
Matt rewrites regulation.bin whenever it produces a new seed. The same repair is also published
as the standalone torrent-repair-v1.0.0 utility for players stacking the randomizer without AP.
Two progression dead ends now explain or prevent themselves. Sellia's Secret requires the
Unalloyed Gold Needle after Gowry consumes it, so logic no longer permits that same Needle to be
placed behind the route it opens (#1085). In the F6 tracker, the deliberately withheld finale-region
Lock now says that it is automatic and not in the pool, lists the exact requirements still owed,
and confirms when the region opens. Leyndell gets its own compound-gate line showing both
Leyndell Lock held/missing and AP Great Runes received/required, followed by open/closed.
A game update no longer strands the last supported pre-0.5 seed. The client accepts v0.4.13
only when its exact historical dc0dc687 contract is present. Every other mismatched version or
contract keeps the existing refusal, so this is a narrow audited bridge for players whose game
updated mid-seed rather than a weakening of paired releases.
Several corpus corrections remove misleading or unreachable work: five worldless Shaded Castle
lots and Stormveil's unsettable Neutralizing Boluses award leave the check list; the Forbidden
Lands pickup trio moves to Mountaintops; thirteen Seethewater/Campsite checks move to Mt. Gelmir;
and 53 unattributed hub-filed checks become filler-only instead of carrying progression from the
always-open Roundtable. The me3 guide also explains that the first AP_me3.sl2 is copied from the
vanilla save and how to verify that later saves remain separate.
This window opened at the v0.5.2 tag. CONTRACT_HASH stays at 13db0b3a —
abilityUnlockItems remains the newest slot-data shape — while the exact-version handshake moves
to 0.5.3. Client half: clients#469.
Final client pin for this draft: 7e18a819 (clients#473, #475, and #476 after the window-opening
clients#469).
Development build 6a5e797
Automated development build from world main and client main. Not a stable release. The AP flower icon override is intentionally omitted; AP items use the Telescope icon. Exact world and client SHAs are inside the bundle.
v0.5.2
What you need to update
- Client: Required — use the v0.5.2 client with v0.5.2 seeds.
- APWorld: Host-only — the room host or generator must install v0.5.2; joining players only
need the matching client. - YAML: No new YAML required. Existing YAMLs remain valid.
- Existing seed/save: Compatible — keep an active v0.5.1 seed on its matched v0.5.1 pair.
There is no save migration; just do not mix client and APWorld versions. - Profile/assets: No action — no profile or packaged asset changed when the window opened.
Four thousand check names stopped promising something a seed might not do. If a boss's sweep
could pay a check, its name said so -- "also granted by Fire Giant" -- and that was baked into the
name once, for everyone, before any seed existed. Turn sweeps off, or let the surface cut take a
Golden Seed back out, and the name kept saying it anyway. Haraldwyrm noticed first, colombius
brought the receipt, and Alaric ruled: if we are leaving them off sweeps, we should not say they
are granted by the sweep. The clause now reads "may be sweep-granted by Fire Giant" -- true in every
seed -- and the tracker, which knows your seed, still tells you when it is a real grant. 4,063 of
4,948 names change; no check moves, no id shifts. Old seeds keep their old wording in spoiler logs
and hints, and the new client reads both (#936).
Tarnished Edition works without letting its new item rows corrupt the shuffle. The client now
supports both Elden Ring 2.7.0.0 and the Japanese 2.7.0.1 executable on upstream's real address
tables. Patch 1.17 inserted equipment rows into the middle of several parameter tables, which made
old row-number assumptions show the wrong weapon name or icon. v0.5.2 recognises the verified new
rows and keeps them out of Archipelago's item and location pools for now. You can play the new game
builds; their new equipment simply waits outside the shuffle until its names and placements have a
complete, tested census (#1096, clients#461).
This window was opened at the v0.5.1 tag with zero commits past it, in the same
change that promoted stable to v0.5.1; nothing was carried over. CONTRACT_HASH stays at
13db0b3a — abilityUnlockItems is still the newest slot-data shape, and only the exact-version
handshake moved to 0.5.2. The final client pin is d99d81d.
What carried over from v0.5.1
Nothing — v0.5.1 shipped everything it documented: region_sync for seamless co-op, where one
player opening a region opens the door for every opted-in Elden Ring slot in the party;
full_area_sweeps, where a boss hands you the whole area instead of a slice of it; spawn_traps
taking enemy names instead of only model ids; and the progressive ability-lock fix that hands an
attack back early so a seed that locks all four attack inputs is not stuck against its first
kill-gated check.
stable moved to v0.5.1 in this same change, at its tag.
A client reliability fix also rides in
The pinned client also fixes a Bloodborne failure where a location check written into a silently
dead socket looked locally complete and would not be sent again until relaunch. Checks now remain
pending until the server confirms them. Retries are immediate, then back off through
1/2/4/8/16/30 seconds per location and stay at 30 seconds until acknowledgement; reconnecting resets
the delay for one immediate recovery attempt. There is no terminal retry count, so bounding the
traffic does not reintroduce a lost-check edge case (clients#455, clients#467, clients#468).
For whoever writes the real one
The v0.5.0 blurb is the model to beat: it opens on what a player does ("You can take an ability
away now"), not on the option name, and only reaches the key names after the feeling. The v0.4.3
blurb is the same shape. Say what someone will feel at the table before what was built.
Tarnished Torrent Repair v1.0.0
A standalone post-randomization compatibility patch for Matt's Elden Ring Item and Enemy Randomizer v0.11.4 on Elden Ring 1.17. This is not a full ER-Archipelago release.
What it fixes
- Restores the four 1.17 Spectral Steed regalia rows in
RideParam. - Restores the four matching
NpcParamrows required for Torrent to answer the whistle. - Corrects the 1.17 RideParam name-pointer mapping.
- Preserves Matt's randomized regulation data and unrelated binder entries.
Usage
Download and extract Tarnished-Torrent-Repair-v1.0.0.zip.
Install the required fixed Soulstruct build once:
py -m pip install --force-reinstall --no-cache-dir "https://github.com/Grimrukh/soulstruct/archive/d59dc41e607ed4221378519c81609557241dce6b.zip"Then run the Python repair directly against Matt's generated regulation.bin:
py .\torrent_rideparam_repair.py --regulation "C:\path\to\randomizer\regulation.bin"Run that command after every time you generate or regenerate a seed, because Matt's randomizer rewrites regulation.bin.
The repair creates a backup, verifies an encrypted round trip, and replaces the file atomically. The included repair-torrent-regulation.ps1 is an optional guided wrapper, but Windows PowerShell execution policy may block unsigned scripts. See README.md in the download for complete instructions and the included Smithbox fallback.
This repair path was live-tested in game with a working Torrent.
SHA-256 (Tarnished-Torrent-Repair-v1.0.0.zip): 71647409c35b431b778b1221cf6f6e7a1f358842f15bf8fa55fa450993ab5ed4
v0.5.1
Tarnished Edition, first
Elden Ring updated to 2.7.0.0 on August 27th, and it moved the executable out from under every
address this client reads. Two things about that, and both are good news.
If you don't update, nothing changes: 2.6.2.0 and the Japanese 2.6.2.1 keep working exactly as
they did. If Steam updates you anyway, the old client doesn't crash or eat your save — it puts up
one message box naming your version and both supported ones, then launches the game vanilla with
the mod switched off. That box was built months ago for exactly this morning, and the first
player screenshot of it arrived before we'd even finished patching.
The client that ships with v0.5.1 goes further: it carries a 2.7.0.0 arm derived offline the same
day the patch dropped — 93 addresses re-derived in the engine crate plus 8 of our own — and it has
now survived one real session on the new executable: attach, connect, five items received and read
back, a warp, traps, scaling, and a merchant selling the shuffled wares with the AP flower sitting
in the lineup. One session is one session. The build logs a warning at attach saying the offsets
are derived rather than verified, and every log you send from a 2.7.0.0 run is what retires that
warning. The Japanese Tarnished executable isn't supported yet, and the client says so by name
rather than failing at you.
If you're mid-run and it's going well, the safe play is still to hold Steam off and finish the
run on the version you started it on.
What you need to update
- Client: Required — use the v0.5.1 client with v0.5.1 seeds.
- APWorld: Host-only — the room host or generator installs v0.5.1; joining players only need
the matching client. - YAML: No new YAML required. Existing YAMLs remain valid. Two new options are opt-in
(region_sync,full_area_sweeps) and one default moved (ability_lock_mode). - Existing seed/save: Compatible — keep an active v0.5.0 seed on its matched v0.5.0 pair.
There's no save migration, and you shouldn't mix client and APWorld versions. - Profile/assets: No action — no profile or packaged asset changed in this window.
- 🛑 Check ids moved. Enia's 100 shop checks left the pool, so every AP id after hers shifts
down by 100. A spoiler log or an external tracker from a v0.5.0 seed will point at the wrong
check. Your in-flight seed is fine — it stays on the v0.5.0 pair it was generated for.
What is in it
Two of you can share one world now. Turn on region_sync and every Elden Ring slot in the
room unlocks regions together, so the seamless co-op partner riding along in your world stops
getting kicked out of ground you just opened. It's off by default, because in a normal multiworld
two people opening each other's map is the opposite of what you signed up for.
A boss can hand you the whole area. siffrin asked whether killing a boss gives you every item
in its region, which it didn't, and full_area_sweeps is that question answered yes. It's a big
lever — a legacy dungeon's boss paying out its entire check list changes what a seed feels like
from top to bottom — so it's opt-in and it stays opt-in.
A locked-attack seed hands you an attack early. Ability Lock now defaults to progressive,
so a run that takes your abilities away gives them back as items you find instead of leaving them
gone for good. And a seed that locks every attack no longer starts you weaponless against the
tutorial — one attack comes back early, up front, so the opening ten minutes are a game rather
than a standoff. A YAML that locks nothing is unaffected, and ability_lock_mode: static puts
the old behaviour back.
You can ask for a Basilisk by writing Basilisk. Spawn Traps took bare character model
numbers and nothing else, sitting right next to an option that takes words, which is how
SwiftyTaco ended up writing ids into the wrong list. It takes names now, in any casing, alongside
the ids it always took; misspell one and it tells you which name you were probably reaching for,
and put a number in the wrong list and it says which list numbers go in. Only 35 enemies have a
name to give — Elden Ring never writes an enemy's name on screen, so for most of the 390 models
there's no name in the game to use, and those stay as numbers rather than as something we made up.
Enia sells her own wares again. Her 100 shop rows are out of the randomization pool. They
released on ceremony flags and on holding the right remembrance, so the tracker called them
sphere-1 — reachable from the first minute — while her menu was empty at the start of the run: 100
checks you could see and couldn't buy. That's the shift in check ids, and it's the reason it was
worth paying for.
Checks are filed by the ground you stand on. This window ran a full region audit, and the big
piece of it is an instrument: a scan that reads the exact play-region volume a pickup physically
sits inside — the same id the game checks when it kicks you out of a locked region — instead of
guessing from the nearest lit grace. It disagreed with 114 of the 679 checks it can answer
exactly, and 30 of those were real misfilings that moved. J hit one of the symptoms live:
Demi-Human Queen Marigga and the Jagged Peak Drake were promising Gravesite payouts for fights
Gravesite can't reach, and the game kicked him out when he went to collect. Both bosses re-home to
the ground they're fought on, and their own drops came with them. NovahDango caught the other
shape of it: five Abyssal checks crediting a boss you fight in Scadu Altus. A boss handing you
checks from a region you never had to enter is a hard generation failure now, not a hope.
The wizard's filler percentages track your edits. Editing a curated_filler weight left all
seventeen percentages and the footer describing the recipe you had before the edit, and zeroing
every weight — the empty recipe, no gear and no upgrade economy — kept quoting the shipped
default's shares. It re-shares per keystroke now, and an all-zero recipe reads -- with a
warning. Thanks to NovahDango for the report.
What carried over from v0.5.0
Nothing — v0.5.0 shipped everything it documented (the ability lock and its progressive unlocks,
co-op difficulty, shop_checks, armor_bundles, the Leyndell capital-gate and as-sent Great
Rune fixes, the wider corpse-award sweep, !check).
stable moved to v0.5.0 when this window opened — the promotion v0.5.0 held back while it was
still an integration branch. Players on the stable channel have the ability lock now.
v0.5.0
You can take an ability away now. Roll, jump, either attack, guard — name it in locked_abilities
and the game simply will not do it, all run. It is not a keybind trick: the lock sits on the
character's own action layer, so rebinding does not dodge it, keyboard and mouse are covered the same
as a pad, and your menus are untouched. Lock roll and learn to space; lock jump and the world gets
taller; lock a hand and fight one-sided. Heal is lockable too — it owns no action bit, so locking it
disables the flask instead, and the flask heals nothing until it comes back.
And then you can give them back. Set ability_lock_mode: progressive and every locked ability starts
off but turns into an item somewhere in the multiworld — your Unlock: Roll might be behind a boss,
or in a friend's game three worlds over. Find it, get it back. By default those unlocks are
goal-required, exactly like a required Great Rune: your abilities can land in a partner's world, and
you cannot finish until they send them home. That mutual dependency is the point of playing in an
Archipelago — set ability_unlocks_required: false if you'd rather the unlocks never gate
completion. Roll is forced to show up early either way (thanks bobler), so you're never dodgeless
for hours.
What you need to update
- Client: Required — a progressive seed needs a client that understands ability unlocks, and the
version handshake moves to 0.5.0. A 0.4.x client still plays a 0.4.x seed. - APWorld: Required to generate 0.5.0 seeds.
- YAML: New YAML optional. Existing YAMLs remain valid.
locked_abilitiesand
ability_lock_modeare new and default off; every existing YAML stays valid. - Existing seed/save: Compatible — a seed that sets neither option plays exactly as before.
- Profile/assets: No action.
What else is in it
- Co-op difficulty (#993) —
coop_difficultyadds enemy-scaling tiers per seamless co-op
partner, so a duo isn't facing half the threat. Off by default; needsenemy_scalingon. - Remove merchant checks (#994) —
shop_checks: falsetakes all ~562 merchant purchase slots
out of the check pool. Merchants still sell their vanilla wares. - Armor bundles are a YAML option (#986) —
armor_bundles: falserestores the classic pool
where every helm, chest, gauntlet and greave is its own item. - Leyndell's capital gate no longer fights itself (clients#409) — the reconciler was clearing
the two fog-wall flags every tick while the key-item backstop re-set them, holding the wall shut
with two Great Runes received. Fixed. - Great Runes from boss drops arrive as-sent (clients#393) — the restored-row rewrite that
could leave a received rune inert is gone. - 129 more checks pay retroactively from the corpse-award sweep (#984) —
death_award_pairs
grows 179 → 308 pairs, and it works on existing seeds. !check <name>(#1008) — look up a check's flag by name and get a ready!setflagfor
anything that "didn't fire". GETTING-UNSTUCK grew matching walkthroughs (#1007).- Two Dryleaf Dane sweeps re-keyed to the real defeat flags, 41 checks (#1015). Updater errors
finally name the URL they tried (#978).
Notes
v0.5 was cut as an integration branch and merged to main on 08-24 once the ability-lock client
build checked out in play. stable stays on v0.4.13 until this window is tagged. CONTRACT_HASH
moved to 13db0b3a (the new abilityUnlockItems key); an older client reports incompatible for a
progressive seed rather than silently leaving abilities locked. Client half is 3797563 on client
main, pinned by the gitlink.
v0.4.13
A boss the game forgot to pay now pays you back. About 179 Elden Ring checks are corpse-treasure
awards — the loot an EMEVD death event hands over when a specific enemy dies. If that enemy died in a
way the event never witnessed — it fell, despawned, or died during a load — the game marked it dead
but never offered the loot, and on the next reload it force-killed the corpse without re-offering it.
The check was then permanently unpayable in-game (found live when rouqs' Leyndell Ulcerated Tree
Spirit died unpaid). Because the death flag persists in the save, the pair "death flag up, check flag
still down" is a complete signature of the miss. The v0.4.13 client ships a table of those pairs and
sweeps them at connect — so it pays the missed check retroactively, on any seed old or new, the
moment you update. No new YAML, no re-roll. The six corpses that legitimately re-offer their loot on
reload are excluded, so a merely-unlooted corpse is never pre-empted.
Reopening a shop keeps its Archipelago item names. The shop shelf that learned to show each
slot's real name could lose that repaint if you warped to a merchant and opened it fast — a lagging
load-edge reset was wiping the pending shelf just as the shop drew, leaving you with hints and blank
rows. It survives the fast open now.
The F6 tracker resizes freely again. A late-game sweep row could get long enough that the
tracker's anti-clipping floor collided with its own resize ceiling, and horizontal resize silently
died (up/down still worked — exactly the report). The floor now sits below the ceiling, and a window
dragged smaller than its content scrolls instead of clipping.
And the pickup ding is off unless you want it. The multiworld-collect cue was the stock Windows
system chime on every single pickup — no game-volume coupling, just the OS asterisk. It defaults to
silent now; "sound_cue": true in apconfig.json brings it back for anyone who liked it.
What you need to update
- Client: Required — this is the one to update. The contract is unchanged (
dc0dc687), so it is
a drop-in even mid-seed; the bundledupdate-er-archipelago.ps1does it in one command. The
corpse-award sweep and every fix above are client-side and apply to seeds you are already playing. - APWorld: Host-only — the room host or generator installs v0.4.13; joining players only need the
matching client. A v0.4.12 room keeps working with a v0.4.13 client (the banner notes the mismatch;
that is it doing its job). Roll new seeds on v0.4.13 when convenient. - YAML: No new YAML required. Existing YAMLs remain valid.
- Existing seed/save: Compatible — no save migration. Keep a mid-flight seed's APWorld as is and
update the client; the corpse-award sweep will pay any previously-missed checks in that very save. - Profile/assets: No action.
v0.4.12
The shelf un-padlocks. Buying an Archipelago shop slot hands you a "receipt" item — and it
turned out most of those receipts are hold-cap-1 goods you can neither drop, discard, nor sell,
so after one purchase Elden Ring itself refused every other slot sharing that item's row: "the
number you wish to buy would exceed the maximum able to be held." With v0.4.11's name-sharing
reusing rows across shops, one buy could quietly lock checks at every merchant. The client now
raises the caps on every receipt row it owns, which fixes every seed ever generated — including
the room you're in right now — the moment you update. Confirmed in-game by the player who
reported it.
Quitting the game stops gambling with a crash report. Quit to menu, quit game — the most
correct exit there is — could abort the process if one of our callbacks read game data mid-
teardown. Every such read now degrades to a log line.
And the housekeeping from the window: the release bundle now actually contains the updater
and the matt's-rando installer its notes promise beside the dll; the installer creates the
launcher's dll config on a fresh install instead of citing a dialog that never writes it; an
experimental ability-lock test harness ships off-by-default for wear-testing (#945); and
diagnostics date their own signature mismatches.
What you need to update
- Client: Required — this is the one to update. The contract is unchanged (
dc0dc687), so
it is a drop-in even mid-seed; the bundledupdate-er-archipelago.ps1does it in one command. - APWorld: Host-only — and hosts do not need to act for this release: v0.4.11 rooms keep
working with v0.4.12 clients (the version banner will note the mismatch; that is it doing its
job). Roll new seeds on v0.4.12 when convenient. - YAML: No new YAML required. Existing YAMLs remain valid.
- Existing seed/save: Compatible — no save migration; keep a mid-flight seed's apworld as is
and just update the client. - Profile/assets: No action.
v0.4.11
The shelf finally tells you what it's selling. Since the first shop rework, a merchant
holding more multiworld items than the game had spare name rows collapsed them into one shared
"Archipelago Items" label — you bought blind and checked the tracker afterward. That's over for
every regular merchant: the seed now assigns names so that no two items on the same shelf ever
share a row, and the client repaints the menu the moment it opens, so Kalé's stock, a nomad's, and
the Twin Maiden Husks' all read as exactly what they hold. The trick wasn't a bigger pool — it was
noticing that two slots only need different names if you can see them at the same time.
Eight graces that lit for nobody light now. Shadow Keep Main Gate, Main Academy Gate, Grand
Lift of Rold, Hidden Path to the Haligtree, Castleward Tunnel, both Limgrave Divine Tower graces,
and Wyndham Catacombs were orphans: a safety gate correctly refused to let the wrong region
force-light them, and nothing ever handed them to the right one. Each now lights with the region
whose ground it stands on. Under region_grace_unlock: entrance, Stormveil opens at Castleward
Tunnel and Raya Lucaria at Main Academy Gate — which also means the academy unlock no longer warps
you inside the seal.
Updating stops being archaeology. The client now checks the published release feed and tells
you, on screen, whether an update exists and whether it's safe mid-seed — a same-contract update
is a drop-in; a contract move waits for your seed to finish. When it says go, one command
(update-er-archipelago.ps1, shipped beside the dll) downloads the release, verifies it, swaps
the payload, backs up what it replaced, and never touches your config, saves, or logs. It is
deliberately never automatic: the banner decides, you run it.
Playing through matt's randomizer is one command too. install-into-matts-rando.ps1 points
the launcher's dll list at the client where it sits — no copying files into anyone else's folders,
and re-running it after an update is the upgrade path. It refuses incomplete bundles and warns
about the one dll known to eat item deliveries.
Quitting the game no longer risks a crash report. Quit to menu, quit game — the most correct
exit there is — could abort the process if one of our callbacks read game data mid-teardown.
Every such read now degrades to a log line instead.
And the accumulated table stakes: the Four Belfries Imbued Sword Key chest is a real check again
(the third of four copies, not a phantom duplicate); the Serpent-Hunter's spectral waves belong to
the Rykard fight instead of your inventory; receiving the Crafting Kit actually unlocks crafting;
local pickups that resolve as AP checks play an audio cue; the client backs up your save once per
launch; the goal ledger is on the tracker overlay; the spare-name pool grew 62 → 79 for the menus
that still need every row; and "Region unlocked" says it once, on the edge, not once per tick.
What you need to update
- Client: Required — use the v0.4.11 client with v0.4.11 seeds.
- APWorld: Host-only — the room host or generator must install v0.4.11; joining players only
need the matching client. - YAML: No new YAML required. Existing YAMLs remain valid. No option was added or
renamed; note only thatregion_grace_unlock: entrancenow uses the canonical doors above. - Existing seed/save: Compatible — keep an active v0.4.10 seed on its matched v0.4.10 pair.
There is no save migration; just do not mix client and APWorld versions. (Contract unchanged at
dc0dc687; the exact-version handshake still moves.) - Profile/assets: No action.
v0.4.10
What you need to update
- Client: Required — use the v0.4.10 client with v0.4.10 seeds.
- APWorld: Host-only — the room host or generator must install v0.4.10; joining players only
need the matching client. - YAML: New YAML optional. Existing YAMLs remain valid. Generate a fresh template only to
see and select newly added options such as the Malenia goal. - Existing seed/save: New seed required — finish an active v0.4.9 seed with its matched v0.4.9
client and APWorld; use a new seed for v0.4.10 features. - Profile/assets: No action — this window does not require a profile or asset reinstall.
Your friends finally get your stuff
Two measured multiworld defects die in this release, and both were the same shape: Elden Ring
took from the table without giving back.
Your progression is balanced across every game now. cross_game_progression: auto — the
shipped default — gives every partner game its own near-1/N share of your travelling progression:
your Region Locks, all seven Great Runes when a rune goal is active, the works. Eleven items at a
three-game table land roughly four in each partner and three at home, instead of one batch that
ordinary fill happened to split 2/2/7. Your world reserves the same share of each partner game's
progression in return, so their keys ride your starred checks too. Prefer the old shape?
aggregate is its name now, and an explicit percentage or never behaves exactly as it always
did.
Your weapons reach them too. At the shipped settings a non-Elden-Ring partner received
nothing from an Elden Ring slot but filler — 0 useful items in 498 measured placements — a
fill-order artifact, not anyone's setting. A dedicated pass now places your fair share of useful
gear into partner worlds before the general fill. Re-measured: 0 → 983 useful items delivered
across the CI matrix, and the partner sees the pool's own mix, about one weapon or talisman for
every consumable.
The wizard stops being homework
The complaint was fair: seven tabs, sixty flat options, all reading as mandatory. The wizard is
five steps now — Start / Options / Seed size / Advanced / Finish — with the old tabs folded into
collapsible sections that lead with the fifteen decisions that actually shape a run and tuck the
tuning behind a live-counted "More". Difficulty opens with Easy / Standard / Hard quick-picks
(Standard lands your final region around vanilla Haligtree's scaling; the dials stay real
underneath). The Seed size card stops claiming your Locks never travel — the sentence is derived
from your actual settings now — and starting-region candidates count honestly in the preview
before you generate. The progression-surface grid's counts are live too: every checkbox toggle
recomputes the marginals and totals instead of freezing at first render, and named values render
by name — the slider says auto, not a bare -1. The emitted yaml is byte-identical throughout:
this is presentation, not behavior.
Legacy dungeon bosses are Major bosses now. The LegacyBoss surface class was absorbed into
MajorBoss — a boss standing in a legacy dungeon is a major by any player's reading, and the split
earned nothing but a wizard row. A default seed's progression surface grows by the 22
legacy-standing boss checks that were not already majors: deliberate, and stated here. Yamls that
name LegacyBoss keep loading — the spelling is normalized on read — and goal and anchor
selection are unchanged underneath.
Quality of life at the table
Auto-upgrade covers every pickup. The silent raise-to-your-level that received weapons always
got is a real auto_upgrade setting now (default on), and it applies to world pickups and chests
too — including the put-it-down-pick-it-up gesture players know from matt's randomizer as the
catch-up for a weapon that arrived before you found your stones. A watchdog names any suppressed
pickup that never became a check, with its !give rescue, so the gesture can no longer silently
cost you a weapon.
Malenia can be the ending. goal: malenia guarantees the Haligtree but hands you Haligtree
Canopy alone once your Great-Rune and region requirements resolve — Loretta, Elphael and the full
descent remain physical play. Works with every existing goal axis.
The map got more honest. Consecrated Snowfield is its own rollable region with its own Lock,
grace, scaling and sweeps instead of hiding inside Mountaintops — and the Subterranean
Shunning-Grounds merged into Leyndell, because the well is inside the walls: one region, one
Lock, one wall, and a Great Rune can no longer strand itself on Mohg the Omen.
Enia's DLC rows leave a no-DLC seed. Thirty-six Finger Reader checks consume or gate on
Shadow of the Erdtree content; with enable_dlc: false they existed forever-uncompletable, and a
required item could park on one — a real reported goal-lock. They leave the seed together now.
The client stops eating your session
The known issue that closed the v0.4.9 notes is fixed: an enemy-randomizer kill during the
Radahn festival left the fight unfinishable — the client now backfills the festival state when
the boss dies without its ceremony, and the check fires. Alongside it: received items cursor
against your character identity, so a fresh character starts at zero and a reconnect cannot
replay or skip a delivery; a contained panic during item delivery no longer silently stalls the
receive stream; a capital warp the world state cannot resolve is rejected instead of dropping
you mid-air; the withheld-goal gate fails open, so a data gap can never seal the goal room shut;
and the rescue console grew !grace <name> / !unlockgrace to search and light any named Site
of Grace when a seed strands you.
What carried over from v0.4.9
No player-facing work is carried over. The v0.4.9 release tag differs from main only by its
client gitlink bump, and this window's v0.4.10 client pin supersedes it.