6.6.0 (2020-06-15)
6.5.0 (2020-05-18)
- connectQueryRules: fix crash when using connectQueryRules with multiple indexes (#2903) (c66d612)
- core: fix maximum call stack size exceeded (#2926) (7e883df)
6.4.0 (2020-03-18)
6.3.0 (2020-01-30)
6.2.0 (2020-01-20)
- deps: update dependency algoliasearch to v3.35.1 (#2802) (cfb91f0)
- widgets: rename
ExperimentalConfigureRelatedItems
compon… (#2891) (b910df2)
- insights: add getInsightsAnonymousUserToken helper (#2887) (b5fe4f7)
- widgets: introduce
ConfigureRelatedItems
as experimental (#2880) (923cd43)
6.1.0 (2019-12-17)
- connectNumericMenu: support numeric refinement 0 (#2882) (30bd9fd)
- deps: update dependency next to v9.1.1 (9d49d33)
- helper: rely on stable version of algoliasearch-helper (#2871) (e3531a1)
- insights: show an error when 'clickAnalytics: true' is missing. (#2877) (621656a)
- voice: add additionalQueryParameters (#2366) (3a45b2c)
6.0.0 (2019-10-28)
6.0.0-beta.2 (2019-10-25)
6.0.0-beta.1 (2019-10-18)
- connectToggleRefinement: cast currentRefinement to boolean (#2701) (db934fd)
- deps: update dependency antd to v3.19.3 (#2530) (73636c5)
- deps: update dependency antd to v3.19.4 (#2559) (c3e8267)
- deps: update dependency antd to v3.19.5 (#2560) (72efd31)
- deps: update dependency antd to v3.19.6 (#2564) (654f986)
- deps: update dependency antd to v3.19.7 (#2573) (7e963ad)
- deps: update dependency antd to v3.19.8 (#2584) (34dd9b2)
- deps: update dependency antd to v3.20.0 (#2611) (b976c67)
- deps: update dependency antd to v3.20.1 (#2635) (792ad9c)
- deps: update dependency antd to v3.20.2 (#2655) (301c2d8)
- deps: update dependency antd to v3.20.3 (#2658) (d078e70)
- deps: update dependency antd to v3.20.5 (#2686) (42ef821)
- deps: update dependency antd to v3.20.6 (#2711) (927fbfe)
- deps: update dependency antd to v3.20.7 (#2712) (1830952)
- deps: update dependency antd to v3.21.1 (#2736) (39a51a6)
- deps: update dependency antd to v3.21.2 (#2738) (a7a998a)
- deps: update dependency antd to v3.21.4 (#2747) (60012be)
- deps: update dependency antd to v3.22.0 (#2758) (9cda468)
- deps: update dependency antd to v3.22.2 (#2791) (ff1f5d9)
- deps: update dependency antd to v3.23.2 (#2814) (a190410)
- deps: update dependency lodash to v4.17.13 (c4974cf)
- deps: update dependency lodash to v4.17.14 (#2647) (a2d2dd5)
- deps: update dependency lodash to v4.17.15 (#2684) (354143f)
- deps: update dependency next to v9 (#2638) (d22f61d)
- deps: update dependency next to v9.0.1 (#2652) (2c2dab9)
- deps: update dependency next to v9.0.2 (#2662) (6fa4c5e)
- deps: update dependency next to v9.0.3 (#2724) (f51b04b)
- deps: update dependency next to v9.0.4 (#2767) (9af9180)
- deps: update dependency next to v9.0.5 (#2789) (0a75f41)
- deps: update dependency qs to v6.8.0 (#2757) (8bffb87)
- deps: update dependency react-compound-slider to v2.1.0 (#2610) (3389ee5)
- deps: update dependency react-compound-slider to v2.2.0 (#2649) (7b81af1)
- deps: update dependency react-native-vector-icons to v6.5.0 (#2520) (5f7f5b6)
- deps: update dependency react-native-vector-icons to v6.6.0 (#2599) (b6bb199)
- deps: update dependency react-router-dom to v5.0.1 (#2506) (d762230)
- highlight: switch to index as key (#2691) (17e75d1), closes #2688
- voiceSearch: fix incorrect status on stop (#2535) (824dc22)
- release: 6.0.0-beta.1 (#2861) (cb56ca0), closes #2023 #2178 #2178 #2179 #2180 #2181 #2185 #2192 #2189 #2190 #2179 #2178 #2180 #2181 #2185 #2192 #2190 #2203 #2432 #2444 #2357 #2454 #2455 #2459 #2458 #2460 #2442 #2446 #2434 #2467 #2466 #2288 #2290 #2289 #2305 #2338 #2461 #2442 #2307 #2314 #2304 #2379 #2552 #2555 #2536 #2537 #2339 #2349 #2570 #2462 #2600 #2468 #2626 #2621 #2627 #2644 #2626 #2645 #2339 #2643 #2467 #2690 #2687 #2722 #2568 #2726 #2379 #2289 #2290 #2304 #2307 #2314 #2288 #2305 #2701 #2568 #2357 #2552 #2530 #2559 #2560 #2564 #2573 #2584 #2611 #2635 #2655 #2658 #2686 #2711 #2712 #2736 #2738 #2747 #2758 #2647 #2684 #2638 #2652 #2662 #2724 #2767 #2757 #2610 #2649 #2520 #2599 #2506 #2467 #2626 #2690 #2688 #2626 #2726 #2535 #2461 #2434 #2687 #2338 #2179 #2180 #2181 #2185 #2192 #2189 #2190 #2179 #2180 #2181 #2185 #2192 #2190 #2536 #2537 #2834 #2845 #2842 #2852 #2853
-
release: translation will render default value if passed undefined as value
-
chore(lodash): remove imports
-
fix(translation): allow undefined value to be passed on purpose
-
release: no longer do we allow paths like
attribute[5].something
, or other indexed forms, only.
is allowed as special key.
All existing tests still pass, and we never documented you could use lodash.get
patterns other than .
.
- feat(get): accept array & bracked-separated string
moved to utils at the same time
-
fix typo
-
feedback: test for undefined behaviour
-
chore(size): update expectation
this will go down afterwards, but for now there's some more duplication
6.0.0-beta.0 (2019-08-21)
- react 17 compat: upgrade RangeInput lifecycle (#2289) (110b1af)
- react 17 compat: upgrade RangeSlider lifecycle (#2290) (69a7f53)
- connectToggleRefinement: cast currentRefinement to boolean (#2701) (db934fd)
- core: searchState can be non-Object object (#2722) (dea493c), closes #2568
- createConnector: new React life cycles (#2357) (fc10640)
- createInstantSearchManager: do not trigger search on index update (#2552) (e209362)
- geo: check for undefined in isEqual (#2643) (a544231), closes #2467
- geo: remove lifecycle compat (#2644) (2b2b898), closes #2626
- highlight: switch to index as key (#2690) (51de682), closes #2688
- peerDependencies: update React (#2626) (6ccad49)
- ssr: avoid duplicate serializing (#2726) (c768b1a)
- voiceSearch: fix incorrect status on stop (#2535) (824dc22)
- autocomplete: add queryID & position to provided hits (#2687) (e453dab)
- client: remove algoliaClient, appId & apiKey (#2338) (b84a0b5) (use searchClient exclusively now)
- context: migrate to new React context (#2178) (0a1abea), closes #2179 #2180 #2181 #2185 #2192 #2189 #2190 #2179 #2180 #2181 #2185 #2192 #2190
- ssr: update the SSR API (#2555) (925bdb8), closes #2536 #2537
- searchClient: argument is the only option now.
Previously there were three options to pass a search client: searchClient, appId & apiKey, algoliaClient. The latter two have been removed, and now only searchClient
is accepted. This searchClient is an instance of the algoliasearch
module:
import algoliasearch from 'algoliasearch/lite';
const searchClient = algoliasearch(
'myAppId',
'myApiKey',
{ _useRequestCache: true }
);
// ...
<InstantSearch searchClient={searchClient} />
If you were relying on duplicate requests not being fired when using appId & apiKey before, you need to enable the _useRequestCache
option now.
- SSR: imports have changed
In the server, you now directly import findResultsState
, which now requires a searchClient
in the second argument.
In the App, you now use a regular InstantSearch
component.
- Index & InstantSearch: Remove
root
DOM element
These elements now are pure containers for their children, and don't add a div
to the DOM anymore. If you were relying on those for styling, wrap the InstantSearch
and Index
element with a div
with an appropriate class.
- Index & InstantSearch: Remove support for
root
prop
Since these two arguments now no longer wrap their children in an element, they no longer accept a root
prop.
- Highlight: some paths will no longer be accepted
We only accept paths separated with a dot or bracket now, like before. It's possible that a different type of path worked undocumented, but no longer does.
- algoliasearch-helper: updating to the next major version
This library is mostly internal, but it has had a major refactor (including removing lodash). This has no impact, unless you are dealing with it using createConnector
. See the migration guide for the v3 of algoliasearch-helper for more information.
5.7.0 (2019-06-04)
- highlight: allow array as "attribute" (#2474) (9dc829a), closes #2461
- indexUtils: allow index with dots in it (#2350) (f91906f)
5.6.0 (2019-05-15)
5.5.0 (2019-04-23)
- DOMMaps: expose withGoogleMaps HOC [PART-1] (#2000) (2ae1dea)
- queryRules: add Query Rules features (#2286) (3ae9c01)
- insights: add insights features (#2215) (961e7a7)
5.4.0 (2019-02-05)
5.4.0-beta.1 (2019-01-10)
- deps: sync algoliasearch version (#1879) (40f9c26)
- maps: use stable version for peer deps (#1887) (9055167)
5.4.0-beta.0 (2019-01-08)
5.3.2 (2018-10-30)
5.3.1 (2018-09-26)
- connector: ensure canRefine is computed on the transformed items (#1568) (c95384f)
- toggle: ensure facet is present (#1613) (e914ff6)
5.3.0 (2018-09-24)
- SSR: bind getSearchParmaters to the component instance (f34cb3d)
- GoogleMapsLoader: pick google maps version (#1540) (b14efcf)
5.2.3 (2018-08-16)
- Allow object as type for Root (closes #1446) (#1461) (7c2317b)
- List: render children list only when required (#1472) (9eb2cbb), closes #1459
5.2.2 (2018-07-16)
Publish the previous version on stable
.
5.2.1 (2018-07-16)
5.2.0 (2018-07-04)
5.2.0-beta.2 (2018-06-19)
- export highlight tags from DOM / native (#1342) (28a699e)
- createInstantSearch: enable _useRequestCache (#1346) (f772600)
- dom: export create class name (#1348) (9017468)
5.2.0-beta.1 (2018-06-04)
5.2.0-beta.0 (2018-06-04)
This new version introduce a complete revamp of the package structure, but it should be completely transparent for the users.
If you have any troubles with this version please open a issue on Github, thanks!
5.1.0 (2018-05-28)
- connectInfiniteHits: always set a value for previous page (#1195) (4c218d5)
- indexUtils: avoid throw an error on cleanUp multi indices (#1265) (12f5ace)
5.0.3 (2018-04-03)
5.0.2 (2018-04-03)
5.0.1 (2018-03-12)
5.0.0 (2018-03-06)
This new version introduce a complete revamp of the naming and the HTML output of most widgets. The goal of this release is to provide improved semantics to our users.
This release also introduces a new CSS naming convention which will be reused across all InstantSearch libraries. This will enable the possibility to develop cross-libraries CSS themes easily.
You can find all the informations for the migration in our documentation.
4.5.2 (2018-03-06)
- connectRange: update default refinement propTypes (#978) (c065fb1)
- IndexUtils: avoid throw an error when cleanUp multi index (#1019) (865a3c3)
- SearchBox: avoid to bind click on reset button (#979) (ea3063a)
5.0.0-beta.1 (2018-02-06)
Apply features & bug fixes from v4.5.0 & v4.5.1 on the v5.
See their CHANGELOG for more details.
4.5.1 (2018-02-06)
4.5.0 (2018-02-06)
- connectRange: use the same behaviour for currentRefinement in getMetadata (#923) (08917b6)
- connectToggle: use currentRefinement in metadata instead of the label (#909) (89cae2b)
- StarRatings: always show the stars below (#929) (22bf93a)
5.0.0-beta.0 (2018-01-30)
This new version introduce a complete revamp of the naming and the HTML output of most widgets. The goal of this release is to provide improved semantics to our users.
This release also introduces a new CSS naming convention which will be reused across all InstantSearch libraries. This will enable the possibility to develop cross-libraries CSS themes easily.
You can find all the informations for the migration in our documentation.
4.4.2 (2018-01-24)
- currentRefinements: give access to id and index from transformItems for deduplication (#830) (316b8f5)
- pass maxFacetHits to SFFV (#863) (de23a46)
4.4.1 (2018-01-09)
- SearchBox: clear SearchBox without search as you type (#802) (c49b2b6)
- connectRange: check if facet exist before access (#797) (6520760)
- stories: avoid to use linear-background it breaks Argos every time (#804) (0beded7)
- stories: limit hits per page on Index (#806) (6eb14d3)
4.4.0 (2018-01-03)
- createInstantSearch: remove the client from the Snapshot (#749) (700d8f4)
- refresh cache memory leak example (#784) (cf228ac)
- stories: rename InstantSearch to
<InstantSearch>
(#789) (05efda5)
4.3.0 (2017-12-20)
- SearchBox: provide a loading indicator (#544) (189659e)
- Highlight: support array of strings (#715) (8e93c6a)
4.3.0-beta.0 (2017-11-27)
- babelrc: add a key for each env development, production, es (#547) (fa9528d)
- localizecount: allow localized string for count in MenuSelect (#657) (67ebd34)
- react-router-example: Properly update search query when using browser navigation (#604) (9ee6600)
4.2.0 (2017-11-02)
- connectRange: handle boundaries on first call (9f14dc0)
- connectRange: use refine instead of cleanUp in metadata (#526) (1861235)
- hierarchicaMenu: allow sorting and using limit (fe178ed), closes #92
- InfiniteHits: add disabled style to the LoadMore button (#477) (faba1ad)
- Range: handle float, allow reset and respect boundaries (75969b8)
- RangeInput: fix compatibility with React 16 & Panel (3f218db)
- searchbox: add maxlength 512 (#542) (5bd4033), closes #510
- MenuSelect: add component and connector (cc6e0d7)
4.1.3 (2017-10-09)
4.1.2 (2017-09-26)
4.1.1 (2017-09-13)
- MultiIndex: reset page to 1 when share widgets refine (#312) (c85a7bf)
- MultiIndex: Trigger new search when
<Index>
props are updated (#318) (bb11965)
4.1.0 (2017-08-28)
- Highlighting: revert breaking change (#245) (045ee06)
- List: adds support for any type of renderable element (#266) (d848bb6)
- Pagination: fixed the offset (3c0fff2)
- PoweredBy: aria-* tags are not camelcased (#261) (dc4a5bb)
4.1.0-beta.5 (2017-08-08)
- SSR: clean SP before rendering agan (#238) (e765886)
- Breadcrumb: add a new widget & connector (#228) (7f8f3ae)
4.1.0-beta.4 (2017-08-03)
- deps: Update dependency lint-staged to version ^4.0.0 (#201) (6867a1b)
- nextjs/ssr: parse
params.asPath
(#189) (ae17da0) - PoweredBy: add a label to the Algolia logo (#216) (cd235bd)
- react: remove typo around
"" 2
(#220) (f73eb04) - ScrollTo: scroll to only if change triggered by the widget observed (#202) (2d76022)
- theme: format the count of items appearing in a refinement (#217) (2225c24)
4.1.0-beta.3 (2017-07-25)
- error: reset error when receiving results of a query (not when sending it) (#179) (bb12c29)
- highlight: wrong parsing between client and server (#183) (2daae70)
- poweredBy: SSR compatibility (#181) (ec0fa8a)
- highlight: We remove the timestamp present in our highlight preTag and postTag. If you were using regex to parse the highlighting results then you'll need to adapt it as now it's only "ais-highlight".
4.1.0-beta.2 (2017-07-20)
- error: reset error if next query is successful (#175) (ff50a07)
4.1.0-beta.1 (2017-07-12)
4.1.0-beta.0 (2017-07-10)
- argos: address flakyness (#152) (84ef8f1)
- server-side rendering: Add API features for server-side rendering (86b14d1)
4.0.7 (2017-07-06)
- results: revert commit that ensure hits are returned only if right indices (#149) (df9aa25)
4.0.6 (2017-06-29)
- store: delay call to listener to prevent infinite loops (#143) (0945958)
4.0.5 (2017-06-26)
- MultiIndex: ensure getResults return only hits matching index in the context (#136) (124ffe6)
- MultiIndex: handle if namespace isn't in search state (#139) (1aab324)
- storybook: process CSS through autoprefixer (#138) (62cf512)
4.0.4 (2017-06-19)
- MultiIndex: handle switch between mono and multi index (#132) (e161921)
4.0.3 (2017-06-14)
- SFFV: search status we're not inside search state (#125) (5f3e670)
4.0.2 (2017-05-30)
4.0.1 (2017-05-17)
- state: nested attributes for faceting were not handled (11bd122)
4.0.0 (2017-05-15)
You can find all the details of the release and the migration guide from v3 to v4 here: https://discourse.algolia.com/t/react-instantsearch-v4/1329.
4.0.0-beta.6 (2017-05-04)
4.0.0-beta.5 (2017-05-02)
- connectAutoComplete: allow usage with hits from a single index (#75) (8b3b358), closes #74
- InstantSearch: update algoliaClient when it change (#70) (9e97dbd)
4.0.0-beta.4 (2017-04-25)
- MultIndex: no need to nest hits, if those are from main index. (#56) (86e0bd7)
- MultiIndex: remove the need for virtual hits when using connectAutoComplete (#45) (7549019)
4.0.0-beta.3 (2017-04-21)
- replace usage of Object.values (#47) (4c79e3e)
4.0.0-beta.2 (2017-04-18)
- InstantSearch: dont fire request/onsearchStateChange when unmounting (#26) (9a1487a)
- MultiIndex: derived helper were using main index specifics params (#36) (991fea6)
- MultiIndex: revert breaking change if no multiple index (#32) (44f7de0)
- util: remove empty key was removing non object key (#29) (9f795c7)
- Highlighter: allow rendering to custom tag (#11) (52a1212)
- SearchBox: add default width and height to buttons. (#34) (bcabf9b)
4.0.0-beta.1 (2017-04-03)
4.0.0-beta.0 (2017-03-28)
- multi-index: ease multi index and auto complete (09a4e1d)
- multi-index: * Reseting the pagination should be done at each connector level inside the "refine" function when returning the search state.
- The current page now appears inside the search state when a widget is used
- Query values are part of the items prop of the connectCurrentRefinements connector. Behaviour is unchanged, query will be filtered if clearsQuery prop is false.
- Add the index name to all the current refinements items. (not used by our widgets yet, but available if needed).
3.3.0 (2017-03-22)
- example: Fix access to props in react-router example (1417d6f)
3.2.2-beta0 (2017-03-20)
- InfiniteHits: provide translation key for
Load More
(#2048) (6130bf2) - SearchBox: better mobile behaviour by default (ea968b3)
- example: link to instantsearch/react (#2007) (5e674cd)
- recipes: react router v4 (de673bf)
- SearchBox: add role=search to the form (#2046) (d1e90f3)
- SearchBox: allow custom reset and submit components (#1991) (cd303d7)
- searchBox: add event handling (e267ab6), closes #2017
3.2.1 (2017-02-22)
3.2.0 (2017-02-15)
- Configure: use props a unique source of truth (#1967) (9d53d86)
- SearchBox: Safari can only have with xlinkHref (#1970) (7ab00bd), closes #1968
- MultiRange: add an all range (#1959) (a3dc950)
- MultiRange: - MultiRange/connectMultiRange: will add a "All" range to allow unselection of range without the usage of CurrentRefinements. This range can be either filtered or ramove via CSS if not needed. The label can be changed by using our translations system.
3.1.0 (2017-02-08)
- Configure: call onSearchStateChange when props are updated (#1953) (7e151db), closes #1950
- Configure: trigger onSearchStateChange with the right data (11e5af8)
- createConnector: updates with latest props on state change (#1951) (cd3a82c)
- ClearAll: add withQuery to also clear the search query (#1958) (c0e695b)
3.0.0 (2017-02-06)
- *List: disable shortcuts in *List SearchBoxes (#1921) (51a76ae), closes #1920
- Configure: add configure parameters in search state (#1935) (0971330), closes #1863
- Hits: limit the hitComponent to be only a function (#1912) (b3c9578)
- Pagination: fix and indicate when pagination is disabled (5f20199), closes #1938
- StarRating: usage with filters (#1933) (667e9d5)
- withSearchBox: keep displaying searchBox when no items found (#1930) (30de4cd)
- MultiRange: indicate if a range has no refinements (#1926) (80b6450)
- panel: add a panel widget (#1889) (594e1a1)
- starRating: indicate when any refinement has no effect (c547ae5)
- widgets: default design for disabled states (#1929) (31f010b)
The migration to V3.0.0 should be safe and you should do it.
There are two breaking changes that you will need to handle in your codebase:
- Anytime you are using a connector, when there are no more items in it or no more hits, we will still call your Component. Thus you will have to handle cases like dealing with empty arrays and decide if you want to unmount or hide the widget.
- Anytime you are using a widget, when there are no more items in it or no more hits, we will still display the widget. You can then decide to hide it with CSS.
2.2.5 (2017-01-23)
- currentRefinements: make removing a toggle refinement work (8995e64)
2.2.4 (2017-01-20)
- publish: publish react-instantsearch/dist instead of root (#1884) (64414e0)
2.2.3 (2017-01-20)
- SFFV: translations for searchbox were not applied (#1879) (e9b4ee1)
2.2.2 (2017-01-18)
- react-router: search was triggered two many times (#1840) (25e9db5)
- SFFV: empty query triggered a new SFFV (#1875) (6c8259a)
2.2.1 (2017-01-18)
2.2.0 (2017-01-17)
- clear: clearing wasn't working with too+ same type facets selected (#1820) (a9a2364)
- connectSearchBox: handle
defaultRefinement
(#1829) (7a730e2), closes #1826 - Instantsearch: Update all props on InstantSearch (#1828) (2ed9b49)
- InstantSearch: add specific
react-instantsearch ${version}
agent (#1844) (a1113bc) - SFFV: correct propTypes and add missing default values (#1845) (a4c1b31)
- test: add missing Snippet and Highliter snapshot (4accce5)
- widgets: replace setImmediate use with Promise use when update is needed (#1811) (17e2497)
- Menu, connectMenu: add search for facet values (#1822) (a6c513e)
- snippet: add a snippet widget to be able to highlight snippet results (#1797) (2aecc40)
- widgets: add transformItems to be able to sort and filter (#1809) (ba539f0)
2.1.0 (2017-01-04)
- createInstantSearchManager: drop outdated response (#1765) (76c5312)
- highlight: highlight should work even if the attribute is missing (#1791) (5b79b15), closes #1790
- InfiniteHits: better classname to loadmore btn (#1789) (ad2ded3)
- starRatings: click on selected range doesn't unselect it (#1766) (beacc72)
- website: broken demo links (#1802) (0abe2f5)
- widgets: add 300px width for the default SearchBox (#1803) (bf5d791)
- InfiniteHits: Add class to load more button (#1787) (416febd)
- RefinementList, connectRefinementList: allow to search for facet values (e086a81)
2.0.1 (2016-12-15)
- connectRange: when unfinite numbers are passed throw (75bec0d)
- react-native: use View as a container for react-native (#1729) (5b76f75), closes #1730
- SearchBox: autocomplete was not disabled by default (#1742) (bc76618)
- starRating: call createURL with the right interface (min/max) (#1747) (f9ab9b6)
2.0.0 (2016-12-08)
First release of react-instantsearch