Skip to content

Releases: Str8UpWHITE64/Librarian-AP

Librarian-AP v1.1.3

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 26 Jul 03:58

Librarian-AP v1.1.3

Client-only hotfix. 1.1.2 was released to stop a New Game inheriting the previous run's progress,
and it only fixed part of it.
This completes that fix.

Update if you are on 1.1.2

Keep your existing apworld and seed — nothing on the generation side changed, so no
regeneration is needed. Extract the zip and drop Librarian/ into your Steam install (overwrite).
The title screen bottom-right should read LibAP v1.1.3.

The included apworld is a version-label bump only; grabbing it is optional and changes nothing.

What was still broken

If you launched the game, let it load an existing save at the title, then pressed New Game, the
new run could still adopt that old save's history — sending a burst of level-up and row-completion
checks it had never earned, straight into the multiworld.

1.1.2 closed two of the paths that did this. Two more were reading the old save directly and were
missed; both are now closed, along with the underlying rule so it cannot happen a third time.

If this happened to your run

Checks already sent cannot be un-sent by updating. If a run received a burst of items it never
earned, it is best to regenerate and start new.

Everything else

Unchanged from 1.1.2. Your saves, slots and the crash-recovery fix from that release all continue to
work as they did.

If something breaks

Send crash_trace.log (header should read mod=1.1.3), the last ~200 lines of UE4SS.log, and one
line on what you were doing.

Librarian-AP v1.1.2

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 23 Jul 23:11

Librarian-AP v1.1.2

Client-only hotfix on the 1.1.0 line. Fixes save recognition after a crash, and stops a New Game
from inheriting the previous run's progress.

This is a game-files update only

Keep your existing apworld and seed. Nothing on the generation side changed — you do not need
to regenerate. Just update the game files:

Extract the zip and drop Librarian/ into your Steam install (overwrite). See INSTALL.txt.
The title screen bottom-right should read LibAP v1.1.2.

What's fixed

Your save is recognised after a crash. The mod identifies your run by the library's layout. It
used to read where every book currently sat, so a crash that shifted books could make your run fail
its own check and refuse to load. It now reads where each book belongs, which a crash doesn't
change — so once you're on 1.1.2, a crash can no longer lock you out.

New Game no longer inherits the last run's progress. If you had played before, starting a New
Game could pick up the previous save still in memory — granting skills that never arrived in game
and sending level-up checks for rows you hadn't completed. A New Game now starts clean.

Normal players — nothing to do

Update the game files and press Continue as usual. Your run verifies at load exactly as before,
and quietly upgrades to the new system in the background. No steps, no regeneration.

If your run is stuck failing to load (post-crash)

