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_interopv1.
6.0.1 - 2023-09-11
NewRelationshipwas 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_httpor 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
metaparameter 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
FormatExceptionwould be thrown (pr)
4.1.0 - 2020-05-28
DartHttpnow 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
matchBaseoption toPathBasedUrlDesign.Resource.toIdentifier()method.
- (Server, BC-breaking)
JsonApiControllermade generic.
- The package does not depend on
collectionanymore.
3.1.0 - 2019-12-19
- (Server) Routing is exposed via
serverlibrary.
- (Server, BC-breaking)
Controllerrenamed toJsonApiController. - (Server, BC-breaking)
Responserenamed toJsonApiResponse.
- (Server) Response classes had
includedmember initialized to[]by default. Now the default isnull.
3.0.0 - 2019-12-17
- Support for custom non-standard links (#61)
- Client supports
jsonapikey in outgoing requests. Document.contentTypeconstant.IdentifierObject.fromIdentifierfactory method
URLBuilderwas renamed toUrlFactory.DocumentBuilderwas split intoServerDocumentFactoryandClientDocumentFactory. Some methods were renamed.- Static
decodeJsonmethods were renamed tofromJson. Identifier.equalsnow requires the runtime type to be exactly the same.Link.decodeJsonMapwas renamed tomapFromJson.- The signature of
TargetMatcher. - The signature of
Controller. Serverwas renamed toJsonApiServer.Paginationwas renamed toPaginationStrategy.
- (Server)
ResourceTarget,CollectionTarget,RelationshipTargetclasses. QueryParametersinterface.Routerclass.Queryclass.
2.1.0 - 2019-12-04
onHttpCallhook 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_documentandjson_api_serveranymore, 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.
JsonApiParseris removed. Use the staticdecodeJsonmethods 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