Skip to content

Releases: polyswarm/polyswarm-api

Version 4.1.0

Choose a tag to compare

@admin-sbneto admin-sbneto released this 17 Jun 21:02
4.1.0
0ba198f

Minor, fully additive release: the Known Good Binaries SDK surface — a new KnownGood
CRUD resource plus new ArtifactInstance fields. No breaking changes.

Features

  • New KnownGood resource (/known-good, keyed on sha256) 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, or None for a
    normal artifact) — plus ArtifactInstance.known_good_sources, the sorted,
    de-duplicated feed names derived from it.
  • ArtifactInstance.state — the friendly bounty-state name returned alongside the
    numeric bounty_state (e.g. 'KNOWN_GOOD' / 'SETTLED' / 'STORED', or None).

Changes

  • The new ArtifactInstance fields are additive and backward-compatible — parsed
    defensively, so responses from an older server parse to None / [] with no behaviour
    change, and existing cassettes need no re-record.

Breaking changes

  • None.

Version 4.0.0

Choose a tag to compare

@admin-sbneto admin-sbneto released this 17 Jun 21:02
4.0.0
1d74b1e

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 MetadataFieldProperties resource 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 overriding execute / upload_file.

Changes

  • Unified the HTTP transport on httpx for both the sync and async clients.
  • Sync and async clients are now generated from one canonical source, so their behavior
    stays identical.
  • PolyswarmRequest is now a pure dataclass and response parsing is a pure function;
    requests execute via session.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

  • requests is no longer a runtime dependency.
  • engines is now a method, not a cached property — use api.engines() / await api.engines().
  • PolyswarmRequest is now a dataclass — construct with keyword fields; .execute() /
    .consume_results() / .next_page() / .parse_result() are removed — run a request
    with session.execute(req).
  • Removed module-level upload callables (aio.upload.async_upload_file / async_upload_logo);
    override upload_file on a session subclass.
  • Removed resource-instance upload methods (LocalArtifact.upload_file,
    SandboxTask.upload_file); use api.session.upload_file(url, artifact).
  • Removed AsyncPolyswarmRequest; use the transport-agnostic PolyswarmRequest.
  • Moved session classes to polyswarm_api.session / polyswarm_api.aio.session.
  • check_known_hosts now returns a generator on the sync client too — wrap in list(...).
  • The constructor's session= and **httpx_kwargs are 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

Choose a tag to compare

@sbneto sbneto released this 18 May 21:25
3.21.0
e825df4

What's Changed

  • Added jmespath() helper on BaseJsonResource for ad-hoc JSON queries on API responses
  • Exposed md5 and sha1 on LiveHuntResult and HistoricalHuntResult

Version 3.20.0

Choose a tag to compare

@admin-sbneto admin-sbneto released this 07 May 20:18
3.20.0
a78ee4e

What's Changed

  • enforcing community awareness in the sample endpoint

3.19.0

Choose a tag to compare

@mjbradford89 mjbradford89 released this 29 Apr 16:17
3.19.0
ecefcec

What's Changed

Full Changelog: 3.18.0...3.19.0

3.18.0

Choose a tag to compare

@mjbradford89 mjbradford89 released this 13 Apr 21:08
3.18.0
e925c92

What's Changed

Full Changelog: 3.17.1...3.18.0

Version 3.16.0

Choose a tag to compare

@admin-sbneto admin-sbneto released this 27 Jan 21:29
3.16.0
e2e1971
  • Introducing notification webhooks
  • Adding llm report feature
  • Adding expiring instances support

Version 3.14.1

Choose a tag to compare

@sbneto sbneto released this 19 Dec 14:12
3.14.1
0e13b66
  • adding comments about base64 and 7zip support parameters

Version 3.14.0

Choose a tag to compare

@sbneto sbneto released this 14 Aug 19:57
3.14.0
cb39ace
  • making dependency management more flexible
  • upgrading packaging tools
  • renaming package to polyswarm_api instead of polyswarm-api (PEP625 compatible)

3.13.2

Choose a tag to compare

@mjbradford89 mjbradford89 released this 24 Jul 16:24
3.13.2
f556428

What's Changed

Full Changelog: 3.13.1...3.13.2