Skip to content

graphsense-lib 2.20.3

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Nov 15:18

[2.20.3] - 2026-11-02

tagpack-tool sync --clone-filter blob:none clones the tagpack repos without old file versions, so a large repo's cache shrinks while lastmod stays exact. Also: user-reported BCH tags on a cashaddr are stored in legacy form, and a sync daemon with an unconfigured -c network exits 2 at startup. The API version stays 2.19.0 (no OpenAPI change, no new Python client).

Library

Added

  • tagpack-tool sync --clone-filter blob:none clones tagpack repos without the contents of old file versions. A git partial clone: the first clone and the repo cache get smaller (most of a large repo's history is old file versions), and lastmod stays exact, because its single git log --no-renames --name-only walk needs commits and trees only. Git keeps the filter in the repo config, so later fetches stay partial and a reset downloads only the files it writes. Off by default. An existing full clone in --repo-cache-dir is kept as it is (re-cloning a large repo would cost a long run); delete its cache directory once to re-clone it partially.

Changed

  • The cross-chain pubkey jobs are no longer marked alpha. transformation pubkey-update, pubkey-detect, pubkey-compact, pubkey-load and pubkey-update-all drop the [ALPHA] tag from their help and no longer print the alpha warning to stderr. top-untagged-addresses and raw-to-transformed stay alpha.

Fixed

  • An MCP client hanging up mid tool call no longer logs RuntimeError: No response returned. and pages Slack. With the 2026-07-28 MCP protocol, the mcp SDK cancels a call whose client disconnected and returns without a response; the REST app's BaseHTTPMiddlewares turned that into an unhandled 500. The /mcp mount now answers such a request with an empty 499 (never reaches the gone client) and logs one WARNING with method, path and duration (mcp/disconnect.py).
  • User-reported BCH tags on a cashaddr are stored in legacy form, so they are found and cluster-mapped. add_user_reported_tag (POST /tags/report-tag) only lowercased hex addresses and kept a cashaddr as typed, while address lookups and the cluster mapping use the legacy form the tagpack importer stores; such a tag never showed up. It now uses the importer's normalize_tag_address, which also converts a cashaddr without the bitcoincash: prefix (the importer kept those as typed too; the REST lookups accept them). A malformed cashaddr is still stored as typed, with a warning. Tags reported before the fix keep their cashaddr identifier until repaired.
  • sync run exits 2 at startup when a -c network or the sync section is missing from the config, before starting any network, instead of warning once and idling. A typo in a compose service's -c now shows as a failing container. A network removed from the config while the daemon runs still only warns; --once is unchanged (runs the configured networks, then exits 2).

Full Changelog: v2.20.2...v2.20.3