Skip to content

Package compatibility

Which packages require which, the supported target frameworks, and the documentation's versioning policy.

3 min read

At a glance

PackageRequiresTarget frameworksCurrent major
Immediate.Handlersnet8.0 – net10.03.x
Immediate.ValidationsImmediate.Handlersnet8.0 – net10.03.x
Immediate.ApisImmediate.Handlers, ASP.NET Corenet8.0 – net10.06.x
Immediate.CacheImmediate.Handlers, IMemoryCachenet8.0 – net10.02.x
Immediate.Injectionsnet8.0 – net10.01.x
Immediate.JobsImmediate.Handlers, hosted servicenet8.0 – net11.0preview

Immediate.Handlers is the core. Validations, Apis and Cache each take a package reference on it and are meaningless without it — they extend handlers rather than standing alone. You do not need to install it separately; it comes in transitively.

Mixing and matching

The packages are opt-in individually. Common combinations:

  • Handlers alone — a compile-time mediator in a console app, a Blazor app, or behind ASP.NET Core controllers you already have.
  • Handlers + Apis — minimal-API endpoints generated straight from handlers.
  • Handlers + Validations — request validation as a pipeline behavior, with or without HTTP.
  • Injections alone — attribute-driven DI registration, with no mediator anywhere in sight.

You can also mix in non-platform libraries: FluentValidation alongside Immediate.Handlers, or ASP.NET Core controllers instead of Immediate.Apis. The cookbook has worked examples of each.

Target frameworks

The released packages multi-target net8.0, net9.0 and net10.0. Immediate.Jobs currently tracks main and additionally targets net11.0.

C# language version

The packages target LangVersion latest and work on C# 12 and later, but one generated signature adapts: the tags parameter on the registration methods is params ReadOnlySpan<string> on C# 13 and later and params string[] on C# 12 and earlier. See Tags and conditional registration.

Versioning policy for these docs

The packages version independently. A major bump in one does not imply a bump in the others, and there is no combined “platform version” to pin.