v0.10

v0.10.10

Improvements

  • Change Response.StatusCode property type to HttpStatusCode
  • VerifySent now have allowErrorResponse parameter as optional
  • MockMe.TheClient<T> can now set response with only statusCode parameter

Bugfixes

  • VerifySent was throwing key not found exception when header key was not present, fixed

Library Upgrades

PackageOld VersionNew Version
Microsoft.AspNetCore.Mvc.NewtonsoftJson8.0.78.0.8
Microsoft.AspNetCore.Mvc.Testing8.0.68.0.8
Microsoft.CodeAnalysis.CSharp4.10.04.11.0
Microsoft.Data.Sqlite.Core8.0.78.0.8
Microsoft.Extensions.TimeProvider.Testing8.7.08.8.0
Microsoft.NET.Test.Sdk17.10.017.11.0
NUnit4.1.04.2.1
NUnit3TestAdapter4.5.04.6.0
SQLitePCLRaw.bundle_e_sqlite32.1.82.1.9
Swashbuckle.AspNetCore6.6.26.7.1
Swashbuckle.AspNetCore.Annotations6.6.26.7.1

v0.10.9

Improvements

  • InMemory and Sqlite data base features were not working under ARM processors, fixed
  • Automatic schema update is removed from Sqlite database because Microsoft.Data.Sqlite.Core does not support SchemaUpdate
  • autoExportSchema parameter is introduced to Sqlite database with default value true to use automatic schema for development databases which clears data each time your application runs. You may set it to false if you want your data to retain.
  • Client.Send now has option to disable ensure success status code check to return error response data

Library Upgrades

PackageOld VersionNew Version
Microsoft.Data.Sqlite.Corenew8.0.7
NHibernate.Extensions.Sqlitenew8.0.8
SQLitePCLRaw.bundle_e_sqlite3new2.1.8
System.Data.SQLite1.0.118removed

v0.10.8

Library Upgrades

PackageOld VersionNew Version
FluentNHibernate3.3.03.4.0
Microsoft.AspNetCore.Authorization8.0.68.0.7
Microsoft.AspNetCore.Mvc.NewtonsoftJson8.0.68.0.7
Microsoft.Extensions.Configuration.Binder8.0.18.0.2
Microsoft.Extensions.TimeProvider.Testing8.6.08.7.0
MySql.Data8.4.09.0.0
NHibernate5.5.15.5.2

v0.10.7

Improvements

  • Add support for including entity and record (response) properties in swagger
  • Request and response examples are included in swagger
  • Allow multi scheme IDs in security requirement filter
  • Tag documentation was causing empty tags to appear, fixed

Bugfixes

  • Newlines in XML comments were causing code generation to fail, fixed

Library Upgrades

PackageOld VersionNew Version
Microsoft.AspNetCore.Authorization8.0.58.0.6
Microsoft.AspNetCore.Mvc.NewtonsoftJson8.0.58.0.6
Microsoft.AspNetCore.Mvc.Testing8.0.58.0.6
Microsoft.CodeAnalysis.CSharp4.9.24.10.0
Microsoft.Extensions.TimeProvider.Testing8.5.08.6.0

v0.10.6

Improvements

  • Existing swashbuckle configuration and filters now allow a multi document setup
    • FixedBearerToken now accepts document names and description of token parameter
    • Document based security definition extension is added
  • json request and response types were documented as more than one type, restricted to application/json
  • Domain model now contains xml comments as XmlNode instances
  • Swagger now includes xml documentation coming from doman model

v0.10.5

Improvements

  • DO is renamed as Baked (Objects)
    • Root namespace is Baked
    • Forge is now Bake
    • Blueprints is now Recipe
  • Authentication.Disabled was removed
  • NHibernate logs are now redirected to logger instead of direct console logging
  • Default levels are added to enable request/response and sql logging for development, only error for production

Bugfixes

  • NHibernate proxies were causing serialization error, fixed

v0.10.4

Improvements

  • Log now includes, domain type and method, timestamp and trace id in log message
  • 4xx is now logged in warning level leaving only 5xx in error level
  • Single line is now configurable from outside of RequestLoggingFeature

v0.10.3

Improvements

  • Add Lock to IEntityContext to enable select for update for making critical updates in sync

v0.10.2

