Releases: json-api-dotnet/JsonApiDotNetCore
v3.0.0-beta5
Non-Breaking Changes
[Attr] // → "compound-name"
public string CompoundName { get; set; }
builder.AddResource<TestResource>(); // → "test-resources"
services.AddResourceService<FooService>();
public class FooResource : ResourceDefinition<Foo>
{
protected override QueryFilters GetQueryFilters() => new QueryFilters {
{ "key1", (query, value) => query.Where(x => x == value) },
{ "key2", (query, value) => query.Where(x => x != value) },
};
public override PropertySortOrder<Foo> GetDefaultSortOrder() => new PropertySortOrder {
(foo => foo.Bar, SortDirection.Ascending),
(foo => foo.Baz, SortDirection.Descending),
}
}
public class Article : Identifiable
{
[NotMapped] // ← tells EF to ignore this property
[HasManyThrough(nameof(ArticleTags))] // ← tells JADNC to use this as an alias to ArticleTags.Tags
public List<Tag> Tags { get; set; }
// this is the EF join relationship
public List<ArticleTag> ArticleTags { get; set; }
}
Breaking Changes
v3.0.0-beta4
#382 via #395: Identifiable causes exceptions in Post
#39 via #378: Deeply Nested Inclusions. Thanks @NullVoxPopuli for all the help landing this!
v3.0.0-beta3
#388 Exact Error Codes for Error Collections thanks @rtablada !
#387 Additional filter operations: isnull and isnotnull thanks @NullVoxPopuli !
Usage
This change introduces two new filter operators isnull
and isnotnull
. Like all other operators, it is appended by a colon (:
), however, any value provided after the colon is ignored.
GET /api/v1/todo-items?filter[updated-date]=isnull: HTTP/1.1
Accept: application/vnd.api+json
v2.5.2
#388: Exact Error Codes for Error Collections, back-ported by release/2.5.2. Thanks @rtablada !
v3.0.0-beta2
#377: Fix TypeLocator
bug that results in app crashing at startup
v3.0.0-beta1
v2.5.1
v2.5.0
v2.4.0
No functional changes after v2.4.0-beta4. Below is a summary of all the changes released.
#360 via #361: Added nin
(not-in) filter. Thanks @milosloub!
#354 via #355: Fix bug introduced in v2.4.0-beta3
#112 via #344, #352: Entity and Resource separation. Thanks @roblankey !!
#339 via #345: fix service scope registrations (Cannot consume scoped service IGenericProcessorFactory from singleton IOperationProcessorResolver)
#349 via #348: fix(Deserializer): deserialize independent HasOne pointers
#322 via #333 fix(relationship pointers): Can't create entity with two HasOne attributes pointing to same entity
#335 / #336 various operations fixes