> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Appkit SDK 4.7.0 Release Notes

[localhost link]: http://localhost:3000/docs/4/app-studio/release-notes/appkit/4.7.0-release-notes

[mintlify link]: https://doc.lucidworks.com/docs/4/app-studio/release-notes/appkit/4.7.0-release-notes

[old doc.lw link]: https://doc.lucidworks.com/app-studio/4.2/981

**Release date:** 22 November 2019

## New features

* Appkit 4.7.0 adds support for Elastic 7.4.

* A new filter, `find`, is added which searches the scope hierarchy to find a specified variable. For example: `{{ 'myVariable' | find:this }}`.

## Improvements

* The `twigkit.http.filter.DevelopmentErrorFilter` is replaced by the `twigkit.http.filter.ErrorFilter`. If you are using the `twigkit.http.filter.ErrorFilter` parameter in your `web.xml` file and an AJAX request fails, a JSON response is received identifying the status code of the REST call and any underlying causes. Previously, an HTML response was received.\
  Example configuration:

  ```xml theme={"dark"}
  <filter>
      <filter-name>ErrorFilter</filter-name>
      <filter-class>twigkit.http.filter.ErrorFilter</filter-class>
      <init-param>
          <param-name>responseCode</param-name>
          <param-value>400,405,406,500,501,503</param-value>
      </init-param>
      <init-param>
          <param-name>excludedPaths</param-name>
          <param-value>/,/login,/login/</param-value>
      </init-param>
  </filter>

  ```

* Accessibility improvements are made to the [search breadcrumbs](/docs/4/app-studio/reference/tags/lightning.directive.searchBreadcrumbs). The text, `x`, that removed the breadcrumb is replaced by an icon with the alt-text "Remove this term from the query" for use by screen readers.

  <img src="https://mintcdn.com/lucidworks/2KNayRvSeBNrjWMT/assets/images/appkit/breadcrumb-accessibility.png?fit=max&auto=format&n=2KNayRvSeBNrjWMT&q=85&s=43721f23f5f80af7a2b35cc7d290fcb1" alt="Remove this term from the query" width="676" height="97" data-path="assets/images/appkit/breadcrumb-accessibility.png" />

* For security purposes, any existing incoming `userID` value is removed and replaced when impersonation is enabled.

* When a user enters incorrect login credentials, the username is preserved in the form and the URL for the user to verify.

* The UI now sends a `X-Requested-With=XMLHttpRequest` HTTP header with every API request. This makes it easier for the middleware to detect XHR requests and handle errors appropriately.

* Previously with the `ApplyDynamicSolrDateFormattingResponseProcessor`, the same time format was applied to days, hours, minutes, and seconds. Now, these values have their own formats.

* When using the `twigkit.search.processors.response.ApplyDynamicSolrDateFormattingResponseProcessor` and `twigkit.search.processors.query.DynamicSolrDateRangeQueryProcessor`, a new fact value, `gap`, is added to the date facet. This value of this fact is the unit of the gap size that was applied.

## Other changes

* The default session timeout is updated from 10 minutes to 1 hour, to align with Fusion 4.2.x.

## Addressed Security Vulnerabilities

* Upgrades to [Jackson 2.9.10](https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.10) and [Apache Commons BeanUtils 1.9.4](http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.4/apidocs/index.html) are made to address CVE vulnerabilities.

## Bug Fixes

* Fixed a bug that occasionally left a filter styled as being selected after another filter was chosen, despite the query results changing to reflect the new selection.

* Fixed an issue that would occasionally let a response object from one view be used by another view.

* Upgraded the JFrog protocol to `https` to prevent a `[FATAL] Non-resolvable parent POM` error.

* Fixed a bug that occasionally caused "like" signals to generate the wrong annotation type metadata.

* Fixed a bug with `FacetFilterValueMappingProcessor` mappings which prevented commas from being used with the value. Additionally, two parameters are introduced, `separator` and `key-value-separator`. For example:

  ```yml theme={"dark"}
  separator: ; // Defaults to ","
  key-value-separator: _ // Defaults to "="

  ```

  Using `key-value-separator: _` will separate the following key value pairs properly: `alpha,beta=greek_a,b=english`.

* Fixed a bug that rarely caused a Null Pointer Exception (NPE) error when a workflow platform was reading an underlying platform parameter.
