Skip to content

v1.0.0-alpha.10

Pre-release
Pre-release
Compare
Choose a tag to compare
@MrDave1999 MrDave1999 released this 11 Apr 19:04
· 41 commits to dev since this release
e0d0e69
  • Plug-in architecture has been implemented using the library called CPlugin.Net.
    Check here for more information.
  • This release provides a way to dynamically load libraries (DLLs) from a configuration file (.env).
    This means that the host application can decide which module to load, because there is no static reference.
  • CQRS pattern was applied. MediatR is not needed to apply this pattern.
  • Result pattern has been implemented using the SimpleResults library.
  • YeSQL.NET has been used to avoid embedding SQL code in the C# source files.
  • Docker support has been added.
  • A workflow has been added to run the tests on each pull request.
    GitHub Actions has been used to apply continuous integration.
  • Integration test project has been created.
  • Integration tests have been added to test the use cases with database and a test web server.
  • A library called Respawn has been added to clear data from tables after a test is run.
  • Project documentation has been added to README.md.
  • The solution has been divided into different projects to have a better control of third-party dependencies.
  • References to nuget packages have been added in a single file called Directory.Packages.props.
  • Global properties have been added for all projects from a file called Directory.Build.props.
    See https://devblogs.microsoft.com/nuget/introducing-central-package-management
  • .NET 8 support added.
  • Migrated to EF Core 8.0.
  • The middleware for exception handling has been removed. The current solution implements the IExceptionHandler interface to follow the OCP principle.
  • Fluent Validation library has been added to use predefined validation rules and also to create custom rules.
  • XML comments have been added to the controller actions to expose it in the Swagger UI.
  • Scrutor library has been added to automatically register use case classes in the service collection.
    This is a similar approach to what MediatR does with handlers.