---
- item:
    issue: "30"
    type: "add"
    title: "<b>API CHANGE:</b> The TagList class previously implemented ArrayList semantics, but this has been replaced with LinkedHashMap semantics. This means that the list of tags will no longer accept duplicate tags, but that tag order will still be preserved. Thanks to Bill de Beaubien for reporting!"
- item:
    issue: "33"
    type: "fix"
    title: "Server was incorrectly including contained resources being returned as both contained resources, and as top-level resources in the returned bundle for search operations. Thanks to Bill de Beaubien for reporting! This also fixes Issue #20, thanks to lephty for reporting!"
- item:
    type: "add"
    title: "Documentation fixes"
- item:
    type: "add"
    title: "Add a collection of new methods on the generic client which support the <b>read</b> and <b>search</b> operations using an absolute URL. This allows developers to perform these operations using URLs they obtained from other sources (or external resource references within resources). In addition, the existing read/vread operations will now access absolute URL references if they are passed in. Thanks to Doug Martin of the Regenstrief Center for Biomedical Informatics for contributing this implementation!"
- item:
    type: "fix"
    title: "Server implementation was not correctly figuring out its own FHIR Base URL when deployed on Amazon Web Service server. Thanks to Jeffrey Ting and Bill De Beaubien of Systems Made Simple for their help in figuring out this issue!"
- item:
    type: "fix"
    title: "XML Parser failed to encode fields with both a resource reference child and a primitive type child. Thanks to Jeffrey Ting and Bill De Beaubien of Systems Made Simple for their help in figuring out this issue!"
- item:
    type: "fix"
    title: "HAPI now runs successfully on Servlet 2.5 containers (such as Tomcat 6). Thanks to Bernard Gitaadji for reporting and diagnosing the issue!"
- item:
    type: "fix"
    title: "Summary (in the bundle entry) is now encoded by the XML and JSON parsers if supplied. Thanks to David Hay of Orion Health for reporting this!"
- item:
    issue: "24"
    type: "fix"
    title: "Conformance profiles which are automatically generated by the server were missing a few mandatory elements, which meant that the profile did not correctly validate. Thanks to Bill de Beaubien of Systems Made Simple for reporting this!"
- item:
    type: "fix"
    title: "XHTML (in narratives) containing escapable characters (e.g. < or \") will now always have those characters escaped properly in encoded messages."
- item:
    type: "fix"
    title: "Resources containing entities which are not valid in basic XML (e.g. &sect;) will have those entities converted to their equivalent unicode characters when resources are encoded, since FHIR does not allow extended entities in resource instances."
- item:
    type: "add"
    title: "Add a new client interceptor which adds HTTP Authorization Bearer Tokens (for use with OAUTH2 servers) to client requests."
- item:
    type: "fix"
    title: "Add phloc-commons dependency explicitly, which resolves an issue building HAPI from source on some platforms. Thanks to Odysseas Pentakalos for the patch!"
- item:
    type: "add"
    title: "HAPI now logs a single line indicating the StAX implementation being used upon the first time an XML parser is created."
- item:
    type: "fix"
    title: "Update methods on the server did not return a \"content-location\" header, but only a \"location\" header. Both are required according to the FHIR specification. Thanks to Bill de Beaubien of Systems Made Simple for reporting this!"
- item:
    issue: "26"
    type: "fix"
    title: "Parser failed to correctly read contained Binary resources. Thanks to Alexander Kley for the patch!"
- item:
    issue: "29"
    type: "fix"
    title: "Calling encode multiple times on a resource with contained resources caused the contained resources to be re-added (and the actual message to grow) with each encode pass. Thanks to Alexander Kley for the test case!"
- item:
    type: "fix"
    title: "JSON-encoded contained resources with the incorrect \"_id\" element (which should be \"id\", but some incorrect examples exist on the FHIR specification) now parse correctly. In other words, HAPI previously only accepted the correct \"id\" element, but now it also accepts the incorrect \"_id\" element just to be more lenient."
- item:
    type: "fix"
    title: "Several unit tests failed on Windows (or any platform with non UTF-8 default encoding). This may have also caused resource validation to fail occasionally on these platforms as well. Thanks to Bill de Beaubien for reporting!"
- item:
    type: "fix"
    title: "toString() method on TokenParam was incorrectly showing the system as the value. Thanks to Bill de Beaubien for reporting!"
- item:
    type: "add"
    title: "Documentation on contained resources contained a typo and did not actually produce contained resources. Thanks to David Hay of Orion Health for reporting!"
- item:
    issue: "31"
    type: "add"
    title: "Add a <a href=\"https://www.vagrantup.com/\">Vagrant</a> based environment (basically a fully built, self contained development environment) for trying out the HAPI server modules. Thanks to Preston Lee for the pull request, and for offering to maintain this!"
- item:
    issue: "32"
    type: "add"
    title: "Change validation API so that it uses a return type instead of exceptions to communicate validation failures. Thanks to Joe Athman for the pull request!"
- item:
    issue: "35"
    type: "add"
    title: "Add a client interceptor which adds an HTTP cookie to each client request. Thanks to Petro Mykhailysyn for the pull request!"
