Releases: Melchy/Ridge
2.0.2 - bug fix
2.0.1 - minor bug fixes
- Fixed source generator incorrectly caching namespaces.
- Used new Roslyn Api (dotnet/roslyn#54725)
- When a parameter was processed using
TransformActionParameter
with a specifiedGeneratedParameterName
, the name provided in theGeneratedParameterName
was not used.
Ridge 2.0.0
Breaking changes
Splited Nuget package
Until this release, RidgeDotNet package included dependency on test code, such as NUnit, Xunit, and Microsoft.AspNetCore.Mvc.Testing. If you wanted to utilize Ridge, you had to include this main package and all its dependencies in your AspNetCore project. Unfortunately, this resulted in an unnecessary dependency of production code on test code.
Another issue with the previous Ridge package was that it included references to both NUnit and xUnit, even though most test projects use only one of these pacakges.
To address these issues, we have split the package into the following:
- RidgeDotNet - package containing test code and reference to RidgeDotNet.AspNetCore
- RidgeDotNet.AspNetCore - contains reference to source generator and all the dependencies which are needed by AspNetCore app using ridge.
- RidgeDotNet.Extensions.Nunit - contains Nunit specific code
- RidgeDotNet.Extensions.Xunit - contains Xunit specific code
Migration guide
- If you are using Request response logging you will need to reference
RidgeDotNet.Extensions.Nunit or RidgeDotNet.Extensions.Xunit. - If you don't mind dependency on
Microsoft.AspNetCore.Mvc.Testing
you can just use RidgeDotNet package as before. If you do mind then you can start usingRidgeDotNet.AspNetCore
in yourAspNetCore
project andRidgeDotNet
in test project.
Further breaking changes
- Renamed ThrowExceptionInsteadOfReturning500 to RethrowExceptionInsteadOfReturningHttpResponse
- Renamed WasApplicationCalledFromTestClient to WasApplicationCreatedFromTest
- Moved RethrowExceptionInsteadOfReturningHttpResponse and WasApplicationCreatedFromTest to namespace Microsoft.AspNetCore.Builder.
- Ridge options (RidgeOptions.LogWriter) now support multiple loggers.
Non-breaking changes
- Added UseHttpRequestFactoryMiddleware. You can now use options.UseHttpRequestFactoryMiddleware() instead of options.HttpRequestFactoryMiddlewares.Add()
- Removed dependency on obsolete Microsoft.AspNetCore.Mvc.Core (and similar) in favor of
<FrameworkReference Include="Microsoft.AspNetCore.App" />
1.1.0 - ExceptionRethrowFilter
Added ExceptionRethrowFilter
that can be used to filter exceptions that should be rethrown. More information here.
Ridge 1.0.0 - Introducing source generators
This release is a major rewrite of Ridge. Until this release ridge used dynamic proxy which generated custom implementation at runtime. This generation process was complicated, slow, and didn't allow any customizations. Because of these and many more reasons we decided to move away from dynamic proxy to source generator.
We have also rewritten how Ridge works internally. Thanks to this it is much easier to understand and use Ridge.
We have also dropped support of .NET 5 and lower.
Version 1.0.0 marks the first version which we consider stable and production ready.
List of changes
- Removed
ControllerFactory
- controller factory is replaced by source-generated client. See readme for more information. - Removed extension methods on
ActionResult
- client generated by source generator can return custom response and doesn't need any extension methods. See this page. UseRidgeImprovedExceptions
- this middleware was renamed and improved. See this page.IActionInfoTransformer
was reworked and renamed toHttpRequestFactoryMiddleware
. See this page.- Removed
IHttpRequestPipelinePart
- this feature can be replaced byHttpRequestFactoryMiddleware
or by .NET delegationHandler. - Removed
NunitProgressLogWriter
- this logger can be replaced byUseNunitLogWriter
or custom implementation. See this page.
0.12.2
0.12.0
- Splited Nunit logger to
NunitLogWriter
andNunitProgressLogWriter
.NunitLogWriter
usesTestContext.WriteLine
andNunitProgressLogWriter
usesTestContext.Progress.WriteLine
- Added support for .net 6
- Removed some old code which was used for razor pages
- Downgraded nuget packages for better compatibility with older projects using older packages
0.11.6
0.11.4
0.11.3
- Added support for System.Json and custom serializers. Correct serializer is automatically selected if you are using Json.Net or System.Json.
- Fixed request body creation if no [FromBody] attribute is present.
- Added roslyn analyser which warns you when you use ActionResult.GetResult instead of ActionResult.GetResult().