Changelog
All notable changes to Dangl.Data.Shared are documented here.
v2.4.0:
- Added
RouteNameExtensions
with two extension methods on strings to allow easier working with route and action names in Dangl.Data.Shared.AspNetCore
v2.3.0:
- The
BiggerThanZeroAttribute
now also supports validatinglong
types
v2.2.0:
- Added a new target for .NET 6, dropped support for .NET Core 3.1
- Removed
netstandard2.0
andnet5.0
targets for Dangl.Data.Shared.AspNetCore, and addednet7.0
- The
UseLocalizedSpaStaticFiles
will now also try to resolve relative paths for requests, meaning e.g. assets placed relative to an SPA subfolder will also be correctly removed now, transparent to the client requesting the file. For example, a client that requests/assets/picture.jpg
might be served the file internally from/dist/en/assets/picture.jpg
v2.1.1
- Added
CdnNoCacheAttribute : ActionFilterAttribute
, an attribute which sets theCache-Control
header tono-store, no-cache, no-transform
v2.1.0:
- The
LocalizedSpaStaticFileExtensions
now make sure that the default entry file for the SPA is never cached and returnsCache-Control: no-store
when delivered
v2.0.0:
- Dropped support for
netstandard1.3
. The lowest supported framework is nownetstandard2.0
v1.9.0:
- Added a new generic overload
ApiError<TError>
v1.8.0:
- Added a new generic overload
RepositoryResult<TResult, TError>
v1.7.0:
- The
CamelCaseDefaultValuesContractResolver
was changed to now preserve the casing for keys in dictionaries - Drop tests for
netcoreapp2.2
and add tests fornetcoreapp2.1
v1.6.0:
- Added the
EmptyEnumDeserializer
and theGuidStringDeserializer
. Both these classes are used to deserialize either Guids or Enums from null values or empty strings and will return the default values for them, e.g.Guid.Empty
. They are automatically activated when usingConfigureDefaultJsonSerializerSettings
v1.5.0:
- Drop
netcoreapp3.0
target and addnetcoreapp3.1
target
v1.4.0:
- Add
netstandard2.1
andnetcoreapp3.0
targets
v1.3.1:
- Add
CamelCaseDefaultValuesContractResolver
v1.3.0:
- The generated assemblies now have a strong name. This is a breaking change of the binary API and will require recompilation on all systems that consume this package. The strong name of the generated assembly allows compatibility with other, signed tools. Please note that this does not increase security or provide tamper-proof binaries, as the key is available in the source code per Microsoft guidelines
v1.2.0:
- Move JsonExtensions from Dangl.Data.Shared.AspNetCore to Dangl.Data.Shared
v1.1.1:
- Add
EmptyFormFileValidator
with extensions to support the generation of an invalidModelState
if a parameter of typeIFormFile
(or derived) is passed with aLength
of zero bytes
v1.1.0:
- The
Dangl.Data.Shared.AspNetCore
package was updated to ASP.NET Core 2.2 - Add
LocalizedSpaStaticFileExtensions
to help serving localized Single Page Applications (SPAs) - Add
IUserLanguageService
with default implementation
v1.0.10:
- Add
CompressedRequestMiddleware
to support clients sending compressed request bodies
v1.0.9:
- Add
HttpHeadRequestMiddleware
to support HttpHEAD
requests to all actions supporting originally only HttpGET
v1.0.8:
- Add
IClaimBasedAuthorizationRequirement
and supporting functionality
v1.0.7:
- Add
JsonOptionsExtensions
v1.0.6:
- Rename
FileResult
toFileResultContainer
v1.0.5:
- Add
FileResult
v1.0.3:
- Add logging to
ModelStateValidationFilter
if invalid requests get rejected
v1.0.2:
- Add
RequiredFormFileValidationFilter
to support checking for[Required]
parameters of typeIFormFile
on controller actions