Skip to content

Releases: StackOneHQ/defender-py

stackone-defender: v0.8.2

Choose a tag to compare

@github-actions github-actions released this 19 Aug 16:28
85056e0

0.8.0 (2026-08-19)

⚠ BREAKING CHANGES

  • ENG-1084: sanitized is no longer redacted/blocked — gate on allowed. default_risk_level defaults to low. The block_high_risk sanitizer option and the pattern_remover / role_stripper / sanitizer modules are removed.

Features

  • ENG-1084: detect-and-gate — stop mutating tool-result content (v0.8.0) (e88f544)
  • ENG-1084: detect-and-gate + sentence-level cleaning (v0.8.0) (60b01d0)
  • ENG-1084: mark dropped runs with [CONTENT SANITISED] in cleaned copy (fdcdb94)
  • ENG-1084: NFKC-fold unicode before Tier 2 classification (50741ee)
  • ENG-1084: return-both — sentence-level cleaned sanitized + original (f4aa1bd)

Bug Fixes

  • ENG-1084: add token-degeneracy (OOD) guard to Tier 2 scoring (f450992)
  • ENG-1084: address review — warmup fail-open + dict-subclass stripping (f49ffcf)
  • ENG-1084: count objects/arrays once + iterate obj.items() directly (26c7eec)
  • ENG-1084: fields_sanitized reports Tier-2-cleaned fields, not Tier-1 detections (b3ca53a)
  • ENG-1084: gate sentence-cleaning on aggregate risk; drop whole-field block (9e25335)
  • ENG-1084: normalize decorative runs before Tier 2 classification (c2c5d1d)
  • ENG-1084: return field verbatim when the cleaner drops no sentences (93d664e)
  • ENG-1084: scan strings in risky array fields + add detected_field_count (6f1b52a)

Documentation

  • ENG-1084: call out the 0.7.4 large-array truncation as a fixed data-loss bug (5fc9921)
  • ENG-1084: complete the DefenseResult field list + require_tier2 in README (35c9e7b)
  • ENG-1084: document detected_field_count, marker, array-field scanning (5b07c76)
  • ENG-1084: drop migration/version bullets from README (d62b1e4)
  • ENG-1084: fields_sanitized now means cleaned fields; add original field; fix stale sanitized=original lines (55d5b9e)
  • ENG-1084: note large-payload coverage posture + clarify coverage_degraded (fa3e127)

Miscellaneous Chores

  • ENG-1084: release stackone-defender 0.8.0 (e7492a9)

stackone-defender: v0.7.4

Choose a tag to compare

@github-actions github-actions released this 14 Aug 09:25
31b7abc

0.7.4 (2026-08-13)

Features

  • ENG-1761: port Tier 2 buckets, dedupe, and cost telemetry from TS 0.7.4 (b92b9f6)
  • ENG-1761: port Tier 2 fixed-width buckets, dedupe, cost telemetry from TS 0.7.4 (1e63d09)

Bug Fixes

  • ENG-1761: address review — cold_load on failure paths + stronger tests (e897786)

stackone-defender: v0.7.3

Choose a tag to compare

@github-actions github-actions released this 22 Jul 12:16
9ef2b90

0.7.3 (2026-07-22)

