# Dalamud v15.0.2.2 to v15.0.3.0 - Public Report

Checked: `2026-07-28`

## Release Status

Dalamud `15.0.3.0` is now on the Stable/Release channel for game version
`2026.07.16.0001.0000`.

The stable tag is:

```text
e1922583abc830657d114b3cdc928994fad7c3fd
```

The final Beta package and the Stable package use the same tagged code. The
promotion itself adds no additional plugin-facing source change.

## Package Guidance

Plugins should continue to target:

```xml
<Project Sdk="Dalamud.NET.Sdk/15.0.0">
```

The public SDK and packager remain `15.0.0`. Do not change a plugin project to
`Dalamud.NET.Sdk/15.0.3.0`; that package does not exist.

## Full Range

| Component | Old | Stable | Delta |
| --- | --- | --- | --- |
| Dalamud | `15.0.2.2` / `4a6abae` | `15.0.3.0` / `e1922583` | 101 commits, 85 files |
| FFXIVClientStructs | `82f00f3` | `cc474ca9` | 226 commits, 229 files |
| Lumina.Excel | `be40faf` | `2b285467` | 14 commits, 3 files |
| Lumina | `7.5.0` | `7.6.0` | package update |
| Reloaded.Hooks | `4.2.0-goatcorp8` | `4.2.1` | hook dependency update |

## High-Signal Changes

- Config-change events can expose the underlying option name while keeping API
  15 compatibility constructors.
- `IFramework.CreateDebouncer` is available as an additive API.
- Async plugin load receives a real cancellation token.
- Copied SigScanner setup uses less managed memory; scanner contracts are
  unchanged.
- Service, plugin, framework, texture, font, and HTTP shutdown behavior was
  hardened.
- SafetyHook can be selected as an internal hook backend without changing the
  public `Hook<T>` contract.
- Native boot decompression, crash diagnostics, drag-and-drop state, and
  SeString sheet lookup changed.
- FFXIVClientStructs contains broad Patch 7.55 layout and generated-signature
  movement.
- Lumina/EXDSchema changes affect generated sheet types, including commonly
  used item, emote, instance-content, and shop data.

## What Plugin Authors Should Do

1. Keep SDK and API level at `15.0.0` / `15`.
2. Rebuild direct native and generated-sheet consumers against the matching
   Stable runtime.
3. Validate every custom signature and hook.
4. Treat native pointers as operation-scoped and fail closed when unavailable.
5. Verify unload/reload behavior, especially callbacks, background work,
   automation, input ownership, IPC, textures, and hooks.
6. Exercise changed generated sheets used by the plugin.

Do not copy offsets, sizes, virtual indexes, or signatures from an older
ClientStructs build.

## Current Master

Repository `master` is one commit ahead of Stable with a fix for
`UnlockState.IsEmoteUnlocked`. It is not part of the `15.0.3.0` stable tag.
Treat it as a post-stable watch item unless a plugin directly relies on that
method.

## Plugin Review Result

The reviewed first-party, feed-listed, and supplemental test projects
already target SDK `15.0.0`. No additional source, package, manifest,
signature, or plugin-version change was justified by Stable promotion.

Hook-heavy, native, schema, automation, and shutdown paths still require
Stable in-client acceptance. Static review or a successful build does not
prove runtime compatibility.

## Sources

- [Dalamud 15.0.2.2 to 15.0.3.0 comparison](https://github.com/goatcorp/Dalamud/compare/15.0.2.2...15.0.3.0)
- [Dalamud 15.0.3.0 tag](https://github.com/goatcorp/Dalamud/tree/15.0.3.0)
- [Current post-tag master comparison](https://github.com/goatcorp/Dalamud/compare/15.0.3.0...master)
- [Official channel configuration](https://github.com/goatcorp/dalamud-declarative/blob/main/config.yaml)
- [Official Dalamud v15 guide](https://dalamud.dev/versions/v15/)
- [FFXIVClientStructs comparison](https://github.com/aers/FFXIVClientStructs/compare/82f00f3f1a1aa77219eda75d4ddaa29e66008684...cc474ca90dce0824334544ad7ec7d769f3cb6ee5)
- [Lumina.Excel comparison](https://github.com/NotAdam/Lumina.Excel/compare/be40faf35c1ca040fe63a57d803072f10c60f6a9...2b2854671facac83f02fdec1f355986f2edaeb3f)
- [Dalamud.NET.Sdk 15.0.0](https://www.nuget.org/packages/Dalamud.NET.Sdk/15.0.0)
- [DalamudPackager 15.0.0](https://www.nuget.org/packages/DalamudPackager/15.0.0)
