BackWave 1.1.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package BackWave --version 1.1.1
                    
NuGet\Install-Package BackWave -Version 1.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BackWave" Version="1.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BackWave" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="BackWave" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BackWave --version 1.1.1
                    
#r "nuget: BackWave, 1.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BackWave@1.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BackWave&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=BackWave&version=1.1.1
                    
Install as a Cake Tool

BackWave

Deterministic background jobs for .NET. This package is the engine: the job model, the Storage Contract, the In-Memory Store, and the source generator that turns a [Job] method into a typed payload, handler, wire format, and registry. It writes the serialization for you, with no reflection at runtime.

It's deterministic by design. The same inputs always produce the same schedule, so a year of cron behavior tests in milliseconds and never flakes.

using BackWave.Jobs;

public sealed class InvoiceJobs(IInvoiceGateway gateway)
{
    // The generator emits the SendInvoice payload, its IJobHandler, the wire format, and the
    // registry from this one signature. The declaring class is resolved from DI, so anything you
    // inject here is available to the job body.
    [Job("send-invoice", Queue = "billing")]
    public Task SendInvoiceAsync(string orderId, JobContext context, CancellationToken ct)
        => gateway.SendAsync(orderId, ct);
}

What's in the box

  • Core engine: the sans-IO Driver, routing, retries, leases, and scheduling.
  • Storage Contract (IJobStore): the seam every durable adapter implements.
  • In-Memory Store: zero-infra and in-process, the default for tests and getting started.
  • [Job] source generator: bundled in this package, feeding the compiler only.

Running jobs

This package defines and stores jobs; to run them in an app, add a Shell:

dotnet add package BackWave.Hosting

Then wire up worker groups and enqueue through BackWaveClient. For durability beyond a single process, add a storage adapter: BackWave.Postgres, BackWave.SqlServer, or BackWave.Sqlite. To test job behavior over time without any infrastructure, add BackWave.Testing.

Full documentation and guides: https://backwave.app

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on BackWave:

Package Downloads
BackWave.Pro

BackWave Pro: revenue-gated add-on features (Workflows). Free to use under $1M annual revenue; a license is required above that.

BackWave.Dashboard

Read-only monitoring dashboard for BackWave: jobs, queues, failures, schedules, and observers, rendered server-side with zero static assets to host.

BackWave.Hosting

Hosting Shell for BackWave: DI registration, Worker Group hosted services, fail-stop health.

BackWave.Postgres

Postgres storage adapter for BackWave: versioned SQL schema, FOR UPDATE SKIP LOCKED claims, Transactional Enqueue.

BackWave.Sqlite

SQLite storage adapter for BackWave, the first Embedded Adapter (single host, WAL + BEGIN IMMEDIATE whole-writer serialization, co-resident Transactional Enqueue).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0 0 7/12/2026
1.1.1 63 7/10/2026
1.1.0 292 7/6/2026
1.0.0 199 7/6/2026

Release notes and upgrade guidance: https://backwave.app/