Skip to content

Release v0.12.0

Choose a tag to compare

@jruaux jruaux released this 12 Dec 00:37
· 23 commits to main since this release

Changelog

🚀 Features

  • fca54fb demo: add semantic router with response classifier and UX improvements
  • 48c006e demo: add model selector with API key detection and RAG parameters
  • 710b57f demo: add Material UI vertical tabs and improve retrieval
  • fba1b14 demo: add collapsible log panel with vertical tab
  • 0e2eebd demo: add clickable source references with PDF page navigation
  • c807672 demo: add cache toggle with local and cloud cache options
  • 93dd2ba demo: add PDF viewer panel with page navigation
  • b7ec66a demo: add debug logging for content retrieval
  • 53b4e91 messagehistory: implement SemanticMessageHistory with vector search
  • 43b2405 langcache: implement URL percent-encoding and per-entry TTL support, closes #442
  • b0958b4 query: add runtime parameters support for vector queries, closes #439
  • c792593 add AggregateHybridQuery alias and complete notebook tests
  • 548f095 add AggregateHybridQuery and complete notebook port
  • 84ef410 notebooks: port Python notebook 11_advanced_queries to Java, closes #434 #436 #437 #438
  • 7cee96b langcache: add attribute encoding/decoding for special characters, closes #437 #438
  • cc09909 schema: add index-level stopwords support, closes #436
  • 9c72f57 schema: add field modifier ordering support (PR #434), closes #434
  • b3ff611 add multimodal RAG demo with LangChain4J and LangCache integration
  • 539b8de add LangCache semantic cache integration, closes #418 #428 #429
  • 77aaa15 add LangChain4J integration with EmbeddingStore, ContentRetriever, ChatMemoryStore, and DocumentStore
  • 598f7e6 add Redis Sentinel URL support (#213), closes #213 #385
  • 12e16df schema: add SVS-VAMANA vector indexing algorithm support (#404), closes #404
  • f7faba0 messagehistory: add role filtering to getRecent() method (#349), closes #349 #387
  • a341d4b query: add multi-vector query support (#402), closes #402
  • 9b4d792 schema: add UNF/NOINDEX field attributes (#374), closes #374 #386
  • 1440a12 implement skip_decode parameter for binary fields (port of Python PR #389), closes #252 #389
  • 5364afa implement multi-field sorting support
  • 1ecd8a5 add text field weights support to TextQuery (#384), closes #384
  • 1bc8859 use AbstractPipeline for Redis Cluster compatibility, closes #365
  • 8086a17 normalize key separators to prevent double separators, closes #368
  • 4a6f286 add multiple prefix support to SearchIndex.fromExisting(), closes #258 #392
  • 2c09995 add support for string filter expressions in HybridQuery, closes #375
  • 923a68f messagehistory: implement MessageHistory feature
  • 76d4001 notebooks: port 04_vectorizers.ipynb
  • 9eec04c notebooks: port vectorizers notebook from Python to Java
  • 69c6020 semantic_router: first cut of semantic router
  • dd934b6 rerank: add VoyageAI reranker and enhance CohereReranker
  • c8544c7 rerank: add Cohere reranker implementation
  • bf84c84 implement HuggingFace cross-encoder reranking with ONNX
  • b8a682e query: add sortBy and inOrder parameters to vector queries
  • adb99fd query: add aggregation and hybrid search queries
  • c9df926 implement semantic and embeddings cache extensions
  • a7b3917 add vectorizer infrastructure for embedding generation
  • f8e7cce implement more sofisticated storage backbone
  • f57f3af initial implementation of RedisVL4J

🐛 Fixes

  • 82d25bf test: use order-independent assertions in testMessagesProperty
  • 11ec190 demo: suppress this-escape compiler warnings in JavaFX panels
  • 2a8b1b6 test: use order-independent assertions in testGetRaw
  • ff1e3d8 demo: improve RAG retrieval to include text content
  • 3d1cc9d query: escape special characters in tag filter values
  • 10c103d multivector: Implement AggregationQuery interface for proper FT.AGGREGATE execution
  • 11f4c16 test: fix AdvancedQueriesNotebookIntegrationTest data loading
  • b51fcb5 test: use ONNX-compatible model for SemanticRouterIntegrationTest
  • 60e0471 vectorizers: add inputType parameter for Cohere v3 models
  • 44e7ce8 notebooks: rewrite 04_vectorizers.ipynb with correct APIs
  • ab7faf1 router: remove dead debug code from SemanticRouter
  • 0348dbe javadoc: use versioned Jedis URL to prevent redirect warning
  • ecc9079 javadoc: add comprehensive Javadoc and suppress Lombok warnings
  • 74f9ffb spotbugs: address spotbugs reports
  • 769b7b9 test: clean VoyageAI test and rename TokenizationDebugTest -> CrossEncoderTokenizationTest

🔄️ Changes

  • f22c40b improve code organization and test coverage

🧪 Tests

  • 305aaf8 multivector: Update unit test to expect @ prefix in scoring formula
  • c670ddc add integration tests for multi-vector query, UNF/NOINDEX, and multi-field sorting, closes #374 #402
  • bf2f286 notebooks: add comprehensive integration test for vectorizers notebook
  • 1ab320d add comprehensive vectorizer provider tests
  • f136355 add test categorization for better test organization

🧰 Tasks

  • 741144e docs: update package-lock.json from npm install
  • e6f54ed deps: bump jedis from 6.2.0 up to 7.0.0
  • a03e162 notebooks: update all notebooks to use Jedis 6.2.0
  • 53148a9 apply spotless formatting

🛠 Build

  • 174feee GitHub Actions workflows
  • 2b27039 add ONNX Runtime and model loading dependencies

📝 Documentation

  • f56f762 update the docs site tag line
  • a0c7556 add comprehensive LangChain4J and LangCache documentation
  • 0292e2c #373: verify sortBy already implemented for VectorQuery and VectorRangeQuery, closes #373
  • 75f9b0b add multiple prefix and fromExisting() documentation
  • ec4946e add comprehensive HybridQuery documentation
  • 97c6273 readme: improving SemanticRouter example (#1), closes #1
  • ad11ed2 readme: update main README
  • f734507 add semantic router documentation
  • 2a68ca2 first cut of Antora docs site
  • 84621c6 add Jupyter notebooks for cache functionality

Contributors

We'd like to thank the following people for their contributions:

  • Brian Sam-Bodden (@bsbodden)
  • GitHub ()
  • Raphael De Lio ()