# Changelog: 1.24.0

A site switches between a v9 and a v10 backend by changing its config, so both
must offer the same search contract. This release adds that contract for a map of
every search match without prices, for showing every result of a small portfolio
in one call, and for the number of matches a search has. `@v-office/website-sdk`
implements it for v9; this package implements it for v10.

## Added

- `SearchService.mapSearch({ locale, query })`: every rental the search matches,
  as `{ id, location? }`, plus `totalCount`, `appliedFilters` and
  `unusedFilterKeys`. On v10 it is one search request without prices that projects
  only the location, for up to 1,000 matches (the backend's result window;
  `totalCount` can be higher). Optional on the service shape, as the 1.22.0
  additions were, so custom implementations of `SearchService` keep compiling; the
  v10 live layer provides it.
- The `searchAllRentalsAtOnce` option (default `false`). With `true`, `search`
  returns every result with its price in one call and takes no `cursor` or
  `limit`; on v10 it asks for 101 results and rejects with the `CoreSDKError`
  operation `search.allRentalsAtOnce` when the response total is above
  `SEARCH_ALL_RENTALS_AT_ONCE_MAX_RESULTS` (100). `mapSearch` then rejects with the
  operation `search.mapSearch`. A passed `cursor` or `limit` rejects with
  `search.allRentalsAtOnce` before any request.
- `pageInfo.totalCount` on `SearchSearchOutput`: the number of rentals the backend
  matched over all pages. On v10 it is the search response's `total`.
- `SEARCH_ALL_RENTALS_AT_ONCE_MAX_RESULTS`, the types `SearchMapSearchInput`,
  `SearchMapSearchOutput`, `SearchMapSearchOutputItem` and
  `SearchAllRentalsAtOnceInput`, and the schemas `SearchMapSearchInputSchema`,
  `SearchMapSearchOutputItemSchema` and `SearchMapSearchOutputSchema`.

## Changed

- `SearchSearchOutput.pageInfo.totalCount` is required. A custom `SearchService`
  implementation must return it.

## Unchanged

- A v10 search with the default option: same request, same items, alternatives,
  prices and cursor.
