Releases: otto-de/edison-hal
Release v2.2.0
Changelog
9ef5bdb add missing name in pom for publishing to maven central
08d9ad4 release 2.2.0
3a4877b update dependencies
f759403 move group id from maven publication to root level of build.gradle
06e1dbb replace publishing from oss.sonatype to central.sonatype and use jreleaser for publish process
37cdd19 update maintainers
1873625 add maintainers and oss metadata
3461f22 update example-springboot to spring boot 3.x
b652242 Merge pull request #33 from otto-de/dependabot/gradle/org.apache.httpcomponents-httpclient-4.5.14
59881ea Merge pull request #35 from otto-de/dependabot/gradle/org.mockito-mockito-core-5.1.1
ae55d4f Bump org.mockito:mockito-core from 4.11.0 to 5.1.1
d1176fe Bump org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14
5486c91 Add dependabot and build workflows
5ca6c08 Update gradle wrapper and dependencies
566cd8e Dependecy updates
f28b83e bump version to next snapshot
f6ec6b1 bump version to 2.1.1
826e1f6 Merge pull request #31 from shisheng-1/Modify_GRADLE_1
97d5014 Improve GRADLE build Performance
94cb80d Update CHANGES.md
Release early-access
Changelog
f759403 move group id from maven publication to root level of build.gradle
06e1dbb replace publishing from oss.sonatype to central.sonatype and use jreleaser for publish process
37cdd19 update maintainers
1873625 add maintainers and oss metadata
3461f22 update example-springboot to spring boot 3.x
b652242 Merge pull request #33 from otto-de/dependabot/gradle/org.apache.httpcomponents-httpclient-4.5.14
59881ea Merge pull request #35 from otto-de/dependabot/gradle/org.mockito-mockito-core-5.1.1
ae55d4f Bump org.mockito:mockito-core from 4.11.0 to 5.1.1
d1176fe Bump org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14
5486c91 Add dependabot and build workflows
5ca6c08 Update gradle wrapper and dependencies
566cd8e Dependecy updates
f28b83e bump version to next snapshot
f6ec6b1 bump version to 2.1.1
826e1f6 Merge pull request #31 from shisheng-1/Modify_GRADLE_1
97d5014 Improve GRADLE build Performance
94cb80d Update CHANGES.md
Release 2.1.0
New Features / API extensions
- Adds method
Links.Builder#collection(String)
to add a collection link to a HalResource´s_links
section.
Bugfixes
- Fixes issue #29: additional attributes contained in
HalRepresentation.attributes
will now be serialized.
Deprecations
- Adds deprecation for
HalRepresentation
constructors withCuries
parameter. No expected usages - but please
contact me, if the removal in some future release 3.0 will break some use-cases for you.
Release 2.0.2
Fixed issues when more than two parameters in the Traverson.withVars() function.
Release 2.0.1
2.0.1
Bugfixes
- Fixes next page bug for zero-based paging (Issue #24)
2.0.0
New Features / API extensions
- Issue 23: Allow customization of the Jackson
ObjectMapper
used inHalParser
Traverson
.
Dependency Updates
- Updated
com.fasterxml.jackson.core:jackson-databind
from 2.9.1 to 2.9.6 - Updated
com.damnhandy:handy-uri-templates
from 2.1.6 to 2.1.7
Release 2.0.0 Milestone 2
Bugfixes
- Issue 22: Duplicate curies are now removed from embedded objects, if they are specified in the embedding HalRepresentation.
Breaking Changes
- The API to create Links instances has changed: the former Links.linkingTo(List), Links.linkingTo(Link, Link...) is now replaced by Links.linkingTo() which is returning a Links.Builder. The reason for this is that it is now possible to specify more easily, whether a Link should be rendered as a single link object, or an array of link objects. The Links.Builder has now methods for this like, for example, single(Link, Link...) or array(Link, Link...). Have a look at section 4.3 for more details about adding links to a HalRepresentation.
- Because the Links.Builder is now able to create single link objects as well as arrays of link objects, the corresponding functionality to register link-relation types to be rendered as arrays has been removed from RelRegistry.
- Issue 21: Similar to the links, it is now possible to specify whether or not embedded resources are embedded as single resource objects, or arrays of resources objects.
- Renamed RelRegistry to Curies
- Issue 20: HalRepresentation was previously annotated with @JsonInclude(NON_NULL). This was changed so that only _links and _embedded are now annotated this way. This might change the behaviour / structure of existing applications. You should now annotate classes extending HalRepresentation, or attributes of such classes appropriately.
Release 2.0.0 Milestone 1
Breaking Changes
- The error handling in the Traverson API has been changed in that exceptions are now thrown instead of catching them
and exposing aTraverson.getLastError()
. In 1.0.0, the client had to check for the last error. This is rather unusual
and is easy to overlook. Beginning with 2.0.0,getLastError
is removed and the following method-signatures are now
throwingjava.io.IOException
:- Traverson.paginateNext()
- Traverson.paginateNextAs()
- Traverson.paginatePrev()
- Traverson.paginatePrevAs()
- Traverson.stream()
- Traverson.streamAs()
- Traverson.getResource()
- Traverson.getResourceAs()
- The static factory method
Traverson.traverson()
does not accept ajava.util.function.Function<Link,String>
anymore. Instead, ade.otto.edison.hal.traverson.LinkResolver
was introduced. The major difference between the new
PageHandler
and the previousFunction
is that thePageHandler.apply(Link)
is now throwingIOException
while
Function
does not allow this. - For the same reasons (being able to throw IOExceptions), the different
paginate*
methods now expect a
de.otto.edison.hal.traverson.PageHandler
instead of ajava.util.function.Function<Traverson,Boolean>
. Beside of this,
using dedicated functional interfaces instead of generic Functions is a little easier to understand.
New Features / API extensions
- The
Traverson
now supports traversing linked resources while ignoring embedded resources: instead of returning an
embedded item, clients are now able to force theTraverson
to follow the links instead. This is especially helpful,
if only a reduced set of attributes is embedded into a resource. A set ofTraverson.followLink()
methods was added
to support this. - Added new methods
Traverson.paginate()
andTraverson.paginateAs()
to paginate over paged resources using
link-relation types other thannext
orprev
. - Added a
CuriTemplate
helper to expand / shorten link-relation types using a CURI.
Release 1.0.0
- It is now possible to configure the link-relation types that are serialized as an array of links using RelRegistry.
- Parsing of deeply nested embedded items
- Support for curies in deeply nested embedded items
- The HalParser now supports multiple type infos so more than one link-relation type can
be configured with the type of the embedded items. - Support for parsing and accessing attributes that were not mapped to properties of HalRepresentations
- Added TRACE logging to Traverson to make it easier to analyse the behaviour of the Traverson.
Release Candidate 5
1.0.0.RC5
Bugfixes
- Fixed signature of HalRepresentation.withEmbedded(): using List<? extends HalRepresentation instead of List<HalRepresentation. Closes #10
Release Candidate 4
New Features / API extensions:
- Added support for traversal of HAL documents with relative hrefs.