---
- item:
    type: "add"
    title: "STU3 structure definitions have been updated to the STU3 latest definitions (1.7.0 - SVN 10129). In particular, this version supports the new CapabilityStatement resource which replaces the previous Conformance resource (in order to reduce upgrade pain, both resource types are included in this version of HAPI)"
- item:
    type: "add"
    title: "Bump the version of a few dependencies to the latest versions (dependent HAPI modules listed in brackets): <ul> <li>spring-data-orm (JPA): 1.10.2 -&gt; 1.10.4</li> </ul>"
- item:
    type: "fix"
    title: "Fix a fairly significant issue in JPA Server when using the <code>DatabaseBackedPagingProvider</code> : When paging over the results of a search / $everything operation, under certain circumstances resources may be missing from the last page of results that is returned. Thanks to David Hay for reporting!"
- item:
    type: "add"
    title: "Client, Server, and JPA server now support experimental support for HTTP PATCH using the XML Patch and JSON Patch syntax as explored during the September 2016 Baltimore Connectathon. See <a href=\"http://wiki.hl7.org/index.php?title=201609_PATCH_Connectathon_Track_Proposal\">this wiki page</a> for a description of the syntax. <br/> Thanks to Pater Girard for all of his help during the connectathon in implementing this feature!"
- item:
    type: "add"
    title: "Android library now uses OkHttp client by default instead of Apache HttpClient. This should lead to much simpler support for Android in the future."
- item:
    type: "add"
    title: "Both client and server now use the new STU3 mime types by default if running in STU3 mode (in other words, using an STU3 FhirContext)."
- item:
    type: "fix"
    title: "In server, when returning a list of resources, the server sometimes failed to add <code>_include</code> resources to the response bundle if they were referred to by a contained resource. Thanks to Neal Acharya for reporting!"
- item:
    type: "fix"
    title: "Fix regression in web testing UI where \"prev\" and \"next\" buttons don't work when showing a result bundle"
- item:
    type: "fix"
    title: "JPA server should not attempt to resolve built-in FHIR StructureDefinitions from the database (this causes a significant performance hit when validating)"
- item:
    type: "fix"
    title: "BanUnsupportedHttpMethodsInterceptor was erroring out when a client attempts HTTP HEAD requests"
- item:
    type: "fix"
    title: "Conditional URLs in JPA server (e.g. for delete or update) did not support the <code>_has</code> parameter"
- item:
    issue: "440"
    type: "add"
    title: "Remove Maven dependency on Saxon library, as it is not actually used. Thanks to Lem Edmondson for the suggestion!"
- item:
    issue: "444"
    type: "fix"
    title: "Times before 1970 with fractional milliseconds were parsed incorrectly. Thanks to GitHub user @CarthageKing for reporting!"
- item:
    issue: "448"
    type: "fix"
    title: "Prevent crash in parser when parsing resource with multiple profile declarations when default type for profile is used. Thanks to Filip Domazet for the pull request!"
- item:
    issue: "445"
    type: "fix"
    title: "STU3 servers were adding the old MimeType strings to the <code>Conformance.format</code> part of the generated server conformance statement"
- item:
    issue: "446"
    type: "fix"
    title: "When performing an update using the client on a resource that contains other resources (e.g. Bundle update), all child resources in the parent bundle were incorrectly given the ID of the parent. Thanks to Filip Domazet for reporting!"
- item:
    type: "add"
    title: "STU clients now use an Accept header which indicates support for both the old MimeTypes (e.g. <code>application/xml+fhir</code> ) and the new MimeTypes (e.g. <code>application/fhir+xml</code> )"
- item:
    type: "fix"
    title: "JPA server now sends correct <code>HTTP 409 Version Conflict</code> when a DELETE fails because of constraint issues, instead of <code>HTTP 400 Invalid Request</code>"
- item:
    type: "fix"
    title: "Server history operation did not populate the Bundle.entry.request.url field, which is required in order for the bundle to pass validation. Thanks to Richard Ettema for spotting this!"
- item:
    type: "add"
    title: "Add a new method to the server interceptor framework which will be called after all other processing is complete (useful for performance tracking). The server LoggingInterceptor has been switched to using this method which means that log lines will be created when processing is finished, instead of when it started."
- item:
    type: "fix"
    title: "STU3 clients were not sending the new mimetype values in the <code>Content-Type</code> header. Thanks to Claude Nanjo for pointing this out!"
- item:
    type: "fix"
    title: "JAX-RS server was not able to handle the new mime types defined in STU3"
- item:
    type: "fix"
    title: "JPA server did not handle custom types when being called programatically (I.e. not through HTTP interface). Thanks to Anthony Mei for pointing this out!"
