Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/pre-commit-tooling-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,26 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
fetch-depth: 0
persist-credentials: false

- name: Diagnose Git checkout for changelog coverage
shell: bash
run: |
set -euo pipefail
echo "HEAD: $(git rev-parse --short HEAD)"
echo "Base ref: ${GITHUB_BASE_REF:-<none>}"
echo "Event: ${GITHUB_EVENT_NAME:-<none>}"
echo "Shallow repository: $(git rev-parse --is-shallow-repository)"
echo "Remote refs:"
git for-each-ref --format="%(refname:short) %(objectname:short)" refs/remotes | sort
if [ -n "${GITHUB_BASE_REF:-}" ]; then
echo "Merge base with origin/${GITHUB_BASE_REF}:"
git merge-base "origin/${GITHUB_BASE_REF}" HEAD
echo "Coverage diff preview:"
git diff -M --name-status "origin/${GITHUB_BASE_REF}...HEAD"
fi

- name: Setup Python
uses: actions/setup-python@v6
with:
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [3.0.1]

Comment thread
wallstop marked this conversation as resolved.
### Added

- New Roslyn base-call analyzer (`MessageAwareComponentBaseCallAnalyzer`) that flags `MessageAwareComponent` subclasses whose lifecycle overrides forget to invoke `base.Awake()`, `base.OnEnable()`, `base.OnDisable()`, `base.OnDestroy()`, or `base.RegisterMessageHandlers()`. Introduces diagnostics `DXMSG006` (missing base call), `DXMSG007` (lifecycle method hidden with `new`), `DXMSG008` (opt-out marker), `DXMSG009` (method implicitly hides a lifecycle method without `override`/`new`), and `DXMSG010` (`base.{method}()` chains into an override that does not reach `MessageAwareComponent`). DXMSG006's diagnostic message is now per-method: each guarded method emits a sentence describing the runtime consequence (registration token never created, handlers not re-enabled, memory leak, etc.) so users immediately see what breaks. The inspector overlay HelpBox renders the same per-method sentences. Severity is tunable per project via `.editorconfig` (e.g. `dotnet_diagnostic.DXMSG006.severity = error`). Ships as a separate `WallstopStudios.DxMessaging.Analyzer.dll` deployed alongside the existing source-generator DLL by `SetupCscRsp` so it loads under both Unity 2021's Roslyn 3.8 analyzer host and newer Unity versions. Diagnostic help links now open the current analyzer reference page in the DxMessaging repository.
Expand Down
2 changes: 1 addition & 1 deletion docs/images/DxMessaging-banner.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

DxMessaging is a high-performance messaging library for Unity (v2021.3+) that replaces traditional C# events and UnityEvents with a type-safe, lifecycle-managed communication pattern. It enables decoupled communication between game systems without direct references.

**Version:** 2.2.0
**Version:** 3.0.1
**License:** MIT
**Repository:** https://github.com/wallstop/DxMessaging
**Documentation:** https://wallstop.github.io/DxMessaging/
Expand Down Expand Up @@ -307,4 +307,4 @@ Copyright (c) 2017-2026 Wallstop Studios
---

**Last Updated:** 2026-05-07
**Generated by:** scripts/update-llms-txt.js using package.json v2.2.0 and .llm/skills metadata
**Generated by:** scripts/update-llms-txt.js using package.json v3.0.1 and .llm/skills metadata
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "com.wallstop-studios.dxmessaging",
"version": "2.2.0",
"version": "3.0.1",
"displayName": "DxMessaging",
"description": "Synchronous Event Bus for Unity",
"unity": "2021.3",
Expand Down
Loading
Loading