Previous changelogs:
- https://gist.github.com/vvo/7d674bc0a707fe36db09d84e7883dd50 (beta.15)
- https://gist.github.com/vvo/ac2b24d594d16f029a12b053c6971a8a (beta.18)
This is the last release with important breaking changes inside it. react-instantsearch is going out Thursday 8th December 2016 morning CET.
We focused this release on:
- providing a default consistent style, and beautiful style for our widgets (that you have to load)
- making our documentation better, especially the guide parts. We hope you like it.
As always, feel free to open a new GitHub issue to talk about your use cases.
Have a look at our roadmap for future changes.
The CSS is no more injected by default, you will have to load it. We removed any react-themeable semantics. You cannot anymore customize the CSS class names. If you were relying on non public API (like internal files) it will break. (cc @kikobeats)
There's no silver bullet for CSS in JavaScript apps so we keep it simple and only provide a regular CSS or sass file to load.
Read the styling widgets guide
stateis nowsearchStateonStateChangeis nowonSearchStateChange
Everytime we speak about "search state" or "searchState" we reference the whole <InstantSearch> state as you
were used to use.
Read the <InstantSearch> guide
The search state was previously something like this:
{
p: 1,
q: 'hello',
hPP: 5,
brands: 'Sony'
}It's now:
{
page: 1,
query: 'hello',
hitsPerPage: 5,
menu: {
brands: 'Sony'
}
}To avoid collisions of attribute names (brands) and search parameters. Also minifying search parameters is a search state synchronisation job.
createConnectorgetPropsis nowgetProvidedPropsconnectHierarchicalMenunow sendsitems.itemsand notitems.childrenais-HierarchicalMenu__itemChildrenis nownow ais-HierarchicalMenu__itemItemsRangeRatingsis nowStarRatinghitsPerPageas a prop ofHits,connectHits,InfiniteHitsorconnectInfinitehitsis no more available, please usesearchParameters,HitsPerPageorconnectHitsPerPagefor that.HitsPerPageandconnectHitsPerPageare no more allowing passing only arrays likeitems={[10,20,30]}. You need to passitems={[{value: 10}, {value: 20}]}connectSearchBoxnow sendscurrentRefinementand notqueryas provided prop
We have a new <Highlight> widget and connectHighlight that should dramatically reduce the struggle to implement highlighting in
your applications. Read the guide.
We are now compatible with react-native, via connectors. Read the guide.
All our widgets are now beautiful by default.
click here
# [2.0.0-beta.19](https://github.com/algolia/instantsearch.js/compare/v2.0.0-beta.18...v2.0.0-beta.19) (2016-12-06)- connectHierarchicalMenu: use item.items instead of item.children (#1633) (f712242), closes #1605
- connectSearchBox: provide currentRefinement instead of query (#1654) (f8bc432)
- createConnector: rename getProps into getProvidedProps (#1655) (e605348)
- default translations: fix default translations (#1656) (d3a8e03), closes #1656
- example: add default style for widget (#1661) (76a0a3d)
- id: remmove id props (#1564) (a563894), closes #1556
- menu: selecting the currentRefinement should remove it. (#1637) (0f67940)
- Pagination: when page === 1, first should not be selected (#1615) (1cf042b)
- search: don't update widgets if props hasn't changed (#1612) (6e121ef)
- url sync: back/forward button were not working (#1579) (54533e5)
- api: add namespace when storing widgets state (#1627) (fbd4cd8)
- api: make hitsPerPage and SortBy connector consistent (#1659) (2a9c18d)
- api: renaming state/onStateChange to searchState/onSearchStateChange for InstantSearch component (#1667) (f009c95)
- Highlight: provide Highlight widget and connectHighlight connector (7e79db6)
- hitsPerPage: hitsPerPage is now only configured by HitsPerPage (#1653) (6ada577)
- react-native: make react-instantsearch compatible for native dev (#1573) (91df45a)
- theme: move to CSS file and CSS class names only theming (#1632) (8851e3e), closes #1575
- unmount: clean state if a widget is unmounted except if it is persistent (#1588) (61d68a0)
- widget: rename rangeRatings to starRatings + design improvements (#1646) (7446194)
- api: - InstantSearch props state and onStateChange are now called searchState and onSearchStateChange
- connectSearchBox: - connectSearchBox now forward the query as props.currentRefinement like any other connector
- api: - HitsPerPage doesn't accept items with the form: array of number. Only object are allowed (label and value).
- hitsPerPage: - You cannot configure hitsPerPage anymore on: Hits, connectHits,
InfiniteHits, connectInfiniteHits. Please use HitsPage,
connectHitsPerPage or searchParameters option of
<InstantSearch> - createConnector: When creating custom connectors, getProps is now named getProvidedProps
- widget: RangeRatings is now StarRating
- connectHierarchicalMenu: - HierarchicalMenu ais-HierarchicalMenu__itemChildren css class name is now ais-HierarchicalMenu__itemItems
- connectHierarchicalMenu item.children forwarded prop is now item.items
- theme: - CSS is no more injected by default, read our styling guide to know how to load it
- react-themeable, theme={} prop have been removed from the codebase, the only way to style widgets is now to use CSS class names
- api: - our internal state shape now includes namespacing to avoid id collision. Also some existing keys were renamed:
- searchbox was using 'q' now it uses 'query'
- hitsPerPage was using 'hPP' now it uses 'hitsPerPage'
- pagination and infiniteHits were using 'p' now it uses 'page'
- toggle internal state change from 'on/off' to 'true/false' For more information about the state shape, please read our documentation.