--- title: V2 2019 releases slug: '3277' canonical_url: https://docs.coveo.com/en/3277/ collection: javascript-search-framework source_format: adoc --- # V2 2019 releases This page summarizes the new features and bug fixes introduced throughout 2019. > **Note** > > The latest changes are available in [Release notes](https://docs.coveo.com/en/328/). [#2-7610] ## December 2019 release (v2.7610) The December 2019 package was initially released as v2.7610.7. **CDN links for JavaScript Search Framework v2.7610.10** - [GitHub release](https://github.com/coveo/search-ui/releases/tag/v2.7610.10) - npm: `npm install coveo-search-ui@2.7610.10` - CDN resources: - JavaScript (lazy, minified): `https://static.cloud.coveo.com/searchui/v2.7610.10/js/CoveoJsSearch.Lazy.min.js` - Stylesheet (minified): `https://static.cloud.coveo.com/searchui/v2.7610.10/css/CoveoFullSearch.min.css` - Templates: `https://static.cloud.coveo.com/searchui/v2.7610.10/js/templates/templates.js` ### Release highlights #### New pilot component: `QuerySuggestPreview` _Issue numbers: JSUI-2685, JSUI-2693_ pass:a[Pilot Feature] The pilot [`QuerySuggestPreview`](https://coveo.github.io/search-ui/components/querysuggestpreview.html) component allows you to display the most relevant results when hovering over a Coveo ML query suggestion in the [`Omnibox`](https://coveo.github.io/search-ui/components/omnibox.html). See [Rendering query suggestion result previews](https://docs.coveo.com/en/340#rendering-query-suggestion-result-previews). ```html
``` #### New `DynamicFacet` option: `dependsOn` _Issue number: JSUI-2643_ The [`DynamicFacet`](https://coveo.github.io/search-ui/components/dynamicfacet.html) and [`DynamicFacetRange`](https://coveo.github.io/search-ui/components/dynamicfacetrange.html) components now have a [`dependsOn`](https://coveo.github.io/search-ui/components/dynamicfacet.html#options.dependson) option allowing you to display a "dependent" facet only when a value is selected in its specified "parent". See [Use dynamic facets](https://docs.coveo.com/en/2917/). ```html
``` #### Did you mean localized string customization _Issue number: JSUI-2679_ You can now specify where the query appears in custom localized text for the [`DidYouMean`](https://coveo.github.io/search-ui/components/didyoumean.html) component. See [Change the language of your search interface](https://docs.coveo.com/en/421/). ```html ``` ### Other changes |=== | Issue number | Enhancement | JSUI-2645 | [[`Tab`](https://coveo.github.io/search-ui/components/tab.html)] Allow responsive behavior when initializing the component while it's hidden. | JSUI-2689 | [[`Facet`](https://coveo.github.io/search-ui/components/facet.html)] Use lowercase values for the [`sortCriteria`](https://coveo.github.io/search-ui/components/facet.html#options.sortcriteria) option. | JSUI-2701 | [[`ICommerceRequest`](https://coveo.github.io/search-ui/interfaces/icommercerequest.html)] Support the [`filter`](https://coveo.github.io/search-ui/interfaces/icommercerequest.html#filter) and [`operation`](https://coveo.github.io/search-ui/interfaces/icommercerequest.html#operation) properties. |=== |=== | Issue number | Case | Maintenance case | JSUI-2636 | 00055912 | Fixed several in-product external documentation links. | JSUI-2644 | 00056043 | [[`FacetSlider`](https://coveo.github.io/search-ui/components/facetslider.html)] Fixed issue where the component would sometimes disappear when selecting values in other facets. | JSUI-2728 | 00057466 | [[`CategoryFacet`](https://coveo.github.io/search-ui/components/categoryfacet.html)] Fixed issue where component was showing even when there were no values to display. | JSUI-2748 | 00057676 | [[`FieldSuggestions`](https://coveo.github.io/search-ui/components/fieldsuggestions.html)] Fixed issue where clicking a field suggestion would clear the search box and trigger an empty query rather than triggering the expected query. |=== |=== | Issue number | Bug fix | JSUI-2661 | [[`Omnibox`](https://coveo.github.io/search-ui/components/omnibox.html)] Fixed issue where the currently focused query suggestion wasn't cleared when entering a new query. | JSUI-2662 | Fixed issue where the keyboard Enter key couldn't be used to select a new tab when jQuery was loaded in a page. | JSUI-2682 | Fixed issue where the search button had to be clicked twice to execute a query when multiple search boxes were initialized in the search interface. | JSUI-2721 / JSUI-2737 | Refactored the usage analytics data logged by the `DynamicFacet` and `DynamicFacetRange` components. | JSUI-2730 | [[`DynamicFacetRange`](https://coveo.github.io/search-ui/components/dynamicfacetrange.html)] Fixed issue where Firefox was unable to parse string date ranges. |=== [#2-7219] ## October 2019 release (v2.7219) The October 2019 package was initially released as v2.7219.9. **CDN links for JavaScript Search Framework v2.7219.22** - [GitHub release](https://github.com/coveo/search-ui/releases/tag/v2.7219.22) - npm: `npm install coveo-search-ui@2.7219.22` - CDN resources: - JavaScript (lazy, minified): `https://static.cloud.coveo.com/searchui/v2.7219.22/js/CoveoJsSearch.Lazy.min.js` - Stylesheet (minified): `https://static.cloud.coveo.com/searchui/v2.7219.22/css/CoveoFullSearch.min.css` - Templates: `https://static.cloud.coveo.com/searchui/v2.7219.22/js/templates/templates.js` ### Release highlights #### Invert `Omnibox` suggestion highlighting _Issue number: JSUI-2325_ According to recent UX research, the leading practice when it comes to designing autocomplete widgets is to highlight differences rather than the original text entered by the end user. Doing so helps the end user focus on what would end up being added to their query if they select a given suggestion. The framework now applies this principle when [providing search box suggestions](https://docs.coveo.com/en/340/). **Before:** **Now:** > **Important** > > This change may cause styling issues in solutions that have customized the way Omnibox suggestions are being highlighted. #### Clear session information and disable analytics _Issue number: JSUI-2518_ To make it easier for developers to implement GDPR-compliant consent/withdrawal mechanisms, three new top-level functions are now available: * [`clearLocalData`](https://coveo.github.io/search-ui/globals.html#clearlocaldata) deletes all session information stored in the browser by the framework for [Coveo Analytics](https://docs.coveo.com/en/182/) purposes (for example, [visitor ID](https://docs.coveo.com/en/273/) cookie, actions history, etc.). * [`disableAnalytics`](https://coveo.github.io/search-ui/globals.html#disableanalytics) calls `clearLocalData`, and then deactivates usage analytics in a search interface. * [`enableAnalytics`](https://coveo.github.io/search-ui/globals.html#enableanalytics) re-activates usage analytics in a search interface. See also [Disable Coveo UA in a search interface?](https://docs.coveo.com/en/2795#disable-coveo-ua-in-a-search-interface). #### New pilot component: `DynamicFacetRange` pass:a[Pilot Feature] _Issue numbers: JSUI-2586, JSUI-2633, JSUI-2638_ The new [`DynamicFacetRange`](https://coveo.github.io/search-ui/components/dynamicfacetrange.html) component is now available as a pilot feature, allowing you to further leverage the [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) [Dynamic Navigation Experience (DNE)](https://docs.coveo.com/en/2907/) feature in your search interfaces. See: * [Use dynamic facets](https://docs.coveo.com/en/2917/) * [Use dynamic facets](https://docs.coveo.com/en/2917/) ```html