Skip to content

Releases: otto-de/edison-hal

Release v2.2.0

15 Apr 08:11
08d9ad4

Choose a tag to compare

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

15 Apr 07:25
06e1dbb

Choose a tag to compare

Release early-access Pre-release
Pre-release

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

30 Jan 11:36

Choose a tag to compare

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 with Curies 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

18 Dec 11:30

Choose a tag to compare

Fixed issues when more than two parameters in the Traverson.withVars() function.

Release 2.0.1

13 Aug 21:42

Choose a tag to compare

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 in HalParser 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

03 May 08:00

Choose a tag to compare

Pre-release

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

30 Nov 09:28

Choose a tag to compare

Pre-release

Breaking Changes

  • The error handling in the Traverson API has been changed in that exceptions are now thrown instead of catching them
    and exposing a Traverson.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
    throwing java.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 a java.util.function.Function<Link,String>
    anymore. Instead, a de.otto.edison.hal.traverson.LinkResolver was introduced. The major difference between the new
    PageHandler and the previous Function is that the PageHandler.apply(Link) is now throwing IOException 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 a java.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 the Traverson to follow the links instead. This is especially helpful,
    if only a reduced set of attributes is embedded into a resource. A set of Traverson.followLink() methods was added
    to support this.
  • Added new methods Traverson.paginate() and Traverson.paginateAs() to paginate over paged resources using
    link-relation types other than next or prev.
  • Added a CuriTemplate helper to expand / shorten link-relation types using a CURI.

Release 1.0.0

12 Oct 10:04

Choose a tag to compare

  • 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

15 Feb 13:13

Choose a tag to compare

1.0.0.RC5

Bugfixes

  • Fixed signature of HalRepresentation.withEmbedded(): using List<? extends HalRepresentation instead of List<HalRepresentation. Closes #10

Release Candidate 4

07 Feb 18:58

Choose a tag to compare

New Features / API extensions:

  • Added support for traversal of HAL documents with relative hrefs.