Version 28.0
This release contains important new features, performance improvements and bug fixes.
New Features
- Support union / merging of search results across collections containing similar type of fields. (https://github.com/typesense/typesense/pull/2051)
- Dictionary based stemming: stemming is now configurable through an import of a custom dictionary that maps a word to a root form. (https://github.com/typesense/typesense/pull/2062)
- Allow search results to be randomized via
sort_by=_rand(seed)clause. (https://github.com/typesense/typesense/pull/1918) - Ability to re-rank hybrid search hits by augmenting their keyword / semantic match score when the hit was identified by only either keyword or vector search. (https://github.com/typesense/typesense/pull/1968)
- Sort hits based on a pivot value. (https://github.com/typesense/typesense/pull/2003)
- Support decay functions in
sort_byto support gaussian, linear, and exponential decay of values. (https://github.com/typesense/typesense/pull/2036) - Field level
token_separatorsandsymbols_to_indexare now supported. (https://github.com/typesense/typesense/pull/2118) - Support bucketing of text match scores based on
bucket_sizeparameter. (https://github.com/typesense/typesense/pull/2120) - Ability to truncate a collection. (https://github.com/typesense/typesense/pull/2127)
- Index and search on geo polygons. (https://github.com/typesense/typesense/pull/2150)
Enhancements
- Support
distance_thresholdparameter for vector query that uses inner product distance. - Allow updating of remote model's
api_keyparameter. (https://github.com/typesense/typesense/pull/1944) - Support
max_filter_by_candidatessearch parameter that controls the number of similar words that Typesense considers during fuzzy search onfilter_byvalues (default is4). - Performance and stability fixes for joins.
- API endpoint that returns status of alter schema operations that are in-progress. (https://github.com/typesense/typesense/pull/2123)
- Faceting performance improvements.
Bug Fixes
- Fixed fields with
async_referenceproperty not being restored correctly on restart. - Fixed sorting with nested reference fields.
- Addressed edge cases in conversation API.
- Assign default sorting score if reference is not found while sorting by a reference field.
- Fix
distance_thresholdinvector_querynot working correctly while sorting. - Add validation to ensure that embedding fields are of type
float[]. - Fix vector query format validation error messages.
- Fix race condition in high concurrency image embedding.
- Fix
flat_search_cutoffnot working for hybrid search.
Deprecations / behavior changes
There are no deprecations / behavior changes in this release.
Upgrading
Before upgrading your existing Typesense cluster to v28.0, please review the behavior changes above to prepare your application for the upgrade.
We'd recommend testing on your development / staging environments before upgrading.
Typesense Cloud
If you're on Typesense Cloud:
- Go to https://cloud.typesense.org/clusters.
- Click on your cluster
- Click on "Cluster Configuration" on the left-side pane, and then click on "Modify"
- Select a new Typesense Server version in the dropdown
- Schedule a time for the upgrade.
Self Hosted
If you're self-hosting Typesense, here are instructions on how to upgrade: https://typesense.org/docs/28.0/api/#self-hosted
Downgrading
Once you upgrade to v28 of Typesense Server, you can only downgrade back to v27 or v26.
Documentation
View the complete API documentation for this release here: https://typesense.org/docs/28.0/api/