A run that crashed before this update may still be rejected on the first load. One-time recovery:

  1. Update to 1.1.2 and try Continue once (expected to still fail — that's fine).
  2. Open %LOCALAPPDATA%\Librarian\Saved\LibrarianAP_slots.txt.
  3. Find the line for your run and delete everything after the comma, keeping the number before
    it. For example …=21,3459109785 becomes …=21. Save the file.
  4. Reconnect and Continue into that save.

Your run is adopted on load and recorded under the new system — and it won't happen again.

(Only the one line for that run changes; leave the rest of the file alone. During that single
recovery load the mod trusts whatever save you open, so make sure it's the right one.)

If something breaks

Send crash_trace.log (header should read mod=1.1.2), the last ~200 lines of UE4SS.log, and one
line on what you were doing.

Librarian-AP v1.1.1

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 19 Jul 23:40

Librarian-AP v1.1.1

Maintenance release on the 1.1.0 line. Two things: the intermittent connect crash is fixed for real, and the
mod works again on game builds 1.0.12 / 1.0.13, which changed how the game saves.

⚠️ Read this before updating

Requires game build 1.0.12 or newer. Older builds keep saves as a single flat file, and the new save
system cannot work with them at all — Continue stays dead and no slot can be claimed. The title screen now
marks the game TOO OLD rather than failing quietly. On an older game build, stay on
1.1.0.

Existing runs are not compatible. Updating the mod and continuing a run from an earlier release is not
supported: the old save is not imported into the new slot system, and that path is untested.

Update both files, then start a brand new seed and run. Take the mod and librarian.apworld
together — don't reuse the old apworld — and generate against the new one. A run should be started on a
matched pair rather than carried across.

What's new

The connect crash is fixed. 1.1.0 moved most of the mod onto the game thread, but a dozen background timers
stayed behind — and UE4SS runs Lua with no lock, so those timers were corrupting the interpreter's memory from a
second thread all session. The reliable trigger was connecting: a 50 ms timer refreshed the title buttons while
the starting-item burst hammered the same interpreter from the game thread. All of it now runs on one thread,
including the F4/F12 keybinds, which fire on a third thread of their own.

AP runs get their own save slot. Game 1.0.12 replaced the single save file with numbered slots, which broke
the mod's per-seed save in two ways: Continue was disabled for everyone, and AP runs shared slots with your
vanilla saves. Now:

  • Each run claims its own slot in the 20–30 range and tells you which one.
  • Reconnecting to a seed loads that slot for you — the load menu flashing open is the mod doing it.
  • Saving is handled for you: after every save the game makes, on a timer, and when you quit or return to title.

⚠️ Leave slots 20–30 alone. Don't load or save over them by hand — saving a different world into the run's
slot is the one action that can actually lose a run. Be careful when deleting saves: deleting an AP save is not
recoverable, so make sure you are deleting the correct ones. See
How saving works.

The mod checks it has the right save before doing anything. If you load the wrong one while connected, it
says so on screen and sends no checks and hides no books until the right save is loaded. Your other saves
are never touched, and a wrong report can never reach the multiworld.

Also fixed

  • Checks could leak between seeds. Connecting to a second seed without restarting the game could send the
    first seed's queued checks into it — and the first seed's sent list could suppress checks in the second.
  • Title-button gating never worked. It wrote to the button's event name rather than the button itself, so the
    write silently did nothing.

Compatibility

Game build 1.0.12 or newer required. 1.0.12 and 1.0.13 tested
Older game builds Not supported — use 1.1.0 instead
Runs in progress on 1.1.0 Not compatible — generate a new seed and start fresh
librarian.apworld Update it — don't reuse the 1.1.0 one

Install

  • Game side: extract the zip and drop the Librarian/ folder into your Steam install (overwrite when
    prompted), or just replace …/Librarian/Binaries/Win64/Mods/Librarian-AP/Scripts/.
  • Server side: drop librarian.apworld into your Archipelago custom_worlds/.
  • Take both files, and generate your seed against the new apworld. They carry matching version stamps, so
    a run started on a matched pair is the only configuration this release is tested in.
  • Confirm the title screen shows v1.1.1 and does not say TOO OLD.
  • Connect, click New Game, and note the slot the mod tells you it claimed.

Known issues

  • You cannot update the mod and continue an existing run. A run from an earlier release is not compatible:
    its save is not imported into the new slot system, and continuing one after updating is neither supported nor
    tested. Generate a new seed and start it fresh on this version. Importing an older save is a follow-up.
  • Running out of save slots is reported late. Eleven runs fit in 20–30. If they're all taken, the mod only
    notices after you've started the New Game and the world has settled — it then asks you to free a slot and
    reconnect, and you'll need to start the New Game again. Clear finished runs before starting a twelfth.
  • Return-to-menu freeze (rare). A heavy shelf-warding pass right before returning to the menu can briefly
    hang the Menu→Continue transition. A transient freeze, not a crash. Still a follow-up.
  • "Invisible when held" book (rare, random). Throw it out of bounds (it returns visible), or reload.

If you crash — please send logs

Mods/Librarian-AP/crash_trace.log (the breadcrumb ledger — its tail names the last mod op) plus the last ~200
lines of …/Win64/UE4SS.log, and one line on what you were doing. Confirm the trace header reads mod=1.1.1.

Librarian-AP v1.1.0

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 06 Jul 15:12

Librarian-AP v1.1.0

What's new

The crash is fixed. The long-standing intermittent native crash is resolved — the mod's Archipelago client,
item application, and all book/shelf warding now run on a single thread, and shelf warding is safe even while the
world is still streaming in.

Book hiding is completely working. Locked books stay hidden cleanly, and the old fences in front of locked
shelves are gone — replaced by a status light above each section:

  • Red — no shelves in that section unlocked yet
  • Yellow — some shelves unlocked
  • Off — all shelves unlocked

An at-a-glance read of your progress, with nothing blocking the view of the shelves.

A ton of bug fixes, including:

  • Wrong checks being sent — completions now map to the correct location/series.
  • Checks sent when books were out of order — a row/shelf no longer counts as complete unless its books are
    actually in the right order (no more false completions).
  • General instability — crashes and hitches across connect, item bursts, and shelf-walking.

Compatibility

Game builds 1.0.8, 1.0.9, and 1.0.11 are recognized as tested.

Install

  • Game side: extract the zip and drop the Librarian/ folder into your Steam install (overwrite when
    prompted), or just replace …/Librarian/Binaries/Win64/Mods/Librarian-AP/Scripts/.
  • Server side: drop librarian.apworld into your Archipelago custom_worlds/.
  • Existing YAML and seeds keep working — no regen. Confirm the title screen shows v1.1.0.

Known issues

  • Return-to-menu freeze (rare). A heavy shelf-warding pass right before returning to the menu can briefly hang
    the Menu→Continue transition. It is a transient freeze, not a crash. A follow-up.
  • "Invisible when held" book (rare, random). Throw it out of bounds (it returns visible), or reload.

If you crash — please send logs

Mods/Librarian-AP/crash_trace.log (the breadcrumb ledger — its tail names the last mod op) plus the last ~200
lines of …/Win64/UE4SS.log, and one line on what you were doing. Confirm the trace header reads mod=1.1.0.

1.1.0-rc4

1.1.0-rc4 Pre-release
Pre-release

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 25 Jun 15:17

Librarian-AP v1.1.0-rc4

Fourth release candidate for 1.1.0. Client-side crash hotfix — drop-in install, replace your Scripts/
folder. Your apworld and existing seeds are unchanged — no need to regenerate or reconnect a new seed.

New in rc4 — the rc3 crash fix

  • The intermittent native crash should be fixed (for real this time). The 5 rc3 crash reports turned out to be
    a different bug than the render race rc3's pump fixed: a cross-thread Lua-state race. UE4SS runs the mod's
    Lua on a background thread, but the game's own hook callbacks — and the ward pump — run Lua on the game thread;
    when both touched the same Lua tables at once (e.g. right as items/series rolled in), the Lua heap corrupted and
    the game aborted. rc4 makes the game-thread side only ever read immutable snapshots, so it can no longer collide
    with the background thread. This is the fix I need you to validate — play through item bursts, row/series
    completions, and general shelf-walking, and tell me if it stays stable.

Install

  • Overwrite your existing bundle as usual (or just replace
    …/Librarian/Binaries/Win64/Mods/Librarian-AP/Scripts/). Keep your existing apworld and YAML. No seed regen.
  • Confirm the title screen shows v1.1.0-rc4.

Two intentional behavior changes (NOT bugs)

  • Completion / section / floor / level checks now send within ≤3 s of the event (they ride the existing 3 s
    sync loop) instead of instantly. Items still arrive — just a hair later.
  • The section-sign glow refreshes within ≤5 s after a Continue instead of immediately.

Known issues (unchanged from rc3)

  • "Invisible when held" book (rare, random). Workaround: throw it out of bounds (it returns visible), or reload.
  • Return-to-menu freeze (rare). A heavy ward pass right before going to the menu can still freeze the
    Menu→Continue path. Separate follow-up.

If you crash — PLEASE send logs

Send the crash-report folder, especially:

  • Mods/Librarian-AP/crash_trace.log — the breadcrumb ledger (its tail names the last mod op)
  • …/Binaries/Win64/UE4SS.log — the last ~200 lines (look for a Lua next/compare traceback or abort)
  • one line on what you were doing
    Please confirm the title screen / trace header says v1.1.0-rc4 first — older builds don't help.

1.1.0-rc3

1.1.0-rc3 Pre-release
Pre-release

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 19 Jun 16:52

Librarian-AP v1.1.0-rc3

Third release candidate for 1.1.0. Drop-in install — see INSTALL.txt in the zip. Server host: use the
updated librarian.apworld.

New in rc3 — the crash fix

  • The intermittent native crash should be fixed. Every rc2 report pointed at the same root cause:
    the mod was updating book/bookcase state on a background thread, racing the game's renderer into a
    crash — especially right after a series/shelf unlock. rc3 funnels all of that work through a single,
    serialized, on-the-game-thread "pump," so it can no longer race the renderer. This is the headline
    fix we need you to validate
    — play through connects and series/shelf unlocks and tell us if it stays
    stable.

Carried over

  • The rc2 crash mitigation (proactive redraw sweep off) stays.
  • Row-completion fix, no level inflation on reload, and the large cleanup from rc1/rc2.

Known issues

  • "Invisible when held" book (rare, random). Workaround: throw it out of bounds (it comes back
    visible), or reload. It's below the mod's reach — see known_bugs.txt.
  • Return-to-menu freeze (rare). rc3 prevents the crash there, but a heavy warding pass right before
    going to the menu can still cause a multi-minute freeze on the Menu→Continue path. Separate follow-up.

If you crash or freeze — PLEASE send logs (this is the whole point of rc3)

Send the crash-report folder, especially:

  • Mods/Librarian-AP/crash_trace.log — the breadcrumb ledger; its last lines name what we were doing
  • …/Binaries/Win64/UE4SS.log — the last ~200 lines
  • one line on what you were doing (connecting, a series unlock, returning to menu, …)

Please confirm your title screen shows v1.1.0-rc3 first — older builds don't help. Optional A/B if
you do crash: set BOOK_ACTOR_GAMETHREAD=false (or CASE_WARD_GAMETHREAD=false) in
Scripts/diag_flags.lua to route that layer back to the old off-thread path, and report whether it returns.

1.1.0-rc2

1.1.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 06 Jun 02:48

Second release candidate for 1.1.0. Drop-in install — see INSTALL.txt in the zip. Server host: use the
updated librarian.apworld.

New in rc2

  • Hardened against a crash seen on rc1. Throwing a big pile of books around could occasionally trip a
    native crash; I traced it to a periodic "redraw" pass touching a book mid-cleanup and turned that pass
    off
    (the targeted on-pickup redraw still runs). If you still hit a crash while throwing books around,
    please tell me — that's exactly what I'm watching for.
  • "Invisible when held" book — easier workaround. I confirmed this is a rendering glitch on the held
    book that the mod can't repair in place (only a fresh copy of the book clears it). New, possible, lighter fix:
    throw the invisible book out of bounds — the game returns it to its spawn point a few seconds later, visible,
    with no reload and nothing lost. (Returning to title → Continue, or relaunching, still works too.)

Carried over from rc1 (fixed since the betas)

  • Row completion credits the series you actually placed (fixes free-placement sections like 1B / 1C / 1J).
  • No more level inflation when you reload a save.
  • Large internal cleanup + a full comment pass — no gameplay change.

Known issues (help us close these)

  • "Invisible when held" book (rare, random). A received book can render invisible while held even though
    it's fine in the shelf pile. Workaround: throw it out of bounds (it comes back visible), or reload.
  • Intermittent crash / freeze (rare). A book-warding operation can occasionally race the engine into a
    native crash — or freeze on return-to-menu right after a heavy warding pass. The project's long-standing
    hard problem; 1.1.0 reduces it but doesn't fully eliminate it.

If you crash or freeze — PLEASE send logs (this is what RC is for)

Send the crash-report folder UE4SS drops, but especially:

  • Mods/Librarian-AP/crash_trace.log — the breadcrumb ledger; its last lines name what you were doing
  • …/Binaries/Win64/UE4SS.log
  • one line on what you were doing (placing a row, returning to menu, throwing books, walking a shelf, …)

Reports from older builds don't help anymore — please confirm your title screen shows v1.1.0-rc2 first.

1.1.0-rc1

1.1.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 05 Jun 18:40

Librarian-AP v1.1.0-rc1

First release candidate for 1.1.0. Drop-in install — see INSTALL.txt in the zip. Server host: use the
updated librarian.apworld.

Fixed since the betas

  • Row completion credits the right series. Finishing a row in a free-placement section (1B / 1C / 1J, …)
    now sends the series you actually placed, not a mis-mapped one.
  • No more level inflation on reload. Re-loading a save no longer re-applies your skills and climbs your
    level each time you load in.
  • Self-healing redraw (from beta6.2) keeps unlocked books from staying invisible as you move around.

Under the hood

  • A large internal cleanup (removed a lot of dead/vestigial hiding code) and a full comment pass — no
    gameplay change
    , just a leaner, more maintainable build going into 1.1.0.

Known issues (help us close these)

  • Intermittent crash / freeze (rare). A book-warding operation can occasionally race the game engine into
    a native crash — or, if you return to the menu right after a heavy warding pass, a multi-minute freeze then
    crash. This is the project's long-standing hard problem; 1.1.0 reduces it but doesn't fully eliminate it.
  • "Invisible when held" book (rare, random). A received book may render invisible while held even though
    it looks fine in the shelf pile. Workaround: return to title + Continue, or relaunch — it clears itself.

If you crash or freeze — PLEASE send logs (this is what RC1 is for)

Send the crash-report folder UE4SS drops, but especially:

  • Mods/Librarian-AP/crash_trace.log — the breadcrumb ledger; its last lines name what we were doing
  • …/Binaries/Win64/UE4SS.log — the last ~200 lines
  • one line on what you were doing (placing a row, returning to menu, walking past a shelf, …)

Reports from older builds don't help anymore — please confirm your title screen shows v1.1.0-rc1 first.

1.1.0-beta6.2

1.1.0-beta6.2 Pre-release
Pre-release

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 04 Jun 13:57

Librarian-AP v1.1.0-beta6.2

Drop-in install — see INSTALL.txt in the zip. Server host: use the updated librarian.apworld.

Improving

  • The rare "unlocked book is invisible (but you can still grab it)" glitch. We traced it to a book
    whose data is correct but whose appearance got scrambled. This build continuously, quietly redraws
    your unlocked books
    using the game's own redraw — so a book that goes invisible fixes itself within a
    second or two as you move around, with no need to find it or pick it up.
    Redrawing a normal book does
    nothing visible, so you shouldn't notice anything except fewer (ideally zero) invisible books.
    • It's a candidate fix — if you still hit an invisible book, please report it. The build logs the
      details automatically so we can pin it down.
  • Clearer section signs. A section's sign now glows red when none of its shelves are open,
    yellow when some are, and turns off once it's fully open.

Notes

  • Crash fixes and the rest of beta6 are unchanged.
  • Please confirm your title screen shows v1.1.0-beta6.2 so we know you're on this build.

1.1.0-beta6.1

1.1.0-beta6.1 Pre-release
Pre-release

Choose a tag to compare

@Str8UpWHITE64 Str8UpWHITE64 released this 03 Jun 17:07

Librarian-AP v1.1.0-beta6.1

A small follow-up to beta6. Drop-in install — see INSTALL.txt in the zip. Server host: use the updated
librarian.apworld.

Improving

  • The "pickable book turns invisible" glitch. beta6's fix for this targeted the wrong moment
    (confirmed from a real beta6 log). This build hooks the actual grab, so it (a) records exactly what's
    making the book invisible — so we can nail the cause — and (b) restores a book that's wrongly hidden
    when you grab it. If you still see an invisible book you can pick up, please report it; the log now
    captures the cause every time.

Notes

  • Crash fixes and the rest of beta6 are unchanged.
  • Please confirm your title screen shows v1.1.0-beta6.1 so we know you're testing this build — a
    couple of recent reports turned out to be older installs that didn't overwrite.