graphsense-lib 2.13.3
[2.13.3] - 2026-05-18
Library (v2.13.3)
Added
tagpack synckeeps a persistent git repo cache instead of re-cloning every run. Previously each repo in the sync list was cloned afresh into a throwaway temp directory. Synced repos are now kept under a stable cache directory and refreshed with agit fetch(_sync_repo/_repo_workdirinsrc/graphsenselib/tagpack/cli.py); only changed objects are downloaded. The refresh is authoritative —fetch+checkout+reset --hard+clean -fdx— so a reused checkout is identical to a fresh clone, and a missing/corrupt/wrong-remote cache is transparently re-cloned. New--repo-cache-diroption overrides the location (defaults to agraphsense_tagstore_sync_reposfolder in the system temp directory). Non-breaking: no existing option changed and sync results are unaffected.
Fixed
- Delta-update hardened against Cassandra-outage corruption mid-flush.
DbWriterMixin.apply_changesnow also retriesUnavailableandNoHostAvailable(previously onlyWriteTimeout/OperationTimedOut), so a recoverable database outage is waited out — bounded bystop_after_attempt— instead of aborting a half-flushed batch and leaving the keyspace inconsistent; statements are bound once with literal values, so retries are idempotent. Additionally, pure auto-resume runs (no explicit--start-block/--end-block) now refuse to continue whensummary_statisticspoints at a block with no matchingdelta_updater_historyrow — a sign the last bookkeeping write was torn — turning a silent double-count/skip into an actionable stop. NewTransformedDb.delta_updater_history_has_blockpoint-read backs the guard, which can be bypassed with--disable-safety-checks. Changes insrc/graphsenselib/db/analytics.pyandsrc/graphsenselib/deltaupdate/deltaupdater.py.
Web API + Python client (webapi-2.13.3)
Added
- API docs now describe the MCP (Model Context Protocol) interface. A non-technical "AI assistant access (MCP)" section was added to the API description shown at the top of the Swagger UI / ReDoc pages (
API_DESCRIPTIONinsrc/graphsenselib/web/app.py). It explains, for a general audience, that the same deployment exposes an MCP endpoint at the/mcppath which lets AI assistants query GraphSense in natural language, and how to connect one. Docs-only and additive — no endpoint, schema, or generated-client behaviour changed.
Full Changelog: v2.13.2...v2.13.3