All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
8.1.0 - 2024-08-29
- The rawResponse property to the responses of the RoutingClient
- The httpResponse property of the responses of the RoutingClient
8.0.0 - 2024-07-01
- CORS middware
- Bump http_interop to v2.0
7.0.1 - 2024-06-17
- "Accept" header with multiple values was being mishandled
7.0.0 - 2023-11-12
- Migrated to
http_interop
v1.
6.0.1 - 2023-09-11
NewRelationship
was not exported
6.0.0 - 2023-09-07
- Partial support for JSON:API v1.1
- A bunch of BC-breaking changes. Please refer to the tests.
- Min SDK version is 3.0.0
- Migrated to
http_interop
. You'll have to installhttp_interop_http
or another implementation to get the HTTP client.
- Query filter.
5.4.0 - 2023-04-30
- Switch to http_interop packages.
- Bump min SDK version to 2.19.
5.3.0 - 2022-12-29
- Client MessageConverter class to control HTTP request/response conversion.
5.2.0 - 2022-06-01
- Support for included resources in create and update methods. Author: @kszczek
5.1.0 - 2022-05-11
- Dependency versions bump
- Minor formatting improvements
5.0.5 - 2021-07-19
- Pagination with null values crashes json parser (#123)
5.0.4 - 2021-05-20
- Missing meta properties in responses
5.0.3 - 2021-05-19
- Missing "meta" arguments in RoutingClient
5.0.2 - 2021-05-12
- PersistentHandler to implement HttpHandler
5.0.1 - 2021-05-11
- Missing http client exports
- Failing test
5.0.0 - 2021-04-21
- Sound null-safety support.
- Everything. Again. This is another major BC-breaking rework. Please refer to the API documentation, examples and tests.
3.2.3 - 2020-08-06
- Call toJson() on resourceObject when serializing (#84)
4.3.0 - 2020-07-30
meta
parameter for createResourceAt()
- Dropped support for Dart 2.6
4.2.2 - 2020-06-05
- Client throws NoSuchMethodError on unexpected primary data (issue).
4.2.1 - 2020-06-04
- The server library was not exporting
Controller
. ResourceData.toJson()
was not calling the underlyingResourceObject.toJson()
.
4.2.0 - 2020-06-03
- Filtering support for collections (pr)
- The client will not attempt to decode the body of the HTTP response with error status if the correct Content-Type
is missing. Before in such cases a
FormatException
would be thrown (pr)
4.1.0 - 2020-05-28
DartHttp
now defaults to utf8 if no encoding is specified in the response.
4.0.0 - 2020-02-29
- Everything. This is a major BC-breaking rework which affected pretty much all areas. Please refer to the documentation.
3.2.2 - 2020-01-07
- Can not decode related resource which is null (#77)
3.2.1 - 2020-01-01
- Incorrect URL in the example in the Client documentation (#74)
3.2.0 - 2019-12-30
matchBase
option toPathBasedUrlDesign
.Resource.toIdentifier()
method.
- (Server, BC-breaking)
JsonApiController
made generic.
- The package does not depend on
collection
anymore.
3.1.0 - 2019-12-19
- (Server) Routing is exposed via
server
library.
- (Server, BC-breaking)
Controller
renamed toJsonApiController
. - (Server, BC-breaking)
Response
renamed toJsonApiResponse
.
- (Server) Response classes had
included
member initialized to[]
by default. Now the default isnull
.
3.0.0 - 2019-12-17
- Support for custom non-standard links (#61)
- Client supports
jsonapi
key in outgoing requests. Document.contentType
constant.IdentifierObject.fromIdentifier
factory method
URLBuilder
was renamed toUrlFactory
.DocumentBuilder
was split intoServerDocumentFactory
andClientDocumentFactory
. Some methods were renamed.- Static
decodeJson
methods were renamed tofromJson
. Identifier.equals
now requires the runtime type to be exactly the same.Link.decodeJsonMap
was renamed tomapFromJson
.- The signature of
TargetMatcher
. - The signature of
Controller
. Server
was renamed toJsonApiServer
.Pagination
was renamed toPaginationStrategy
.
- (Server)
ResourceTarget
,CollectionTarget
,RelationshipTarget
classes. QueryParameters
interface.Router
class.Query
class.
2.1.0 - 2019-12-04
onHttpCall
hook to enable raw http request/response logging (#60).
2.0.3 - 2019-09-29
- Documentation links got broken due to pub.dev update.
2.0.2 - 2019-08-01
- Meta members have incorrect type (#54).
2.0.1 - 2019-07-12
- Readme example was outdated.
2.0.0 - 2019-07-12
- This package now consolidates the Client, the Server and the Document in one single library.
It does not depend on
json_api_document
andjson_api_server
anymore, please remove these packages from yourpubspec.yaml
. - The min Dart SDK version bumped to
2.3.0
- The Client requires an instance of HttpClient to be passed to the constructor explicitly.
- Both the Document and the Server have been refactored with lots of BREAKING CHANGES. See the examples and the functional tests for details.
- Meta properties are not defensively copied, but set directly. Meta property behavior is unified across the Document model.
JsonApiParser
is removed. Use the staticdecodeJson
methods in the corresponding classes instead.
1.0.1 - 2019-04-05
- Bumped the dependencies versions due to a bug in
json_api_document
.
0.6.0 - 2019-03-25
- JSON:API Document moved out
- Renamed
client.removeToOne(...)
toclient.deleteToOne(...)
0.5.0 - 2019-03-21
- Related collection pagination
- Async operations support
- More BC-breaking changes in the Server
- Location headers were incorrectly generated by Server
1.0.0 - 2019-03-20
- JSON:API Server moved out
0.4.0 - 2019-03-17
- Compound documents support in Client (Server-side support is still very limited)
- Parsing logic moved out
- Some other BC-breaking changes in the Document
- Huge changes in the Server
- Server was not setting links for resources and relationships
0.3.0 - 2019-03-16
- Resource attributes update
- Resource relationships update
- Huge BC-breaking refactoring in the Document model which propagated everywhere
0.2.0 - 2019-03-01
- Improved ResourceController error handling
- Resource creation
- Resource deletion
0.1.0 - 2019-02-27
- Client: fetch resources, collections, related resources and relationships