changelogs.md


algolia/instantsearch.js

Repository  -  API  -  Source

2.10.4

October 30, 2018

Bug Fixes

  • getRefinements: provide attributeName for type: query (6a58b99), closes #3205

2.10.3

October 29, 2018

Bug Fixes

  • deps: unpin production dependencies (257ecb7)
  • InstantSearch: avoid useless search on addWidgets (#3178) (961626d)
  • numericselector: default value can be undefined (#3139) (39d22f5)

Features

2.10.2

September 10, 2018

Bug Fixes

2.10.1

August 17, 2018

Bug Fixes

  • connectBreadcrumb: ensure that data is an array (#3067) (759f709)

2.10.0

August 8, 2018

Bug Fixes

  • release: provide interactive TTY for npm publish (#3053) (ede9460)

Features

2.9.0

July 18, 2018

Features

  • infiniteHits: add showmoreButton to cssClasses (#3026) (8287de0)

2.8.1

July 3, 2018

Bug Fixes

  • connectHitsPerPage: default value should not break the API (#3006) (6635304), closes #2732
  • connectRefinementList: throw error with usage (#2962) (f60222d)
  • sourcemap: provide good url (#3011) (9632ade)
  • warning: make sure suggested import is possible (#3014) (eb27152)

2.8.0

May 30, 2018

Features

2.7.6

May 29, 2018

Bug Fixes

2.7.5

May 28, 2018

Bug Fixes

2.7.4

May 3, 2018

Bug Fixes

  • searchFunction: Fix unresolved returned Promise (#2913) (5286c7c)

2.7.3

April 26, 2018

Bug Fixes

  • index.es6: avoid use of Object.assign for IE (#2908) (228b02e)

2.7.2

April 18, 2018

Bug Fixes

  • routing: should apply stateMapping when doing initial write (#2892) (7f62e6dc)
  • ie: do not rely on Object.assign (#2885) (88497e56)

2.7.1

April 11, 2018

Bug Fixes

  • history: provide location and use named parameters (#2877) (761ffa4)

2.7.0

April 9, 2018

Bug Fixes

Features

  • connetConfigure: add a connector to create a connector widget (8fdf752)
  • routing: provide a mechanism to synchronize the search (#2829) (75b2ca3), closes #2849 #2849
  • size: add sideEffects false to package.json (#2861) (f5d1ab1), closes #2859

2.6.3

March 30, 2018

Bug Fixes

2.6.2

March 29, 2018

Bug Fixes

  • connectGeoSearch: correctly dispose the connector (#2845) (a4eafd2)
  • GeoSearch: correctly unmount the widget (#2846) (f31ef3c)

2.6.1

March 28, 2018

Bug Fixes

  • connectBreadcrumb: allow unmounting (#2815) (c6c353a)
  • connectBreadcrumb: update typo in property type items (#2782) (79ebd66)
  • docgen: pass the relatedTypes to the struct mixin in connectors layout (#2780) (f7f8b05)
  • GeoSearch: update typo in property type cssClasses (#2781) (419c2ab)
  • main: correctly import EventEmitter (#2814) (8fa3649), closes #2730

2.6.0

March 6, 2018

Bug Fixes

Features

2.5.2

February 26, 2018

Bug Fixes

2.5.1

February 13, 2018

Bug Fixes

  • perf: only compute snappoints when step is provided (#2699) (ce9ca19), closes #2662

2.5.0

February 6, 2018

Bug Fixes

Features

2.4.1

January 4, 2018

Bug Fixes

  • core: correct escape highlight for arrays and nested objects (#2646) (ed0ee73)

2.4.0

January 2, 2018

Bug Fixes

Features

2.3.3

December 11, 2017

Bug Fixes

2.3.2

December 6, 2017

Bug Fixes

  • React reference: Breadcrumb & RangeInput components (#2618) (7f32161)

2.3.1

December 4, 2017

Bug Fixes

  • connectors: check facet is refined before removing it. hierarchicalMenu / menu (67ae035)
  • poweredBy: minify slightly and make into correct URL (#2615) (2b7d747), closes #2613

2.3.0

November 30, 2017

Bug Fixes

  • InstantSearch.dispose: dont call getConfiguration of URLSync widget (#2604) (3234b12)
  • connectors: prefer wrappers over bind (#2575) (f8e0e00)
  • connectHierarchicalMenu: do not return if facet not set (#2521) (26e99fb)

Features

  • core: provide information about stalled search to widgets (#2569) (d104be1)
  • core: InstantSearch hot remove/add widgets (#2384) (cfc1710)
  • refinementList: add escapeFacetHits parameter (#2507) (9b1b7ee)
  • breadcrumb: Add the breadcrumb widget (#2451) (11d78f0), closes #2299
  • connectRange: round the range based on precision (#2498) (d4df45d)
  • rangeInput: add rangeInput widget (#2440) (7916d16)

2.2.5

November 20, 2017

Bug Fixes

2.2.4

November 13, 2017

Bug Fixes

  • numericSelector: make default value possible (#2565) (5664f98)

2.2.3

November 7, 2017

Bug Fixes

  • connectRefinementList: add label to searched items (#2553) (ec810fa)
  • refinementList: fix facet exhaustivity check (#2554) (0f1bf08), closes #2552
  • theme: searchbar should have normal size input (#2545) (50d99f0)

2.2.2

October 30, 2017

Bug Fixes

  • connectRefinementList: set default value for limit (#2517) (32918c9)
  • MenuSelect: switch from react to preact-compat (#2513) (06aa626)
  • range-slider: add option collapsible (#2502) (e78399d), closes #2501
  • url-sync: make URLSync consistent even if search is tampered (392927e), closes #2523

2.2.1

October 16, 2017

Bug Fixes

  • connectRangeSlider: only clear the refinement on the current attribute (#2459) (7cebf58)
  • menuSelect: select in userCssClasses (#2455) (0eb3dc8)
  • menuSelect: use preact instead of React (#2460) (35ccae8)
  • test: correctly reset the wired dependency (#2461) (1f7f4ed)

2.2.0

October 3, 2017

Bug Fixes

Features

2.2.0

Features

  • analytics: Push pagination (#2337) (94ce086)
  • hitsPerPageSelector: default hits per page setting (4efd43e)
  • hitsPerPageSelector: default hits per page setting (355f080)

2.1.6

September 26, 2017

Bug Fixes

  • deps: update dependency documentation to v^5.0.0 (#2355) (489647a)
  • searchbox: use initial input value if provided in the dom (#2342) (180902a), closes #2289

2.1.5

September 25, 2017

Bug Fixes

  • deps: update dependency algolia-frontend-components to v^0.0.33 (#2341) (16994d8)
  • price-ranges: update call to refine (#2377) (34915d7)
  • slider: Fix range slider pips and value 0 (#2350) (fa0dc09), closes #2343

2.1.4

September 14, 2017

Bug Fixes

  • release-script: Add the generation of changelog for the release (#2333) (9a2f70b)
  • slider: edge case when min > max (#2336) (8830ab0)
  • slider: Fix range slider dev env (#2320) (e78de70)
  • slider: use algolia fork of rheostat (#2335) (9eae009)

2.1.3

September 5, 2017

Bug Fixes

  • Pagination: add autohideContainerHOC to (#2296) (545f076)
  • sffv: no error when not providing noResults and no results (#2310) (cc02b71), closes #2087

2.1.2

August 24, 2017

Bug Fixes

2.1.1

August 23, 2017

Bug Fixes

2.1.0

August 21, 2017

Bug Fixes

2.0.2

July 24, 2017

Bug Fixes

  • doc: Cosmetic change (48bb128)
  • search-box: fix magnifier and reset customization (4adfade)
  • theme: enforce box-sizing: border-box (e26e50d)
  • url-sync: remove is_v from url (f19a1d5), closes #2233

2.0.1

July 12, 2017

2.0.0

July 1, 2017

Bug Fixes

  • argos-ci: blur the active element (66d0551)
  • connectNumericRefinementList: reset page on refine (22ec08d)
  • doc.build: watch & rebuild .pug (16d8542)
  • doc.build/autoprefixer: update mtime for onlyChanged plugin (3b83e58)
  • escapeHits: dont apply configuration if not requested (c89f99d)

Features

  • searchFunction: make search function provide a better API (8fc0831)

2.0.0

Bug Fixes

  • Slider: dont call refine() when it's disabled (f1eabc9)

Features

  • hits: opt-in xss filtering for hits and infinite hits. FIX #2138 (4f67b48), closes #2138

2.0.0

Bug Fixes

  • misc: IE 11 support (072edfe)
  • misc: IE11 support without using transpiler (324f062)
  • show-more: should hide button when show more is not available (#2161) (fbca3e6), closes #2160
  • Slider: handle edge case where min === max (22a5614)
  • Slider: restore slider--handle-lower && slider--handle-upper (64d7ad2)

2.0.0

Bug Fixes

  • autoHideContainer: dont prevent render with shouldComponentUpdate (8c4b13f)
  • clearsQuery: not applied when only the query was not empty (e7976ad)
  • connectors: ensure widgetParams is at least an {} (0c0e98f)
  • connectRefinementList: currentRefinements: return an array instead of first item (a53223a), closes #2102
  • dev:docs: dont watch /docgen/rootFiles (ab1a7f5)
  • doc: add doc for isFirstRendering (cea6739)
  • docs: dont filter out p.type.type (881659a)
  • documentation.js: Support for record types (219ecd9)
  • documentationjs: add support litteral string types in type format (2a08e7d)
  • documentationjs: deeper related types (6e3121e)
  • documentationjs: find related type in TypeApplication (e0487ee)
  • documentationjs: fix 2+ depth structs (4c8b7ec)
  • documentationjs: fixed default value parameter (b62cbc7)
  • documentationjs: records display with , (8a968f2)
  • documentationjs: Updgrade to RC + fixes (e9f0361)
  • infinite-hits: Remove hitsPerPage option (#2128) (c13e377)
  • live-example: adapt regex for matching connectors (774254c)
  • pagination: fix zealous find/replace (e269d87)
  • price-ranges: fix test (fd65cb3)
  • price-ranges: New API uses ranges (a5a6916)
  • refinementList: reimplement show more on refinement list (72655ab)
  • refinementList: sffv fix thanks @julienpa (30e0e9a)
  • sffv: Fix exhaustive facets (0cadcc3)
  • sortby: Consistent across widget / connectors + migration (8e366cc)
  • widgets/price-ranges: wrong compute of templateProps (be5e063)

Features

  • connectHierarchicalMenu: remove currentRefinement (3912aaf)
  • connectHits: typo widgetOptions -> widgetParams (4420231)
  • connector: Add hierarchical menu connector (f727949)
  • connector: add infinite hits connector (cdf8675)
  • connector: add instantsearchInstance to pagination render (4fa96dc)
  • connector: add missing jsDoc descriptions (e26e8e2)
  • connector: add range-slider (1a02798)
  • connector: add tests for connectClearAll and connectHierarchicalMenu (0eb29ec)
  • connector: Adds hits and menu connectors (77083b7)
  • connector: Clear and CurrentRefinedValues (02f7d3e)
  • connector: clearAll connector (iteration 2) (90aa02e)
  • connector: clearAll jsDoc + eslint fixes (430a420)
  • connector: complete jsdoc + pass instantsearch to view (e125931)
  • connector: connectClearAll documentation (9b153aa)
  • connector: connectClearAll iteration 2 (fix) (03653f1)
  • connector: connectClearAll test (5409157)
  • connector: connectCurrentRefinedValues (iteration 2) (68408de)
  • connector: connectHierarchicalMenu (iteration 2) (589454c)
  • connector: connectHierarchicalMenu jsDoc (e166090)
  • connector: connectHits (iteration 2) (bca09af)
  • connector: connectHitsPerPageSelector (iteration 2) (26bb273)
  • connector: connectInfiniteHits (iteration 2) (410459c)
  • connector: connectNumericRefinementList (iteration 2) (bfcf860)
  • connector: connectNumericSelector (iteration 2) (1eda8a2)
  • connector: connectNumericSelector jsDoc (760fcea)
  • connector: connectRefinementList jsdoc + start document bool isFirstRendering (52d13de)
  • connector: connectStats second iteration (82b1cb3)
  • connector: connectToggle second iteration (73b0878)
  • connector: fix createURL usage to generate correct urls (fdf59d7)
  • connector: fix no param usage on custom infiniteHits (961348a)
  • connector: fix parameter consistency in connectClearAll (9ddffd8)
  • connector: Fix parameters for toggle connector (f96671c)
  • connector: hits-per-page-selector connector refactoring (dd794e0)
  • connector: jsDoc + check rendering function (86f9739)
  • connector: jsDoc connectPagination (3b284de)
  • connector: jsDoc for connectMenu (626d5f1)
  • connector: jsDoc updates (c924043)
  • connector: move clearAll as a rendering option (ce41cde)
  • connector: Numeric selector (0dc42d2)
  • connector: numericRefinementList connector (918d971)
  • connector: pagination connector (7a876f3)
  • connector: price ranges connector (d8bed96)
  • connector: provide consistent interface for searchbox renderer (17d8301)
  • connector: provide instantsearch instance at render (12a7935)
  • connector: refactor search function (618dca2)
  • connector: refinement list connector (c8fcf4e)
  • connector: remove legacy implementation of toggle (04437b0)
  • connector: remove non relevant instantsearch API from test (c5dce5c)
  • connector: remove unused parameter to searchbox connector (e639f65)
  • connector: searchbox connector (70f8e1f)
  • connector: small internal refactoring for SFFV (cb5c1fa)
  • connector: sort by selector connector (b9847cf)
  • connector: star rating connector (9996b4d)
  • connector: stats connector (680743b)
  • connector: test connectHits (89c86a5)
  • connector: test connectHitsPerPageSelector (9caab02)
  • connector: test connectInfiniteHits (e67e75e)
  • connector: test connectMenu (03c6f11)
  • connector: test connectNumericRefinementList (2f26251)
  • connector: test connectNumericSelector (182779b)
  • connector: test connectPagination (6f125b7)
  • connector: test connectPriceRanges (f5dfba7)
  • connector: test connectRangeSlider (4f6c180)
  • connector: test connectSearchBox (b4d7e1b)
  • connector: test connectSortBySelector (e8825df)
  • connector: test connectStarRating (0c16f15), closes #2002
  • connector: test connectStats (c992288)
  • connector: test connectToggle (441293d)
  • connector: toggle connector (bf9a9c0)
  • connector: update doc, move setValue to refine in SortBySelector (2486f36)
  • connector: update jsDoc descriptions (f83022a)
  • connectors: refinement-list widget (iteration2) (1c6c3a5)
  • connectors: setValue() -> refine() / currentValue -> currentRefinement (ec7806c)
  • connectors: sortBy to ['isRefined', 'count:desc'] (01219f1)
  • connectors: add currentRefinement on hierarchical-menu (154cdb5)
  • connectors: connectPagination (iteration2) (8a615f6)
  • connectors: connectPriceRanges (iteration2) (e34968e)
  • connectors: connectRangeSlider (iteration2) (6073d94)
  • connectors: connectSearchBox (iteration2) (3161c9b)
  • connectors: connectSortBySelector (iteration 2) (dec2d31)
  • connectors: connectStarRating (iteration2) (7ef7b6b)
  • connectors: connectToggle, forward initial options to render (704a455)
  • connectors: dissociate logic & view for menu widget (5a02c88)
  • connectors: expose connectors on instantsearch instance (ff799d0)
  • connectors: forward widgetParams to renderFn (54222a3)
  • connectors: jsDoc connectHitsPerPageSelector (75243b0)
  • connectors: provide currentRefinement on menu (fb7bc5e)
  • connectors: provide currentRefinement on numeric refinement list (91f7928)
  • connectors.numeric-selector: currentValue -> currentRefinement / setValue() -> refine() (998faf1)
  • connectors.price-ranges: provides currentRefiment value (39af437)
  • connectors.refinement-list: provide currentRefinement to renderFn (7e86be3)
  • connectors.star-rating: provide currentRefinement value (c08b3e4)
  • connectRefinementList: first good iteration (88fd6d5)
  • doc: re-bootstrap doc based on instantsearch-android (e4e816e)
  • docs: bootstrap v2 docs (0db6caf)
  • docs: pages structure (fe89dcf)
  • getting-started: add .zip boilerplate (7d3769c)
  • getting-started: add result example of guide (78d9017)
  • live-example: add support of connectors (e4f3158)
  • live-example: include jquery on connectors example pages (f32936f)
  • main: export all the widgets at once (4bc2d21)
  • numeric-refinement-list: facetValues -> items / toggleRefinement -> refine (eb2c993)
  • pagination: setPage() -> refine() / currentPage -> currentRefinement (f783fea)
  • range-slider: use rheostat as slider component (#2142) (910a0a0)
  • searchFunction: Update API, fix #1924 (c7beb1d), closes #1924
  • sort-by-selector: currentValue -> currentRefinement (e94c8c7)
  • Template: remove support for react element (ca2ab44)

1.11.15

June 20, 2017

Bug Fixes

  • numeric-refinement-list: reset page on refine (ee55ccb)

1.11.14

June 19, 2017

Bug Fixes

1.11.13

June 7, 2017

Bug Fixes

  • url-sync: reverting back to using change event (#2183) (07f4be0), closes #2173 #2171

1.11.12

May 30, 2017

Bug Fixes

  • sffv: when using a large limit, retain the search (#2163) (3d95d4c), closes #2156

1.11.10

May 17, 2017

1.11.9

May 17, 2017

1.11.8

May 16, 2017

Bug Fixes

  • url-sync: set firstRender to be class attribute (22dbaeb)

1.11.7

April 24, 2017

Bug Fixes

  • sffv: add class for disabled state at the form level (#2122) (029fa5f)
  • sffv: fixes typo (: was left) (26d2845)

1.11.6

April 20, 2017

Bug Fixes

  • CONTRIBUTING: remove section about beta releases (#2109) (5640131)
  • sffv: disable sffv input when few facet values FIX #2111 (1e33c10), closes #2111

1.11.5

April 12, 2017

Bug Fixes

  • url-sync: sync url on search (#2108) (7f33ffb)

1.11.4

March 29, 2017

Bug Fixes

  • autoHideContainer: dont prevent render with shouldComponentUpdate (#2076) (b520400)
  • star-rating: make max value inclusive (f5fc41c), closes #2002

1.11.3

March 22, 2017

Bug Fixes

  • Slider: display disabled slider when min === max (#2041) (511fdfd), closes #2037

1.11.2

February 28, 2017

Bug Fixes

  • searchBox: avoid unwanted cursor jumps on hashchange (#2013) (d0103db), closes #2012

1.11.1

February 14, 2017

Bug Fixes

  • infinite-hits: disable load more button when no more pages (#1973) (745ed89), closes #1971

1.11.0

February 12, 2017

Features

  • analytics-widget: add a new parameter pushInitialSearch (#1963) (d777997)
  • custom client: allows to provide a custom JS client instance (#1948) (cce4f2e)
  • InfiniteHits: add new widget (2d77e4b)

1.10.5

February 6, 2017

Bug Fixes

  • urlSync: update url only after threshold (#1917) (b0f0cf1), closes #1856

1.10.4

January 25, 2017

1.10.3

December 26, 2016

Bug Fixes

  • sffv-searchbox: update classnames to avoid conflicts (#1781) (f53e8fd)

1.10.2

December 23, 2016

Bug Fixes

  • url: clear timeout on pop (41ad9af)

1.10.1

December 23, 2016

Bug Fixes

Features

  • url: add a beta updateOnEveryKeystroke option (#1779) (63f73fe)

1.10.0

December 22, 2016

Features

  • widget: Search for facet values - refinement list (#1753) (b9e20f3)

1.9.0

December 14, 2016

Bug Fixes

  • currentRefinedValues: unescape disjunctive facet refinement names (#1574) (9ab65c4), closes #1569
  • transformData: default data is an object when not provided (#1570) (8eeeeba), closes #1538

Features

  • analytics: new analytics widget to easily plug search to any analytics service (09d8fda)
  • retry strategy: new retry strategy (afdcc3c)

1.8.16

November 16, 2016

1.8.15

November 16, 2016

Bug Fixes

  • priceRanges: avoid displaying solo ranges (#1544) (ff396f0), closes #1536
  • priceRanges: use formatNumber in defaultTemplate (#1559) (557a501), closes #1230
  • toggle: support negative numeric values for on/off (#1551) (e4d88e0), closes #1537
  • transformData: always call transformData (#1555) (49bfeca), closes #1538

1.8.14

November 3, 2016

Bug Fixes

  • slider: avoid multi touch issues (#1501) (0b8a242), closes #1186

1.8.13

October 21, 2016

Bug Fixes

  • searchbox: poweredBy Algolia logo weren't visible in firefox (39701f8)

1.8.12

October 19, 2016

Bug Fixes

  • numericRefinementList: classes on radio buttons (#1358) (#1432) (fec6495)

1.8.11

October 7, 2016

Bug Fixes

  • merge: merge only plain object from searchParameters (aab1c87)

1.8.10

October 7, 2016

Bug Fixes

  • lodash: set lodash back to 4.15.0, fixes build, unknown issue for now (ba4247e)

1.8.9

October 7, 2016

Bug Fixes

1.8.8

September 14, 2016

Bug Fixes

  • numericSelector: do not change state on init (#1280) (cf27db3), closes #1253
  • Slider: default precision to 2 (#1279) (552b9ea)

1.8.6

September 12, 2016

1.8.5

September 6, 2016

Bug Fixes

  • deps: upgrade all deps 2016-09-05 (#1261) (408d597)
  • rangeSlider: round pips numbers when step is integer (#1255) (b993033), closes #1254

1.8.4

August 29, 2016

Bug Fixes

  • bundle: switch back to React by default, create a preact build (#1228) (4845868)

1.8.3

August 29, 2016

Bug Fixes

  • numericSelector: if no currentValue found, use the first option (ef56dfa)
  • poweredBy: fixed Algolia logo version (#1223) (aab3fc3), closes #1223 #1222
  • Selector: render a controlled component (e9f6ff7)

Performance Improvements

  • filesize: use preact in production build (#1224) (5bb38f2), closes #1030

1.8.2

August 25, 2016

Bug Fixes

  • lodash: use lodash v4, reduce build size (216d1e0)

1.8.1

August 24, 2016

Bug Fixes

  • searchBox: handle BFCache browsers (#1212) (7deb9c3)
  • toggle: make autoHide check facetValue.count (#1213) (86872eb)

1.8.0

August 18, 2016

Bug Fixes

  • documentation: Change instantsearch.widgets.stats typo data.processingTimMS to data.processingTimeMS (034703e)
  • documentation: Change responsiveNavigation.js & header.html to fix #1090 (bf3a808), closes #1090
  • nouislider: fix the slider for nouislider 8.5.1 (af8f56b)

Features

  • clearAll: Add optional excludeAttributes to list protected filters (fe6d19c)

1.7.1

July 28, 2016

Bug Fixes

  • toggle: add backward compatibility for previous toggle implem (#1154) (a1973a0)

1.7.0

July 26, 2016

Bug Fixes

  • searchParameters: avoid mutating provided objects (#1148) (0ea3bef), closes #1130

Features

1.6.4

July 12, 2016

1.6.3

July 11, 2016

Bug Fixes

1.6.2

July 11, 2016

Bug Fixes

  • paginationLink: it's aria-label not ariaLabel (#1125) (70a190c)
  • pricesRange: fill the form according to the current refinement (#1126) (12ebde7), closes #1009
  • rangeSlider: handles now support stacking (#1129) (ad394d3)
  • rangeSlider: use stats min/max when only user min or max is provided (#1124) (4348463), closes #1004
  • searchBox: force cursor position to be at the end of the query (#1123) (8a27769), closes #946
  • searchBox: IE8, IE9 needs to listen for setQuery (97c166a)
  • searchBox: update helper query on every keystroke (#1127) (997c0c2), closes #1015
  • urlSync: urls should be safe by default (#1104) (db833c6), closes #982

1.6.1

June 20, 2016

Bug Fixes

  • meteorjs: lite build must point to the browser lite (#1097) (265ace3)
  • toggle: read numerical facet results stats for toggle count (#1098) (1feb539), closes #1096
  • website: footer wording (8355460)

1.6.0

June 13, 2016

Bug Fixes

  • hits: rename __position to hitIndex (d051a54)
  • refinementList/header: rename count to refinedFacetCount (89ad602)

Features

  • header: Pass count of current refined filters in header (d9e8582), closes #1013 #1041
  • hits: Add a __position attribute to data passed to items (43ce1c7), closes #903

1.5.2

June 10, 2016

Bug Fixes

  • lite: use lite algoliasearch build (js client) (219fa9f), closes #1024
  • poweredBy: Let users define their own poweredBy template (f1a96d8)

1.5.1

May 17, 2016

Bug Fixes

  • numericRefinementList: Correctly apply active class (7cca9a4), closes #1010

1.5.0

April 29, 2016

Bug Fixes

  • base href: always create absolute URLS in widgets (ae6dbf6), closes #970
  • IE11: classList do not supports .add(class, class) (ab10347), closes #989
  • lifecycle: save configuration done in widget.init (07d1fea)
  • RefinementList: use attributeNameKey when calling createURL (253ec28)
  • rootpath: remember rootpath option on 'back' button (01ecdaa)
  • searchBox: do not trigger a search when input value is the same (81c2e80)
  • urlSync: only start watching for changes at first render (4a672ae)

Features

  • urlSync: allow overriding replaceState(state)/pushState(state) (989856c)

1.4.5

April 18, 2016

Bug Fixes

  • showMore: hide "show less" when nothing to hide (5ac2bb6)

1.4.4

April 15, 2016

Bug Fixes

  • pagination: Disabled pagination link can no longer be clicked (88b567f), closes #974
  • showMore: hide showMore when no more facet values to show (cc31b1a)

1.4.3

April 1, 2016

Bug Fixes

  • rangeSlider: step accepts a float value (6ecc925)

1.4.2

March 24, 2016

Performance Improvements

  • refinementList: Stop creating URL for hidden refinements. (2cdd17d)

1.4.1

March 22, 2016

Bug Fixes

  • searchBox: do not update the input when focused (61cf9be), closes #944

1.4.0

March 16, 2016

Bug Fixes

  • url: allow hierarchical facets in trackedParameters (36b4011)

Features

  • url-sync: use the new mapping option (f869885), closes #838

1.3.3

March 7, 2016

Bug Fixes

  • headerFooter: make collapsible click handler work (add0d50)

Performance Improvements

  • linters: Greatly improve the npm run lint task speed (1ba53b0)

1.3.2

March 7, 2016

Bug Fixes

  • Template: stop leaking data="[object Object]" attributes in production builds (7ec0431), closes #899

Features

  • validate-pr: Allow docs() commits to be merged in master (0abc689)

1.3.1

March 7, 2016

Bug Fixes

  • collapsible: stop duplicating collapsible styling (7362901)
  • lodash: stop leaking lodash in the global scope (91f71dc), closes #900

1.3.0

March 4, 2016

Bug Fixes

  • browser support: make IE lte 10 work by fixing Object.getPrototypeOf (bbb264b)
  • menu,refinementList: sort by count AND name to avoid reorders on refine (02fe7bf), closes #65
  • priceRanges: pass the bound refine to the form (ce2b956)
  • searchBox: handle external updates of the query (6a0af14), closes #803
  • searchBox: stop setting the query twice (91270b2)
  • searchBox: stop updating query at eachkeystroke with searchOnEnterKeyPressOnly (28dc4d2), closes #875
  • Slider: do not render Slider when range.min === range.max (f20274e)
  • Template: now render() when templateKey changes (8906224)
  • toggle: pass isRefined to toggleRefinement (8ac494e)
  • url-sync: always decode incoming query string (bea38e3), closes #848
  • url-sync: handle href pages (e58aadc), closes #790

Features

  • collapsable widgets: add collapsable and collapsed option (c4df7c5)
  • instantsearch: allow overriding the helper.search function (9a930e7)
  • rangeSlider: allow passing min and max values (409295c), closes #858
  • searchBox: allow to pass a queryHook (5786a64)
  • Template: allow template functions to return a React element (748077d)
  • Template: allow template functions to return a React element (0f9296d)

Performance Improvements

  • autoHideContainer: stop re-creating React components (8c89862)
  • formatting numbers: stop using a default locale, use the system one (b056554)
  • nouislider: upgrade nouislider, shaves some more ms (fefbe65)
  • React: use babel optimisation option for React (95f940c)
  • React, widgets: implement shouldComponentUpdate, reduce bind (5efaac1)

1.2.5

March 2, 2016

Bug Fixes

  • hierarchicalMenu: configure maxValuesPerFacet using the limit option (4868717), closes #66

1.2.4

February 29, 2016

Upgraded the helper to 2.9.0 to support undocumented parameters from the API.

1.2.3

February 18, 2016

Bug Fixes

  • currentRefinedValues: clear numeric refinements using original value (9a0ad45), closes #844

1.2.2

February 3, 2016

Features

1.2.1

February 2, 2016

Bug Fixes

  • showmore: now showMore in doc and also show-more BEM (a020439)

1.2.0

February 2, 2016

Bug Fixes

  • all: typos (fa8ba09)
  • currentRefinedValues: allow array of strings for cssClasses.* (55b3a3f)
  • docs: fixed bad link to scss in custom themes section (823a859)
  • getRefinements: a name should be a string (7efd1fd)
  • getRefinements: hierarchical facets (fe0fc5d)
  • index: Use module.exports instead of export on index (81e7eee)
  • pagination: remove default value of maxPages. Fixes #761 (607fe9a), closes #761
  • prepareTemplates: uses templates with keys that are not in defaults (c4bf8ec)
  • rangeSlider: prevent slider from extending farther than the last pip (6e534f5)
  • search-box: update value when state changes from the outside (4550f99)
  • url-sync: adds indexName in the helper configuration (e50bafd)
  • url-sync: Makes url sync more reliable (3157abc), closes #730 #729

Features

  • currentRefinedValues: new widget (6c926d0), closes #404
  • hits: adds allItems template as an alternative to item (1f3f889)
  • poweredBy: automatically add utm link to poweredBy (05d1425), closes #711
  • priceRanges: add currency option (f41484a)
  • refinementlist: lets configure showmore feature (3b8688a)
  • Template: accepts any parameters and forwards them (5170f53)

1.1.3

January 12, 2016

Bug Fixes

  • searchBox: fixes cssClasses option (660ee2f), closes #775

1.1.2

January 8, 2016

1.1.1

January 7, 2016

Bug Fixes

  • style: keyframes (40eb0a5)
  • url-sync: adds indexName in the helper configuration (c2c0bc7)

Features

  • clearRefinements: Added two utils methods (49564e1)

1.1.0

November 26, 2015

Bug Fixes

  • pagination: fix #668 edge case (d8f1196), closes #668
  • priceRanges: Remove round from first range (bf82395)
  • slider: hide the slider when stats.min=stats.max (42e4b64)
  • starRating: Retrieve the correct count and use numericRefinement (f00ce38), closes #615

Features

  • hierarchical: expose rootPath and showParentLevel (6e9bb7c)

1.0.0

November 18, 2015

0.14.9

November 18, 2015

0.14.8

November 18, 2015

0.14.7

November 18, 2015

0.14.6

November 17, 2015

0.14.5

November 17, 2015

0.14.4

November 17, 2015

Bug Fixes

  • doc: Expand input on documentation page (6814a14)

0.14.3

November 17, 2015

Bug Fixes

  • examples: media logo (64f850e)
  • website: demos link to https (b69c0f5)

0.14.2

November 17, 2015

Bug Fixes

  • numericSelector: pass currentValue as the refined value, not the full obj (9286b4b)
  • website: search icon (623f071)

0.14.1

November 16, 2015

Bug Fixes

0.14.0

November 13, 2015

Bug Fixes

  • hierarchicalMenu: handle limit option (968cf58), closes #585 #235
  • numeric-selector: makes init comply with the new API (068e8d3)

Features

  • core: sends a custom User Agent (2561154)
  • lifecycle: makes init API consistent with the rest (e7ed81f)

BREAKING CHANGES

  • all widgets using "facetName" are now using "attributeName"

0.13.0

November 12, 2015

Features

0.12.3

November 12, 2015

0.12.2

November 12, 2015

Bug Fixes

  • layout: missing div (did we lost that fix?) (9a515e4)

0.12.1

November 12, 2015

Bug Fixes

  • counts: missing formatNumber calls (65e5ba0), closes #560
  • doc: ensure selector is not conflicting (6528f2c), closes #505
  • docs: improved label/input hover debug (58573db), closes #503
  • examples/airbnb: Use default theme from CDN (f379c0a), closes #522
  • examples/youtube: use the default theme (cf9a4b6)
  • rangeSlider: fixed tooltip CSS & outdated default theme. (c4be2ef)

0.12.0

November 10, 2015

Bug Fixes

  • pagination: Fix double BEM classes on elements (2ede317), closes #500
  • price-ranges: fix usage + add test (89601d7)
  • range-slider: check usage + display (fixes #395) (301643a), closes #395
  • rangeSlider: error when no result (70e8554)
  • theme: Revert default spacing into pagination (d755fd5)

BREAKING CHANGES

  • pagination: Removes all __disabled, __first, __last, __next, __previous, __active and __page classes added on the links in the pagination. It only ads them to the parent li. Links instead now have a .ais-pagination--link class

Previously, the same CSS classes where added to both the item (li) and the link inside it. I've split them in --item and --link.

I've also made the various active/first/disabled/etc modifiers as actual __modifier classes.

I've updated the tests, the CSS skeleton, the examples and the docs accordingly.

0.11.1

November 10, 2015

0.11.0

November 6, 2015

Bug Fixes

  • bem: Make scss mixins actually follow BEM (fcfb408)
  • doc: bolder font for the navigation (64f6d56)
  • InstantSearch: throw error when init and render are not defined. Fixes #499 (2830cd3), closes #499
  • live-doc: adds a start at a responsive display (c83967e)
  • live-doc: adds navigation menu for smaller screens (a6bb71e)
  • live-doc: fixes flow for texts (3855071)
  • live-doc: Momentum scroll for iPhone (60a36ff)
  • live-doc: uses only h4 and fixes style of h4 (mobile) (0fdd2d0)
  • middle-click: Allow middle click on links (a7601c0)
  • range-slider: Use lodash find instead of Array.prototype.find (056153c)
  • searchBox: handling pasting event with contextual menu. (a172458), closes #467
  • website: defered doc scripts (0c1324f)
  • website: doc layout responsive (a4dc894)
  • website: fixed space overlay color animation (200b8a7)
  • website: Fixes & responsive stuff for doc (7a8f920)
  • website: footer markup (95364a1)
  • website: home.js lint (b70e06e)
  • website: icon-theme didn't like svgo (to fix) (38d84af)
  • website: image alt (30cca29)
  • website: jsdelivr for every scripts (06591d4)
  • website: Nav Icon + logo (c1f419c)
  • website: only load what's needed in bootstrap (4843474)
  • website: removed animation debug (01ac079)
  • website: space bg fadeIn (5e09844)
  • website: unclosed content block (d42dc3e)

Features

  • hierarchicalMenu: Adding indentation with default theme (34885d2)

BREAKING CHANGES

  • hierarchicalMenu: Hierarchical menu levels 1 and 2 now have a margin-left added in the default theme.

0.10.0

November 6, 2015

Bug Fixes

  • api: rename hideContainerWhenNoResults to autoHideContainer (3f64bef), closes #407
  • doc: ensure the documentation content doesn't overflow (1e28a4e), closes #444
  • hitsPerPageSelector: Be more tolerant in options (e14a344)
  • numeric widgets: synchronizes rounded value between widgets (b314160)
  • numeric-refinement: Replace Array.find with lodash find/includes (b3e815c)
  • price-ranges: makes it uses same operator as the slider (ad6f5c2)
  • range-slider: fixes bound definition (e15c9b7)
  • selector: makes component as uncontrolled component (1dda12a)
  • slider: fixed pip propTypes constraint (c77b7f4)
  • website: fix images path (a3f62eb)

Features

  • searchBox: ability to be non-instant (b3ef871), closes #458
  • toggle: Allow custom on/off values (9b6c2bf), closes #409

Performance Improvements

  • hitsPerPageSelector: Use the correct lodash function (be9aea7)

BREAKING CHANGES

  • api: use autoHideContainer instead of hideContainerWhenNoResults

0.9.0

November 4, 2015

Features

  • numericRefinementList: create numericRefinementList widget using refinementList component (a29e9c7)

0.8.2

November 4, 2015

Bug Fixes

  • doc: All wigdets in docs are not anymore linked together #fix #446 (4361320), closes #446
  • hitsPerPageSelector: Issue when state did not have a hitsPerPage (dc9371c)

0.8.1

November 4, 2015

Bug Fixes

  • hierarchicalMenu: handle cases where no results after a search (0a1d0ac), closes #385

Features

  • build: allow building React based custom widgets (cfbbfe4), closes #373

0.8.0

November 3, 2015

Bug Fixes

  • cssClasses: Fixed duplication of classNames (e193f45), closes #388
  • doc: add doctype were missing (86a18aa)
  • doc: new color scheme (deccc17)
  • doc: only show a scrollbar when needed (f2d955b)
  • hierarchical: setPage 0 when toggling (a976539), closes #371
  • jsdoc: use babel-node (453dc21)
  • live-doc: generates missing ul (b43e6e2)
  • live-doc: move scrollbars, removes useless ones (548ae5f)
  • live-doc: moves octocat link to top. Removes stackOverflow (8ff6a79)
  • live-doc: Moves version in the main content (27731c3)
  • live-reload: integrates the links into the menu flow (c118051)
  • numerical widgets: s/facetName/attributeName (f209f5d), closes #431
  • refinementList: ensure the key reflects the underlying state (b048f0b), closes #398

Features

  • examples: try examples instead of themes (bedffce)
  • headerFooter: Only add markup if a template is defined (7a2d22d), closes #370
  • priceRanges: Add BEM classes and tests (ad58d7a), closes #387

BREAKING CHANGES

  • numerical widgets: the priceRanges and rangeSlider widgets are now using attributeName instead of facetName.
  • priceRanges: ais-price-ranges--range are now named ais-price-ranges--item and are wrapped in a ais-price-ranges--list.

I've moved the bottom form into it's own PriceRangesForm component, along with its own tests. I've fixed a minor typo where the component was internally named PriceRange (without the final s).

I factorize some logic form the render in individual methods and manage to individually test them. This was not an easy task. I had to mock the default render (so it does nothing) before instantiating the component. Then, I was able to call each inner method individually. This requires to stub prototype methods in beforeEach, then restore them in afterEach. I've added a few helper methods, this can surely be simplified again but this gives nice granularity in testing.

I've renamed the range items to item and wrapped them in a list. I've also added classes to all elements we add (label, separator, etc). I've removed the empty spans.

  • headerFooter: The <div class="ais-header"> and <div class="ais-footer"> markup is only added when a templates.{header,footer} is passed.

0.7.0

October 28, 2015

Features

  • searchBox: Add wrapInput option (b327dbc)
  • urls: ability to create an URL from a set of params (9ca8369), closes #372

BREAKING CHANGES

  • urls: the instantsearch.createURL method is now taking a simple JS object and not a SearchParameter instance anymore.
  • searchBox: The input used by the search-box widget is now wrapped in a <div class="ais-search-box"> by default. This can be turned off with wrapInput: false.

This PR is a bit long, I had to do some minor refactoring to keep the new code understandable. I simply split the large init method into calls to smaller methods.

There is some vanilla JS DOM manipulation involved to handle all the possible cases: targeting an input or a div, adding or not the poweredBy, adding or not the wrapping div.

Note that there is no targetNode.insertAfter(newNode) method, so I had to resort to the old trick of parentNode.insertBefore(newNode, targetNode.nextSibling).

0.6.5

October 27, 2015

0.6.4

October 27, 2015

0.6.3

October 27, 2015

0.6.2

October 27, 2015

0.6.1

October 27, 2015

0.6.0

October 27, 2015

Bug Fixes

  • generateRanges: avoid any infinite loop. Fix #351 (4965222), closes #351
  • index-selector: Fix tests passing with incorrect parameters (8fc31b9)
  • index-selector: Update usage and error (a7e4c10)
  • priceRanges: fixed 'active' CSS class not using BEM (ec0d1b1)
  • priceRanges: plug the URL computation. Fix #354 (fbf4022), closes #354
  • template: transformData checks too strict (609f123), closes #347

Features

  • hits-per-page-selector: New widget to change hitsPerPage (a3e0f78), closes #331

BREAKING CHANGES

  • priceRanges: the input-group modifier has been renamed to form

0.5.1

October 22, 2015

Bug Fixes

  • autohide: Rename attribute to hideContainerWhenNoResults (ecb6756), closes #325

BREAKING CHANGES

  • autohide: Widget attribute is now named hideContainerWhenNoResults instead of hideWhenNoResults to be more explicit on what it is really doing.

Also internally renamed the autoHide decorator to autoHideContainer

0.5.0

October 22, 2015

Bug Fixes

  • example: Example searchbox (cdad6c7), closes #157
  • hierarchicalFacets: use a real attribute name for the hierarchicalFacet name (0d2a455)
  • hits: Fix warning about unique key in iterator (0c9468c)
  • onClick: do not replace the browser's behavior on special clicks (8562d49), closes #278
  • package.json: typo in repository (33cf196)
  • pagination: do not generate the URL for disabled pages. (e5d78ab), closes #282
  • poweredBy: Extract its hiding capabilities (f5fa9ee), closes #189
  • rangeSlider: refinements cleanuo (16c132c), closes #147
  • rangeSlider: restore wrongly removed state nesting (3ed3d39)
  • React: require React in order for JSX to work in widgets (64d6011)
  • react-nouislider: upgrade react-nouislider to avoid mutating props (1b7cd1d)
  • refinementList: Remove singleRefine attribute (db73e38), closes #220
  • refinementList: singleRefine is not dependant from operator (d29dff6)
  • RefinementList: click on child should not click on parent (d476da2), closes #191
  • Slider: cssClasses.body handled by headerFooter HOC (d8d20b2)
  • stats: Move CSS classes definition to widget from component (99073cd)
  • transformData: add an explicit error message (94c53d3), closes #212
  • transformData: this test is not needed, already covered by Template (36e5b9c)
  • validate-commit: Update the regexp (96b93ba)

Features

  • bem: Add BEM to the index-selector widget (564da51)
  • bem: Add BEM-styling to the Stats widget (92cebeb)
  • build: Add minified CSS theme version to build (77f0640)
  • core/lifecycle-event: emits render when render (7f03ae9)
  • es7: Enable es7.objectRestSpread (fc2fbc4)
  • headerFooter: Add BEM classes to header and footer (9e9d438), closes #259
  • hierarchical-menu: Add BEM classes (58ec191)
  • hierarchical-menu: Add CSS classes dependent on the depth (1256ea8)
  • hits: Add BEM styling to the hits widget (6681960)
  • menu: Add BEM classes (467f49e)
  • pagination: add scrollTo option (e6cd621), closes #73
  • priceRanges: new Amazon-style price ranges widget (e5fe344)
  • priceRanges: polish priceRanges widget (0994e6f)
  • refinement-list: Add BEM naming (b09b830)
  • refinementlist: Move default templates to its own file (cb6fa16)
  • refinementList: Limits improvement (ebcc8a9)
  • searchbox: Make the searchBox BEMish (db8bd60)
  • theme: Add searchBox widget to default theme (def831f)
  • theme: Add debug.css file (ff8f2dc), closes #249
  • theme: Move indexSelector styling to default.css (1841ef1)
  • theme: Move all default css rules to default.css (57c8c65)
  • toggle: Adding BEM class naming (8730c97)
  • urlSync: url generation for widget links. Fix #29 (23dd505), closes #29

BREAKING CHANGES

  • build: You should now include the default.css file in your page to get the default styling.

  • Added clean-css as minifier

  • Updated build script
  • Updated documentation about loading it from jsdeliver
  • npm shrinkwrap madness
  • hits: The hit template and transform data key is renamed from hit to item to stay consistent with the other widgets
  • menu: The default template now has the count element inside the link, not outside.
  • stats: cssClasses.root now applies to the main root element (above header and footer) and no longer to the template wrapper. To style the template wrapper, use cssClasses.body
  • theme: Classes are now named ais-index-selector and ais-index-selector--item to stay consistent with other widgets.

Updated tests as well. Widget is responsible for adding default classes + user-defined ones. Then component simply add them to the markup.

  • theme: "Powered by" styles are now ais-search-box--powered-by and ais-search-box--powered-by-link.
  • urlSync: urlSync is not a widget anymore. It's now an option of instantsearch(appID, apiKey, opts);. See the README.md for more info.
  • searchbox: The searchBox widget now expect a cssClasses.{input, poweredBy}
  • bem: We now use a span.ais-stats--time instead of a small tag in the stats widget.
  • bem: We now use cssClasses.select and cssClasses.option instead of cssClass for the index-selector widget.

0.4.1

October 5, 2015

Bug Fixes

  • allow passing only one key of transformData as an object (e0ce89f)
  • search-box: Fix #137 autofocus must be configurable (51f01be), closes #137
  • searchBox: do not update input's value if focused (0e85f0d), closes #163
  • templatesConfig: helpers are now following Mustache spec (8f3502f)
  • url-sync: handle both hash and query parameter fix #165 (8d84de6), closes #165

0.4.0

September 30, 2015

Bug Fixes

  • pagination: handle cases where maxPages is low (d3c9959), closes #100
  • searchBox: allow searchBox to reuse an <input> (e820cc3)
  • searchBox: Use hasAttribute instead of getAttribute (a122af9)
  • slider: allow handles to reach the real start and end of the slider (03ed3f5)
  • slider: fix tap event throwing (d906d3e), closes #120
  • Template: add default value for template (4291014)
  • url-sync: make input not to lose focus (63488d3)

Features

  • rangeSlider: add headerFooter decorator (19090c3)
  • searchBox: add headerFooter decorator to the Component (5974a88)
  • templatesConfig: helpers and options transferred to Template (456d781), closes #99
  • toggle: add headerFooter decorator (8a70c7d)
  • url-sync: Add is_v version to url (9f597a0), closes #70
  • hierarchicalWidget (1facd9d)

BREAKING CHANGES

  • S:
  • toggle: removed template
    • removed: inputClass

0.3.0

September 24, 2015

Bug Fixes

  • Allow not specifying cssClass on index selector (4e9324f)
  • More explicit error message when DOM selector is invalid (d36a2ad), closes #105
  • Pass nbHits, hitsPerPage, nbPages and page to Stats widget (deefd23), closes #106
  • hideIfEmpty: should be hideWhenNoResults (21877a0)
  • Hits: handle the display when there is no result (544ff5c)
  • menu: send an empty array values when no values (12cd7dc), closes #107
  • pagination: missing showFirstLast attribute when instantiating (28fa0ae)
  • SearchBox: Missing poweredBy in the not focused SearchBox (ef695ff)
  • slider: hide slider if when no hits/matches (31e4a80), closes #107

Features

  • menu,refinementList: add header/item/footer templating solution (58275dc), closes #101
  • searchBox: add poweredBy option, disabled by default (c9da165)
  • stats: add query variable to the template (75f457d)
  • transformData: add to every widget using the Template component (d080a03), closes #116
  • transformData: refinementList + menu implementation (0a0e36e)
  • urlSync: add urlSync widget (50fc4ce)
  • widgets: auto hide some widgets (187b4bd)

BREAKING CHANGES

  • Removed from menu and refinementList:
  • rootClass => cssClasses.root
  • itemCLass => cssClasses.item
  • template => templates.item

Added to menu and refinementList:

  • cssClasses{root,list,item}
  • templates{header,item,footer}
  • widget (container) is automatically hidden by default
  • hideWhenNoResults=true

This was done to allow more templating solutions like discussed in #101.

0.2.2

September 17, 2015

0.2.1

September 17, 2015

0.1.0

September 17, 2015

First release

0.0.0

September 17, 2015

First commit