Skip to content

Release Notes — v0.5.2

Release Date: 2026-05-26

TaipanStack v0.5.2 focuses on security hardening for the Sentinel validation module, resilience type-safety upgrades under chaos injection, codebase-wide cyclomatic complexity reductions, and QA/documentation standardization. The consolidated test suite now verifies 1,226 passing tests with 100% genuine code and branch coverage.


🛡️ Security

  • Fix (High) — SSRF Guard Hardening: Enforced multicast and unspecified IP address bounds validation (224.0.0.0/4, 0.0.0.0/8, ::) inside guard_ssrf to completely prevent loopback and private network bypasses (PR #826).
  • Fix (Medium) — Resilience LBYL Bounds Validation: Added domain bounds checking (restricting inputs to strictly non-negative values) in the Look-Before-You-Leap (LBYL) type guards inside circuit_breaker.py and retry.py to prevent malformed negative numbers from corrupting state limits (PR #823).
  • Hardening — SecureBaseModel Masking: Hardened log-masking routines in SecureBaseModel to prevent credential/sensitive data leaks when data contains nested sets and tuples (PR #829).
  • Fuzzing — JWT Validation Types: Enforced strict type checks on the algorithms (must be a list) and audience (must be a string or list of strings) parameters in decode_jwt before evaluation, preventing type confusion attacks discovered during property-based fuzz testing (PR #815).
  • Refactoring — Clean Sanitizers: Eliminated dead validation code from the security sanitizers module (PR #824).

🌊 Resilience

  • Fix — Circuit Breaker NaN Lockout: Resolved a lockout vulnerability where last_failure_time could become NaN and prevent circuit breaker recovery (PR #811).
  • Hardening — Runtime Property Mutation Protection: Hardened the CircuitBreaker and Retry modules against state corruption by rejecting runtime property mutations and configuration exception changes under extreme chaos testing (PR #811, PR #819, PR #830).
  • Fix — Adaptive Orchestrator Exception Wrapping: Safely wrapped arbitrary exceptions raised during executions within the adaptive orchestrator to protect the pipeline (PR #836).
  • Typing — DB Bridge Static Typing: Added strict static typing annotations to DB Bridge components to improve compile-time type-safety (PR #832).

⚡ Refactoring & Typing

  • Complexity Refactor — Core Modules: Significantly reduced cyclomatic and cognitive complexity in the core config watchdog, resilience orchestrator, http bridge, and circuit breakers (PR #813, PR #817, PR #821).
  • Complexity Refactor — Log Redaction: Extracted private helper functions (_redact) in the logging module to improve readability and reduce complexity (PR #835).
  • Chore — Strict Typing Compliance: Cleared unused type ignores causing strict mypy checker errors on GitHub Actions CI.

✅ QA & Testing

  • Test Suite Standardization: Renamed all operations test files and consolidated directories under the standardized test_*.py naming convention, improving overall isolation (PR #837).
  • Test Coverage Expansion: Achieved 100% genuine code and branch coverage across the entire test suite, adding explicit coverage for StackLogger._format_message edge cases (PR #816, PR #825, PR #831).
  • Chaos Simulations: Integrated highly concurrent micro-chaos architecture simulations (test_simulation_chaos_healing.py) to stress-test system survivability under heavy load and payload throttling (PR #827, PR #828).
  • Test Count: Standardized verified test suite at 1,226 passing tests with 100% genuine coverage.

📚 Documentation & CI/CD

  • Bridges API Reference: Created comprehensive API reference pages for the Bridges module (docs/api/bridges.md) using mkdocstrings (PR #822).
  • Corrections: Fixed dead markdown links across README, SECURITY, and mkdocs configurations (PR #833).
  • Signature Corrections: Corrected the ResourceWatcher constructor signature reference in the features guide to match the canonical implementation (on_threshold_breach) (PR #818).
  • Maintenance: Updated the architecture file tree to reflect recent naming structures and deleted obsolete build targets (PR #814).