v0.3.0
Release v0.3.0
Bumps version 0.2.09 → 0.3.0.
What's Changed
feat(monitoring): Per-function alert control — Closes #94
Added enable_alert: bool = True parameter to @vectorize decorator.
@vectorize(search_description="...", enable_alert=False)
def background_sync():
... # errors logged to DB, but no Discord/Slack notification- Propagated through
trace_span()→SpanContext→_perform_background_logging() - Gates both error alerts (step 6) and semantic drift alerts (step 7)
- DB logging always preserved regardless of
enable_alertvalue - Fully backward compatible — defaults to
True
feat(replay): Mocks support in replay system — Fixes #104
Added mocks parameter to VectorWaveReplayer.replay() for injecting mock dependencies during replay execution.
replayer.replay(
function=my_func,
mocks={"my_module.external_api": MagicMock(return_value="mocked")}
)- Mock injection via
contextlib.ExitStackfor safe patch lifecycle management - Fixed
SemanticReplayer.replay()missingmocksparameter sync bug - Fixed Python 3.12 importlib pollution bug: patch entire
importlibobject in replayer namespace instead ofimport_modulefunction
feat(tracer): Zero-latency async logging
- Fire-and-forget background logging via
ThreadPoolExecutor - Controlled by
ASYNC_LOGGINGenv config flag semantic_cache=Trueautomatically forces sync logging (force_sync=True)
feat(db): Schema migration utility
- Added
update_database_schema()— adds properties from.weaviate_propertiesto existing collections without data loss
feat(wcs): Weaviate Cloud Service support
- Added optional
host/api_keyparameters to support dynamic Weaviate connections
chore
refactor: Code quality improvements and bug fixestest: Unit tests for async logging, enable_alert, and replay mocks
Test Results
67 passed ← full non-DB test suite (no regressions)