# Dalamud v15.0.3.2 to v15.0.3.3

Checked September 8, 2026. Git/source collection began at 13:58 CDT; channels below were observed at **14:09:58 CDT (19:09:58 UTC)**. API 15 remains the release API. Static source inspection was performed; compilation, installation and in-game acceptance were not.

## Exact release and delivery

| Authority | Verified value |
| --- | --- |
| Baseline | `15.0.3.2`, peeled commit `83042016d0e9996dc44c9f7fd96a8d33a5e586f2` |
| Endpoint | `15.0.3.3`, tag object `917513613913dcd549f5536e832588170b954d5e`, peeled commit `c4c825465ab432d6d80539df8179bd7cdaf6ff00` |
| [Dalamud compare](https://github.com/goatcorp/Dalamud/compare/83042016d0e9996dc44c9f7fd96a8d33a5e586f2...c4c825465ab432d6d80539df8179bd7cdaf6ff00) | **37 commits / 381 changed files**, 2,170 insertions and 2,060 deletions. The compare API returned only 300 files; its cap is not the range total. Exact Git tree diff supplies the full count. |
| [ClientStructs compare](https://github.com/aers/FFXIVClientStructs/compare/50e46a849ce2b2ada83e8fe4209c50b6a34d7695...21898bf815f0e56e02b7dc08f0a3e24822c759d0) | `50e46a849ce2b2ada83e8fe4209c50b6a34d7695` → `21898bf815f0e56e02b7dc08f0a3e24822c759d0`; **157 commits / 116 files**. |
| Lumina.Excel pin | Unchanged: `2b2854671facac83f02fdec1f355986f2edaeb3f`. |
| Public packages | [Dalamud.NET.Sdk](https://api.nuget.org/v3-flatcontainer/dalamud.net.sdk/index.json) and [DalamudPackager](https://api.nuget.org/v3-flatcontainer/dalamudpackager/index.json) remain **15.0.0**. |
| Master | Matched the new tag at the 13:58 Git-ref observation. |
| [Release channel](https://kamori.goats.dev/Dalamud/Release/VersionInfo?track=release) | **15.0.3.3**, supported game `2026.08.11.0000.0000`, applicability **false**. |
| [STG channel](https://kamori.goats.dev/Dalamud/Release/VersionInfo?track=stg) | **15.0.3.3**, supported game `2026.09.01.0000.0000`, applicability **true**. |

Both distribution version files reached `.3.3`; [STG metadata](https://raw.githubusercontent.com/goatcorp/dalamud-distrib/main/stg/version) identifies `c4c825465ab432d6d80539df8179bd7cdaf6ff00`, revision `7496`. The [declarative configuration](https://raw.githubusercontent.com/goatcorp/dalamud-declarative/main/config.yaml) still gives Stable the older game contract. Version propagation does not establish Stable applicability or prove which runtime a client loaded. Formal GitHub Releases still ended at `14.0.4.0` when checked; runtime tags and distribution independently establish this release. These are timestamped observations, not later channel guarantees.

## Included changes and plugin action

| Included change | Consequence and next action |
| --- | --- |
| [ClientStructs native corrections #2951](https://github.com/goatcorp/Dalamud/pull/2951) | Updated signatures include idle-camera, mentor and UI helpers. `GameMain.IsInIdleCam` gains a trailing `E9` in its signature to narrow the target. Retain generated C# callers when their contract is unchanged; verify the loaded matching definitions. Audit copied signatures separately. |
| ClientStructs UI layout correction | `RaptureAtkModule.RaptureAtkUnitManager` moves **0x13430 → 0x13460**. Dalamud's context-menu manager uses this embedded field. The correction is relevant to older-runtime addon lookup failures; recovery still requires runtime evidence. Review copied layouts or hardcoded offsets where present. |
| [EmbeddedInfoType #2912](https://github.com/goatcorp/Dalamud/pull/2912) | `DalamudLink` moves **0x0F → 0xCE**, alongside newer link types. Audit manual encoders, persisted wire values and embedded enum constants. Prefer supported payload/handler APIs. Ordinary chat consumers do not all need migration. |
| [GameObject.GetName #2919](https://github.com/goatcorp/Dalamud/pull/2919) | Names now use the native getter. Validate name-dependent displays and automation; consumers of the existing public property do not need a call-site rename. |
| [Gamepad navigation #2920](https://github.com/goatcorp/Dalamud/pull/2920), [window close #2921](https://github.com/goatcorp/Dalamud/pull/2921), [mouse check #2926](https://github.com/goatcorp/Dalamud/pull/2926) | New public navigation control and gamepad window closing. Validate focus, close callbacks, persistent overlays and input capture. |
| [IDtrBarEntry disposal #2944](https://github.com/goatcorp/Dalamud/pull/2944) | The interface now inherits IDisposable; Dispose calls Remove. Existing Remove cleanup remains valid. Custom implementations/mocks need the interface addition; ordinary consumers can keep their existing cleanup. |
| [Per-handler framework hitch logs #2936](https://github.com/goatcorp/Dalamud/pull/2936) | Helps attribute slow update handlers; it does not optimize those handlers. |
| [Interface-hook setup commit 93930dec](https://github.com/goatcorp/Dalamud/commit/93930dec977341cc05d1e9a0f14c61da386c2542) | Unsubscribes the setup callback before SetupHooks, preventing every-frame retries after a thrown setup. It reduces repeated errors; it does not repair the failed hook or establish UI recovery. |
| [Winsock restoration #2933](https://github.com/goatcorp/Dalamud/pull/2933) | Network integrations warrant normal connection/disconnection acceptance. No generic socket or IPC migration is demonstrated. |
| [Beastmaster JobFlags #2952](https://github.com/goatcorp/Dalamud/pull/2952), [XBMItem nouns #2953](https://github.com/goatcorp/Dalamud/pull/2953), [ClientStructs #2954](https://github.com/goatcorp/Dalamud/pull/2954) | Adds party-finder flags, noun support and `TofuObjectType.Beastmaster = 141`. Check exhaustive job/type switches and noun producers where used. |

Other changes add missing dev-DLL warnings and plugin path shortcuts, fix notification/gamepad presentation, and normalize files/indentation. Formatting accounts for much of the 381-file range; volume alone is not migration evidence. ClientStructs extends mount-unlock capacity; generated unlock APIs with sheet enumeration avoid a fixed-count edit.

The [tagged ContextMenu detour](https://github.com/goatcorp/Dalamud/blob/c4c825465ab432d6d80539df8179bd7cdaf6ff00/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs) still dereferences its addon lookup without a new null guard. An AgentVT stack naming this detour cannot alone identify the triggering plugin. Native fixes also cannot repair a plugin's own mutable BeginDisabled/EndDisabled pairing: capture the disabled state once and balance that scope; validate resulting UI behavior separately.

## Announcement reconciliation

The supplied announcement lists 16 PRs and states **19 PRs from three contributors**. The full Git range references 25 PRs: six ClientStructs dependency updates and 19 other PRs, authored by Haselnussbomber, KazWolfe and MidoriKami. The three additional non-dependency PRs are [#2933](https://github.com/goatcorp/Dalamud/pull/2933), [#2937](https://github.com/goatcorp/Dalamud/pull/2937) and [#2939](https://github.com/goatcorp/Dalamud/pull/2939). The count is consistent with dependency updates separated. The direct interface-hook commit is also included despite not appearing in the pasted bullets. Original message attribution and permalink were unavailable; official release identity and changes were independently verified.

## Open proposals remain outside this release

[Framework #2910](https://github.com/goatcorp/Dalamud/pull/2910), [schema #2914](https://github.com/goatcorp/Dalamud/pull/2914), [DataAdapter #2940](https://github.com/goatcorp/Dalamud/pull/2940), [plugin-change event #2941](https://github.com/goatcorp/Dalamud/pull/2941), and draft [gamepad-close setting #2950](https://github.com/goatcorp/Dalamud/pull/2950) remained open. API16 [service cleanup #2945](https://github.com/goatcorp/Dalamud/pull/2945), [disposable listeners #2946](https://github.com/goatcorp/Dalamud/pull/2946) and [SeString removal #2948](https://github.com/goatcorp/Dalamud/pull/2948) are still proposals. Do not apply future migrations as v15.0.3.3 requirements. The [official v15 guide](https://dalamud.dev/versions/v15/) remains the API baseline.

## Acceptance checklist

- [ ] Identify the actual selected runtime, game applicability and ClientStructs pin from installed/runtime evidence.
- [ ] Check real overlap with copied layouts/signatures, link encoders, job switches, native helpers and custom interfaces before editing source.
- [ ] Retest idle-camera/mentor helpers, context menus, addon lookups and mail outcomes where used.
- [ ] Validate gamepad close/focus, DTR cleanup, unload behavior and network integrations.
- [ ] Investigate recurring hitches using handler attribution, and investigate initial hook-setup failure even when repeated messages cease.
- [ ] Record compilation and in-game results separately; static inspection alone is not compatibility certification.

No blanket plugin version, manifest API, SDK or packager bump is established. Confidence is high in the pinned changes and observed delivery metadata; live recovery remains unverified.