Features

  • ENG-1279: port Tier 3 score-threshold (decide on score, not the model's word) (77c8a6a)

Bug Fixes

  • ENG-1279: Tier 3 score threshold + ENG-1296 Tier 2/base64/SFE fixes (3f2b9cd)
  • ENG-1296: port TS parity fixes for Tier 2 truncation, base64, SFE recursion (4fa8cda)

stackone-defender: v0.7.2

Choose a tag to compare

@github-actions github-actions released this 30 Jun 16:24
6d4c82b

0.7.2 (2026-06-30)

Features

  • add Tier3Verdict.usage for TS 0.7.2 parity (2e18269)
  • Tier3Verdict.usage parity with @stackone/defender 0.7.2 (1c9c0c8)

stackone-defender: v0.7.1

Choose a tag to compare

@github-actions github-actions released this 16 Jun 08:50
45f6191

0.7.1 (2026-06-16)

Features

  • add defend_tool_results_async for npm batch parity (a05783c)
  • Python parity with @stackone/defender 0.7.1 (Tier 3) (c58a17c)
  • Tier 3 provider interface and cascade orchestration (TS 0.7.1 parity) (f2b4109)

Bug Fixes

  • address Copilot PR review on Tier 3 orchestration (570f567)
  • tighten Tier3ClassifyResult type and batch doc wording (2515772)

stackone-defender: v0.7.0

Choose a tag to compare

@github-actions github-actions released this 29 May 15:34
a227744

0.7.0 (2026-05-29)

⚠ BREAKING CHANGES

  • The default ONNX model directory changed from minilm-full-aug to minilm-multihead-v5. Custom code that hardcoded the old path will no longer load.

Features

  • parity with TS defender 0.7.0 (75d046a)

stackone-defender: v0.6.3

Choose a tag to compare

@github-actions github-actions released this 26 May 13:32
8d46b60

0.6.3 (2026-05-26)

⚠ BREAKING CHANGES

  • When tier2_fields is unset, Tier 2 scans all strings (no fallback to Tier 1 risky_field_names).

Features

  • align Python package with @stackone/defender 0.6.3 (a91a904)

Bug Fixes

  • ENG-269: Python parity with @stackone/defender 0.6.3 (7c312f1)

Miscellaneous Chores

  • prepare release 0.6.3 (8ef9888)
  • retrigger release workflow after gh actions outage (72f586b)

stackone-defender: v0.6.2

Choose a tag to compare

@github-actions github-actions released this 22 Apr 15:58
35d5cf5

0.6.2 (2026-04-22)

⚠ BREAKING CHANGES

  • Drop ToolSanitizationRule, config/sanitizer tool_rules, use_default_tool_rules, and get_tool_rule/should_skip_field. Matches @stackone/defender post ENG-12594.

Features

  • add missing functions for full TS API parity (aec0c5b)
  • add PyPI publishing setup with Release Please CI (2e28373)
  • add tier2_fields filter and export ToolSanitizationRule (cb7fd93)
  • align Python defender with Node (Tier 2 scoping, ONNX cache) (482bfdd)
  • ENG-12402: add PyPI publishing setup with Release Please CI (f979748)
  • ENG-12699: TypeScript parity and synced ONNX bundle (0449800)
  • port stackone-defender from TypeScript to Python (e3ff70d)
  • remove tool rules; batch Tier2 ONNX; lock ONNX load (26c95c2)
  • sanitizer: remove dead use_tier2_classification from ToolResultSanitizer (4646179)
  • sync Python package with TypeScript parity (e1836dd)
  • upgrade ML classifier to jbv2 model (AgentShield 73.7 → 79.8) (bcd27f8)
  • upgrade ML classifier to jbv5 (AgentShield 79.8 → 81.1) (781dd10)

Bug Fixes

  • address Copilot/cubic review (Tier2 scope, tokens, SFE, thresholds) (bf173ac)
  • ci: avoid fasttext-wheel on Python 3.13 (a6cda76)
  • classifier: surface classification errors in classify_by_sentence skip_reason (bd94639)
  • default enable_tier2 to True to match TypeScript SDK behaviour (d66773b)
  • defender: fix _extract_strings filtering, None checks, and cache ONNX load failure (bf4ce99)
  • defender: sync hasThreats blocking logic and tool rules precedence from JS package (a217c3e)
  • enable tier2 by default to match TypeScript package (f1fe990)
  • sync Python with TypeScript parity (cec0813)
  • tier2: apply max_text_length truncation in classify_by_sentence (a67d2c6)
  • upgrade ML classifier to jbv2 (AgentShield 73.7 → 79.8) (b452b39)
  • upgrade ML classifier to jbv2 (AgentShield 73.7 → 79.8) (ccb1204)
  • use uv instead of pip in README installation instructions (519759f)

Dependencies

  • sfe: switch optional FastText bindings to fasttext-ng (bc9cc28)

Documentation

  • add README adapted from TypeScript package (a03c757)
  • update README — enable_tier2 defaults to True (af0d059)
  • update README to reflect changes in package name and Python version (d2fc2ca)

Miscellaneous Chores

  • prepare patch release 0.6.2 (7b3c105)

stackone-defender: v0.1.2

Choose a tag to compare

@github-actions github-actions released this 08 Apr 16:36
f62a459

0.1.2 (2026-04-08)

Bug Fixes

  • upgrade ML classifier to jbv2 (AgentShield 73.7 → 79.8) (b452b39)

Documentation

  • update README to reflect changes in package name and Python version (d2fc2ca)

This PR was generated with Release Please. See documentation.

stackone-defender: v0.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Apr 14:58
e289bb6

0.1.1 (2026-04-08)

Features

  • add missing functions for full TS API parity (aec0c5b)
  • add PyPI publishing setup with Release Please CI (2e28373)
  • add tier2_fields filter and export ToolSanitizationRule (cb7fd93)
  • ENG-12402: add PyPI publishing setup with Release Please CI (f979748)
  • port stackone-defender from TypeScript to Python (e3ff70d)
  • sanitizer: remove dead use_tier2_classification from ToolResultSanitizer (4646179)
  • sync Python package with TypeScript parity (e1836dd)

Bug Fixes

  • classifier: surface classification errors in classify_by_sentence skip_reason (bd94639)
  • defender: fix _extract_strings filtering, None checks, and cache ONNX load failure (bf4ce99)
  • defender: sync hasThreats blocking logic and tool rules precedence from JS package (a217c3e)
  • enable tier2 by default to match TypeScript package (f1fe990)
  • sync Python with TypeScript parity (cec0813)
  • use uv instead of pip in README installation instructions (519759f)

Documentation

  • add README adapted from TypeScript package (a03c757)