Spring HATEOAS Changelog
========================
Changes in version 1.2 GA (2020-10-27)
----------------------------------------
- #1384 - Upgrade to Spring Framework 5.3.
- #1382 - Create an ObjectMapperCustomizer to allow tailoring ObjectMapper through media types configuration.
Changes in version 1.2 RC1 (2020-09-15)
----------------------------------------
- #1367 - Release Spring HATEOAS 1.2.0.RC1.
- #1366 - Upgrade to Spring Framework 5.3.0-RC1.
- #1364 - Document that media type implementation configuration should be public.
- #1358 - Update links to JSON:API documentation (community based media types).
- #1352 - Map content is not getting serialized properly.
Changes in version 1.2 M1 (2020-08-11)
----------------------------------------
- #1351 - Upgrade to Jackson 2.11.2.
- #1350 - Upgrade to Kotlin 1.4 RC.
- #1349 - Release 1.2 M1.
- #1348 - Upgrade to Spring Framework 5.3 M2.
- #1341 - Add Links.andIf(boolean, Link...).
- #1340 - Allow adding Stream to Links.
- #1337 - List community media type implementations in the reference docs.
- #1335 - Add HalModelBuilder.embed(Stream> …).
- #1334 - Upgrade to Reactor Dysprosium SR10.
- #1333 - Upgrade to Spring 5.2.8.
- #1329 - Remove deprecations.
- #1323 - Allow HalModelBuilder.build() to pick up call side generics.
- #1322 - Allow to conditionally add a Link to Links.
- #1321 - Add convenience type to create Link instances from URIs created via MvcUriComponentsBuilder.
- #1320 - Update Javadoc and toString() methods in renamed classes.
- #1319 - Revisit language in reference documentation.
- #1314 - HalLinkRelation incorrectly parses relation sources with more than one colon in them.
- #1313 - Problem.ExtendedProblem has no withStatus method.
- #1304 - The SPI for media types needs to reflect it's ONLY for internal usage.
- #1294 - Delombok production code.
- #1291 - VndErrors logref is not just Integer.
- #1287 - Memory pressure when creating Link instances.
- #361 - Add Support for Resolving Property Values in @RequestMapping(value).
Changes in version 1.1.0.RELEASE (2020-05-11)
----------------------------------------
- #1292 - Release 1.1.0.RELEASE.
- #1280 - RepresentationModelProcessorInvoker incorrectly invokes generic processors.
- #968 - @JsonUnwrapped ignored with (embedded) CollectionModel and HAL Forms.
- #864 - Create a dedicated builder for HAL representations.
- #270 - Sample for embedding HAL Resources of different types with root resource.
- #193 - Support for Resources in a Resource to be added to _embedded.
Changes in version 1.1.0.RC1 (2020-04-28)
----------------------------------------
- #1277 - Upgrade to Jackson 2.11.0.
- #1275 - Align Naming for Kotlin Extension Functions with Spring.
- #1270 - Add Kotlin source to released artifacts.
- #1266 - Use JDK 14 for Java.next CI testing.
- #1264 - Remove .factorypath.
- #1255 - Introduce ability to alter classpath for test purposes.
- #1252 - HypermediaWebTestClientConfigurer must not be registered if spring-test is not on the classpath.
- #1250 - Start testing against Jackson 2.11.
- #1247 - Update spring-doc-resources and highlight.
- #1213 - Add support for Kotlin co-routines.
- #227 - Uri Template {?value*} does not generate templated:true.
Changes in version 1.1.0.M3 (2020-03-31)
----------------------------------------
- #1246 - Upgrade to AssertJ 3.15.0.
- #1245 - Upgrade to Kotlin 1.3.71.
- #1241 - Additional factory methods for empty CollectionModel and PagedModel instances.
- #1230 - Upgrade to Jackson 2.10.3.
- #1229 - Upgrade to Reactor Dysprosium-SR6.
- #1228 - Fix CI scripts to properly use maven caching.
- #1227 - Upgrade to JUnit 5.6.1.
- #1226 - Upgrade to Spring Framework 5.2.5.RELEASE.
- #1225 - Provide implementation of WebTestClientConfigurer to support hypermedia.
- #1224 - Provide API for users to easily configure WebClient.
- #1223 - Provide API for users to easily configure RestTemplate.
- #1216 - Consider providing String constants in IanaLinkRelations.
- #1215 - Update RFC-5988 references to RFC-8288.
- #1208 - Migrate from Lombok's @Wither to @With.
Changes in version 1.1.0.M2 (2020-02-12)
----------------------------------------
- #1205 - Fix nullability warnings in EntityModelProcessorWrapper.isValueTypeMatch(…).
- #1204 - Fix nullability warnings in VndErrors.
- #1203 - Migrate off deprecated Link APIs.
- #1202 - Polish imports and formatting.
- #1201 - Switch to new EntityModel factory methods where possible.
- #1200 - Link.of(String, String) should not be deprecated.
- #1198 - Upgrade to Lombok 1.18.12.
- #1195 - Upgrade to Jackson BOM 2.10.2.20200130.
- #1193 - Revise usage of Encoder registration APIs.
- #1189 - Link building does not consider method parameters declared in interfaces.
- #1183 - Migration script doesn't cover @ExposesResourceFor.
- #1172 - Add helper methods for creating template variables.
Changes in version 1.1.0.M1 (2020-01-15)
----------------------------------------
- #1182 - Upgrade to JUnit 5.5.2.
- #1181 - Upgrade to Reactor Dysprosium SR3.
- #1180 - Upgrade to Slf4J 1.7.30.
- #1179 - Upgrade to Kotlin 1.3.61.
- #1178 - Upgrade to Jackson 2.10.2.
- #1177 - Upgrade to JaCoCO 0.8.5.
- #1176 - Upgrade to AssertJ 3.14.
- #1174 - Upgrade to Spring Framework 5.2.3.
- #1169 - Update license headers to extend copyright to 2020.
- #1166 - Premature initialization of downstream beans caused by RestTemplateHateoasConfiguration's reference to WebConverters.
- #1165 - Potential NullPointerException in UriTemplate.
- #1159 - Fold HalHandlerInstantiator.enforceEmbeddedCollections into HalConfiguration.
- #1157 - Map content in an EntityModel is not properly unwrapped.
- #1155 - Thread-safety issues in AnnotationLinkRelationProvider's cache.
- #1152 - Allow appending path segments in WebFluxLinkBuilder.
- #1148 - Further performance improvements in link creation.
- #1145 - Query parameters are not removed from generated WebFlux links.
- #1138 - Upgrade to Spring Framework 5.2.2.
- #1134 - WebClientConfigurer "drops" ObjectMapper customizations from WebClients.
- #1133 - Fix package name 'vnderror' to 'vnderrors' in migration script.
- #1132 - Keys for HAL's _embedded document and link relations do not follow the Jackson PropertyNamingStrategy configured.
- #1127 - UriTemplate redundantly percent encodes literal part.
- #1122 - Generics bounds too strict in RepresentationModelAssemblerSupport.
- #1121 - Bean class without reader method producing NullPointerException.
- #1119 - Configuring RestTemplate breaks in a pure Spring WebFlux application.
- #1118 - MemoryLeak caused by UriTemplate cache.
- #1116 - Refine factory methods and nullability checks for RepresentationModel types.
- #1109 - Upgrade to Reactor Dysprosium-SR1.
- #1107 - Upgrade to Spring Framework 5.2.1.RELEASE.
- #1103 - Migration for ResourceAssemblerSupport -> RepresentationModelAssemblerSupport missing.
- #1101 - Fix also HAL_JSON_UTF8 media type.
- #1100 - Upgrade CI to use JDK 13 for edge testing.
- #1098 - WebMvcHateoasConfiguration not applied for plain client application.
- #1097 - Fixed some grammatical and spelling errors.
- #1091 - Fix single char typo.
- #1057 - Migrate to vendor neutral error handling mechanism (RFC-7807).
- #1045 - Reduce visibility of UriTemplate constructor calls.
- #1025 - logref property should be optional.
- #786 - Introduce comprehensive error handling strategy.
- #776 - #775 - Overhaul VndErrors to match spec.
- #775 - Update VndErrors to match latest details of the spec.
- #651 - Allow VndError to have children. .
- #593 - UriTemplate handles encoded variables improperly on expand call.
- #546 - vnd.error path attribute.
- #478 - VndErrors.VndError#logRef is not optional.
- #345 - Vnd.error links key on json response.
Changes in version 1.0.2.RELEASE (2019-12-03)
----------------------------------------
- #1142 - Release 1.0.2.RELEASE.
- #1140 - WebClientConfigurer "drops" ObjectMapper customizations from WebClients.
- #1139 - Upgrade to Spring Framework 5.2.2.
- #1137 - Fix package name 'vnderror' to 'vnderrors' in migration script.
- #1131 - UriTemplate handles encoded variables improperly on expand call.
- #1130 - UriTemplate redundantly percent encodes literal part.
- #1128 - Configuring RestTemplate breaks in a pure Spring WebFlux application.
- #1126 - Generics bounds too strict in RepresentationModelAssemblerSupport.
- #1124 - Bean class without reader method producing NullPointerException.
- #1123 - MemoryLeak caused by UriTemplate cache.
Changes in version 1.0.1.RELEASE (2019-11-03)
----------------------------------------
- #1112 - Release 1.0.1.RELEASE.
- #1111 - Add 1.0.1.RELEASE to the ChangeLog.
- #1110 - Upgrade to Reactor Dysprosium-SR1.
- #1108 - Upgrade to Spring Framework 5.2.1.RELEASE.
- #1104 - Migration for ResourceAssemblerSupport -> RepresentationModelAssemblerSupport missing.
Changes in version 1.0.0.RELEASE (2019-09-30)
----------------------------------------
- #1090 - Release 1.0.0.RELEASE.
- #1089 - Upgrade Reactor to Dysprosium-RELEASE.
- #1088 - Upgrade to Jackson 2.10.
- #1086 - Upgrade to Jackson BOM 2.9.9.20190807.
- #1085 - Upgrade to Spring Plugin 2.0.
- #1080 - Clarify expected behaviour around EntityLinks when using WebFlux.
- #1079 - Upgrade to Spring Framework 5.2.0.RELEASE.
- #1075 - i18n only working when rest-default-messages.properties is available.
- #1038 - Update documentation to show how to create an ALPS serving controller for profile purposes.
- #1028 - Fix example in docs to reflect requirement for _prompt for property I18N.
- #966 - Application does not start due to two bean instances of org.springframework.plugin.core.PluginRegistry.
- #965 - NPE when generating a link to POST method without RequestBody parameter.
- #837 - Update reference docs to reflect new APIs, SPIs, and package structures.
Changes in version 1.0.0.RC2 (2019-09-05)
----------------------------------------
- #1072 - Expose null handling configuration of HalFormsTemplate.title.
- #1070 - Release 1.0.0.RC2.
- #1069 - Upgrade to Reactor Dyprosium-RC1.
- #1067 - Remove @EnableEntityLinks.
- #1066 - Upgrade to Spring Framework 5.2.0.RC2.
- #1064 - #1061 - Reenable default codecs for WebFlux configuration.
- #1063 - Documentation describes using @EnableEntityLinks but it is deprecated and no longer necessary.
- #1062 - @EnableHypermediaSupport does not provide a ContollerEntityLinks bean when using WebFlux.
- #1061 - Enabling hypermedia disables all of WebFlux's default codecs.
- #1059 - Code cleanup.
- #1058 - Migrate off deprecated Spring APIs.
- #1054 - Fix unresolved directive for Traverson section of ref docs.
- #1047 - WebFlux configuration must properly handle application/json.
- #1044 - Properly deprecate UriTemplate's constructors.
Changes in version 1.0.0.RC1 (2019-08-05)
----------------------------------------
- #1042 - Upgrade to AssertJ 3.13.2.
- #1041 - Upgrade to JUnit 5.5.1.
- #1039 - ALPS documents should not render null attributes.
- #1035 - Upgrade to Reactor Dysprosium M3.
- #1034 - Upgrade to Spring Framework 5.2.0.RC1.
- #1030 - Release 1.0.0.RC1.
- #1029 - Update changelog for RC1.
- #1027 - #857 - Use List instead of Collection in configuration classes.
- #1026 - Upgrade to Jackson 2.9.9.20190727.
- #1024 - Release documentation through CI.
- #1023 - Update CI pipeline based on lessons learned.
- #1022 - Deprecate @EnableEntityLinks.
- #1021 - Make sure that EntityLinks bean is only activated for Spring MVC.
- #1020 - Migration for BasicLinkBuilder in 1.0.0.M3.
- #1019 - Performance issues with i18n of HAL link titles.
- #1018 - Support customizing additional HAL-FORMS properties.
- #1017 - Update document publication mechanism .
- #1014 - RepresentationModel should allow adding links optionally.
- #1013 - Upgrade to JUnit 5.5.
- #1012 - Documentation for HAL-FORMS resource bundles for _templates is wrong.
- #1011 - Add timeouts to the pipeline.
- #1010 - #987 - Drop UTF8 HAL media type.
- #1008 - Properly configure user.name and user.home for CI jobs.
- #1006 - Upgrade Asciidoctor Maven plugin dependencies.
- #1005 - Document internationalization options.
- #1003 - IllegalArgumentException when calling linkTo(methodOn(...)) on controller method with optional @RequestParam.
- #992 - HAL-FORMS implementation prevents mediatype usage as intended by the specification.
- #987 - Deprecate _UTF8 media type variants.
- #986 - Switch to Spring's ServerWebExchangeContextFilter.
- #981 - Provide linkRelationBasedPolicy for HAL Forms.
- #979 - Allow customization of HAL Forms property prompts.
- #857 - Use List not Collection when asking for beans.
- #849 - Support defining HAL Forms template titles via resource bundles.
- #836 - Reference documentation mentions inexistant "createResource" method in class "ResourceAssemblerSupport".
- #832 - Properly integrate configuration for HAL into HAL-FORMS configuration.
- #777 - Rename UnitTest classes as ...UnitTests for consistency.
- #729 - Serializing ResourceSupport types into HAL-FORMS doesn't work.
- #445 - RepresentationModelAssemblerSupport does not expose controllerClass/resourceType to subclasses.
- #153 - Readme does not match code.
Changes in version 1.0.0.M3 (2019-06-14)
----------------------------------------
- #1002 - Release 1.0 M3.
- #1001 - Upgrade to Reactor Dysprosium M2.
- #1000 - Upgrade to Spring Framework 5.0 M3.
- #999 - Introduce Jenkins CI.
- #998 - Prevent eager bean instantiation from WebMvcHateoasConfiguration.
- #997 - Upgrade to Jackson 2.9.9.
- #990 - Fix deployment of Javadoc and reference docs.
- #989 - Update pipeline to support Concourse 5.
- #888 - Upgrade to Spring Plugin 2.0 M2.
Changes in version 1.0.0.M2 (2019-05-13)
----------------------------------------
- #988 - Release 1.0 M2.
- #985 - Stabilize on Spring Framework 5.2.0.M1.
- #983 - Switch to Spring's ServerWebExchangeContextFilter.
- #980 - Migrate to JUnit 5.
- #977 - Performance improvements in link generation.
- #973 - Add configuration options to select the web stack to add hypermedia support for.
- #971 - Traverson to templated Link fails.
- #919 - Upgrade to Spring Framework 5.2 M2.
- #911 - Rename pull request tasks.
- #910 - URL Cleanup.
- #891 - Overhaul documentation section on EntityLinks.
- #886 - Add section on forward header handling to reference documents.
- #885 - Re-enable default registry of WebFlux encoders and decoders.
- #867 - WebClientConfigurer overrides exchange strategies.
- #863 - Removal of spring-plugin library.
- #860 - Switch to URI.create().
- #859 - Fix RepresentationModelProcessor to smoothly register with Spring MVC.
- #856 - Improve migration script.
- #855 - URL Cleanup.
- #831 - Add nullability annotations to codebase.
- #830 - Reorganize the labels.
- #459 - Add Spring HATEOAS room to Gitter.
Changes in version 1.0.0.M1 (2019-03-05)
----------------------------------------
- #854 - Migrate off Objenesis in favor of Spring's ProxyFactory.
- #853 - Release 1.0 M1.
- #850 - Upgrade to Spring Plugin 2.0 M1.
- #847 - Make JDK 8 test step a smoke test for other test steps.
- #846 - Add Spring HATEAOS Examples to pipeline.
- #845 - Polish code in Link, UriTemplate and TemplateVariables.
- #844 - Move TypeReferences to server.core package.
- #843 - Extend EntityLinks with override that allows to use a identifier extractor function.
- #842 - Remove Identifiable.
- #841 - Add curie builder capabilities to HalLinkRelation.
- #840 - Add methods to detect required links to LinkDiscoverer.
- #838 - Make sure BeanPostProcessor creation does not prematurely trigger all other configuration.
- #833 - Package refactorings to add SPI to create custom media type implementations.
- #825 - Ensure LinkRelation complies with RFC8288.
- #819 - Migrate off deprecated OrderAwarePluginRegistry APIs.
- #818 - Remove Spring HATEOAS custom Forwarded header handling.
- #815 - Add ability to do releases through Concourse.
- #813 - Upgrade to Kotlin 1.3.21.
- #812 - General overhaul and refactorings.
- #811 - Add support for specifying array serialization for a particular link relation.
- #808 - Upgrade to Spring Framework 5.1.5.
- #807 - Remove log output in UberWebMvcIntegrationTest.
- #806 - Remove package cycle between ….hateoas and ….hateoas.core.
- #805 - Add Links.getRequiredLink(…).
- #804 - Avoid log output in MultiMediaTypeWebMvcIntegrationTest.
- #803 - Remove reflective invocation of JsonPath.compile(…) in JsonPathLinkDiscoverer.
- #798 - Modernizing the documentation production and appearance.
- #797 - Editing pass.
- #793 - Switch from @Order to Ordered in RelProvider implementations.
- #792 - Upgrade to Jackson 2.9.8.
- #791 - Support HAL name property.
- #788 - Clean up code base.
- #787 - HalLinkDiscoverer doesn't extract link properties other than href.
- #785 - #784 - Introduce UBER+JSON mediatype.
- #784 - Add support for UBER+JSON.
- #778 - Transform IANA Link Relations into a series of constants.
- #772 - Fix pipeline so it tests against JDK 12 on pull requests.
- #764 - Migrate build jobs to Concourse CI.
- #760 - Make Spring Plugin a full dependency in 1.0.
- #759 - #667 - Ignore unknown properties in LinkMixin.
- #758 - Migrate all Forward header handling to Spring MVC.
- #754 - Upgrade to Jackson 2.9.7.
- #752 - Upgrade to latest Spring 5.0.x.
- #751 - Align assertions with its Javadoc in Hop.header().
- #743 - Allow specifying a custom header value for each hop in Traverson.
- #728 - Add Spring WebFlux support.
- #719 - Simplify configuration setup.
- #715 - Provide link builder DSL to write idiomatic Kotlin code.
- #714 - Use system-dependent line separator in tests.
- #711 - Upgrade to Spring Framework 5.0.6.RELEASE.
- #707 - Add support for Spring Data REST.
- #701 - Obvious Fix: typo.
- #700 - Remove JAX-RS support.
- #699 - Convert link with RFC5988 additional attributes.
- #695 - Remove Jaxb annotations.
- #686 - Support whitespace in Links Header.
- #682 - Obvious Fix : typo :).
- #678 - Add profile property.
- #672 - Add Maven Wrapper.
- #671 - When looking up a single link by rel, don't create intermediate list.
- #669 - Remove list creation in ResourceSupport.getLink().
- #667 - Templated URIs in a HAL document cannot be deserialized.
- #662 - Upgrade to Spring Framework 5.0.1.
- #655 - Retire Java8Utils in 1.0.
- #653 - Use Java 8 Stream API.
- #652 - Move off Jackson deprecations.
- #649 - Use Java 8 Map enhancements.
- #648 - Add Java 9 automatic module name.
- #647 - Move to AssertJ and Mockito 2.0.
- #646 - Upgrade to Lombok 1.16.18.
- #645 - Upgrade to Spring Plugin 2.0.
- #644 - Remove OSGi metadata creation setup from build.
- #643 - Upgrade to Spring Framework 5 as development baseline.
- #642 - Move to Java 8 as development baseline.
- #641 - Set up 1.0 development.
- #627 - Upgrade Spring Framework to recent versions.
- #612 - #340 - Adds new Affordances API + HAL-Forms mediatype.
- #572 - Enhance ResourceAssemblerSupport to allow generics.
- #483 - UriTemplate Does not handle composite values.
- #482 - Add support for Collection+JSON media type.
- #416 - ResourceAssemblerSupport.toResources() should return Resources instead of List.
Changes in version 0.25.0.RELEASE (2018-07-25)
----------------------------------------------
- #730 - Release 0.25.
- #724 - Ensure Spring 4.3 / 5 compatibility in EncodingUtils.
- #723 - Backport simplified configuration setup.
- #722 - Update build plugins.
- #721 - Upgrade to Lombok 1.18.0.
- #720 - Upgrade to Spring 4.3.18.
- #665 - ALPS spec name is "descriptor" not "descriptors".
Changes in version 0.24.0.RELEASE (2017-10-30)
----------------------------------------------
- #661 - Release 0.24.
- #658 - Remove unused Enhancer variable.
- #639 - Add support for Optional parameters in ControllerLinkBuilder.
- #638 - Fix typos in Javadoc.
- #635 - Upgrade Spring Framework 5 build profile to 5.0 GA.
- #623 - Upgrade Spring 5 build profile to Jackson 2.9.1.
- #621 - #617 - Use SynthesizingMethodParameter to support AliasFor attributes.
- #617 - Parameter names not detected in case @AliasFor'ed attributes are used.
- #604 - Make JacksonSerializationTest platform independent.
- #603 - Fix typos.
- #601 - #597 - Add ALPS mediatype and LinkDiscoverer.
- #600 - Fix typo in UriTemplate.
- #597 - Migrate ALPS media type and LinkDiscoverer from Spring Data REST.
- #594 - Guard against Spring 5's Not Nullable policy.
- #586 - #585 - Add script to run ALL build profiles.
- #585 - Make it easier to test all profiles.
- #584 - #580 - Update IANA relation types.
- #583 - Make sure build profile for Spring 5 uses compatible Jackson version.
- #582 - LinkBuilderSupport.slash(…) fails to append path segments with a colon.
- #580 - Update IANA relation types.
- #575 - spring5-next profile breaks Spring HATEOAS.
- #567 - Add extra attributes to Link and use for HAL mediatype.
- #564 - Add license file to the project.
- #558 - HypermediaSupportBeanDefinitionRegistrar double registers message converters.
- #557 - Update "JSON" to "Jackson" in reference docs.
- #555 - Fixed syntax highlighting and content of a few code blocks in the reference guide.
- #553 - Fix typo in build file.
- #552 - Upgrade Spring 5 next to M5.
- #542 - "Get Link functionality" of ResourceSupport class.
- #538 - Update location of static resources.
Changes in version 0.23.0.RELEASE (2016-12-22)
----------------------------------------------
- #529 - Release 0.23.
- #527 - Link creation via ControllerLinkBuilder broken.
Changes in version 0.22.0.RELEASE (2016-12-21)
----------------------------------------------
- #473 - Release 0.22.
- #526 - Upgrade to Spring 4.3.5.
- #521 - Setup code coverage for SonarQube build.
- #520 - Polish most critical SonarQube warnings.
- #517 - Upgrade to Spring 4.3.4.
- #511 - Sub-optimal performance of ControllerLinkBuilder.linkTo(…).
- #509 - ControllerLinkBuilder does not handle multiple X-Forwarded-* headers values.
- #507 - Upgrade Spring 5 build profile to point to M2.
- #504 - Link.valueOf does not accept relations with dot or minus.
- #499 - Alps.Ext lacks required attribute id.
- #486 - Assignment checks for ResolvableType in ResourceProcessorInvoker don't work.
- #485 - Upgrade to Spring 4.3.
- #471 - Add support for @GetMapping, @PostMapping etc. introduced in Spring 4.3 in ControllerLinkBuilder.
- #169 - Allow creation of UriTemplates when pointing to controller methods.
Changes in version 0.21.0.RELEASE (2016-07-17)
----------------------------------------------
- #472 - Release 0.21.
- #469 - Remove use of AnnotationMethodHandlerAdapter for Spring 5 compatibility.
- #464 - Documentation for Traverson broken.
- #460 - HalHandlerInstantiator should use a BeanFactory just like SpringHandlerInstantiator.
Changes in version 0.20.0.RELEASE (2016-06-06)
----------------------------------------------
- #458 - Release 0.20.
- #457 - Move to Lombok's non-experimental Builder in ALPS types.
- #455 - Assert compatibility with Jackson 2.7.
- #449 - Add IDE formatter presets.
- #440 - Given link header is not RFC5988 compliant.
- #432 - Add code of conduct.
- #423 - Make sure URL parts are joined correctly.
- #422, #398 Remove unnecessary URI conversion.
- #421 - DefaultCurieProvider should dynamically prepend application base URI.
- #398 - ControllerLinkBuilder does not handle special query parameter characters correctly.
- #397 - Fixed typos.
- #390 - Rename missing Tests to Test for Maven support.
- #388 - Rename ForwardedHeaderUnitTests to test to be picked up by Maven.
- #383 - Reintroduce general compatibility with Jackson 2.4.
- #382 - Fixed Traverson double encoding issue.
- #381 - Upgrade Spring 4.2 build profile to Spring 4.2.1.RELEASE.
- #380 - Make sure all integration tests run in Maven build.
- #372 - Added support for Map parameters to LinkBuilderFactory.linkTo(…).
- #362 - Add ResourceProcessor support magic from Spring Data REST.
- #337 - Traverson's double encodes URIs.
- #269 - linkTo(methodOn(…)) sometimes misses slashes.
- #186 - Allow multiple mappings on type and method level.
Changes in version 0.19.0.RELEASE (2015-09-01)
----------------------------------------------
- #379 - Release 0.19.0.
- #378 - Add title attributes for HAL links derived from resource bundle.
- #376 - Compile against latest JAX-RS API.
- #375 - TrueOnlyBooleanSerializer.isEmpty(…) not honored on Jackson 2.6.
- #363 - Support for multiple Curie namespaces in the same application.
- #320 - Improve curie rendering in case no namespaced links are present.
Changes in version 0.18.0.RELEASE (2015-08-04)
----------------------------------------------
- #369 - Traverson's getAndFindLinkWithRel(…) needs to expand given URI defensively.
- #368 - Assert Jackson 2.6 compatibility.
- #364 - Added missing parentheses in reference documentation.
- #360 - TypeConstrainedMappingJackson2HttpMessageConverter needs to override canRead(Type, Class>, MediaType).
- #356 - #355 - Clean up Traverson section and explain Resources vs. Resource.
- #355 - Traverson docs need more cleanup.
- #353 - Release 0.18.0.
- #347 - Augment .gitignore to contain exclusions for Intellij.
- #342 - Augment error message when building links outside of an MVC request.
- #341 - ObjectMapper used for default HAL converter should not fail on unknown properties.
- #332 - Inconsistent behavior when using linkTo(methodOn()) on handler methods.
- #331 - Inconsistent behavior when using linkTo(methodOn()) on handler methods with defaultValue attribute set on @RequestParam.
- #329 - #247 - Added HAL_JSON_VALUE in MediaTypes class.
- #322 - Upgrade to Spring Plugin 1.2.0.
- #321 - Remove dependency to Objenesis.
- #314 - JSON-Path in HalLinkDiscoverer doesn't work for URI rels.
- #247 - Add HAL_JSON_VALUE in MediaTypes class.
Changes in version 0.17.0.RELEASE (2015-03-05)
----------------------------------------------
- #313 - Assert compatibility with both JSONPath 0.9 and 1.2.
- #312 - UriTemplate cuts off uri part after last path variable.
- #311 - Upgrade to latest Spring 4.0.x.
- #310 - Add package-info.java files.
- #309 - Incorrect calculation of totalPages in PageMetadata.
- #308 - Release 0.17.0.
- #307 - Traverson should allow to access final templated link.
- #306 - Add convenience types to create ParameterizedTypeReferences.
- #305 - Update dependencies.
- #304 - Add build profiles for Spring 4.x.
- #302 - Simple Boot Client doesn't handle hal links properly.
- #300 - Added missing variable in call to ControllerLinkBuilder.linkTo(Class>controller, Method method, Object... parameters).
- #297 - Upgrade JsonPath Version.
- #293 - EnableHypermediaSupport should augment HttpMessageConverters of registered RestTemplates.
- #286 - Allow EmbeddedWrappers.wrap to wrap empty collections.
- #281 - Enhance UriTemplate builder to build links for request param based urls.
- #278 - Publish JavaDoc and reference documentation.
- #273 - Fix Assert, forgot to pass the parameter that was being checked.
- #272 - Fix reference to non-existing interface.
- #271 - UriTemplate doesn't seem to expand simple path variables.
- #267 - Added varargs variant for ResourceSupport.add().
- #257 - Add support for X-Forwarded-Proto headers.
- #237 - Missing variable values in call to ControllerLinkBuilder.linkTo(Method, Object... parameters).
- #233 - Add support for curies to HalEmbeddedBuilder.
- #229 - HalEmbeddedBuilder needs to support curie for the embedded resources.
- #228 - TemplateVariable Constructor does not check Parameter.
- #224 - Typo in README: toResource should be toResources.
- #221 - HalEmbeddedBuilder should consider curies for relation types.
- #210 - #209 - Added support for Map and MultiValueMap RequestParams.
Changes in version 0.16.0.RELEASE (2014-07-28)
----------------------------------------------
- #219 - Registration of HttpMessageConverter for HAL should restrict rendering to subtypes of ResourceSupport.
- #217 - Improve UriTemplate's TemplateVariables handling.
- #216 - Release 0.16.0.RELEASE.
Changes in version 0.15.0.RELEASE (2014-07-10)
----------------------------------------------
- #212 - Traversion should be able to return the last link found.
- #203 - Traverson can now take a customized RestTemplate.
- #201 - Make RestTemplate of Traverson configurable.
- #200 - Updated reference documentation to explain CurieProvider API.
- #185 - Add support for link discovery for other media types than HAL to Traverson.
- #183 - Curie documentation or example.
- #141 - Add support for ALPS.
Changes in version 0.14.0.RELEASE (2014-06-30)
----------------------------------------------
- #206 - Set classloader for dummy method proxies.
- #205 - Jackson2ModuleRegisteringBeanPostProcessor must not access beans eagerly.
- #136 - Class loading issues on JBoss.
Changes in version 0.13.0.RELEASE (2014-06-18)
----------------------------------------------
- #199 - Improve design of HalEmbeddedBuilder.
- #198 - TemplateVariables.concat(…) should not duplicate variables.
- #195 - HalEmbeddedBuilder should consider rel provided by object to be added.
- #192 - ControllerLinkBuilder not detecting the right @RequestMapping from a controller.
- #188 - #187: Traverson correctly applies headers when using JsonPath to evaluat...
- #187 - Traverson: toObject(jsonPath) does not apply headers.
Changes in version 0.12.0.RELEASE (2014-05-20)
----------------------------------------------
- #180 - Traverson is not expanding URI template on final call correctly.
- #179 - Fix double encoding in LinkBuilderSupport.
- #178 - Potential NullPointerException in ResourceSupport.
- #177 - Fix typo in readme.
- #131 - Add support for client side service traversing.
- #96 - LinkBuilderSupport double encoding URL.
Changes in version 0.11.0.RELEASE (2014-05-01)
----------------------------------------------
- #173 - Release 0.11.
- #172 - Link should be serializable.
- #170 - Proxy header detection should honor X-Forwarded-Port.
- #114 - linkTo(methodOn()) problem when method is defined by super class of controller.
Changes in version 0.10.0.RELEASE (2014-03-30)
----------------------------------------------
- #165 - Drop Jackson 1.x support
- #162 - Documentation - @RelationType
- #160 - Fix UriTemplate.expand(…) method signature to prevent accidental binding to varargs overload
- #158 - HalEmbeddedBuilder should forward proxy target class to RelProviders
- #154 - Build fails with Java 7
- #148 - Cant't get HAL-Type serialization to work
- #103 - Spring HATEOAS fails in WebSphere 8
Changes in version 0.9.0.RELEASE (2014-01-29)
---------------------------------------------
- #147 - Add convenience toString to VndErrors
- #142 - Support multiple curies to be returned from CurieProvider
- #139 - PagedResourcesAssember and URL Variables
- #138 - MethodParameters should be able to return parameters by type
- #137 - Add support for link templates
- #133 - LinkDiscoverer must not throw exceptions if link container is not present
- #132 - Resource should reject collection content
- #130 - Guard @EnableHypermediaSupport against issue in Spring 3.2.x
- #128 - Improve LinkDiscoverer API
- #125 - Add support for HAL curies
- #124 - Fix mapping annotations in ResourceSupport and subclasses
- #123 - Deprecate Jackson 1.9.x support
- #122 - ControllerLinkBuilder creates parameter names for optional request parameters even if they're null.
- #121 - OSGi imports for spring-plugin-core are incorrect
- #112 - Added support for X-Forwarded-Ssl header during link construction.
- #110 - HalEmbeddedBuilder fails to properly encode odd number of elements
- #140 - Upgrade to latest Spring 3.2.x
- #126 - Release 0.9
Changes in version 0.8.0.RELEASE (2013-08-09)
---------------------------------------------
- #101 - Enable annotation based parameter name discovery on MethodParameters
- #89 - PagedMetadata issue
- #106 - Upgrade to Jackson 2.2.0
- #105 - Release 0.8
Changes in version 0.7.0.RELEASE (2013-16-07)
---------------------------------------------
- #91 - Improve proxying for links build from method references
- #99 - HalLinkListSerializers don't guarantee stable link order
- #98 - PagedResources JAXB un-marshalling is broken
- #94 - Fix for issue #93
- #93 - Jackson can't deserialize VndErrors
- #92 - Remove JsonAutoDetect annotations from PagedResources
- #90 - Consider port number when setting the host from the X-Forward-Host header
- #86 - Make sure all test run during build
- #85 - Add support to render resource links as headers instead of in the body
- #84 - Make Resource more defenisive against null content
- #83 - #81: handle null content when adding Resource or Resources
- #81 - Nullpointer in HalEmbeddedBuilder
- #74 - Release 0.7
Changes in version 0.6.0.RELEASE (2013-31-05)
---------------------------------------------
- #73 - ControllerLinkBuilder should allow pointing to unmapped controllers
- #72 - AnnotationMappingDiscoverer should return polished mapping for root slash mapping
- #70 - Fixed problem with Controllers having a path parameter on the class mapping
- #64 - Add HAL support for PagedResources
- #63 - HAL : Wrong rel name for embedded collections
- #62 - Add support for vnd.error
- #61 - Release 0.6
Changes in version 0.5.0.RELEASE (2013-30-04)
---------------------------------------------
- #57 - Support formatting of @PathVariables
- #56 - Improve fragment handling in LinkBuilderSupport
- #54 - Add basic support for RFC5988 style link headers
- #53 - Use slf4j for logging
- #52 - Add SPI to let HandlerMethodArgumentResolver implementations contribute to URI building
- #51 - Add LinkDiscoverer implementation for HAL
- #50 - Add @EnableHypermediaSupport to default configuration
- #48 - Make source encoding explicit in pom.xml
- #39 - Fix for #26 Add support for request parameters to Link builder
- #26 - Add support for request parameters to Link builder
- #44 - Release 0.5
Changes in version 0.4.0.RELEASE (2013-28-01)
---------------------------------------------
- #18 - Added support to build links pointing to controller methods
- #32 - Added @EnableEntityLinks to transparently expose controllers managing entities
- Introduced EntityLinks API to build links pointing to components exposing URIs for entities
- Introduced LinkDiscoverer API to find links by their rels in representations (incl. JSONPath based implementation)
- #27 - Added support for Jackson 2
- #29 - Added support for HAL-style link representations
- #41, #42 - Extracted ResourceAssemblerSupport for non-Identifiables
- #43 - Fixed potential stack-overflow in ControllerLinkBuilder
- #33 - ControllerLinkBuilder now considers X-Forwarded-Host header if present
Changes in version 0.3.0.RELEASE (2012-10-09)
---------------------------------------------
- #15 - Upgraded to Jackson 1.9.10
- #14 - Added integration test to make sure default (de)serialization works
- #13 - Added LinkBuilder implementation that inspects JAX-RS @Path annotations
- #12 - Introduced factories for LinkBuilder to improve client testability
- #11 - Moved to Set and back to List for Links inside ResourceSupport
- #10 - Renamed (Paged)Resources.fromEntities(…) to ….wrap(…)
- #9 - Added constructor to PagedResources to take an Iterable of Links
- #7 - Excluded getId() of ResourceSupport from default JSON rendering
- Switched from Collection to Iterable in constructor of Resources
- Moved from ResourceEnricher to ResourceProcessor to allow manipulating the resource instance
Changes in version 0.2.0.RELEASE (2012-08-23)
---------------------------------------------
- added ResourceEnricher SPI
- fixed equals(…)/hashCode() in Resource/Resources/PagedResources
- Added PagedResources abstraction (collection resource with pagination information)
- Enhanced resource abstraction with default implementation for Resource and Resources
Changes in version 0.1.0.RELEASE (2012-07-19)
---------------------------------------------
- Initial release with basic support
- Common abstractions like Link, Identifiable, ResourceSupport (JAXB marshable)
- ControllerLinkBuilder to easily create Link instances to point to Spring MVC controllers
- ResourceAssemblerSupport base class to easily create resource (DTO) instances