Spring HATEOAS Changelog ======================== 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(Classcontroller, 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