Skip to content

v3.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Aug 04:37
· 163 commits to master since this release
8fcab51

Added

  • Add ready-to-run scenes to the Mini Combat and UI Buttons + Inspector samples, so neither needs
    Inspector wiring (#372).
  • Add a guided tour to the Diagnostics Tooling Exerciser sample that emits traffic and opens Message
    Monitor and Flow Graph (#346).
  • Add the standard .NET constructors to MessageRegistrationBuildException
    (#367).
  • Show the installed version's release notes in the Unity Package Manager Version History tab
    (#362).

Changed

  • Use a collision-driven first-message guide and remove maintainer details from user docs
    (#404,
    #411).
  • Color Untargeted routes blue, Targeted purple, and Broadcast green in the editor and the docs; red
    now marks problems (#353).
  • Shrink the package download by using Unity's Roslyn assemblies instead of bundling private copies
    (#371).
  • Allocate less when registering many message types that have not emitted yet
    (#374).
  • Deregister in linear instead of quadratic time when one token owns many same-priority handlers for
    one message type (#374).
  • Stop generated code from suppressing compiler warnings, so it follows your project's warning
    policy (#367).
  • Point the Package Manager Changelog link at the rendered changelog instead of raw Markdown
    (#362).
  • Dispatch faster when a message type has interceptors or post-processors: interceptors are
    resolved once when registrations change instead of being re-collected on every emission, and
    emissions no longer repeat handler and post-processor lookups the bus already resolved. One
    interceptor costs roughly half what it did, and four cost roughly a quarter
    (#408).

Fixed

  • Fix active MessageRegistrationToken registrations with null callbacks leaving partial token or
    bus state behind after throwing (#414).
  • Make initially empty and interceptor-rewritten post routes obey frozen snapshots: additions wait
    until the next emission, while removals finish the current post phase
    (#413).
  • Fix an interceptor registered or removed at a different priority than the running interceptor
    taking effect during that same emission; interceptor changes now wait for the next emission, as
    the snapshot semantics documentation already described
    (#408).
  • Fix DxMessagingStaticState.Reset() from inside an interceptor so it stops the rest of the
    dispatch instead of invoking callbacks against reset bus state
    (#395).
  • Fix Flow Graph so route and component details select and ping the object they name
    (#345).
  • Fix Message Monitor resizing so one divider controls the log detail area and wrapped stack frames
    keep their height (#344).
  • Fix disposing nested runtime-settings override tokens out of order restoring ended settings
    (#384).
  • Fix copied GlobalMessageBusScope and RegistrationDisposable values restoring or removing newer
    state, and remove the 1,024 nested-scope cap
    (#375).
  • Fix the Reflex integration and DI sample for Reflex 14 while keeping earlier Reflex releases
    working (#367).
  • Fix editor tooling failing to compile on Unity 6000.5 after Unity changed its object-discovery and
    object-lookup APIs (#365,
    #367).

Install

  • Import the attached .unitypackage directly into your Unity project, or
  • add com.wallstop-studios.dxmessaging through the Unity Package Manager, pinning this
    release as com.wallstop-studios.dxmessaging@3.3.0 (scoped npm registry) or the
    matching Git tag.

Each release attaches the npm tarball and the .unitypackage, each with a
.sha256 checksum; verify a download with sha256sum -c <file>.sha256.