Skip to content

Releases: Melchy/Ridge

2.1.0 - Endpoint style controllers

04 Apr 17:58
Compare
Choose a tag to compare

Major Improvements

  • New Setting for API Calls: We added a new setting. It creates special "extension methods" for making API calls.
  • "Endpoints" Style Controllers: This new setting helps you write controllers in the "Endpoints" style. This means each controller can have only one method. Same approach is used by libraries like fast endpoints.

Read the details here.

Smaller Things

  • Default number values (double and float) now work correctly everywhere, no matter the locale.
  • Internal actions and controllers are now skipped. See this issue for more information.
  • Controllers with the same name now work correctly even if they are in different namespaces (folders) within the same project assembly. See this issue for details.
  • Updated dependencies to remove dependency on packages with security problems.
  • Added targeting for .NET 9.

2.0.2 - bug fix

27 Nov 11:09
Compare
Choose a tag to compare
  • Fixed bug which caused default parameters set to true or false to fail the build.

2.0.1 - minor bug fixes

14 Jul 09:45
37cfb69
Compare
Choose a tag to compare
  • Fixed source generator incorrectly caching namespaces.
  • Used new Roslyn Api (dotnet/roslyn#54725)
  • When a parameter was processed using TransformActionParameter with a specified GeneratedParameterName, the name provided in the GeneratedParameterName was not used.

Ridge 2.0.0

09 Jul 13:22
d43c237
Compare
Choose a tag to compare

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:

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 using RidgeDotNet.AspNetCore in your AspNetCore project and RidgeDotNet 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

24 May 11:15
Compare
Choose a tag to compare

Added ExceptionRethrowFilter that can be used to filter exceptions that should be rethrown. More information here.

Ridge 1.0.0 - Introducing source generators

22 Apr 13:51
eded9aa
Compare
Choose a tag to compare

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 to HttpRequestFactoryMiddleware. See this page.
  • Removed IHttpRequestPipelinePart - this feature can be replaced by HttpRequestFactoryMiddleware or by .NET delegationHandler.
  • Removed NunitProgressLogWriter - this logger can be replaced by UseNunitLogWriter or custom implementation. See this page.

0.12.2

10 Oct 15:06
Compare
Choose a tag to compare

Fix: #1

0.12.0

14 Dec 12:54
Compare
Choose a tag to compare
  • Splited Nunit logger to NunitLogWriter and NunitProgressLogWriter. NunitLogWriter uses TestContext.WriteLine and NunitProgressLogWriter uses TestContext.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

19 Sep 21:41
Compare
Choose a tag to compare
  • Added documentation for all public classes, methods and properties.
  • Added sourcelink.
  • Removed unfinished razor support.
  • Improved nuget description and other properties.
  • Added icon.

0.11.4

19 Sep 13:15
Compare
Choose a tag to compare
  • Minor improvement to error message.