Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V5.4.0 #213

Merged
merged 12 commits into from
Jun 26, 2023
Merged

V5.4.0 #213

merged 12 commits into from
Jun 26, 2023

Conversation

chullybun
Copy link
Collaborator

  • Enhancement: Upgraded CoreEx to v3.0.0 which resulted in a number of breaking changed that will require manual remediation:
    • The CoreEx.WebApis capabilities have been moved to the new CoreEx.AspNetCore.WebApis namespace; within a new seperate project/package CoreEx.AspNetCore. This package will need to be referenced where required, and the namespace updated accordingly.
  • Enhancement: Leverages the new Result and Result<T> railway-oriented programming capabilities introduced in v3 to minimize the number of thrown exceptions (of the non-exceptional variety), to improve performance and, the development and debugging experience.
    • A significant number of the underlying code-generation templates have been modified to support v3 changes/fixes and general improvements; as such all code-generation should be re-run. Note that by default the generated code will leverage Result and Result<T>; for backwards compatibility set withResult: false within the entity.beef-5.yaml.
    • Also, note that v3 may introduce some breaking changes that will need manual remediation. The validation OnValidateAsync and CustomRule must now return a Result. Where using, consider leveraging the Result.XxxError() methods to return known errors versus throwing the related exception.
  • Enhancement: Code-generation API log output will state <NoAuth> explicitly where no authorization has been specified using the corresponding webApiAuthorize YAML configuration.
  • Enhancement: Where leveraging MySQL the template now uses the Pomelo.EntityFrameworkCore.MySql package; this has greater uptake and community supporting than the equivalent Oracle-enabled MySql.Data.EntityFrameworkCore package.
  • Enhancement: The preprocessor directives are no longer generated by default for the C# artefacts, to re-include use the preprocessorDirectives YAML configuration. This relates to the existing #nullable enable and #pragma warning disable preprocessor directives. These will be deprecated in a future release.

@chullybun chullybun merged commit 9991fec into master Jun 26, 2023
@chullybun chullybun deleted the v5.4.0 branch June 26, 2023 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant