|
1 | 1 | # Changelog |
2 | | - |
3 | | -## [0.5.14] - 2025-11-24 |
4 | | - |
5 | | -### Added |
6 | | -- **DSPy Optimization Support** for entity extraction (Feature 063) |
7 | | - - New `optimized_program_path` parameter in `OntologyAwareEntityExtractor.__init__()` |
8 | | - - Load pre-trained DSPy programs for 31.8% F1 improvement (0.294 → 0.387) |
9 | | - - Library-first design with clean API parameter (not environment variable) |
10 | | - - Graceful fallback with clear logging when optimization files unavailable |
11 | | - - Zero breaking changes (backward compatible optional parameter) |
12 | | - |
13 | | -### Testing |
14 | | -- 8/8 contract tests passing for DSPy optimization feature |
15 | | -- 17/17 related entity extraction tests passing |
16 | | -- 7 integration tests created using iris-devtester v1.5.0 |
17 | | -- All transformer import errors resolved (torch/torchvision compatibility) |
18 | | - |
19 | | -### Documentation |
20 | | -- Usage examples in `examples/optimized_dspy_entity_extraction.py` |
21 | | -- Complete test results in `docs/features/063-dspy-optimization/` |
22 | | -- Updated STATUS.md, PROGRESS.md, TODO.md with Feature 063 completion |
23 | | - |
24 | | -### Dependencies |
25 | | -- Updated iris-devtester to v1.5.0 from PyPI (significantly faster) |
26 | | -- Resolved torch/torchvision compatibility (2.4.0/0.19.0) |
27 | | - |
28 | | -### Chore |
29 | | -- Removed tools/nodejs/node_modules from git tracking (build artifacts) |
30 | | - |
31 | | -## [0.5.10] - 2025-11-23 |
32 | | - |
33 | | -### Documentation |
34 | | -- Updated CHANGELOG to explicitly document UV environment compatibility fix from v0.5.6 |
35 | | -- Clarified that the `intersystems-irispython` UV incompatibility fix (Issue #5) is already included |
36 | | - |
37 | | -### Notes |
38 | | -- No code changes - this release updates documentation only |
39 | | -- All fixes from v0.5.9 are included |
40 | | -- UV compatibility fix was already present in v0.5.6 (commit 478d3f1b) and carried forward |
41 | | - |
42 | | -## [0.5.9] - 2025-11-23 |
43 | | - |
44 | | -### Added |
45 | | -- **Custom Metadata Filtering** for multi-tenant RAG deployments (Feature 051 User Story 1) |
46 | | - - Configure custom filter keys via `storage.iris.custom_filter_keys` in YAML config |
47 | | - - Extends default 17 metadata fields with enterprise-specific fields (tenant_id, security_level, department, etc.) |
48 | | - - Multi-tenant isolation with tenant-based document filtering |
49 | | - - Security classification filtering (confidential, public, etc.) |
50 | | - - Departmental access control |
51 | | - - MetadataFilterManager class for centralized validation |
52 | | - |
53 | | -### Fixed |
54 | | -- **UV Environment Compatibility** - Fixed intersystems-irispython import failures in UV isolated environments (v0.5.6) |
55 | | - - Replaced hardcoded `import intersystems_iris.dbapi._DBAPI as iris` with UV-compatible fallback logic |
56 | | - - `get_iris_dbapi_connection()` now uses `_get_iris_dbapi_module()` with robust path resolution |
57 | | - - Resolves ImportError in UV's isolated environment even when package is installed |
58 | | -- **IRIS JSON Filtering** - Implemented LIKE-based pattern matching workaround for IRIS Community Edition |
59 | | - - Handles both `"key":"value"` and `"key": "value"` JSON formats (with/without space) |
60 | | - - Works around missing JSON_VALUE() and JSON_EXTRACT() SQL functions in Community Edition |
61 | | -- **UV/pytest iris Module Import** - Fixed intersystems-irispython module caching during pytest collection |
62 | | - - Modified `tests/conftest.py` to prioritize .venv site-packages before pytest collection |
63 | | - - Resolves import issues for ALL tests using IRIS database connections |
64 | | -- **similarity_search Parameter** - Added support for both `filter` and `metadata_filter` parameter names for backward compatibility |
65 | | - |
66 | | -### Security |
67 | | -- SQL injection prevention via field name validation (regex + dangerous pattern checks) |
68 | | -- Values safely escaped with SQL quote doubling |
69 | | -- Tenant isolation verified via E2E integration tests |
70 | | -- Whitelist enforcement for default + custom metadata fields |
71 | | - |
72 | | -### Testing |
73 | | -- 13/13 contract tests passing (100% success rate) |
74 | | - - 8 unit/contract tests for custom field configuration |
75 | | - - 4 E2E integration tests with real IRIS database |
76 | | - - 1 MetadataFilterManager unit test |
77 | | -- Multi-tenant isolation verified with cross-tenant queries |
78 | | -- LIKE-based JSON filtering tested against real IRIS database |
79 | | - |
80 | | -### Performance |
81 | | -- Filter validation: O(n) where n = number of filter keys (typically < 10) |
82 | | -- SQL pattern matching: LIKE on serialized JSON (acceptable for metadata queries) |
83 | | -- Test execution: 3.60 seconds for full test suite |
0 commit comments