Releases: StackOneHQ/defender-py
Releases · StackOneHQ/defender-py
Release list
stackone-defender: v0.8.2
0.8.0 (2026-08-19)
⚠ BREAKING CHANGES
- ENG-1084:
sanitizedis no longer redacted/blocked — gate onallowed.default_risk_leveldefaults tolow. Theblock_high_risksanitizer option and thepattern_remover/role_stripper/sanitizermodules 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
stackone-defender: v0.7.3
stackone-defender: v0.7.2
stackone-defender: v0.7.1
stackone-defender: v0.7.0
stackone-defender: v0.6.3
stackone-defender: v0.6.2
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
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
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)