All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
4.19.12 (2024-12-09)
Note: Version bump only for package vue-instantsearch
4.19.11 (2024-11-14)
Note: Version bump only for package vue-instantsearch
4.19.10 (2024-11-05)
Note: Version bump only for package vue-instantsearch
4.19.9 (2024-10-24)
Note: Version bump only for package vue-instantsearch
4.19.8 (2024-10-22)
Note: Version bump only for package vue-instantsearch
4.19.7 (2024-10-15)
Note: Version bump only for package vue-instantsearch
4.19.6 (2024-10-08)
Note: Version bump only for package vue-instantsearch
4.19.5 (2024-09-24)
4.19.4 (2024-09-10)
4.19.3 (2024-08-20)
4.19.2 (2024-08-06)
Note: Version bump only for package vue-instantsearch
4.19.1 (2024-07-30)
4.19.0 (2024-07-16)
- cache: support multi-index and multiple queries per index (#6275) (60c3f20)
- vue2:
augmentedCreateElement
should pass HTML attributes (#6282) (e0d4c68)
4.18.1 (2024-07-09)
4.18.0 (2024-07-02)
4.17.5 (2024-06-20)
4.17.4 (2024-06-18)
Note: Version bump only for package vue-instantsearch
4.17.3 (2024-06-05)
Note: Version bump only for package vue-instantsearch
4.17.2 (2024-06-04)
4.17.1 (2024-05-28)
Note: Version bump only for package vue-instantsearch
4.17.0 (2024-05-21)
- recommend: introduce
connectLookingSimilar
connector (#6180) (78a7723) - recommend: introduce
connectRelatedProducts
connector (#6142) (89c4409) - recommend: introduce
connectTrendingItems
connector (#6169) (fa165ab) - recommend: introduce
lookingSimilar
widget (#6183) (6fae57c) - recommend: introduce
relatedProducts
widget (#6154) (b8602af) - recommend: introduce
trendingItems
widget (#6171) (fdbd8ce)
4.16.2 (2024-05-07)
Note: Version bump only for package vue-instantsearch
4.16.1 (2024-04-30)
- vue: avoid passing a proxied object in Configure (#6166) (93cfd60)
- vue: handle multiple children arguments for createElement (0c99ded)
4.16.0 (2024-04-18)
Note: Version bump only for package vue-instantsearch
4.15.0 (2024-04-02)
- vue-instantsearch: only render list in
<refinement-list>
when it has items (#6092) (9a38de0) - vue-instantsearch: properly add
noRefinement
class on<ais-refinement-list>
(#6095) (9ae7c05)
4.14.0 (2024-02-27)
- ui-components: migrate
Hits
component (#6042) (55d550e) - use shared highlight component in vue3 (#6051) (2974343)
4.13.8 (2024-02-13)
Note: Version bump only for package vue-instantsearch
4.13.7 (2024-02-06)
Note: Version bump only for package vue-instantsearch
4.13.6 (2024-01-30)
- searchbox: ignore composition events with option (#6009) (7d82b01)
- vue-compat: Ensure getDefaultSlots works with @vue/compat & Vue 3 (#6016) (e270069)
4.13.5 (2024-01-23)
4.13.4 (2024-01-16)
Note: Version bump only for package vue-instantsearch
4.13.3 (2024-01-16)
4.13.2 (2023-12-19)
4.13.1 (2023-12-07)
Note: Version bump only for package vue-instantsearch
4.13.0 (2023-11-28)
4.12.1 (2023-10-31)
4.12.0 (2023-10-24)
4.11.0 (2023-10-10)
4.10.12 (2023-09-19)
4.10.11 (2023-09-12)
4.10.10 (2023-09-05)
Note: Version bump only for package vue-instantsearch
4.10.9 (2023-08-08)
Note: Version bump only for package vue-instantsearch
4.10.8 (2023-07-25)
Note: Version bump only for package vue-instantsearch
4.10.7 (2023-07-19)
4.10.6 (2023-07-18)
Note: Version bump only for package vue-instantsearch
4.10.5 (2023-07-10)
4.10.4 (2023-07-04)
Note: Version bump only for package vue-instantsearch
4.10.3 (2023-06-20)
4.10.2 (2023-06-13)
- createServerRootMixin: forward i18n on option (#5673) (d52b47f)
- breadcrumb: align vue component with specs (#5672) (dbfed3a)
4.10.1 (2023-05-30)
4.10.0 (2023-05-16)
4.9.0 (2023-04-24)
- insights: add insights option to InstantSearch (#5488) (9031573) (#5578) (8fb517f) (#5545) (99a0972) (#5493) (cff723f)
- insights: always pass Algolia credentials locally (#5554) (654ab81) (#5558) (82144c0) (#5529) (8537f8f)
- insights: annotate events with algoliaSource (#5580) (c419307)
- insights: automatically load search-insights if not passed (#5484) (a85797b)
- insights: enable default click events on hits and infinite hits (#5522) (271bd12) (#5527) (0e55821)
- insights: prevent potential errors (#5487) (33fe510) (#5606) (bdd9290) (#5512) (85dfbc9)
- metadata: register metadata around middleware (#5492) (3e72ec8)
4.8.10 (2023-04-11)
Note: Version bump only for package vue-instantsearch
4.8.9 (2023-03-28)
4.8.8 (2023-03-21)
- searchbox: add aria-hidden to svg icons (#5547) (50344e3), closes #5546
- svg: don't style width/height in attributes with unit (#5550) (31b85a6)
4.8.7 (2023-03-07)
Note: Version bump only for package vue-instantsearch
4.8.6 (2023-02-28)
Note: Version bump only for package vue-instantsearch
4.8.5 (2023-02-21)
4.8.4 (2023-02-14)
Note: Version bump only for package vue-instantsearch
4.8.3 (2023-02-07)
4.8.2 (2023-01-30)
4.8.1 (2023-01-26)
- HierarchicalMenu: don't give --parent class if data is empty (#5458) (1d1a209), closes /github.com/algolia/instantsearch/blob/f84c01b2f66ac279f7e33fafe5f1cd559436edef/packages/instantsearch.js/src/components/RefinementList/RefinementList.tsx#L175-L179
4.8.0 (2023-01-25)
- rendering: always render with current state (#5429) (920e951)
- rendering: revert search state on error (#5438) (732fcac)
4.7.2 (2023-01-09)
4.7.1 (2023-01-03)
4.7.0 (2022-12-21)
4.6.0 (2022-10-04)
- ais-hierarchical-menu: add css class for link of selected menu item (#1150) (93dfdc1)
- InstantSearch: support onStateChange (#1149) (badf815), closes #1148
- StateResults: give access to status and error (#1151) (03dea3a)
4.5.0 (2022-09-07)
- nuxt: only write $nuxt if it's writable (#1117) (bdecca9), closes /github.com/algolia/vue-instantsearch/commit/acda29326475bd1b73f12b058a0c02df00b8b239#commitcomment-67430759
4.4.2 (2022-07-25)
- SearchBox: forward missing prop queryHook (#1136) (7f8754d)
- VoiceSearch: forward missing props language and additionalQueryParameters (#1136) (7f8754d), closes #1135
4.4.1 (2022-07-19)
4.4.0 (2022-06-28)
- ais-hierarchical-menu: show full hierarchical parent values (#1126) (51aadf0)
- pagination: add page class for "page" item (#1129) (afacf8b)
- ssr: allow component without mixins to be extended (#1127) (3b8b887)
4.3.3 (2022-02-10)
- esm: mark esm exports as type: module (#1111) (71c25d4)
- nuxt3: forward
$nuxt
on the instance by default (#1112) (acda293)
4.3.2 (2022-01-31)
4.3.1 (2022-01-11)
4.3.0 (2021-12-16)
4.2.0 (2021-12-13)
- dynamicWidgets: release as production (#1086) (9e0902b)
- instantsearch: update version (dbf485f)
- ssr: prevent initial network request (#1090) (d97eea2)
4.1.1 (2021-10-27)
4.1.0 (2021-10-26)
4.0.1 (2021-09-15)
- dynamic-widgets: use non-experimental connector (5629957)
- ssr: pass parent index to render in __forceRender (25284aa)
4.0.0 (2021-08-23)
Vue InstantSearch now supports Vue 3 (#990).
It has a few breaking changes that you can easily migrate. You can read the upgrade guide.
You can try these examples:
- Vue 3 + Vue CLI: GitHub | CodeSandbox
- Vue 3 + Vite: GitHub
- Vue 3 + SSR + Vue CLI: GitHub
- Vue 3 + SSR + Vite: GitHub
3.8.1 (2021-07-12)
3.8.0 (2021-07-12)
- dynamic-widgets: add the
ais-experimental-dynamic-widgets
(#922) - facet ordering: apply result from facet ordering in facet widgets (#922)
3.7.0 (2021-04-27)
- insights: expose
send-event
in widgets (#953) (e2e42a4) - middlewares: add middlewares prop to ais-instant-search (#939) (513017a)
3.6.0 (2021-03-31)
3.5.0 (2021-03-03)
- ratingMenu: correct URL (3c3f7e2)
3.4.3 (2020-12-22)
3.4.2 (2020-10-05)
3.4.1 (2020-09-30)
- ssr: forward propsData to recreated component (#865) (6c18a10), closes /github.com/vuejs/vue/blob/7912f75c5eb09e0aef3e4bfd8a3bb78cad7540d7/src/core/util/options.js#L34-L44
3.3.0 (2020-09-28)
- RatingMenu: use unique keys (80ff944)
- Tree Shaking: allow modern bundlers to remove parts of Vue InstantSearch which aren't used ((#866))
- ssr: forward router instance to findResultsState clone (#863) (84f79eb)
- ssr: forward vuex instance to findResultsState clone (#864) (986a992)
3.2.0 (2020-08-12)
- highlight: don't remove whitespace-only nodes (#827) (1358b6a), closes #826
- range-input: fix range input min and max values fallbacks (#835) (0e900ef), closes #833
- routing: do not warn when
router
orstateMapping
is missing (#809) (a9335c1) - ssr: fix missing scopedResults during render (#830) (74cf685), closes #829
- widgetMixin: remove when InstantSearch is not yet started (e94af00), closes #502
3.1.0 (2020-07-02)
- ais-toggle-refinement: allow multiple values for "on" and "off" (#780) (6ee1404)
- InfiniteHits: support cache (#804) (918c92d)
3.0.3 (2020-06-12)
3.0.1 (2020-06-11)
- make vue-server-renderer temporarily a dependency (84fc47c)
3.0.0 (2020-06-11)
- index: add multi-index widget (#745) (3c32cfe)
- server side rendering: support ais-index (#764) (3e74a8c), closes #784
- widgets: introduce
ConfigureRelatedItems
as experimental (#751) (f00513e)
- index: this introduces the dependency on InstantSearch v4, which has its own breaking changes you might see if you're using methods on helper. See more here: https://www.algolia.com/doc/guides/building-search-ui/upgrade-guides/js/#upgrade-from-v3-to-v4
- server-side rendering: the API has changed to avoid having to repeat information between template & fetching. See more here: https://www.algolia.com/doc/guides/building-search-ui/upgrade-guides/vue/
2.7.1 (2020-06-10)
- Highlight, Snippet: prevent XSS via routing (#783) (f35446b)
- RangeInput: refine correctly when start is given (#777) (6eb46c8)
2.7.0 (2020-01-23)
- algoliasearch: add support for algoliasearch v4 (#756) (571b1fc)
- StateResults: give access to search parameters (#627) (9870e85)
2.6.0 (2019-10-14)
2.5.0 (2019-09-18)
2.4.0 (2019-09-03)
2.3.0 (2019-07-30)
- core: prevent duplicating facet values (#705) (7573be1), closes #663
- error: correct suggestion (44f2d9c)
- ssr: clearer error message when using ssr without the component (#698) (20c2153), closes #697
2.2.2 (2019-07-11)
2.2.1 (2019-05-21)
- panel: provide hasRefinement scope to slots (#670) (2a21b52), closes #347
- voiceSearch: add voice search component (#668) (84efffc)
2.1.0 (2019-04-30)
- stories: update range slider component to v3 (#648) (e3010f6), closes #647
- toggle-refinement: display label (#649) (84c909d)
- ua: change the User-Agent to use the new specs lib (version) (#650) (6942979)
- infiniteHits: add previous button (#659) (3d2eec9)
- insights: add insights support to Hits widget (#665) (2efa8c0)
- insights: add insights support to InfiniteHits widget (#666) (b3302cf)
- insights: add insightsClient support on storybook (#664) (5ad4d3e)
- query-rules: add new widgets (#652) (cec815d)
2.0.1 (2019-03-13)
2.0.0 (2019-02-18)
- core: update to InstantSearch.js v3 (#612) (fbf818e), closes #619
- deps: remove transitive dependencies (6fa3169)
2.0.0-beta.3 (2019-01-23)
- components: remove faulty whitespace (#606) (c7541b1)
- core: hydrated always is false on dispose (8851dec)
- errors: less whitespace (1dbd177)
2.0.0-beta.2 (2018-12-20)
- CurrentRefinements: compute unique key (#577) (4e941ca), closes #574
- PoweredBy: new design & colors (#578) (e1ea477), closes #571
- rating-menu: remove nonfunctional min prop (#597) (26891e6)
- RefinementList: allow overriding of searchable placeholder (#576) (d293b83), closes #572
2.0.0-beta.1 (2018-11-06)
- CurrentRefinements: use existing key (5d0b72f)
- example: add codesandbox config (#556) (e7492eb)
- Panel: make body class name computed (589f076)
- RefinementList: give canToggleShowMore to default slot (08c325f)
- RefinementList: pass createURL to item (6834766)
- SortBy: label & value instead of label & name (be42471)
- CurrentRefinements: consolidate API (#550) (2b08b76)
- CurrentRefinements: expose createURL (c0bf7e5)
- CurrentRefinements: give createURL to slot (#557) (00c2865)
- InfiniteHits: add loadMore slot (d313acb)
- IS: allow change of stalled search delay and search function (1d38d5e)
- MenuSelect: add createURL in slot (d61fc82)
- MenuSelect: add item slot (#555) (1071eea)
- RangeInput: refine & currentRefinement sync (#560) (433e88b)
- RatingMenu: add slot for & up (6717db6)
- RatingMenu: createURL & stars (038ec56)
- RefinementList: provide SFFV query to default stot (a32e38c)
- router: force object form (#562) (5f1976d)
- SearchBox: forward class-names & slots (#553) (b2122dd)
2.0.0-alpha.3 (2018-10-02)
1.5.0 (2018-03-02)
- menu: avoid error when no facet values are retrieved (0dbb683)
1.4.0 (2018-02-06)
1.3.4 (2018-01-24)
1.3.3 (2017-12-04)
1.3.2 (2017-11-15)
- avoid query when components are destroyed (c41c606)
1.3.1 (2017-11-02)
- menu: avoid multiple Algolia calls when created (f1ac0a7)
- menu: use facet name as key (b496fd8)
1.3.0 (2017-10-25)
- menu: mark attribute as required (4b08b2d)
- menu: use same default sortby as specified (81a7781)
- Menu: apply correctly css class (cf996ae)
- results: remove key from slot (d63c70b)
- store: update typo in test (1430840)
- docs: add RangeInput section (483583a)
- Menu: set
maxValuesPerFacet
fromlimit
prop (6f9f7a7) - RangeInput: add className on separator (d9b9b21)
- RangeInput: add className on submit (de8702a)
- RangeInput: add widget (cbc1e1b)
- store: add method for retrieve facetStats (c0c83aa)
- widgets: add Menu widget (50c4c14)
1.2.2 (2017-10-17)
- results: remove key from slot (8270847)
1.2.1 (2017-10-17)
- stats: only use toLocaleString in display (62699e9)
1.2.0 (2017-10-13)
- stats: update stats component to use toLocaleString() (3b41db3)
1.1.0 (2017-10-10)
- pagination: remove class duplicates (c56ea2b)
- component: add an option to bem utility to not output element class (6d4e690)
- pagination: add classes on link elements (d39da3e)
1.0.1 (2017-09-25)
- instantsearch: allow to treeshake es module (f419329)
1.0.0 (2017-08-23)
- highlight: get attribute value by dot separated path (6ddc7c7)
- highlight: throw error if missing config in Algolia (09d8d3d)
- snippet: throw error if missing configuration in Algolia (6988cb2)
0.7.0 (2017-08-15)
- helper-serializer: allow to serialize a helper that has no results (cf2add9)
- store: remove searchParameters getter and setter (c146b16)
- store: improve query parameters merge strategy (0472627)
- store: have highlighting tags return the current value (3d65391)
- store: if you previously used the
store.searchParameters
getters and setters of the store, you should now usestore.queryParameters
instead.
0.6.0 (2017-08-08)
- refinement-list: remove duplicated class (728314c)
- sort-by-selector: make SSR ready (e50c38a)
- store: avoid mutating query parameters (cb8cfb7)
- make all components SSR ready (4db0720)
- index: add a prop to enable/disable cache (268c0b6)
- index: add a prop to toggle auto search on load (3c85017)
- store: add methods to interact with cache (98406fb)
- store: do not automatically refresh when using start() (cda198c)
- store: do not register facet if already existing (6370bd1)
- use unique keys in all v-for loops (fdbf56a)
- store: using
store.start()
will no longer trigger an Algolia call. if you were usingstore.stop()
/store.start()
you should now also callstore.refresh()
if you want your store to stay in sync with Algolia.
0.5.0 (2017-08-05)
- pagination: emit "page-change" event after page has changed (a259cc5)
- refinement-list: add BEM classes for labels and checkboxes (5c4f463)
0.4.0 (2017-08-02)
- component: avoid raising injection failure warning (3185548)
- index: trigger error message when index context is missing (edbabdd)
- powered-by: ensure search store is not required (bc0a19f)
- spelling: run most code through a spell checker (#226) (640fec3)
- store: do not expose highlighting tags (d3ee912)
- store: remove pagination utility methods (3bdf759), closes #228
- add keys to all for loops (a36a493)
- store: pagination utility methods have been removed. This includes
goToFirstPage
,goToPreviousPage
,goToNextPage
andgoToLastPage
. - store: HIGHLIGHT_PRE_TAG and HIGHLIGHT_POST_TAG are no longer exported.
0.3.2 (2017-07-30)
- rating: correct star counts (a499be4)
0.3.1 (2017-07-26)
Update the readme on npm website.
0.3.0 (2017-07-21)
- pagination: ensure page never drops below first page (e851553)
- pagination: hide pagination if there are not results (f4dac58)
- store: catch errors on facet values retrieval (a51a547)
- store: make sure serialization contains hl tags (4e8a7de)
- store: reject wait sync if error occurs (9568ddf)
- sanitize-results: add a module to sanitize results (e78cacd)
- search-box: add autofocus capabilities (0c91334)
- store: allow to use custom highlight tags (c77f336)
- store: escape results when fetched (61341a9)
- store: cache sanitized results (62858b2)
- Highlight and Snippet components no longer accept
tag-name
norescape-html
as props. Highlighted values are now escaped as responses are received. The highlighting tags can now be configured on the store itself.
0.2.1 (2017-05-29)
- bem: make sure blockClassName is provided by component (826bbc9)
- build: build cjs and es builds before UMD to satisfy inheritance chain (78545f9)
- build: fix build scripts (42beeb2)
- clear: use clearsQuery instead of clearQuery (#91) (74e8dcb)
- clear-search: remove "label" prop and inline it (c1e74db)
- empty-results: prefix container class name (6bd49ea)
- examples: rename attribute to attribute-name (6dc4740)
- highlight: gracefully display empty string if attr is not available (3976dca)
- highlight: support replacing multiple highlighting tags (84478c2)
- input: better mobile experience (c58980b)
- input: revert back to input as root element (b293ac7)
- navigation-tree: fix invalid scss rule (33f07ee)
- navigation-tree: make style rules less specific (1570fac)
- navigation-tree: remove non generic style rule (a166d9e)
- navigation-tree: use more concise style rule (5699228)
- pagination: avoids underlining disabled button (312b06c)
- powered-by: set a default width for the SVG logo (5304df5)
- powered-by: use shorter version of SVG logo (5d4f760)
- price-range-facet: add missing props and respect class naming conventions (99741db)
- ranged-pagination: make pagination start at 1 (7c4864f)
- ranged-pagination: make style rules less specific (7e284fc)
- ranged-pagination: removed non generic style rule from component (cba0e5d)
- rating: HTML UTF-8 characters (b8012e9)
- rating: renamed StarsFacet to RatingFacet (13b6ea7)
- rating-facet: make style rule less specific (60cbeb0)
- scss: make price range component css less specific (e5ea957)
- search-facet: make style rules less specific (a1f8e14)
- search-facet: remove non generic style rule (3cace70)
- search-results: make page start at 1 (b284957)
- search-store: make page start at 1 (917706b)
- snippet: gracefully handle missing snippet attribute (d888f97)
- snippet: support replacing multiple highlighting tags (15280ee)
- store: better handle facet addition and removal (bda4dc1)
- store: make page search parameter start at 1 (062f09c)
- store: remove SearchParameters explicit import (4c665fe)
- travis: switch to npm client (5065718)
- tree-menu: correct mis-usage of bem syntax (d511d03)
- bem: support block modifier class names (7bde05c)
- component-scss: add the styles to the components (372d635)
- components: add powered by support (1f750b8)
- e-commerce: add powered by (4666392)
- empty-results: expose the "query" inside of the slot (4206d89)
- example-simple: bootstrap a simple example using UMD build (bb68c7c)
- examples: add multi-index example (cf9746d)
- highlight: add a functional Highlight component (f411394)
- highlight: add an option to disable escaping the html (988b572)
- highlight: add Highlight component to the InstantSearch plugin (993fa51)
- highlight: make examples use the new Highlight component (fa377c6)
- inline-scss: add the basic css to the components (1642a56)
- multi-index: add powered by (38bebb9)
- navigation-tree: introduce a slot to allow overriding of labels (1e278a0)
- pagination: use bem method to generate customizable classes (7e1c52d)
- playground: add example of search facet label ovverriding (7706f32)
- playground: add example on how to override empty results (302d1ad)
- playground: add slot overriding example for ranged pagination (dd084a8)
- playground: example of navigation tree custom label (512d4b4)
- playground: showcase stars in rating component (b46ae70)
- powered-by: add hostname to generated URL (01bc789)
- powered-by: create powered by component (5fc1915)
- ranged-pagination: better slots for ranged pagination (85ac789)
- rating: add example of label overriding to playground (0919170)
- rating: allow for easy override of rating labels (e51bb77)
- search-box: improve accessibility (20b2725)
- search-facet: add a slot to override label (f78b8a0)
- search-form: introduce SearchForm component (beb34e1)
- search-results: add header and footer slot and hide when no results (e5cb24a)
- search-store: make query reactive in search store component (e666ff3)
- search-store: override highlight tags and expose them (687ff2a)
- snippet: add a Snippet component (f62c78c)
- snippet: add an option to disable the html escaping (70abc28)
- snippet: add the Snippet component to the InstantSearch plugin (26483b6)
- sort-by-selector: add scoped properties to default slot (6d56622)
- stats: add scoped properties to default slot (abdf64b)
- store: add query parameters setter & getter (c6e09a5)
- store: add serializing capabilities (90f5347)
- store: add user agent to client (5b1e469)
- store: allow to set and get all search parameters at once (32cc1a1)
- store: allow to wait for the store to be in sync (279f2bb)
- store: throw an error if not constructed with a helper (cbec746)
- store: unset query parameter when value is null or undefined (801914e)
- store-component: add query parameters as a property (c54bd8c)
- tree-menu: add class to list element (578c9ab)
- tree-menu: allow infinite number of nested levels (b7217e9)
- url-sync-example: add URL sync example with Vue Router (ec70e91)
- store: use Algolia light client (4a58b57)