| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| hookshot-setup.txt | 2026-11-11 | 1.7 kB | |
| Hookshot-v2.1.0-Windows-x64.zip | 2026-11-11 | 115.3 kB | |
| HookshotBuilder.exe | 2026-11-11 | 185.9 kB | |
| SHA256SUMS | 2026-11-11 | 556 Bytes | |
| hookshot-linux.txt | 2026-11-11 | 1.4 kB | |
| Hookshot-v2.1.0-x86_64.AppImage | 2026-11-11 | 242.1 MB | |
| Hookshot-v2.1.0-x86_64.AppImage.zsync | 2026-11-11 | 414.1 kB | |
| README.md | 2026-11-11 | 49.3 kB | |
| v2.1.0 source code.tar.gz | 2026-11-11 | 9.2 MB | |
| v2.1.0 source code.zip | 2026-11-11 | 10.4 MB | |
| Totals: 10 Items | 262.6 MB | 9,547 | |
⬇ Download for Windows
⬇ Download for Linux / Steam Deck
What's Changed
- Prevent Castle Town guard-house crashes with a larger render-target pool by @nathanaelries in https://github.com/NotRexed/Hookshot/pull/1202
- build: refuse a back end that would not load, and name the symbol by @notquiteog in https://github.com/NotRexed/Hookshot/pull/1200
- fix: preserve NUP member names during implicit reads by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1185
- Document AMD courtyard shadow and sky-block workaround by @nathanaelries in https://github.com/NotRexed/Hookshot/pull/1225
- Document how to start a new game with the keyboard by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1222
- fix(builder): stop when generated source cleanup fails by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1218
- perf(fpx): keep the hardware result for FMUL/FMLA S when the flags are already set by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/917
- Motion controls: gyro aiming from SDL pads, with sensitivity and inverts by @wyatt-poole in https://github.com/NotRexed/Hookshot/pull/1114
- Mix for 5.1 when the default output has 5.1 speakers by @janvitos in https://github.com/NotRexed/Hookshot/pull/1182
- vk: read a pipeline cache over 2 GB on Windows by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1226
- Run a waited-for pipeline build at once when it is still queued by @duck-paradise in https://github.com/NotRexed/Hookshot/pull/1129
- fix(vk): no mirror is made inside a parallel replay's segment by @t0masz407 in https://github.com/NotRexed/Hookshot/pull/1184
- Preserve descriptor-array indices across compatible handle Phis by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1038
- fix(vulkan): preserve guest mip levels in partial clears by @Trycky64 in https://github.com/NotRexed/Hookshot/pull/1084
- Contain pipeline cache save allocation failures by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1046
- Report finished audio buffers at the renderer update, so a speaker no longer goes silent by @janvitos in https://github.com/NotRexed/Hookshot/pull/1181
- fix(vulkan): release modules from rejected cache records by @Trycky64 in https://github.com/NotRexed/Hookshot/pull/1082
- fix(vk): Linux/Wayland: take an sRGB surface format for the swapchain (#679 rebased) by @metroid98 in https://github.com/NotRexed/Hookshot/pull/1086
- Builder: the ready page names both places when the build files are in a folder the player chose (rest of [#623]) by @amaralthalesalves in https://github.com/NotRexed/Hookshot/pull/1079
- NVIDIA DLSS, DLAA and Reflex (NGX + Vulkan, Linux and Windows, opt-in) by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/841
- Show the middle 16:9 in the save picture on ultrawide by @janvitos in https://github.com/NotRexed/Hookshot/pull/1183
- perf(lift): one page mark per straight-line group of stores through a base register by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/912
- fix(vk): Sharpness samples one picture pixel apart, RCAS-style, the same at any window size by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1256
- perf(vk): prepare the seed's compute programs first by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1277
- HD rumble on Switch Pro Controllers and Joy-Cons, through SDL's effect call by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1213
- perf: stream sampled profiles instead of loading every line by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1094
- vk: inline the global-load helper in task and mesh stages (the floating trees, [#994]) by @blushOFF in https://github.com/NotRexed/Hookshot/pull/1334
- Add a controller-accessible Quit option to the Gameplay menu by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1255
- Audio output in the Insert menu: Auto, Stereo or 5.1 by @janvitos in https://github.com/NotRexed/Hookshot/pull/1240
- feat: Monitor's shape for screens narrower than 16:9 (4:3, 16:10, 5:4) by @nesrodzair in https://github.com/NotRexed/Hookshot/pull/1224
- menu: a Restart row in Gameplay, beside Quit by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1266
- fix(vulkan): bind only bytes accessed by buffer-image copies by @Trycky64 in https://github.com/NotRexed/Hookshot/pull/1083
- Clean up rejected mesh argument buffer initialization by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1107
- feat(vk): frame generation Auto: a frame for each of the display's refreshes by @t0masz407 in https://github.com/NotRexed/Hookshot/pull/1121
- feat(vk): time a capture's GPU wait for its late pages apart in the log by @Nitnek in https://github.com/NotRexed/Hookshot/pull/1243
- Vulkan: pool imports take the game pools across a chunk's end whole, and commit their pages in one call by @jordanella in https://github.com/NotRexed/Hookshot/pull/1267
- fix(linux): the AppImage's parts list names the repository it is built in by @notquiteog in https://github.com/NotRexed/Hookshot/pull/1312
- perf(lift): the interrupt poll before each backward goto, calling a64_poll_cur() with no argument, so a loop's guest registers stay in host registers by @SadTransGirl in https://github.com/NotRexed/Hookshot/pull/1351
- vk: land [#792]'s four mesh fallback fixes (the fallback's compute pipelines crashed NVIDIA's Pascal driver) by @CiLiBi18 in https://github.com/NotRexed/Hookshot/pull/1314
- fix(builder): copies from a read-only install stay writable by @t0masz407 in https://github.com/NotRexed/Hookshot/pull/1104
- Vulkan: the synchronous replay on the reserved core while it replays, and that core the fastest kind (follow-up to [#1034]) by @jordanella in https://github.com/NotRexed/Hookshot/pull/1158
- fix(builder): explain unavailable selected game input by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1247
- fix: ignore half-float NaNs when locating flashes by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1274
- Linux: the OoT debug tools (cheats, teleport, flight, free view) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1292
- Raise the Motion sensitivity X limit to 600% by @nicholasgower in https://github.com/NotRexed/Hookshot/pull/1302
- Builder: stand in for the damaged textures of a 23.3 GB dump (Water Temple walls, [#1002]) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1308
- docs: mods that make files bigger need the resource size table grown by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1325
- Keep Linux update extraction from writing through symlinks by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1327
- Report Windows display startup failures by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1333
- Reject symlinked Linux update staging folders by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1343
- fix(sdl): keep the mouse captured when the pointer leaves the window by @ebarrera89 in https://github.com/NotRexed/Hookshot/pull/1251
- Send the held batch before waiting for a recording by @Odrannnn in https://github.com/NotRexed/Hookshot/pull/1276
- vk: RX_VK_MESH_NOCULL, the Steam Deck's task shader hang without leaving models out (#817) by @KewinBR in https://github.com/NotRexed/Hookshot/pull/1300
- fix(vk): DLSS at handheld Ultra Performance, and NGX paths on Linux by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1364
- test(dlss): four-byte UTF-8 case as a surrogate pair on Windows by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1365
- perf(vk): the retirement sweep's texture write-backs in batches, one submission and one wait each by @SadTransGirl in https://github.com/NotRexed/Hookshot/pull/840
- feat(vk): FXAA in the gameplay TAAU stand-in (edges on cards without the network) by @t0masz407 in https://github.com/NotRexed/Hookshot/pull/1115
- Stop the replay and exit when the GPU device is lost by @berelels in https://github.com/NotRexed/Hookshot/pull/1291
- Stick dead zone: an Insert menu row (stick_dead_zone), issue 752 by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1298
- vk: a mesh fallback program whose compute pipeline failed is not compiled again by @CiLiBi18 in https://github.com/NotRexed/Hookshot/pull/1317
- Native mouse look: turn the player camera from its own update, not a heap search by @itaskaev2 in https://github.com/NotRexed/Hookshot/pull/1356
- Stop the Builder when its working exefs cannot be cleared by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1363
- fix: harden what files, downloads and guest memory hand to host code by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1398
- fix: hardening part 2, guest sizes and indices in the OS layer and renderer by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1422
- vk: descriptor slotgen and sampler cache by @bibigurl-yum in https://github.com/NotRexed/Hookshot/pull/1330
- Motion controls: the full six-axis state as Eden builds it (follow-ups to [#1114]) by @wyatt-poole in https://github.com/NotRexed/Hookshot/pull/1237
- fix(vk): render BC targets through raw views, and stop leaving out OoT's noise volume pass by @Nitnek in https://github.com/NotRexed/Hookshot/pull/1338
- Dependabot: a 7-day cooldown before proposing a new action version by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1464
- Build: prepare the shaders at the end of the build, not at the first start by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1026
- fix(vk): restore Deku Tree floor web lighting on NVIDIA by @RoksTK in https://github.com/NotRexed/Hookshot/pull/1442
- Count the compiler a driver starts in the Windows memory gate by @corentinbonjour in https://github.com/NotRexed/Hookshot/pull/1089
- Keep the CPU's newer pages when a remade pool's mirror inherits a retired one by @duck-paradise in https://github.com/NotRexed/Hookshot/pull/1127
- Add 5120x1440 (32:9) Output resolution by @mockcomic in https://github.com/NotRexed/Hookshot/pull/1290
- fix(audio): align SDL device buffer to audio frame quantum and allow env override by @suarezoscar in https://github.com/NotRexed/Hookshot/pull/1329
- perf(os): wake WaitAny only for objects a multi-wait watches by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1353
- fix(vk): prepare again when the shader seed changes by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1387
- fix: measure free space on the NUP extraction volume by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1391
- fix: support fractional profile skips on pipes by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1392
- Free the space left by a failed NUP unpack by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1393
- fix: keep interrupted ROMFS copies out of the destination by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1395
- Leave a mesh shader with no outputs instead of OpUnreachable by @berelels in https://github.com/NotRexed/Hookshot/pull/1407
- Reject save backups inside the folder being backed up by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1408
- fix: clean up failed NUP extraction members by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1412
- fix: explain incomplete flash probe captures by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1418
- fix(vk): release frame interpolation resources when setup fails by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1445
- Release buffers after fallback initialization failure by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1087
- fix(vulkan): bound configured frame waits to ring capacity by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1113
- fix(linux): exit after unexpected display startup failure by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1128
- fix(setup): preserve extractor failure diagnostics by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1153
- docs: bring the docs in line with the code, and a reference of the testing switches by @itaskaev2 in https://github.com/NotRexed/Hookshot/pull/1262
- fix(vk): preserve the picture display aspect when resizing by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1339
- Honor the Linux menu font face selected by Fontconfig by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1371
- docs: PR descriptions open with why, screenshots for visible changes, and an AGENTS.md by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1466
- vk: render target images reused from a pool, not made and destroyed for each of OoT's shifting transient targets by @DUDUYG in https://github.com/NotRexed/Hookshot/pull/1416
- vk: render targets' images in VMA blocks of their own; dead targets swept every 10 presents (follow-up to [#1416]) by @DUDUYG in https://github.com/NotRexed/Hookshot/pull/1436
- AMD FSR 3.1 upscaling and frame generation (split from [#1335]) by @notquiteog in https://github.com/NotRexed/Hookshot/pull/1386
- Native mouse: only the active player camera takes the mouse (slingshot aim, shops) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1462
- fix: validate cache paths before building from extracted folders by @JooaoPedro15 in https://github.com/NotRexed/Hookshot/pull/1397
- fix(vk): recover from failed swapchain replacement by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1403
- Lowering: LEA.HI with a constant base and no carry (40 vertex programs drawn again) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1437
- vk: the pipeline notes file and the state list opened by the precompile, before play, not at the first new pipeline in play by @DUDUYG in https://github.com/NotRexed/Hookshot/pull/1417
- Warn at boot when memory and swap are below what the game needs by @berelels in https://github.com/NotRexed/Hookshot/pull/1406
- Stand-ins: check once per unpack, on --update too, skippable frames (follow-up to [#1308]) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1373
- Linux: skip menu fonts that have no Latin letters by @berelels in https://github.com/NotRexed/Hookshot/pull/1405
- vk: share one mesh-fallback record/payload pair per recording thread by @nicholasgower in https://github.com/NotRexed/Hookshot/pull/1383
- Leave a stage library the driver has not compiled to a worker by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1429
- Render UTF-8 names correctly in the Linux Insert menu by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1389
- feat(builder): the Hookshot Builder in Python, the same window without an executable of Hookshot's own by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1483
- fix(build): quicker, steadier updates: compiled objects kept, a cut-short lift translated again, 45 GB needed by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1484
- feat: smoother play, HDR10, a frame rate cap, Discord status, the Debug tab, sharper shadows by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1485
- fix: harden what the security scan flagged (https-only downloads, no strtok, SHA-1 marked not for security) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1470
- build: the release does not carry the Python builder by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1486
- Button prompts for Xbox, PlayStation and Steam Deck controllers, following the controls by @gab9281 in https://github.com/NotRexed/Hookshot/pull/1321
- ci: retry the AppImage's package install after a fresh apt-get update by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1491
- fix(tools): require consecutive frames for flash analysis by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1467
- fix(vk): remove duplicate motion deadzone formatter by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1496
- test: restore renderer regressions after main changes by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1498
- tools: validate the program cache's SPIR-V offline (scripts/validate_spirv.py) by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1508
- fix(vk): replace menu upload buffers only after successful growth by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1453
- Avoid overflow in Windows preparation timestamps by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1517
- ci: retry the complete AppImage package bootstrap by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1523
- fix(menu): Quality presets leave Frame generation alone, so it stays off by default by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1526
- Refuse an absolute-target symlink when unpacking an update part (#1295) by @rockysscenery in https://github.com/NotRexed/Hookshot/pull/1525
- feat(vk): draw the menu, FPS counter and start-up screen with Dear ImGui by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1459
- docs: point the Linux install section at the command-line build by @quazardous in https://github.com/NotRexed/Hookshot/pull/1529
- fix(appimage): copy sysroot library aliases by value for updates by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1536
- fix(vk): disable failed frame log sinks and unwind startup by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1531
- fix: Discord status starts on Windows by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1539
- fix(audio): keep 512-frame power-of-two default on SDL2 fallback by @suarezoscar in https://github.com/NotRexed/Hookshot/pull/1550
- fix(menu): keep the FPS counter off the banner on a window just wider than 16:9 by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1545
- fix(menu): clarify frame-generation preset help by @Brett-D in https://github.com/NotRexed/Hookshot/pull/1554
- fix(linux): safely rebase legacy sysroot links by @Brett-D in https://github.com/NotRexed/Hookshot/pull/1553
- fix(vk): preserve brightness in flash sampling across capture sizes by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1537
- feat(vk): trace effective presentation geometry on changes by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1457
- fix(vk): preserve pending screenshots before readback slot reuse by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1519
- fix(vk): publish complete screenshot resource sets by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1472
- fix: the display stays on while playing with a controller (#1532) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1538
- fix(vk): validate capture dimensions before allocating readbacks by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1551
- fix(menu): the mouse wheel scrolls, it never changes a value by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1557
- fix(build): the logo and fonts are made only where the Vulkan back end is compiled (AppImage builds failed) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1567
- fix(vk): flush custom UI texture staging before GPU use by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1559
- fix(build): stop sampling memory for exited compiler roots by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1562
- tests: the stamp-cache fixture gives the back end's branch its logo and fonts writers by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1575
- test(changelog): keep the scratch repository off the user's git config by @mmkzer0 in https://github.com/NotRexed/Hookshot/pull/1571
- test(fpx): build with HOOKSHOT_MINGW's clang when it is set by @mmkzer0 in https://github.com/NotRexed/Hookshot/pull/1570
- fix(vk): preserve CPU write watches during pool imports by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1434
- fix(linux): keep update symlink targets inside staging by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1597
- fix(packaging): include the prompt encoder runtime dependency by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1598
- Reject oversized NUP members before writing them by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1596
- ci(appimage): start a player's build from the packaged AppImage before it ships by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1607
- fix(display): do not toggle fullscreen on F11 when modifier keys are held (#1309) by @oscarlosu-lab in https://github.com/NotRexed/Hookshot/pull/1608
- feat(menu): let players choose the keyboard shortcut by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1609
- fix(vk): publish complete PNG captures and report failures by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1604
- fix(menu): a save keeps the options file's lines the menu does not write by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1493
- fix(menu): F1 always opens the menu by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1632
- fix(vk): make frame dump copies visible to host reads by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1621
- fix(builder): honor DLSS opt-in when updating a game by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1643
- fix(menu): distinguish game and generated frame rates by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1659
- fix(vi): keep the game at real speed under a Frame rate cap above 60 by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1612
- fix(builder): report bytes during NUP extraction by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1671
- fix(vk): publish texture staging slices before GPU reads by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1672
- fix(input): a stick axis steers once it has been seen at rest (camera spinning on its own) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1677
- fix(build): invalidate DLSS objects when SDK headers change by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1648
- Lowering: IMNMX with an immediate wider than 20 bits (vertex programs translate again) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1451
- Lowering: SULD.P on a 1D surface (17 compute programs translate again) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1447
- RX_VK_VRAM_MB and the integrated-GPU cap win over a preset's texture budget by @aquinas22 in https://github.com/NotRexed/Hookshot/pull/1376
- Name the member and the drive when NUP extraction runs out of space by @SimonKimDev in https://github.com/NotRexed/Hookshot/pull/1595
- fix(vk): multi-second freezes and white foliage without mesh shaders: fallback pipelines on a worker and in the precompile by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1512
- fix(vk): mesh fallback flicker: wait for the last draw before clearing the shared buffers (#1383 review) by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1509
- fix(vk): rainbow block-noise textures on low-VRAM cards: a failed BC3 upload is tried again, not drawn as noise by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1505
- fix(vk): texture noise when system RAM runs low: a staging arena of the size needed when 64 MB can't be pinned by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1514
- Let a draw run its own queued shader translation by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1714
- docs: tested configurations, the runs behind the status table by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1723
- perf(vk): DLSS keeps its feature through loading screens (a 44-78 ms stutter at each area entry) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1520
- test(vk): cover staging fallback ownership and publication by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1741
- fix(build): escape the build folder in glob patterns (a work folder with [ ] found no lifted code) by @BrunoSilvestre00 in https://github.com/NotRexed/Hookshot/pull/1722
- feat(startup): lower the start-up screen, smaller text, fade to black at the end by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1558
- fix: hardening part 3, updates, shared files, guest buffers and texture sizes by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1684
- docs: a workflow from report to release, with priorities by severity and by the hardware people run by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1724
- Game menus: point and click with the mouse in the title, pause menu, panel pages, options and dialogs by @jordanella in https://github.com/NotRexed/Hookshot/pull/1500
- os: no vcore checkpoint in WaitAny's scan while it holds mw_lock by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1696
- fix(vk): Read texture handles from stage constant banks by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1014
- fix(vk): mark a clear's targets in the parallel replay's dry pass (the one-frame black scenes) by @SadTransGirl in https://github.com/NotRexed/Hookshot/pull/1639
- AMD FSR 4.1 as a second upscaler engine, on [#841]'s frame chain by @madebyjordan in https://github.com/NotRexed/Hookshot/pull/1008
- perf(vk): keep four pages for the replay's reads as submitted, not one (Kokiri village view 50 -> 57 fps) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1762
- Builder: the damaged-texture check after an unpack shows its progress by @breakthetargets in https://github.com/NotRexed/Hookshot/pull/1764
- linux: the process affinity mask is the process's, not the asking thread's by @leonardochappuis in https://github.com/NotRexed/Hookshot/pull/1430
- fix(vk): share validated source crops across presentation paths by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1448
- feat: RecompLauncher support (recomplauncher.json, make_game --game/--prepare) by @Xarishark in https://github.com/NotRexed/Hookshot/pull/1102
- fix(shaders): lower TLD.MS (multisampled texel fetch) to Maxwell TLDS 2D.LZ.MS by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1769
- fix(vk): RX_VK_FSR4 and RX_VK_DLSS go over a saved FSR 3.1 (#1008 follow-up) by @madebyjordan in https://github.com/NotRexed/Hookshot/pull/1773
- tests: test_nup_stand_in's stand-in takes the progress argument (fixes main's Python checks after [#1764]) by @breakthetargets in https://github.com/NotRexed/Hookshot/pull/1780
- build(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/NotRexed/Hookshot/pull/1475
- fix: a game folder whose deepest file passes 260 characters builds and plays (#1468) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1497
- fix(vk): make capture readbacks visible before CPU reads by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1502
- fix(vk): slow resume and black HUD hearts on 4 GB cards: the texture squeeze waits while VMA's blocks have room by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1506
- fix(vk): dark lighting and glowing bloom on AMD: 64-lane graphics warps and Lichii [#273]'s fragment shuffle fallback by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1507
- fix(vk): missing floor grass without mesh shaders: indirect task draws ran no mesh workgroups by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1510
- fix(vk): dense grass cut off and far trees flickering without mesh shaders: fallback records from an allocator, 65535 slots by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1511
- fix(vk): coloured specks on fallback foliage (AMD): the generated vertex stage's outputs start at (0,0,0,1) by @rakefire-impala in https://github.com/NotRexed/Hookshot/pull/1513
- fix(vk): decode gameplay RGB9E5 upscale fallback by @Brett-D in https://github.com/NotRexed/Hookshot/pull/1552
- fix(scripts): the profile readers name and count Linux samples by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1746
- fix(vk): publish recording stream writes before GPU submission by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1568
- perf(vk): FSR 3.1's passes go through the pipeline cache kept across runs by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1574
- Warm the stage libraries from the program cache into the pipeline cache by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1586
- fix(hid): deduplicate gamepad polling when SDL controllers are active (#1480, [#1583]) by @oscarlosu-lab in https://github.com/NotRexed/Hookshot/pull/1606
- perf(vk): copy captured pages with non-temporal stores by @itaskaev2 in https://github.com/NotRexed/Hookshot/pull/1619
- perf(vk): Descriptor reuse on by default (options_version 4) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1625
- Translate a texture size query with the type its handle is sampled with by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1627
- perf(vk): skip write-backs of large GPU-written bindings by @DFN-master in https://github.com/NotRexed/Hookshot/pull/1629
- feat(build): Probe for system Vulkan packages, add proper requirements by @kacperoo29 in https://github.com/NotRexed/Hookshot/pull/1572
- fix(vk): recover recording stream and descriptor allocation failures by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1658
- feat(vk): add AMD Anti-Lag 2 (VK_AMD_anti_lag) by @liska1304 in https://github.com/NotRexed/Hookshot/pull/1729
- fix(framegen): 2x uses the renderer's own blend again; FSR 3.1 interpolation opt-in (#1635) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1730
- Work around AMD Vulkan task shader timeouts and restore cloth rendering by @lucasmsqt in https://github.com/NotRexed/Hookshot/pull/1747
- fix(build): package scripts/ in the Linux AppImage, so NVIDIA DLSS can be fetched by @lucasknutr in https://github.com/NotRexed/Hookshot/pull/1748
- fix(vk): admit only successful samplers across cache layers by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1754
- fix(vk): ask for task and mesh shader counts only where the driver offers them by @mihawk-99 in https://github.com/NotRexed/Hookshot/pull/1731
- Ask the pipeline cache for a compute pipeline before queueing its build by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1765
- docs: collect comparable logs for low FPS reports by @bronze-ff in https://github.com/NotRexed/Hookshot/pull/1768
- docs(worklist): garbled textures after play time; Gohma jump and Kokiri stutter rows updated by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1774
- fix: write-back stale-shadow edgecase by @ShroomKing in https://github.com/NotRexed/Hookshot/pull/1776
- perf(host): write the log in batches, a few writes a second instead of one per line by @DUDUYG in https://github.com/NotRexed/Hookshot/pull/1675
- perf(vk): write the pipeline cache only when its data changed (no 1.1 GB rewrite at every start) by @DUDUYG in https://github.com/NotRexed/Hookshot/pull/1660
- feat(linux): opt-in NVIDIA DLSS in Linux Builder and AppImage by @suarezoscar in https://github.com/NotRexed/Hookshot/pull/1585
- test(vk): restore source fixture dependencies after admission changes by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1819
- test: each test names its own run_all arguments, skips and modules by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1822
- Ultrawide: pause, item and map menus in the middle 16:9, sides blurred or black by @KrysGG in https://github.com/NotRexed/Hookshot/pull/1352
- feat(builder): the Linux builder looks like the Windows one by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1838
- test: two stale tests keep main red (lift cleanup's PREPARE, launcher keys of renamed rows) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1836
- fix(shaders): R2UR's source is one register, not a pair (a vertex program refused) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1806
- Redesign the Debug tab, Inventory and Teleport pages, and add a 5K output by @ArmstrongThomas in https://github.com/NotRexed/Hookshot/pull/1670
- feat(builder): warn before building on a hard drive by @nicholasgower in https://github.com/NotRexed/Hookshot/pull/1835
- fix(shaders): LDG/STG [URn+imm] with ordering bit 78 lower (2 compute programs) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1778
- fix(shaders): two large compute programs lower (an immediate is not R254) and get their local memory by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1800
- perf(vk): less copying of captured memory on the game and replay threads by @valonsodev in https://github.com/NotRexed/Hookshot/pull/1375
- docs(menu): the frame rate cap past 60 is experimental (#1742) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1805
- fix(loader): add the addend to GLOB_DAT and JUMP_SLOT relocations by @mmkzer0 in https://github.com/NotRexed/Hookshot/pull/1646
- Log a driver fault caught by the Windows pipeline guards by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/1766
- fix(vk): report device loss throughout native presentation by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1515
- fix(vk): Use host timestamps in frame captures by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1763
- fix(shaders): ISBERD.O, a task program reading back its payload (12 failing pipelines) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1789
- docs(worklist): shader translation 10 -> 2, stutter next step, floating trees verified by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1802
- fix(shaders): a loop that leaves by predicated EXITs ends at its closing self-branch (the last program that did not lower) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1810
- Open the window on COSMIC's Wayland with SDL2 by @italloramon in https://github.com/NotRexed/Hookshot/pull/1839
- fix(vk): retry transient texture image view failures by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1688
- fix(vk): tie texel buffer views to their imported backing by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1706
- fix(vk): submit a 2x set's copies together so its presents keep their times by @mayathaim-hue in https://github.com/NotRexed/Hookshot/pull/1720
- feat: Audio tab in the Insert menu with Volume and Mute in background by @bvtterbroot in https://github.com/NotRexed/Hookshot/pull/1270
- fix(display): publish coherent pointer and drawable samples by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1428
- perf(vk): what play makes goes into a pipeline cache of its own, one file per save (no 0.5-1.2 GB rewrite in play) by @DUDUYG in https://github.com/NotRexed/Hookshot/pull/1772
- fix(rt): mark an exclusive store's page after the store, not before by @mmkzer0 in https://github.com/NotRexed/Hookshot/pull/1645
- fix(menu): hide rows for features this PC lacks, and keep mouse clicks on the row meant by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1825
- docs(worklist): merge duplicate texture rows; owl-intro crash GPU; drop the Ally X menu row (on [#1860]) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1869
- docs(worklist): shader row to Fixed; the first-cutscene row split into the two RTX 30 crashes by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1860
- fix(vk): present ahead's vk_replay.cpp half, lost in [#1720]'s merge (main doesn't link) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1858
- Save Output resolution as a size, and take any size from the config by @ArmstrongThomas in https://github.com/NotRexed/Hookshot/pull/1814
- tests: fix four source checks broken on main (PREPARE fixture; ini_key renames; long-path out-of-space folder; DrawParameters Ctx) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1793
- Builder: a game folder it can't write to stops at once with the reason by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1849
- feat(vk): Anisotropic filtering option, 16x by default, and the upscalers' texture LOD bias by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1898
- perf(vk): the capture's streaming-store copy opt-in (RX_VK_CAPTURE_NT=1): more stutters, no gain measured by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1841
- bake: offline NVN translation harness + live bank writer + verify by @blessedplummer in https://github.com/NotRexed/Hookshot/pull/1707
- Builder: the damaged-texture check uses what the extraction saw (no ~100,000 files reopened) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1885
- fix(vi): a cutscene's cues stay with its movie above a 60 cap (#1742) by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1875
- build(release): ship the pipeline state list with every release by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1918
- vk: Add an opt-in recorder thread for the serial replay by @klimovich008 in https://github.com/NotRexed/Hookshot/pull/1473
- feat(vk): add opt-in VRAM compaction and hold the driver's count below its limit by @SadTransGirl in https://github.com/NotRexed/Hookshot/pull/1821
- fix(vk): prevent aligned uniform words from thrashing the cache by @i-love-computers-dude in https://github.com/NotRexed/Hookshot/pull/1910
- fix(vk): retire native FSR images after GPU completion by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1584
- fix(vk): own native FSR constants for each recording by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1591
- fix(render): reset temporal history when reprojection is invalid by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1715
- fix(vk): reject unbound imported buffers and roll back ownership by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1718
- feat(menu): a Text size row for dialogue, Navi and signs by @getzabelz in https://github.com/NotRexed/Hookshot/pull/1579
- fix(vulkan): track writes from direct buffer bindings by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1133
- fix(vk): add VMA image allocation retry without WITHIN_BUDGET by @1conver in https://github.com/NotRexed/Hookshot/pull/1438
- perf(vk): keep the write-back shadows while VRAM is full of free space inside VMA's blocks by @SadTransGirl in https://github.com/NotRexed/Hookshot/pull/1637
- perf(host): keep the game's threads on the 3D V-Cache cores of two-CCD X3D CPUs by @SadTransGirl in https://github.com/NotRexed/Hookshot/pull/1638
- fix(render): publish coherent temporal jitter samples by @Arkex-ai in https://github.com/NotRexed/Hookshot/pull/1691
- Builder: let the player choose how much memory a build may take by @corentinbonjour in https://github.com/NotRexed/Hookshot/pull/1090
- fix(vk): a masked clear whose pipeline the driver did not make is tried again, not cached as null (#1787) by @oscarlosu-lab in https://github.com/NotRexed/Hookshot/pull/1880
- Fix background shader and pipeline jobs left pending after exceptions by @SRhartty in https://github.com/NotRexed/Hookshot/pull/1874
- fix(security): verify Windows updater asset digests by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1792
- fix(setup): explain how to restore missing Windows tar by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1922
- fix(builder): constrain the Show details hit area by @monsterlag in https://github.com/NotRexed/Hookshot/pull/1863
- A DualShock 4 or DualSense touchpad click opens the menu as F1 by @nicholasgower in https://github.com/NotRexed/Hookshot/pull/1846
- build(release): a fuller shipped pipeline list, 4276 pipelines (follow-up to [#1918]) by @Joey-Magnus in https://github.com/NotRexed/Hookshot/pull/1935
- feat: Add an option to disable automatic camera centering by @fatalis in https://github.com/NotRexed/Hookshot/pull/1921
- fix(vk): keep adjacent uniform words in separate cache slots by @i-love-computers-dude in https://github.com/NotRexed/Hookshot/pull/1932
- tests: main's red bake and ub checks skip where their tool can't run; the ub fixture builds on Windows by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1939
- docs: say where the host shaders and the shipped pipeline list come from by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1978
- build: scripts/host_shaders.py makes the host shader headers from their sources by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1987
- Keep the menu Medium on every input, and shrink a long version to fit by @breakthetargets in https://github.com/NotRexed/Hookshot/pull/1968
- fix(builder): the Linux builder's details box is read-only by @SimonKimDev in https://github.com/NotRexed/Hookshot/pull/1966
- ci(release): release with release-please, and check PR titles by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/1059
- test: log_batch "off" takes the fastest of three; bake tests skip on Windows CI (600 s limit) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/2013
- Debug tab: a Movement speed choice for Link (1x to 3x) by @ArmstrongThomas in https://github.com/NotRexed/Hookshot/pull/2020
- fix(menu): the FPS counter looks as it did (green outlined text in the corner, no plate) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1957
- fix(menu): run the upscalers' one-time probes during the start-up screen, not at the menu's first open (#1886) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1916
- feat(menu): Esc can open the Insert menu (Menu shortcut "Insert, F1 or Esc") by @pmwork-personal in https://github.com/NotRexed/Hookshot/pull/1998
- build(release): a shipped pipeline list from most of the game, 11527 pipelines by @jarynclouatre in https://github.com/NotRexed/Hookshot/pull/2029
- ci(release): release candidates from release-please, Promote to release, and a nightly of main by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2018
- feat(menu): DLAA as DLSS's Native render resolution, and Render resolution as a slider in real sizes by @pmwork-personal in https://github.com/NotRexed/Hookshot/pull/2000
- feat(menu): a Mesh shaders row (Automatic, Native, Compute) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/1971
- build(release): the shipped pipeline state list merged from separate sources (tour + contributed lists) by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2040
- fix(vk): build every predicted pipeline before the game (the prediction found nothing on fresh builds; no 90 s budget; one progress bar) by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2032
- fix(host): room in the drivers' shader caches for the prepared pipelines (Linux) by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2033
- ci: run the Windows source checks in two parts, slowest checks first by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2025
- chore(main): release 2.1.0-rc.1 by @github-actions[bot] in https://github.com/NotRexed/Hookshot/pull/2026
- build(release): a contributed pipeline list from an AMD card with FSR 4, 1273 pipelines by @madebyjordan in https://github.com/NotRexed/Hookshot/pull/2044
- fix(vk): handle RDNA 1 wave32 and wave64 shader stages by @brunobaccari in https://github.com/NotRexed/Hookshot/pull/1657
- test(display): the startup fixture stubs driver_cache_room (main is red since [#2033]) by @NotRexed in https://github.com/NotRexed/Hookshot/pull/2051
- ci(release): list every commit type in the changelog by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2055
- feat(vk): GPU- and settings-independent pipeline state list (HKSTATE2) by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2046
- ci(release): big download links for Windows and Linux at the top of each release by @hckrman101 in https://github.com/NotRexed/Hookshot/pull/2059
- chore(main): release 2.1.0-rc.2 by @github-actions[bot] in https://github.com/NotRexed/Hookshot/pull/2053
New Contributors
- @nathanaelries made their first contribution in https://github.com/NotRexed/Hookshot/pull/1202
- @notquiteog made their first contribution in https://github.com/NotRexed/Hookshot/pull/1200
- @bronze-ff made their first contribution in https://github.com/NotRexed/Hookshot/pull/1222
- @wyatt-poole made their first contribution in https://github.com/NotRexed/Hookshot/pull/1114
- @janvitos made their first contribution in https://github.com/NotRexed/Hookshot/pull/1182
- @jarynclouatre made their first contribution in https://github.com/NotRexed/Hookshot/pull/1226
- @t0masz407 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1184
- @Trycky64 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1084
- @blushOFF made their first contribution in https://github.com/NotRexed/Hookshot/pull/1334
- @nesrodzair made their first contribution in https://github.com/NotRexed/Hookshot/pull/1224
- @CiLiBi18 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1314
- @ebarrera89 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1251
- @Odrannnn made their first contribution in https://github.com/NotRexed/Hookshot/pull/1276
- @KewinBR made their first contribution in https://github.com/NotRexed/Hookshot/pull/1300
- @berelels made their first contribution in https://github.com/NotRexed/Hookshot/pull/1291
- @itaskaev2 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1356
- @RoksTK made their first contribution in https://github.com/NotRexed/Hookshot/pull/1442
- @corentinbonjour made their first contribution in https://github.com/NotRexed/Hookshot/pull/1089
- @mockcomic made their first contribution in https://github.com/NotRexed/Hookshot/pull/1290
- @suarezoscar made their first contribution in https://github.com/NotRexed/Hookshot/pull/1329
- @Arkex-ai made their first contribution in https://github.com/NotRexed/Hookshot/pull/1445
- @DUDUYG made their first contribution in https://github.com/NotRexed/Hookshot/pull/1416
- @rakefire-impala made their first contribution in https://github.com/NotRexed/Hookshot/pull/1508
- @rockysscenery made their first contribution in https://github.com/NotRexed/Hookshot/pull/1525
- @quazardous made their first contribution in https://github.com/NotRexed/Hookshot/pull/1529
- @Brett-D made their first contribution in https://github.com/NotRexed/Hookshot/pull/1554
- @mmkzer0 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1571
- @aquinas22 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1376
- @SimonKimDev made their first contribution in https://github.com/NotRexed/Hookshot/pull/1595
- @BrunoSilvestre00 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1722
- @breakthetargets made their first contribution in https://github.com/NotRexed/Hookshot/pull/1764
- @leonardochappuis made their first contribution in https://github.com/NotRexed/Hookshot/pull/1430
- @Xarishark made their first contribution in https://github.com/NotRexed/Hookshot/pull/1102
- @DFN-master made their first contribution in https://github.com/NotRexed/Hookshot/pull/1629
- @kacperoo29 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1572
- @liska1304 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1729
- @lucasmsqt made their first contribution in https://github.com/NotRexed/Hookshot/pull/1747
- @lucasknutr made their first contribution in https://github.com/NotRexed/Hookshot/pull/1748
- @mihawk-99 made their first contribution in https://github.com/NotRexed/Hookshot/pull/1731
- @KrysGG made their first contribution in https://github.com/NotRexed/Hookshot/pull/1352
- @valonsodev made their first contribution in https://github.com/NotRexed/Hookshot/pull/1375
- @italloramon made their first contribution in https://github.com/NotRexed/Hookshot/pull/1839
- @mayathaim-hue made their first contribution in https://github.com/NotRexed/Hookshot/pull/1720
- @bvtterbroot made their first contribution in https://github.com/NotRexed/Hookshot/pull/1270
- @blessedplummer made their first contribution in https://github.com/NotRexed/Hookshot/pull/1707
- @i-love-computers-dude made their first contribution in https://github.com/NotRexed/Hookshot/pull/1910
- @SRhartty made their first contribution in https://github.com/NotRexed/Hookshot/pull/1874
- @fatalis made their first contribution in https://github.com/NotRexed/Hookshot/pull/1921
- @pmwork-personal made their first contribution in https://github.com/NotRexed/Hookshot/pull/1998
- @brunobaccari made their first contribution in https://github.com/NotRexed/Hookshot/pull/1657
Full Changelog: https://github.com/NotRexed/Hookshot/compare/v2.0.11...v2.1.0
Which file do I download?
| On | Download |
|---|---|
| Windows | HookshotBuilder.exe, the setup |
| Linux, Steam Deck | Hookshot-v2.1.0-x86_64.AppImage |
You need your own copy of the game. hookshot-setup.txt, hookshot-linux.txt and the .zsync are for the updaters. To check a download: sha256sum -c --ignore-missing SHA256SUMS, or gh attestation verify <file> -R NotRexed/Hookshot.