Skip to content

Releases: rryam/VecturaKit

5.1.0

05 Mar 11:30
8f21ea4

Choose a tag to compare

What's Changed

Full Changelog: 5.0.0...5.1.0

5.0.0

12 Feb 09:44
0b2beed

Choose a tag to compare

Highlights

  • Add core SwiftEmbedder model-family resolution refactor and static embedding dimension handling improvements.
  • Add ModernBERT support in SwiftEmbedder.
  • Add RoBERTa and XLM-RoBERTa support in SwiftEmbedder.
  • Add embedder validation and BERT fallback robustness fixes.
  • Align package platform minimums with runtime requirements and clean up redundant availability guardrails.

Included pull requests

  • #69 Refactor SwiftEmbedder core model resolution
  • #70 Add ModernBERT support to SwiftEmbedder
  • #71 Add RoBERTa and XLM-RoBERTa support to SwiftEmbedder
  • #72 Embedder validation and errors
  • #73 Raise platform minimums and remove availability guards

4.0.0

05 Feb 18:50
d7038f6

Choose a tag to compare

Breaking Changes

  • VecturaMLXKit extracted to separate repository: VecturaMLXKit, VecturaMLXCLI, and MLX-related tests have been moved to rryam/VecturaMLXKit. This removes the need for Package Traits (SE-0450).
  • Package Traits removed: The MLX trait no longer exists. MLX users should add VecturaMLXKit as a separate dependency.
  • swift-tools-version reverted to 6.0: Swift 6.1 is no longer required for this package.
  • mlx-swift-lm dependency removed: This package no longer pulls in any MLX-related dependencies.

Migration

Before (3.0.0 with traits):

.package(url: "https://github.com/rryam/VecturaKit.git", from: "3.0.0", traits: ["MLX"])

After (4.0.0):

.package(url: "https://github.com/rryam/VecturaKit.git", from: "4.0.0"),
.package(url: "https://github.com/rryam/VecturaMLXKit.git", from: "1.0.0"),

Both packages can be added directly via Xcode's "Add Package Dependencies" UI -- no workarounds needed.

Fixes #66

Full Changelog

3.0.0...4.0.0

3.0.0

29 Jan 11:39

Choose a tag to compare

Highlights

  • Package Traits (SE-0450): MLX dependencies are now optional. Consumers using only VecturaKit or VecturaNLKit no longer download the heavy mlx-swift-lm package, significantly improving build times.
  • Swift 6.1+ Required: Bumped swift-tools-version to 6.1 for Package Traits support.
  • Smaller Default Model: Switched from potion-retrieval-32M to potion-base-4M for faster downloads and CI.

Breaking Changes

  • Swift 6.1+ / Xcode 16.3+ required
  • MLX users must enable the trait explicitly:
    .package(url: "https://github.com/rryam/VecturaKit.git", from: "3.0.0", traits: ["MLX"])

Usage

Without MLX (lightweight):

.package(url: "https://github.com/rryam/VecturaKit.git", from: "3.0.0")

With MLX:

.package(url: "https://github.com/rryam/VecturaKit.git", from: "3.0.0", traits: ["MLX"])

Changes

  • Added #if canImport(MLXEmbedders) guards to all MLX-dependent source files
  • Updated CI to run MLX tests separately with --traits MLX
  • Default model changed to minishlab/potion-base-4M (users can still specify the 32M model explicitly)

Full Changelog

2.5.3...3.0.0

2.5.3

26 Jan 21:34
a2cf070

Choose a tag to compare

Highlights

  • Hardened add/index rollback to restore overwritten documents and keep storage/search consistent.
  • Stricter config/input validation (DB name, search options, embedder inputs); BM25 handles empty queries safely.
  • Performance suites now default to a deterministic embedder for faster runs (opt-in real embeddings via VECTURA_PERF_USE_SWIFT_EMBEDDER=1).
  • Updated MLX dependencies to latest mlx-swift-lm (2.30.3 / mlx-swift 0.30.3).
  • CLI vector dimension is auto-detected by default; indexed storage guide defaults aligned.

Changes

  • Storage I/O and candidate loading now fail fast on partial batch failures.
  • Added tests for BM25 index and config validation; stabilized perf/memory expectations.

Tests

  • swift test -c release --filter PerformanceTests
  • swift test

2.5.2

16 Jan 11:20

Choose a tag to compare

  • Fix SwiftLint trailing whitespace failures in MLXEmbedder.\n- Update the README installation snippet to 2.5.2.

2.5.1

08 Dec 05:10
3d8ccfa

Choose a tag to compare

Release 2.5.1: Throttled concurrency for file operations

Fixes potential file descriptor exhaustion and memory pressure when working with large document collections.

Changes:

  • Add ConcurrencyExtensions.swift with concurrentMap, concurrentForEach, orderedConcurrentMap, and chunked utilities
  • Replace unbounded parallel file loading in FileStorageProvider with throttled concurrentMap (max 50 concurrent operations)
  • Add saveDocuments batch method to VecturaStorage protocol
  • Implement saveDocuments in FileStorageProvider with nonisolated file I/O for true parallel writes while maintaining actor cache safety

2.5.0

11 Nov 20:11
0c25999

Choose a tag to compare

Release 2.5.0: NaturalLanguage framework support via VecturaNLKit

Adds support for Apple's NaturalLanguage framework through a new VecturaNLKit module, providing contextual sentence embeddings with zero external dependencies.

2.4.0

11 Nov 20:07

Choose a tag to compare

Release 2.4.0: Package dependency updates and StaticEmbeddings model support

2.3.1

06 Nov 21:00

Choose a tag to compare

Release 2.3.1: Input validation, error handling improvements, and code quality fixes