Typesense

Latest version: v0.21.0

Safety actively analyzes 630094 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

0.23.1

This release contains a few enhancements and bug fixes identified in [v0.23.0](https://github.com/typesense/typesense/releases/tag/v0.23.0) which we thought are important enough to warrant a patch release. If you're using v0.23.0, we recommend upgrading.

Bug Fixes

- Fixed a potential crash caused by attempting to alter the `id` field.
- Fixed synonym queries not respecting the `prefix` setting.
- Fixed a rare bug present in exact filtering of string arrays.
- Fixed a race condition in slow request logging that led to a crash under high concurrency.
- Better validation of regular expression used in API key collection allow list.
- ARM builds now work on more ARM processors (previously worked only on Graviton instances)

Enhancements

- Improved filtering performance, upto 5x-10x faster when querying a small subset on large datasets
- Support for `sort_by` parameter in override rule.
- Allow word position in a field value to be used a ranking signal via the `prioritize_token_position` search parameter.
- Improved stability in rotation of geographically distributed clusters having a large dataset.

Download

Please download the appropriate binary archive for your operating system and architecture here: https://typesense.org/downloads/

**NOTE:** The new version is also available on [Typesense Cloud](https://cloud.typesense.org/). If you're already using Typesense Cloud, please reach out to us to have your cluster upgraded to v0.23.1.

Upgrade

Before upgrading your existing Typesense cluster to v0.23.1, please review the changes above to prepare your application for the upgrade.

- ⚠️ For self-hosted Typesense deployment, please refer to the important upgrade section of the [0.23 documentation](https://typesense.org/docs/0.23.1/api/#upgrading).
- For Typesense Cloud, email us at `contacttypesense.org` and we can do an in-place upgrade for you.

0.23.0

This release contains new features, performance improvements and important bug fixes.

New Features

- Phrase search: wrap keywords in a query with double quotes to search them as a phrase, e.g. `"new york"`.
- Schema changes: we now support fields to be added or dropped from a collection schema in-place.
- Improved multi-field matching: much better performance and accuracy when query keywords have to be matched across
multiple fields in a document.
- Infix searching: find string within strings, which is useful for entities like model number or email address.
- Allow string fields to be sorted: sorting on string fields can be enabled by setting `sort: true` parameter of the field.

Enhancements

- Improved update and delete performance of numerical fields by 10x.
- Emplace mode for imports: using the `emplace` action creates a document if it does not exist in a collection
or updates it (partially or fully) if it already exists.
- Treat space as typo: search for `basket ball` if `basketball` is not found or vice-versa. You can disable this behavior
by setting `split_join_tokens: false`.
- Improved Cyrillic support: better highlighting and fuzzy search for fields configured with:
`el`, `ru`, `sr`, `uk` and `be` locales.
- ARM compatibility: an ARM build is now published for every release.
- Each multi-search query can have an independent `x-typesense-api-key` key. This is useful to specify different scoped search API keys for each search.
- Control the number of words that Typesense considers for typo and prefix searching via the `max_candidates` parameter.
- CORS can now be enabled for a specific set of domains using the `--cors-domains` flag.
- Search results are now highlighted by prefix, rather than the full world.
Previously, searching for "app" will highlight the full word "apple" in the results, but now it will only highlight the "app"le prefix within the word.
- "Remove Matched Tokens" can be used by itself in Overrides. So you can now setup rules like, if query contains "word", remove "word" from the search query.
- Ability to toggle if filters should by applied to overrides or not using the `filter_curated_hits` flag.
- Ability to hide `out_of` and `search_time_ms` from the search API response, using the `exclude_fields` parameter.
- Ability to control typo tolerance for facet queries using `facet_query_num_typos`.
- Ability to specify which subnet to use for peering using `--peering-subnet` server parameter.

Bug Fixes

- Fixed exact match of synonym query candidates not being ranked correctly.
- Fix glibc incompatibility on recent Linux distros (Ubuntu 21.04+). [531](https://github.com/typesense/typesense/issues/531)
- Fixed the `snippet` containing the full field value when `highlight_full_fields` is enabled.
- Fixed `--enable-cors=true` flag format not working. Earlier, only the `--enable-cors` format worked.
- Fixed exact match for repeated words (when searching for repeated words such as "Boom Boom"). [427](https://github.com/typesense/typesense/issues/427)
- Fixed `highlight_fields` parameter not respecting `include_fields`. [556](https://github.com/typesense/typesense/issues/556)
- Fixed document ids that are accepted with space char (%20) but cannot be deleted later. [574](https://github.com/typesense/typesense/issues/574)
- Improved highlighting of text containing punctuations. [528](https://github.com/typesense/typesense/issues/528)
- Fixed case sensitivity of facet fields. [504](https://github.com/typesense/typesense/issues/504)

Deprecations / behavior changes

- In prefix queries, only the prefix part of a word in the result is highlighted now, instead of the whole word.
For e.g. given a query like "new y", the result will be highlighted as `<mark>New Y</mark>ork City`.

Download

Please download the appropriate binary archive for your operating system and architecture here: https://typesense.org/downloads/

**NOTE:** The new version is also available on [Typesense Cloud](https://cloud.typesense.org/). If you're already using Typesense Cloud, please reach out to us to have your cluster upgraded to v0.23.0.

Upgrade

Before upgrading your existing Typesense cluster to v0.23.0, please review the behavior changes above to prepare your application for the upgrade.

- For self-hosted Typesense deployment, please refer to the important upgrade section of the [0.23.0 documentation](https://typesense.org/docs/0.23.0/api/#upgrading). This particular version requires a specific set of upgrade steps especially for multi-node clusters.
- For Typesense Cloud, visit your [clusters page](https://cloud.typesense.org/clusters), click on the cluster you want to upgrade, click on "Modify Configuration" on the right pane and schedule a time for your upgrade. Alternatively, you can also email `supporttypesense.org`.

0.22.2

This release contains a couple of bug fixes identified in [`v0.22.1`](https://github.com/typesense/typesense/releases/tag/v0.22.1) which we thought are important enough to warrant a patch release. If you're using `v0.22.1`, we recommend upgrading.

Bug Fixes

- Handle bad geo polygon vertices (e.g. duplicate points).
- Fixed an edge case in ranking of words that share a prefix during prefix search.
- Better validation + handling of unexpected data errors during indexing.
- Fixed a rare but critical bug that manifested during document updates that had performance implications.

Download

Please download the appropriate binary archive for your operating system and architecture here: https://typesense.org/downloads/

**NOTE:** The new version is also available on [Typesense Cloud](https://cloud.typesense.org/). If you're already using Typesense Cloud, please reach out to us to have your cluster upgraded to v0.22.2.

Upgrade

Before upgrading your existing Typesense cluster to v0.22, please review the behavior changes above to prepare your application for the upgrade.

- ⚠️ For self-hosted Typesense deployment, please refer to the important upgrade section of the [0.22 documentation](https://typesense.org/docs/0.22.2/api/#upgrading).
- For Typesense Cloud, email us at `contacttypesense.org` and we can do an in-place upgrade for you.

0.22.1

This release contains a couple of bug fixes identified in [`v0.22.0`](https://github.com/typesense/typesense/releases/tag/v0.22.0) which we thought are important enough to warrant a patch release. If you're using `v0.22.0`, we recommend upgrading.

Bug Fixes

- Fixed an edge case in exporting of documents using a `filter_by` condition: documents were being duplicated.
- Allow a document to contain a dict/hashmap field when a wildcard auto (`.*`) field is present in the collection schema.

Download

Please download the appropriate binary archive for your operating system and architecture here: https://typesense.org/downloads/

**NOTE:** The new version is also available on [Typesense Cloud](https://cloud.typesense.org/). If you're already using Typesense Cloud, please reach out to us to have your cluster upgraded to v0.22.1.

Upgrade

Before upgrading your existing Typesense cluster to v0.22, please review the behavior changes above to prepare your application for the upgrade.

- ⚠️ For self-hosted Typesense deployment, please refer to the important upgrade section of the [0.22 documentation](https://typesense.org/docs/0.22.1/api/#upgrading).
- For Typesense Cloud, email us at `contacttypesense.org` and we can do an in-place upgrade for you.

0.22.0

This release contains new features, performance improvements and important bug fixes.

New Features

- Customizable word separators: define a list of special characters via the `token_separators` configuration
during schema creation. These characters are then used as word separators, _in addition_ to space and new-line characters.
- Index and search special characters: define a list of special characters that will be indexed as text via the
`symbols_to_index` configuration during schema creation.
- Dynamic filtering based on rules: overrides now support a `filter_by` clause that can apply filters dynamically to query rules defined in the override.
- Server side caching: cache search requests for a configurable amount of time to improve perceived latencies on heavy queries. Refer to the `use_cache` and `cache_ttl` parameters. By default, caching is disabled.
- Protection against expensive queries via the use of `search_cutoff_ms` parameter that attempts to return results early when the cutoff time has elapsed. This is not a strict guarantee and facet computation is not bound by this parameter.
- Added `geo_precision` sorting option to geo fields. This will bucket geo points into "groups" determined by the given precision value, such that points that fall within the same group are treated as equal, and the next sorting field can be considered for ranking.

Enhancements

- Reduced memory consumption: 20-30% depending on the shape of your data.
- Improved update performance: updates on string fields are now 5-6x faster.
- Improved search performance: 20-25% faster on a variety of datasets we tested on.
- Improved parallelization for multi-collection writes: collections are now indexed independently, making indexing much faster when you are writing to hundreds of collections at the same time.
- Allow exhaustive searching via the `exhaustive_search` parameter. Setting `?exhaustive_search=true` will make Typesense consider _all_ prefixes and typo corrections of the words in the query without stopping early when enough results are found (`drop_tokens_threshold` and `typo_tokens_threshold` configurations are ignored).
- Exact filtering on strings (using the `:=` operator) no longer requires the field to be defined as a facet.
- Make minimum word length for 1-char typo and 2-char typos configurable via `min_len_1typo` and `min_len_2typo` parameters. Defaults are 4 and 7 respectively.
- Support filtering by document `id` in filter_by query.
- Support API key permission for creating a specific collection: previously, there was no way to generate an API key that allows you to create a collection with a specific name.
- Allow use of type `auto` for a field whose name does not contain a regular expression.
- Geosearch polygon filter automatically sorts the geo points for the polygon in the correct order: so you don't have to define them in counter clockwise order anymore.

Bug Fixes

- Fixed edge cases in import of large documents where sometimes, imports hanged mysteriously or ended prematurely.
- Fixed document with duplicate IDs within an import upsert batch being imported as two separate documents.
- Fixed fields with names that contain a regular expression acting as an `auto` type instead of respecting the schema type.
- Fixed a few edge cases in multi-field searching, especially around field weighting and boosting.
- Fixed deletion of collections with slashes or spaces in their names not working: you can now URL encode the names while calling the API.

Deprecations / behavior changes

- Once you upgrade your Typesense server to `v0.22`, the data directory cannot be used with
`v0.21.0` binary again. So, please take a snapshot/backup of the data directory before upgrading. See important upgrade instructions below.
- The `drop_tokens_threshold` and `typo_tokens_threshold` now default to a value of `1`.
If you were relying on the earlier defaults (`10` and `100` respectively), please set these parameters explicitly.
- Minimum word length for 1-char typo correction has been increased to 4.
Likewise, minimum length for 2-char typo has been increased to 7. This has helped to reduce false fuzzy matches.
You can use the `min_len_1typo` and `min_len_2typo` parameters to customize these default values.

Download

Please download the appropriate binary archive for your operating system and architecture here: https://typesense.org/downloads/

**NOTE:** The new version is also available on [Typesense Cloud](https://cloud.typesense.org/). If you're already using Typesense Cloud, please reach out to us to have your cluster upgraded to v0.22.0.

Upgrade

Before upgrading your existing Typesense cluster to v0.22, please review the behavior changes above to prepare your application for the upgrade.

- For self-hosted Typesense deployment, please refer to the important upgrade section of the [0.22 documentation](https://typesense.org/docs/0.22.0/api/#upgrading). This particular version requires a specific set of upgrade steps especially for multi-node clusters.
- For Typesense Cloud, email us at `contacttypesense.org` and we can do an in-place upgrade for you.

0.21.0

This release contains new features, performance improvements and important bug fixes.

New Features

- Geosearch: Use the geopoint data type to index locations, filter and sort on them. We support filtering on records within a given radius and as well as within any arbitrarily defined geo polygon.
- Wrap literal strings in filter_by values using backticks to ensure that the commas in filter values don't get parsed as a list separator. Example: filter_by: primary_artist_name:=[`Apple, Inc.`]
- Support exclude / not equals operator for filtering string and boolean facets. Example: filter_by=author:!= JK Rowling
- Ability to turn off prefix search on a per field basis. For example, if you are querying 3 fields and want to enable prefix searching only on the first field, use `?prefix=true,false,false`. The order should match the order in `query_by`.
- Ability to turn off typo tolerance on a per field basis. For example, if you are querying 3 fields and want to disable typo tolerance on the first field, use `?num_typos=0,2,2`. The order should match the order in `query_by`.
- You can now highlight fields that you don't query for. Use ?highlight_fields=title to specify a custom list of fields that should be highlighted.
- Add `filter_by`, `include_fields` and `exclude_fields` options to documents/export endpoint.

Enhancements

- Increased maximum supported length of HTTP query string to 4K characters: if you wish to send larger payloads, use the multi-search end-point.
- Accept null values for optional fields.
- Support for indexing pre-segmented text: you can now index content from any logographic language into Typesense if you are able to segment / split the text into space-separated words yourself before indexing and querying. You should also set `?pre_segmented_query=true` during searching.
- If you have some overrides defined but want to disable all of them during query time, you can now do that by setting `?enable_overrides=false.`

Bug Fixes

- Fixed some edge cases with typo correction not finding the correct matches
- Ensure that exact matches are ranked above others. Set `?prioritize_exact_match=false` to disable this behavior.
- Fixed `collections:*` API key permission which was not previously being recognized by the authentication engine.
- Fixed float facets being displayed with imprecise precision when displayed as string.

Deprecations

- There is a change in the upsert behavior to conform to existing popular conventions: The upsert action now requires the whole document to be sent for indexing. If you wish to update part of a document, use the update action.

Download

Please download the appropriate binary archive for your operating system and architecture here: https://typesense.org/downloads/

**NOTE:** The new version is also available on [Typesense Cloud](https://cloud.typesense.org/). If you're already using Typesense Cloud, please reach out to us to have your cluster upgraded to v0.21.0.

Upgrade

- For self-hosted Typesense deployment, please replace the binary and restart the Typesense process.
- For Typesense Cloud, email us at `contacttypesense.org` and we can do an in-place upgrade for you.

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.