Skip to content

v0.3.0

Choose a tag to compare

@junyeong0619 junyeong0619 released this 23 Feb 11:32
· 36 commits to main since this release

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_alert value
  • 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.ExitStack for safe patch lifecycle management
  • Fixed SemanticReplayer.replay() missing mocks parameter sync bug
  • Fixed Python 3.12 importlib pollution bug: patch entire importlib object in replayer namespace instead of import_module function

feat(tracer): Zero-latency async logging

  • Fire-and-forget background logging via ThreadPoolExecutor
  • Controlled by ASYNC_LOGGING env config flag
  • semantic_cache=True automatically forces sync logging (force_sync=True)

feat(db): Schema migration utility

  • Added update_database_schema() — adds properties from .weaviate_properties to existing collections without data loss

feat(wcs): Weaviate Cloud Service support

  • Added optional host / api_key parameters to support dynamic Weaviate connections

chore

  • refactor: Code quality improvements and bug fixes
  • test: Unit tests for async logging, enable_alert, and replay mocks

Test Results

67 passed ← full non-DB test suite (no regressions)