Spring HATEOAS Changelog
========================

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<String, String> and MultiValueMap<String, S...
- #209 - ControllerLinkBuilder fails on Map<> 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