vectra-client 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -177
- data/lib/vectra/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 510bd3a530df754db719892b7157846a72a29998659052fa7fda33b615ddab84
|
|
4
|
+
data.tar.gz: 6e853240a0231e909fda25709b72610f5d294e630f3576a0a52c0949e500e47f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a1658293c6bd4f62c777b106f40da783b56b68498b4cb73dda4af6df542277c8545105bafe47c6ba1fea106f68e934395df42f0d8453d35a2cdc3d89ef80500d
|
|
7
|
+
data.tar.gz: 9a108eb9be1df21a216824f2e9f0bbe60bb721bf6145cb2b4f772ecb1d7abe7b2e618c2d70d67455ed484ad65c05b20b3ec65485196740a51809fa9dd49a70c3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,72 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [Unreleased]
|
|
9
|
-
|
|
10
|
-
### Added
|
|
11
|
-
|
|
12
|
-
- **Proactive Rate Limiting** (`Vectra::RateLimiter`)
|
|
13
|
-
- Token bucket algorithm for smooth rate limiting
|
|
14
|
-
- Burst support for handling traffic spikes
|
|
15
|
-
- Per-provider rate limiter registry
|
|
16
|
-
- `RateLimitedClient` wrapper for automatic throttling
|
|
17
|
-
- Prevents API rate limit errors before they occur
|
|
18
|
-
|
|
19
|
-
- **Structured JSON Logging** (`Vectra::JsonLogger`)
|
|
20
|
-
- Machine-readable JSON log format
|
|
21
|
-
- Automatic operation logging via instrumentation
|
|
22
|
-
- Custom metadata support
|
|
23
|
-
- Integration with standard Ruby Logger via `JsonFormatter`
|
|
24
|
-
- Log levels: debug, info, warn, error, fatal
|
|
25
|
-
|
|
26
|
-
- **Health Check Functionality** (`Vectra::HealthCheck`)
|
|
27
|
-
- Built-in `client.health_check` method
|
|
28
|
-
- Connectivity and latency testing
|
|
29
|
-
- Optional index statistics inclusion
|
|
30
|
-
- Pool health checking for pgvector
|
|
31
|
-
- `AggregateHealthCheck` for multi-provider setups
|
|
32
|
-
- JSON-serializable results
|
|
33
|
-
|
|
34
|
-
- **Error Tracking Integrations**
|
|
35
|
-
- Sentry adapter with breadcrumbs, context, and fingerprinting
|
|
36
|
-
- Honeybadger adapter with severity tags and configurable notifications
|
|
37
|
-
- Automatic error context and grouping
|
|
38
|
-
|
|
39
|
-
- **Circuit Breaker Pattern** (`Vectra::CircuitBreaker`)
|
|
40
|
-
- Three-state circuit (closed, open, half-open)
|
|
41
|
-
- Automatic failover with fallback support
|
|
42
|
-
- Per-provider circuit registry
|
|
43
|
-
- Thread-safe implementation
|
|
44
|
-
- Configurable failure/success thresholds
|
|
45
|
-
|
|
46
|
-
- **Credential Rotation** (`Vectra::CredentialRotator`)
|
|
47
|
-
- Zero-downtime API key rotation
|
|
48
|
-
- Pre-rotation validation
|
|
49
|
-
- Rollback support
|
|
50
|
-
- Multi-provider rotation manager
|
|
51
|
-
- Per-provider rotation tracking
|
|
52
|
-
|
|
53
|
-
- **Audit Logging** (`Vectra::AuditLog`)
|
|
54
|
-
- Structured audit events for compliance
|
|
55
|
-
- Access, authentication, authorization logging
|
|
56
|
-
- Configuration change tracking
|
|
57
|
-
- Credential rotation audit trail
|
|
58
|
-
- Automatic API key sanitization
|
|
59
|
-
- Global audit logging support
|
|
60
|
-
|
|
61
3
|
## [v0.3.2](https://github.com/stokry/vectra/tree/v0.3.2) (2026-01-08)
|
|
62
4
|
|
|
63
5
|
[Full Changelog](https://github.com/stokry/vectra/compare/v0.3.1...v0.3.2)
|
|
64
6
|
|
|
65
|
-
### Fixed
|
|
66
|
-
|
|
67
|
-
- Audit log keyword parameter ordering and optional fields now align with linting and usage expectations.
|
|
68
|
-
- Credential rotation utilities use symbol procs and string interpolation while keeping the existing `switch_to_secondary` API.
|
|
69
|
-
|
|
70
7
|
## [v0.3.1](https://github.com/stokry/vectra/tree/v0.3.1) (2026-01-08)
|
|
71
8
|
|
|
72
9
|
[Full Changelog](https://github.com/stokry/vectra/compare/v0.3.0...v0.3.1)
|
|
@@ -75,106 +12,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
75
12
|
|
|
76
13
|
[Full Changelog](https://github.com/stokry/vectra/compare/v0.2.2...v0.3.0)
|
|
77
14
|
|
|
78
|
-
### Added
|
|
79
|
-
|
|
80
|
-
- **Async Batch Operations** (`Vectra::Batch`)
|
|
81
|
-
- Concurrent batch upsert with configurable worker count
|
|
82
|
-
- Automatic chunking of large vector sets
|
|
83
|
-
- Async delete and fetch operations
|
|
84
|
-
- Error aggregation and partial success handling
|
|
85
|
-
|
|
86
|
-
- **Streaming Results** (`Vectra::Streaming`)
|
|
87
|
-
- Lazy enumeration for large query result sets
|
|
88
|
-
- Memory-efficient processing with automatic pagination
|
|
89
|
-
- `query_each` and `query_stream` methods
|
|
90
|
-
- Duplicate detection across pages
|
|
91
|
-
|
|
92
|
-
- **Caching Layer** (`Vectra::Cache` and `Vectra::CachedClient`)
|
|
93
|
-
- In-memory LRU cache with configurable TTL
|
|
94
|
-
- Transparent caching for query and fetch operations
|
|
95
|
-
- Index-level cache invalidation
|
|
96
|
-
- Thread-safe with mutex synchronization
|
|
97
|
-
|
|
98
|
-
- **Connection Pool with Warmup** (`Vectra::Pool`)
|
|
99
|
-
- Configurable pool size and checkout timeout
|
|
100
|
-
- Connection warmup at startup
|
|
101
|
-
- Health checking and automatic reconnection
|
|
102
|
-
- Pool statistics and monitoring
|
|
103
|
-
|
|
104
|
-
- **CI Benchmark Integration**
|
|
105
|
-
- Weekly scheduled benchmark runs
|
|
106
|
-
- PostgreSQL (pgvector) integration in CI
|
|
107
|
-
- Benchmark result artifact storage
|
|
108
|
-
|
|
109
|
-
### Configuration
|
|
110
|
-
|
|
111
|
-
New configuration options:
|
|
112
|
-
- `cache_enabled` - Enable/disable caching (default: false)
|
|
113
|
-
- `cache_ttl` - Cache time-to-live in seconds (default: 300)
|
|
114
|
-
- `cache_max_size` - Maximum cache entries (default: 1000)
|
|
115
|
-
- `async_concurrency` - Concurrent workers for batch ops (default: 4)
|
|
116
|
-
|
|
117
|
-
### Dependencies
|
|
118
|
-
|
|
119
|
-
- Added `concurrent-ruby ~> 1.2` for thread-safe operations
|
|
120
|
-
|
|
121
15
|
## [v0.2.2](https://github.com/stokry/vectra/tree/v0.2.2) (2026-01-08)
|
|
122
16
|
|
|
123
17
|
[Full Changelog](https://github.com/stokry/vectra/compare/v0.2.1...v0.2.2)
|
|
124
18
|
|
|
125
|
-
## [v0.2.1](https://github.com/stokry/vectra/tree/v0.2.1) (2026-01-08)
|
|
126
19
|
|
|
127
20
|
[Full Changelog](https://github.com/stokry/vectra/compare/v0.2.0...v0.2.1)
|
|
128
21
|
|
|
129
|
-
### Added
|
|
130
|
-
|
|
131
|
-
- **Qdrant Provider** - Full Qdrant vector database support:
|
|
132
|
-
- Vector upsert, query, fetch, update, delete operations
|
|
133
|
-
- Collection management (create, list, describe, delete)
|
|
134
|
-
- Multiple similarity metrics: cosine, euclidean, dot product
|
|
135
|
-
- Namespace support via payload filtering
|
|
136
|
-
- Advanced metadata filtering with Qdrant operators ($eq, $ne, $gt, $gte, $lt, $lte, $in, $nin)
|
|
137
|
-
- Automatic point ID hashing for string IDs
|
|
138
|
-
- Support for both local and cloud Qdrant instances
|
|
139
|
-
- Optional API key authentication for local deployments
|
|
140
|
-
|
|
141
|
-
### Improved
|
|
142
|
-
|
|
143
|
-
- Enhanced error handling with `Faraday::RetriableResponse` support
|
|
144
|
-
- Configuration now allows optional API key for Qdrant and pgvector (local instances)
|
|
145
|
-
- Better retry middleware integration across all providers
|
|
146
|
-
|
|
147
|
-
### Provider Support
|
|
148
|
-
|
|
149
|
-
- ✅ Pinecone - Fully implemented
|
|
150
|
-
- ✅ pgvector (PostgreSQL) - Fully implemented
|
|
151
|
-
- ✅ Qdrant - Fully implemented
|
|
152
|
-
- 🚧 Weaviate - Stub implementation (planned for v0.4.0)
|
|
153
|
-
|
|
154
22
|
## [v0.2.0](https://github.com/stokry/vectra/tree/v0.2.0) (2026-01-08)
|
|
155
23
|
|
|
156
24
|
[Full Changelog](https://github.com/stokry/vectra/compare/v0.1.3...v0.2.0)
|
|
157
25
|
|
|
158
|
-
|
|
26
|
+
## [v0.3.3](https://github.com/stokry/vectra/tree/v0.3.3) (2026-01-09)
|
|
159
27
|
|
|
160
|
-
|
|
161
|
-
- **ActiveRecord Integration** - `has_vector` DSL for seamless Rails model integration with automatic indexing
|
|
162
|
-
- **Rails Generator** - `rails generate vectra:install` for quick setup
|
|
163
|
-
- **Automatic Retry Logic** - Exponential backoff with jitter for transient database errors
|
|
164
|
-
- **Performance Benchmarks** - Measure batch operations and connection pooling performance
|
|
165
|
-
- **Comprehensive Documentation** - USAGE_EXAMPLES.md, IMPLEMENTATION_GUIDE.md with 10+ real-world examples
|
|
28
|
+
[Full Changelog](https://github.com/stokry/vectra/compare/v0.3.2...v0.3.3)
|
|
166
29
|
|
|
167
|
-
###
|
|
168
|
-
|
|
169
|
-
- All Client methods now instrumented (upsert, query, fetch, update, delete)
|
|
170
|
-
- pgvector Connection module includes retry logic with smart error detection
|
|
171
|
-
- Configuration expanded with instrumentation, pool_size, batch_size, max_retries options
|
|
172
|
-
|
|
173
|
-
### Documentation
|
|
30
|
+
### Changed
|
|
174
31
|
|
|
175
|
-
-
|
|
176
|
-
- Added IMPLEMENTATION_GUIDE.md for developers implementing new features
|
|
177
|
-
- Added NEW_FEATURES_v0.2.0.md with migration guide
|
|
32
|
+
- Version bump and minor maintenance release.
|
|
178
33
|
|
|
179
34
|
## [v0.1.3](https://github.com/stokry/vectra/tree/v0.1.3) (2026-01-07)
|
|
180
35
|
|
|
@@ -184,33 +39,6 @@ New configuration options:
|
|
|
184
39
|
|
|
185
40
|
[Full Changelog](https://github.com/stokry/vectra/compare/0ab2ea7b42d7fbf0b540b24889cc2b24254fef2e...v0.1.1)
|
|
186
41
|
|
|
187
|
-
### Added
|
|
188
|
-
|
|
189
|
-
- **pgvector provider** - Full PostgreSQL with pgvector extension support:
|
|
190
|
-
- Vector upsert, query, fetch, update, delete operations
|
|
191
|
-
- Index (table) management with automatic schema creation
|
|
192
|
-
- Multiple similarity metrics: cosine, euclidean, inner product
|
|
193
|
-
- Namespace support via namespace column
|
|
194
|
-
- Metadata filtering with JSONB
|
|
195
|
-
- IVFFlat index creation for fast similarity search
|
|
196
|
-
- `Vectra.pgvector` convenience method for creating pgvector clients
|
|
197
|
-
- Comprehensive unit and integration tests for pgvector provider
|
|
198
|
-
|
|
199
|
-
### Changed
|
|
200
|
-
|
|
201
|
-
- Updated gemspec description to include pgvector
|
|
202
|
-
- Added `pg` gem as development dependency
|
|
203
|
-
|
|
204
|
-
## Planned
|
|
205
|
-
|
|
206
|
-
### [0.4.0]
|
|
207
|
-
|
|
208
|
-
- Weaviate provider implementation
|
|
209
|
-
- Additional similarity metrics
|
|
210
|
-
- Vector quantization support
|
|
211
42
|
|
|
212
|
-
### [1.0.0]
|
|
213
43
|
|
|
214
|
-
|
|
215
|
-
- Production-ready with full documentation
|
|
216
|
-
- Performance monitoring dashboard
|
|
44
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/lib/vectra/version.rb
CHANGED