Releases: meilisearch/meilisearch-js
v0.46.0 🌻
⚠️ Breaking changes
Old:
import { MeiliSearch } from "meilisearch";
const client = new MeiliSearch({ host: "http://127.0.0.1:7700", apiKey: "masterKey" });
const token = await client.generateTenantToken("e489fe16-3381-431b-bee3-00430192915d");
// ...
New:
import { generateTenantToken } from "meilisearch/token";
const token = await generateTenantToken("e489fe16-3381-431b-bee3-00430192915d", [], { apiKey: "masterKey" });
// ...
🐛 Bug Fixes
- fix: pull the latest in the CI instead of forcing the v1.11 (#1751) @mdubus
- Updated Type definition for multiSearch return types for better TS support (#1776) @Barabasbalazs
🔒 Security
- build(deps): bump @eslint/plugin-kit from 0.2.0 to 0.2.3 (#1763)
- build(deps): bump cross-spawn from 6.0.5 to 6.0.6 in /playgrounds/javascript (#1766)
Thanks again to @Barabasbalazs, @flevi29, @mdubus! 🎉
v0.45.0 🌻
This version introduces features released on Meilisearch v1.11.0 🎉
Check out the changelog of Meilisearch v1.11.0 for more information on the changes.
⚠️ Breaking changes (experimental feature only)
- Adapt the library to the new usage of the Hybrid search and
embedder
settings in Meilisearch v1.11 (#1715) @mdubus
🚀 Enhancements
⚙️ Maintenance/misc
- Remove eslint vitest exceptions (#1748) @Barabasbalazs
Thanks again to @Barabasbalazs, @brunoocasali, @curquiza, @mdubus! 🎉
v0.44.1 🌻
v0.44.0 🌻
⚠️ Breaking changes
- Add
package.json
"exports"
field (#1611) @flevi29
Could be a breaking change for anyone who was importing anything other than what we have in the "exports" package.json field.
⚙️ Maintenance/misc
- Switch test runner from Jest to Vitest (#1694) @flevi29
- Update wrong rollup terser dependency (#1725) @flevi29
Thanks again to @flevi29, @meili-bors[bot] ! 🎉
v0.43.0 🌻
⚠️ Breaking changes
🔒 Security
- build(deps): bump elliptic from 6.5.4 to 6.5.7 in /playgrounds/javascript (#1699)
- build(deps): bump serve-static from 1.14.1 to 1.16.2 in /playgrounds/javascript (#1700)
⚙️ Maintenance/misc
- Add
"packageManager"
entry to package.json (#1698) @flevi29 - Remove
.editorconfig
(#1696) @flevi29 - Update check-release.sh following format (#1733) @curquiza
Thanks again to @brunoocasali, @curquiza, @flevi29, @meili-bors[bot] ! 🎉
v0.42.0 🌻
This version introduces features released on Meilisearch v1.10.0 🎉
Check out the changelog of Meilisearch v1.10.0 for more information on the changes.
⚠️ Breaking changes
- Improve errors (#1656) @/flevi29
More details here - Changes related to Hybrid search (experimental) for the REST embedder (#1692) @mdubus
- Removed parameters:
query
,inputField
,inputType
,pathToEmbeddings
andembeddingObject
. - Replaced by
request
andresponse
- New parameter:
headers
- Removed parameters:
🚀 Enhancements
-
Hybrid search improvements (#1692) @mdubus
- Add
url
parameter to the OpenAI embedder dimensions
is now available as an optional parameter forollama
embedders.
- Add
client.multiSearch({
federation: {},
queries: [
{
indexUid: 'movies',
q: 'batman',
limit: 5,
},
{
indexUid: 'comics',
q: 'batman',
limit: 5,
},
]
})
index.updateDocumentsByFunction({
context: { ctx: 'Harry' },
filter: 'id = 4',
function: 'doc.comment = `Yer a wizard, ${context.ctx}!`',
})
)
- Add language settings (#1693) @/flevi29
client.index('INDEX_NAME').updateLocalizedAttributes([
{ attributePatterns: ['jpn'], locales: ['*_ja'] },
];)
client.index('INDEX_NAME').search('進撃の巨人', { locales: ['jpn'] })
⚙️ Maintenance/misc
Thanks again to @amit-ksh, @brunoocasali, @curquiza, @flevi29, @mdubus, @meili-bors[bot] ! 🎉
v0.41.0 🌻
This version introduces features released on Meilisearch v1.9.0 🎉
Check out the changelog of Meilisearch v1.9.0 for more information on the changes.
🚀 Enhancements
- Add frequency matching strategy (#1670) @the-sinner
client.index('movies').search('interstellar', { matchingStrategy: MatchingStrategies.FREQUENCY });
- Add
rankingScoreThreshold
insearch
(#1669) @the-sinner and insearchGet
(#1673) @mdubus
client.index('movies').search('badman', { rankingScoreThreshold: 0.2 });
client.index('movies').searchGet('badman', { rankingScoreThreshold: 0.2 });
client.index('movies').search('', { distinct: 'genre' });
client.index('movies').searchSimilarDocuments({ id: 'target-document-id' });
client.index('movies').getDocuments({ retrieveVectors: true });
🔒 Security
- build(deps): bump ws from 5.2.3 to 5.2.4 in /playgrounds/javascript (#1672)
⚙️ Maintenance/misc
- Remove unneeded comments from config files (#1657) @flevi29
- Fix release version check script (#1681) @curquiza
Thanks again to @brunoocasali, @curquiza, @flevi29, @mdubus, and @the-sinner! 🎉
v0.40.0 🌻
💥 Breaking Changes
- Fix the issue introduced in the v0.39 that affected vite apps #1652 @brunoocasali
- Now to use the
generateTenantToken
you should use it withawait
:
before:after:const token = client.generateTenantToken(apiKeyUid, searchRules, { apiKey: apiKey, expiresAt: expiresAt, })
const token = await client.generateTenantToken(apiKeyUid, searchRules, { apiKey: apiKey, expiresAt: expiresAt, })
⚙️ Maintenance/misc
Thanks again to @brunoocasali, @mdubus! 🎉
v0.39.0 🌻
🚀 Enhancements
- feat: hybrid search improvements for v1.8.x (#1647) @mdubus
- Add
null
to Embedder type (#1646) @amit-ksh - Add searchCutoffMs index setting (#1643, #1645) @amit-ksh
client.index('movies').getSearchCutoffMs() client.index('movies').updateSearchCutoffMs(150) client.index('movies').resetSearchCutoffMs()
export default defineConfig({
plugins: [vue()],
build: {
rollupOptions: {
external: ['crypto'], // this is the important part
},
},
})
Otherwise, you'll face errors like Module "crypto" has been externalized for browser compatibility
.
⚙️ Maintenance/misc
- Update ESLint, Prettier, TypeScript and fix/improve their configuration files (#1616) @flevi29
- Fix code style after configuration changes (#1638) @brunoocasali
Thanks again to @amit-ksh, @brunoocasali, @curquiza, @flevi29, @mdubus! 🎉
v0.38.0 🌻
This version introduces features released on Meilisearch v1.7.0 🎉
Check out the changelog of Meilisearch v1.7.0 for more information on the changes.
⚠️ Breaking changes
- Update Node.js versions that are used in tests (#1620) @flevi29
scoreDetails
feature is not experimental anymore. You can directly useshowRankingScoreDetails
during a search without activating the experimental feature 🎉
🚀 Enhancements
dimensions
field is available to the OpenAi model (#1631) @nicolasvienot- Enable limit and offset according to documentation. (#1630) @reijovosu