NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1449 most downloaded on NuGet
Reqnroll aims at bridging the communication gap between domain experts and developers by binding business readable behavior specifications to the underlying implementation. Our mission is to provide a pragmatic and frictionless approach to Acceptance Test Driven Development and Behavior Driven Development for .NET projects today."
Last release 6 months ago
23 Mar 2026
Release timing varies
gaps range from 9 days to 4 months
Nearly every release is documented
notes for 27 of 27 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
31 releases · first in 2024
Improve the command line dotnet new project templates to support .NET 10, xUnit v3 and support of implicit usings when appropriate. Removed the option
Contributors of this release (in alphabetical order): @clrudolphi
Improve binding discovery so that the discovery can continue even if the attributes of a type fail to load
Contributors of this release (in alphabetical order): @clrudolphi
One column per month.
Fix: Partially defined CI Environment variables (missing relevant environment variables) cause missing Meta envelope in Cucumber Messages report and J
Contributors of this release (in alphabetical order): @clrudolphi, @gasparnagy
Fix: Upgrading to 3.3.0 causes build error with SpecFlowCompatibility (NuGet package Reqnroll.SpecFlowCompatibility issue)
reqnroll.json config file is not copied to the output folder (#985)Contributors of this release (in alphabetical order): @304NotModified, @Code-Grump, @gasparnagy
NUnit dependencies are updated to v4.4.0 in templates. This does not impact Reqnroll compatibility.
ReqnrollUseIntermediateOutputPathForCodeBehind MSBuild property to true. (#947)ReqnrollUseIntermediateOutputPathForCodeBehind flag must be enabled (see above). (#948)generator/addNonParallelizableMarkerForTags does not work for xUnit 3 (#917)Contributors of this release (in alphabetical order): @304NotModified, @AdaskoTheBeAsT, @clrudolphi, @Code-Grump, @copilot, @gasparnagy, @markk-df, @obligaron
Fix: AfterScenario hook is not called when a scenario end in inconclusive or skipped status ( #883 , #900 )
Contributors of this release (in alphabetical order): @clrudolphi, @PaysPlat
Address Microsoft Security Advisory CVE-2025-55247 | .NET Denial of Service Vulnerability
treace/stepDefinitionSkeletonStyle to AsyncCucumberExpressionAttribute or AsyncRegexAttribute. (#876)Contributors of this release (in alphabetical order): @clrudolphi, @Code-Grump, @gasparnagy, @kant2002
Fix: MsTest: Friendly names are generated for scenario outline examples, even if generator/disableFriendlyTestNames is set to true, causing a Reqnroll
generator/disableFriendlyTestNames is set to true, causing a Reqnroll v2 compatiblility issue (#867)Contributors of this release (in alphabetical order): @clrudolphi, @konarx
Fix: Mismatch in Cucumber.HtmlFormatter version between package and project causing build warnings
Added xUnit 3 support. In order to use Reqnroll with xUnit v3, you need to use the Reqnroll.xunit.v3 package. ( #405 , #538 )
Reqnroll.xunit.v3 package. (#405, #538)addNonParallelizableMarkerForTags efature now also applies to scenario-level tags for frameworks supporting method-level isolation (NUnit, MsTest V2, TUnit). (#826)generator/disableFriendlyTestNames setting in reqnroll.json. This can help to avoid compatiblity issues with tools like VsTest retry. For MsTest this setting restores the behavior of Reqnroll v2. (#854)Reqnroll.Tools.MsBuild.Generation NuGet package: reduced size by optimizing included dependencies, consolidated MsBuild assets (#812)runtime/stopAtFirstError is true, but handled delayed (#857)Contributors of this release (in alphabetical order): @chekkan, @Code-Grump, @DrEsteban, @gasparnagy, @konarx
Formatters: Enchanced logging of exception information when file-based formatters throw exceptions
runtime/stopAtFirstError is true, resulting in skipped step events and hence invalid reports (#819)Contributors of this release (in alphabetical order): @clrudolplhi
Fix: Unnecessary build output messages are shown during build
Contributors of this release (in alphabetical order): @gasparnagy
Fix: Formatters: Formatters fail under .NET Framework when OutputFilePath is not configured
TestRunFinished Cucumber message is set to true when before/after test run hook fails (Cucumber/Cucumber-compatibility-Kit v21.0.0) (#801)Contributors of this release (in alphabetical order): @gasparnagy, @clrudolphi
The synchronous code invocation API (IBindingInvoker) has been deprecated. Please use IAsyncBindingInvoker instead.
.ndjson file. Cucumber messages contain all information about the test run, therefore this formatter can be used to integrate Reqnroll with other tools.Reqnroll.TUnit in a TUnit project to enable Reqnroll TUnit support. Can be used with TUnit v0.55.23 and later. (#442)REQNROLL_DRY_RUN environment variable to true. This is useful for quickly verifying if all steps have been defined. (#614)RuleInfo to ScenarioContext to provide information about the current rule (#454)VerifyCaseInsensitive flag to InstanceCreationOptions that allows for case-insensitive member verification when object instances are created from tables (#577)Regex property and regex constructor parameter for all step definition attributes to Expression and expression, as it represents a cucumber expression or a regular expression (regex) that matches the step text. (#639)ExpressionType option (CucumberExpression/RegularExpression) to [Given], [When] and [Then] attributes (#663)BuildMetadata class to encapsulate CI metadata properties such as ProductName, BuildUrl, BuildNumber, Remote, Revision, Branch, and Tag. These will be used to populate data in reports (e.g. html and message formatter). (#658)NotImplementedException as "pending" (#732)ScenarioContext, FeatureContext and TestThreadContext to be resolved or injected through their interfaces, e.g. IScenarioContext (#761)PendingStepException and IReqnrollOutputHelper. (#781)ExecutionEvent classes and event publishing. Events carry more context information; publication is now async. (#621)AsyncEventHandler in RuntimePluginTestExecutionLifecycleEvents (#634)AfterFeature hook causes the next first test failure in the next feature (#597)ObjectContainer can be accessed through RegisterInstanceAs/RegisterFactoryAs/RegisterTypeAs (#594)RootNamespace is defined in the project file (#633)Reqnroll.CustomPlugin package (#719)ISyncTestRunner) has been removed. Please use ITestRunner instead.IBindingInvoker) has been deprecated. Please use IAsyncBindingInvoker instead.ScenarioInfo.ScenarioAndFeatureTags. Please use ScenarioInfo.CombinedTags instead.Reqnroll.Assist.Service class: RegisterValueComparer, UnregisterValueComparer, RegisterValueRetriever, UnregisterValueRetriever use ValueComparers.Register, ValueComparers.Unregister, ValueRetrievers.Register, ValueRetrievers.Unregister instead.ScenarioContext.Pending and ScenarioContext.StepIsPending have been deprecated and going to be removed in v4. Use throw new PendingStepException() instead.Culture property from step definition attributes (Given, When, Then, StepDefinition) (#671)[Serializable] from Reqnroll exceptions (#738)<summary> from NuGet packages (#766)Regex property and regex constructor parameter for all step definition attributes to Expression and expression, as it represents a cucumber expression or a regular expression (regex) that matches the step text. (#639)Culture property from step definition attributes (Given, When, Then, StepDefinition) (#671)Contributors of this release (in alphabetical order): @304NotModified, @AdaskoTheBeAsT, @algirdasN, @clrudolphi, @DrEsteban, @gasparnagy, @loraderon, @obligaron
Fix: xUnit async [AfterTestRun] hook might not execute fully
[AfterTestRun] hook might not execute fully (#530)Contributors of this release (in alphabetical order): @304NotModified, @clrudolphi, @gasparnagy, @obligaron
Microsoft.Extensions.DependencyInjection.ReqnrollPlugin: Improved message when [ScenarioDependencies] can't be found or has an incorrect return type
BindingException) (#513)CreateInstance). To use this feature you need to set the InstanceCreationOptions.RequireTableToProvideAllConstructorParameters flag. (#488)IReqnrollOutputHelper are added to the output with a -> prefix that should be reserved for output messages of Reqnroll itself (#504)Contributors of this release (in alphabetical order): @304NotModified, @AroglDarthu, @DerAlbertCom, @gasparnagy, @obligaron, @Socolin
Fix: Deprecated dependency Specflow.Internal.Json is used. Relpaced with System.Text.Json. The dependency was used for laoding reqnroll.json, for Visu…
ObjectContainer.IsRegistered() to check base container for registrations, to match Resolve() behavior (#367)ObjectContainer.DefaultConcurrentObjectResolutionTimeout even after creation of the container (#435)ReqnrollLogger class to the Reqnroll MSDI plugin based on the work of @StefH at https://github.com/StefH/Stef.Extensions.SpecFlow.Logging (#321)Specflow.Internal.Json is used. Relpaced with System.Text.Json. The dependency was used for laoding reqnroll.json, for Visual Studio integration and for telemetry. (#373)ConcurrentObjectResolutionTimeout value on the ObjectContainer to TimeSpan.Zero sometimes throws an exception if running multiple tests in parallel. (#440)Contributors of this release (in alphabetical order): @Antwane, @clrudolphi, @DrEsteban, @gasparnagy, @obligaron, @olegKoshmeliuk, @SeanKilleen, @StefH
Fix: NUnit projects fail or provide warning as TearDown : System.InvalidOperationException : Only static OneTimeSetUp and OneTimeTearDown are allowed
TearDown : System.InvalidOperationException : Only static OneTimeSetUp and OneTimeTearDown are allowed for InstancePerTestCase mode. (#320)Contributors of this release (in alphabetical order): @gasparnagy
Fix: Project dependencies transiently refer to System.Text.Json 8.0.4 that has security vulnerability. Microsoft.Extensions.DependencyModel updated to…
TaskHostFactory for our tasks on Windows. (#293)System.Collections.Generic.KeyNotFoundException: The given key 'Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope' was not present in the dictionary. is thrown when a test execution dependent service is required during [BeforeTestRun]. We provide a better error message now. (#175)Contributors of this release (in alphabetical order): @gasparnagy, @obligaron, @Romfos, @Tiberriver256
Nothing published for this version
Fix: Rule Backgounds cause External Data Plugin to fail
Contributors of this release (in alphabetical order): @ajeckmans, @clrudolphi, @gasparnagy, @UL-ChrisGlew
Fix: Project dependencies transiently refer to System.Net.Http <= v4.3.0 that has high severity security vulnerability
Order parameter for StepArgumentTransformationAttribute to prioritize execution (#185)ReqnrollFeatureFiles MsBuild item group to show feature files in Rider (#231)Contributors of this release (in alphabetical order): @ajeckmans, @cimnine, @gasparnagy, @obligaron, @olegKoshmeliuk, @runnerok, @stbychkov
Update versioning policy for plugins and set plugin dependencies accordingly
dotnet new reqnroll-project contains an invalid binding class ([Binding] attribute missing) (#169)Contributors of this release (in alphabetical order): @gasparnagy, @mcraa
Fix: Building a Reqnroll project on macOS ARM64 architecture (eg MacBook M1) fails
Fix: BeforeTestRun not run in .NET462 up to .NET481 in multitarget test project
The namespace of the IObjectContainer class has been changed from BoDi to Reqnroll.BoDi. You might need to update the namespace usages.
IObjectContainer class has been changed from BoDi to Reqnroll.BoDi. You might need to update the namespace usages.[DataRow] attribute for scenario outlines (default behavior)@ignore to an Examples block generates invalid code for NUnit v3+ (#103)@ignore attribute is not inherited to the scenarios from Rule (#111)[StepArgumentTransformation] with same input and output type, for example string (#71)Fix: Error when installing the Reqnroll template via command line
Initial release based on v4.0.31-beta of SpecFlow.
Support for .NET 8 projects
Initial release based on v4.0.31-beta of SpecFlow .
You can’t perform that action at this time.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →