NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2345 most downloaded on crates.io
Tantivy-sub crate: bitpacking
Last release 6 months ago
31 Mar 2026
Ships fairly regularly
a new release about every 7 months
Some releases are documented
notes for 4 of 10 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
10 releases · first in 2021
One column per quarter.
*Tantivy 0.10.0 index format is compatible with the index format in 0.9.0.*
Tantivy 0.10.0 index format is compatible with the index format in 0.9.0.
TopDocs::tweak_scoreand TopScore::custom_score (@fulmicoton)query.count in presence of deletes (@fulmicoton).explain(...) in Query and Weight to (@fulmicoton)delete_all_documents in IndexWriter (@petr-tik).
All segments are simply removed.u16::max_value() - 4 chars are discarded silently instead of panicking.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)Opstamp as an expressive type alias for u64. (@petr-tik)AtomicU64 on all platforms (@petr-tik)Your program should be usable as is.
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.tantivy 0.9 brought some API breaking change. To update from tantivy 0.8, you will need to go through the following steps.
0.9.0 index format is not compatible with the previous index format.
Mmap objects were being leaked, and would never get released. (@fulmicoton)INT_STORED and INT_INDEXED. It is now possible to use STORED and INDEXED
for int fields. (@fulmicoton)tantivy 0.9 brought some API breaking change. To update from tantivy 0.8, you will need to go through the following steps.
schema::INT_INDEXED and schema::INT_STORED should be replaced by schema::INDEXED and schema::INT_STORED.
The index now does not hold the pool of searcher anymore. You are required to create an intermediary object called
IndexReader for this.
// create the reader. You typically need to create 1 reader for the entire
// lifetime of you program.
let reader = index.reader()?;
// Acquire a searcher (previously `index.searcher()`) is now written:
let searcher = reader.searcher();
// With the default setting of the reader, you are not required to
// call `index.load_searchers()` anymore.
//
// The IndexReader will pick up that change automatically, regardless
// of whether the update was done in a different process or not.
// If this behavior is not wanted, you can create your reader with
// the `ReloadPolicy::Manual`, and manually decide when to reload the index
// by calling `reader.reload()?`.
API Breaking change in the collector API. (@jwolfe, @fulmicoton)
No change in the index format
Nothing published for this version
Nothing published for this version
Raise the limit of number of fields (previously 256 fields) (@fulmicoton)
(age:1)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →