Roadmap - nunit/nunit-console GitHub Wiki

This "Road Map" is under development. It is intended to be a view from 60,000 feet, giving very general idea of the features we expect to add and, at least to an extent, the order in which we expect to add them. More detailed information is available in the relevant issues, especially those pertaining to version 4.0

Version 3 Series

Version 3 is our current stable release series, with 3.14.0 being the latest release.

Coming Releases

3.15.0

This release will be our final planned release in the 3.x series. (If serious bugs arise, we'll do an update.) Consequently, I'd like to clean up as much as possible and there will be at least one beta before it is final. The release will include two significant new features:

  • Add a .NET 6.0 Agent
  • NETCORE runner will target .NET 6.0

Version 4 Series

Version 4.0 will be our next major release with significant breaking changes. In addition to our normal -dev releases, there will be a number of -alpha and -beta releases. In order to simplify development, breaking changes will be done first, reducing functionality for a subset of users. For example, early releases may not support any sort of in-process execution. Of course, such changes will be called out in the release notes.

4.0.0

Breaking Changes
  • Changes to the Engine API (to be defined)
  • Stop bundling V2 Frameweork Driver, V2 Result Writer and Teamcity extensions.
  • Remove support for certain runner options: --domain, --process, --inprocess.
  • Release NETCORE runner, our dotnet tool, under a new name to differentiate from nunit3-console
New Features Which Mitigate Breaking Changes
  • Make all agents pluggable extensions, bundling a subset of them for each release.
  • Create a pluggable agent for running in-process.
  • Remove all Services from nunit.engine.core, confining them to nunit.engine.
  • Create a separate nunit.extensibility assembly to function as the basis of the ExtensionService.
  • Use nunit.extensibility within agents in order to locate framework drivers.
  • Use nunit.extensibility in the runner to load the engine dynamically in the same way extensions are now loaded.
Other New Features
  • Create user interface to install/remove extensions. (Issue #7)

4.x Changes beyond 4.0

  • Create a net6.0-based port of the console runner