Improvements

  • ObjectAsJson coding style feature now supports rendering object parameter as FromBody without generating a request class
  • Only concrete classes are now included in EntityExtensionViaComposition and EntitySubclassViaComposition coding style features
  • RequireClaim and RequireNoClaim renamed to RequireUser and AllowAnonymous respectively
  • RequireUser now accepts list of claims and can keep the base claim
  • RequireUser and AllowAnonymous can now be added to class
  • Authorization now expects authenticated user when no base claim is given
  • Authorization now allows multiple base claims
  • Transients having only one initializer with not api input paramteres are now not marked as api service
  • Create is now added as alias to add child methods

v0.10.1

Improvements

  • NFR tests now run faster. Nfr and ServiceNfr is redesigned to built only once for the complete test run.
    • Nfr environment is added to environment extensions for NFR specific configuration under Program.cs
    • ServiceNfr now runs only for Nfr environment
    • Forge configurations of ServiceNfr is removed completely, it uses automatically generated Program class
      • To enable test projects to see internal Program class, add InternalsVisibleTo to your application
    • Test projects don't need to have GenerateProgramFile set to false any more
  • WelcomePage greeting feature is now removed

Bugfixes

  • Fixes a bug where casters fails because of service providers during nfr tests

Library Upgrades

PackageOld VersionNew Version
BenchmarkDotNet0.13.110.13.12
Microsoft.AspNetCore.Authorization8.0.38.0.5
Microsoft.AspNetCore.Mvc.NewtonsoftJson8.0.38.0.5
Microsoft.AspNetCore.Mvc.Testing8.0.38.0.5
Microsoft.CodeAnalysis.CSharp4.8.04.9.2
Microsoft.Extensions.TimeProvider.Testing8.3.08.5.0
Microsoft.NET.Test.Sdk17.9.017.10.0
MySql.Data8.3.08.4.0
NHibernate5.5.05.5.1
Swashbuckle.AspNetCore6.5.06.6.2

v0.10.0

Features

  • Beta features are available in do-blueprints-service package;
    • CodeGenerationLayer is introduced, now it is possible to generate code during initialization of a service
    • DomainLayer now provides;
      • an inherited factory mechanism to individually configure level of reflected details for registered types. Models for types are now built as following inherited levels;
        • TypeModel
        • TypeModelGenerics
        • TypeModelInheritance
        • TypeModelMetadata
        • TypeModelMembers
      • a metadata mechanism that allows you to add custom attributes to domain model
      • an indexer mechanism that allows you to index models based on their attributes
    • RestApiLayer now provides;
      • api model to generate controller code from domain model
      • model binder configuration to allow custom parameter types from action parameters
    • Forge.New.Service now automatically generates;
      • api controllers and actions from domain model
      • entity lookup calls for entity and entity extension parameters
      • all types of parameters and return types
      • stylized routes with default conventions
      • additional attributes for controller actions
      • multi unique property instead of just id route
      • commands as actions
      • entity extension services under entity route
      • entity subclass services under entity route via a discriminator unique property
      • add/remove child routes
      • null check for not-null parameters
      • redirect result for uri returning methods
    • Business and Orm is split into two features
      • LifetimeFeature is introduced with three implementations Singleton, Scoped and Transient
      • CodingStyleFeature is introduced with existing coding styles to separate them from business feature
    • Business now allows service casting, service.Cast().To<AnotherService>()
    • Authorization feature is now added with ClaimBasedAuthorization implementation which supports;
      • Individual claim requirements for actions
      • Default claim requirement for all actions
      • Anonymous access to specific actions
    • HttpServerLayer now registers authentication services and adds authentication middleware
      • provides AuthenticationCollection configuration target which supports forwarding request to appropriate handlers

Improvements

  • MvcNewtonsoftJsonOptions is added to RestApiLayer as configuration target
  • IScoped marker interface is removed, [Name]Context convention is introduced to configure scoped lifetime by convention
  • FixedToken authentication is now the default in Service blueprint
  • Default business feature is renamed as DomainAssemblies
  • Default orm feature is renamed as AutoMap
  • Documentation feature is refactored into coding styles and removed completely
  • Authentication feature is now a multi-feature
  • Not null parameters throw bad request when null value is received
  • FixedToken authentication feature is now renamed to FixedBearerToken
    • Feature now have TokenOptions parameter to configure token names and associated claims with given tokens
    • Feature now automatically adds hash and requestId parameters to actions when form post authentication is required

Bugfixes

  • TypeModel's which are not business types were throwing null reference exception for collection properties, fixed

Library Upgrades

PackageOld VersionNew Version
Humanizer.Corenew2.14.1
Microsoft.AspNetCore.Authorizationnew8.0.3