Releases: polyswarm/polyswarm-api
Releases · polyswarm/polyswarm-api
Release list
Version 4.1.0
Minor, fully additive release: the Known Good Binaries SDK surface — a new KnownGood
CRUD resource plus new ArtifactInstance fields. No breaking changes.
Features
- New
KnownGoodresource (/known-good, keyed onsha256) with client methods
known_good_create(sha256, source, …)/known_good_get(sha256)/
known_good_delete(sha256)on both the sync and async clients. (Internal-only endpoint —
gated server-side.) ArtifactInstance.known_good— the flagging-feed list a known-good binary's response
carries (one{tool, tool_metadata, created, updated}entry per feed, orNonefor a
normal artifact) — plusArtifactInstance.known_good_sources, the sorted,
de-duplicated feed names derived from it.ArtifactInstance.state— the friendly bounty-state name returned alongside the
numericbounty_state(e.g.'KNOWN_GOOD'/'SETTLED'/'STORED', orNone).
Changes
- The new
ArtifactInstancefields are additive and backward-compatible — parsed
defensively, so responses from an older server parse toNone/[]with no behaviour
change, and existing cassettes need no re-record.
Breaking changes
- None.
Version 4.0.0
Major release: the SDK is consolidated onto a single httpx transport with a unified
sync + async surface generated from one canonical source.
Features
- Added the
MetadataFieldPropertiesresource with full CRUD client methods. - Added a
session=constructor parameter for injecting a custom or pre-built transport. - HTTP behavior can be customized by subclassing the session (
PolyswarmSession/
AsyncPolyswarmSession) and overridingexecute/upload_file.
Changes
- Unified the HTTP transport on
httpxfor both the sync and async clients. - Sync and async clients are now generated from one canonical source, so their behavior
stays identical. PolyswarmRequestis now a pure dataclass and response parsing is a pure function;
requests execute viasession.execute(req).
Bug fixes
- Pre-signed S3 uploads/downloads no longer send the PolySwarm API key (the
Authorization
header is stripped on off-domain requests). - Pagination no longer loops indefinitely when the server returns a non-advancing or
missing cursor. - Non-2xx responses now raise a typed exception even on endpoints that don't parse a
result body (previously silently ignored).
Breaking changes
requestsis no longer a runtime dependency.enginesis now a method, not a cached property — useapi.engines()/await api.engines().PolyswarmRequestis now a dataclass — construct with keyword fields;.execute()/
.consume_results()/.next_page()/.parse_result()are removed — run a request
withsession.execute(req).- Removed module-level upload callables (
aio.upload.async_upload_file/async_upload_logo);
overrideupload_fileon a session subclass. - Removed resource-instance upload methods (
LocalArtifact.upload_file,
SandboxTask.upload_file); useapi.session.upload_file(url, artifact). - Removed
AsyncPolyswarmRequest; use the transport-agnosticPolyswarmRequest. - Moved session classes to
polyswarm_api.session/polyswarm_api.aio.session. check_known_hostsnow returns a generator on the sync client too — wrap inlist(...).- The constructor's
session=and**httpx_kwargsare mutually exclusive.
Minimum Python stays 3.10. The full 3.x → 4.0 migration guide is in
specs/05-downstream-contract.md.
Version 3.21.0
What's Changed
- Added
jmespath()helper onBaseJsonResourcefor ad-hoc JSON queries on API responses - Exposed
md5andsha1onLiveHuntResultandHistoricalHuntResult
Version 3.20.0
What's Changed
- enforcing community awareness in the sample endpoint
3.19.0
What's Changed
- feat - polyswarm-api[async] by @mjbradford89 in #285
- prod deploy by @mjbradford89 in #286
Full Changelog: 3.18.0...3.19.0
3.18.0
What's Changed
- Llm report refactor by @mjbradford89 in #281
- Bump version: 3.17.1 → 3.18.0 by @mjbradford89 in #282
- chore: add .env and .venv to .gitignore by @sbneto in #283
- prod deploy by @mjbradford89 in #284
Full Changelog: 3.17.1...3.18.0
Version 3.16.0
- Introducing notification webhooks
- Adding llm report feature
- Adding expiring instances support
Version 3.14.1
- adding comments about base64 and 7zip support parameters
Version 3.14.0
- making dependency management more flexible
- upgrading packaging tools
- renaming package to polyswarm_api instead of polyswarm-api (PEP625 compatible)
3.13.2
What's Changed
Full Changelog: 3.13.1...3.13.2