- item:
    type: "fix"
    title: "CLI was not correctly able to upload DSTU2 examples to any server"
- item:
    type: "fix"
    title: "STU3 validator has been upgrated to include fixes made since the 1.6.0 ballot"
- item:
    type: "fix"
    title: "Prevent JPA server from creating a bunch of FhirContext objects for versions of FHIR that aren't actually being used"
- item:
    issue: "443"
    type: "fix"
    title: "XhtmlNode.equalsDeep() contained a bug which caused resources containing a narrative to always return <code>false</code> for STU3 <code>Resource#equalsDeep()</code> . Thanks to GitHub user @XcrigX for reporting!"
- item:
    issue: "441"
    type: "fix"
    title: "JPA server did not correctly process searches for chained parameters where the chain passed across a field that was a choice between a reference and a non-reference type (e.g. <code>MedicationAdministration.medication[x]</code> . Thanks to GitHub user @Crudelus for reporting!"
- item:
    issue: "414"
    type: "fix"
    title: "Handle parsing an extension without a URL more gracefully. In HAPI FHIR 2.0 this caused a NullPointerException to be thrown. Now it will trigger a warning, or throw a DataFormatException if the StrictErrorHandler is configured on the parser."
- item:
    type: "fix"
    title: "Calling a HAPI server URL with a chain on a parameter that shouldn't accept chains (e.g. <code>GET [base]/Patient?name.foo=smith</code> ) did not return an error and instead just ignored the chained part and treated the parameter as though it did not have the chain. This led to confusing and potentially unsafe behaviour. This has been corrected to return an error to the client. Thanks to Kevin Tallevi for finding this!"
- item:
    issue: "411"
    type: "fix"
    title: "Fix #411 - Searching by <code>POST [base]/_search</code> with urlencoded parameters doesn't work correctly if interceptors are accessing the parameters and there is are also parameters on the URL. Thanks to Jim Steel for reporting!"
- item:
    type: "add"
    title: "Fluent client can now return types other than Parameters when invoking operations."
- item:
    type: "fix"
    title: "JPA server shouldn't report a totalCount in Bundle of \"-1\" when there are no results"
- item:
    issue: "454"
    type: "fix"
    title: "JPA server was not correctly normalizing strings with non-latin characters (e.g. Chinese chars). Thanks to GitHub user @YinAqu for reporting and providing some great analysis of the issue!"
- item:
    type: "add"
    title: "Add a new method to ReferenceClientParam which allows you to pass in a number of IDs by a collection of Strings. Thanks to Thomas Andersen for the pul request!"
- item:
    issue: "327"
    type: "fix"
    title: "When encoding a resource in JSON where the resource has an extension with a value where the value is a reference to a contained resource, the reference value (e.g. \"#1\") did not get serialized. Thanks to GitHub user @fw060 for reporting!"
- item:
    issue: "464"
    type: "fix"
    title: "ResponseHighlighterInterceptor now pretty-prints responses by default unless the user has explicitly requested a non-pretty-printed response (ie. using <code>?_pretty=false</code> . Thanks to Allan Brohansen and Jens Villadsen for the suggestion!"
- item:
    issue: "469"
    type: "add"
    title: "Add a new JSON library abstraction layer to the JSON parser. This contribution shouldn't have any end-user impact but does make it easier to use the JSON parser to generate custom structures for other purposes, and should allow us to support RDF more easily at some point. Thanks to Bill Denton for the pull request and the contribution!"
- item:
    issue: "455"
    type: "add"
    title: "DSTU1 Bundle encoder did not include the Bundle entry author in the generated bundle. Thanks to Hannes Venter for the pull request and contribution!"
- item:
    type: "fix"
    title: "Remove unused field (myIsContained) from ResourceTable in JPA server."
- item:
    type: "add"
    title: "AuthorizationInterceptor is now a bit more aggressive at blocking read operations, stopping them on the way in if there is no way they will be accepted to the resource check on the way out. In addition it can now be configured to allow/deny operation invocations at the instance level on any instance of a given type"
- item:
    issue: "472"
    type: "fix"
    title: "STU3 servers were incorrectly returning the <code>Content-Location</code> header instead of the <code>Content</code> header. The former has been removed from the FHIR specification in STU3, but the latter got removed in HAPI's code base. Thanks to Jim Steel for reporting!"
- item:
    type: "fix"
    title: "Correct several documentation issues. Thanks to Vadim Peretokin for the pull requests!"
- item:
    type: "add"
    title: "Remove an unneccesary database flush from JPA persistence operations"
- item:
    issue: "470"
    type: "add"
    title: "Add method to fluent client to allow OR search across several profiles. Thanks to Thomas Andersen for the pull request!"
