Tantivy

Latest version: v0.22.0

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

Scan your dependencies

Page 5 of 8

0.11.2

=======================

- The future returned by `IndexWriter::merge` does not borrow `self` mutably anymore (732)
- Exposing a constructor for `WatchHandle` (731)

0.11.1

=====================

- Bug fix 729

0.11.0

=====================

- Added f64 field. Internally reuse u64 code the same way i64 does (fdb-hiroshima)
- Various bugfixes in the query parser.
- Better handling of hyphens in query parser. (609)
- Better handling of whitespaces.
- Closes 498 - add support for Elastic-style unbounded range queries for alphanumeric types eg. "title:>hello", "weight:>=70.5", "height:<200" (petr-tik)
- API change around `Box<BoxableTokenizer>`. See detail in 629
- Avoid rebuilding Regex automaton whenever a regex query is reused. 639 (brainlock)
- Add footer with some metadata to index files. 605 (fdb-hiroshima)
- Add a method to check the compatibility of the footer in the index with the running version of tantivy (petr-tik)
- TopDocs collector: ensure stable sorting on equal score. 671 (brainlock)
- Added handling of pre-tokenized text fields (642), which will enable users to
load tokens created outside tantivy. See usage in examples/pre_tokenized_text. (kkoziara)
- Fix crash when committing multiple times with deleted documents. 681 (brainlock)

How to update?

- The index format is changed. You are required to reindex your data to use tantivy 0.11.
- `Box<dyn BoxableTokenizer>` has been replaced by a `BoxedTokenizer` struct.
- Regex are now compiled when the `RegexQuery` instance is built. As a result, it can now return
an error and handling the `Result` is required.
- `tantivy::version()` now returns a `Version` object. This object implements `ToString()`

0.10.2

=====================

- Closes 656. Solving memory leak.

0.10.1

=====================

- Closes 544. A few users experienced problems with the directory watching system.
Avoid watching the mmap directory until someone effectively creates a reader that uses
this functionality.

0.10.0

=====================

*Tantivy 0.10.0 index format is compatible with the index format in 0.9.0.*

- Added an API to easily tweak or entirely replace the
default score. See `TopDocs::tweak_score`and `TopScore::custom_score` (fulmicoton)
- Added an ASCII folding filter (drusellers)
- Bugfix in `query.count` in presence of deletes (fulmicoton)
- Added `.explain(...)` in `Query` and `Weight` to (fulmicoton)
- Added an efficient way to `delete_all_documents` in `IndexWriter` (petr-tik).
All segments are simply removed.

Minor
---------

- Switched to Rust 2018 (uvd)
- Small simplification of the code.
Calling .freq() or .doc() when .advance() has never been called
on segment postings should panic from now on.
- Tokens exceeding `u16::max_value() - 4` chars are discarded silently instead of panicking.
- Fast fields are now preloaded when the `SegmentReader` is created.
- `IndexMeta` is now public. (hntd187)
- `IndexWriter` `add_document`, `delete_term`. `IndexWriter` is `Sync`, making it possible to use it with a `Arc<RwLock<IndexWriter>>`. `add_document` and `delete_term` can
only require a read lock. (fulmicoton)
- Introducing `Opstamp` as an expressive type alias for `u64`. (petr-tik)
- Stamper now relies on `AtomicU64` on all platforms (petr-tik)
- Bugfix - Files get deleted slightly earlier
- Compilation resources improved (fdb-hiroshima)

How to update?

Your program should be usable as is.

Fast fields

Fast fields used to be accessed directly from the `SegmentReader`.
The API changed, you are now required to acquire your fast field reader via the
`segment_reader.fast_fields()`, and use one of the typed method:

- `.u64()`, `.i64()` if your field is single-valued ;
- `.u64s()`, `.i64s()` if your field is multi-valued ;
- `.bytes()` if your field is bytes fast field.

Page 5 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.