0.8.0

anomalyco/opencode0.8.0Mar 17, 2025by ts-thomas

AI Summary

A major version upgrade focusing on persistent storage support (various databases), significant performance improvements (4.5x faster queries, 100x faster traversal), and extensive customization options (custom fields, score functions, encoders). It also introduces a robust build system and SSR optimizations.

Key Highlights

  • Persistent indexes support for IndexedDB, Redis, SQLite, Postgres, MongoDB, and Clickhouse
  • Significant performance gains (up to 4.5x faster queries, 100x faster offset/limit processing)
  • Enhanced language customization via the new `Encoder` class
  • New Basic Resolvers (and, or, xor, not) and Custom Fields (Virtual Fields)
  • Improved Build System supporting CommonJS, ESM, and SSR optimizations

New Features

  • Persistent indexes support for multiple databases
  • Result Highlighting
  • New Encoder class for language customization
  • Custom Fields and Custom Score Function
  • Regex Pre-Compilation
  • French language preset
  • Fast-Boot Serialization optimized for Server-Side-Rendering

Full Release Notes

- Persistent indexes support for: `IndexedDB` (Browser), `Redis`, `SQLite`, `Postgres`, `MongoDB`, `Clickhouse`
- Enhanced language customization via the new `Encoder` class
- Result Highlighting
- Query performance achieve results up to 4.5 times faster compared to the previous generation v0.7.x by also improving the quality of results
- Enhanced support for larger indexes or larger result sets
- Improved offset and limit processing achieve up to 100 times faster traversal performance through large datasets
- Support for larger In-Memory index with extended key size (the defaults maximum keystore limit is: 2^24)
- Greatly enhanced performance of the whole text encoding pipeline
- Improved indexing of numeric content (Triplets)
- Intermediate result sets and `Resolver`
- Basic Resolver: `and`, `or`, `xor`, `not`, `limit`, `offset`, `boost`, `resolve`
- Improved charset collection
- New charset preset `soundex` which further reduces memory consumption by also increasing "fuzziness"
- Performance gain when polling tasks to the index by using "Event-Loop-Caches"
- Up to 100 times faster deletion/replacement when not using the additional "fastupdate" register
- Regex Pre-Compilation (transforms hundreds of regex rules into just a few)
- Extended support for multiple tags (DocumentIndex)
- Custom Fields ("Virtual Fields")
- Custom Filter
- Custom Score Function
- Added French language preset (stop-word filter, stemmer)
- Enhanced Worker Support
- Export / Import index in chunks
- Improved Build System + Bundler (Supported: CommonJS, ESM, Global Namespace), also the import of language packs are now supported for Node.js
- Full covering index.d.ts type definitions
- Fast-Boot Serialization optimized for Server-Side-Rendering (PHP, Python, Ruby, Rust, Java, Go, Node.js, ...)