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,::) insideguard_ssrfto 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.pyandretry.pyto prevent malformed negative numbers from corrupting state limits (PR #823). - Hardening — SecureBaseModel Masking: Hardened log-masking routines in
SecureBaseModelto 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) andaudience(must be a string or list of strings) parameters indecode_jwtbefore 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_timecould becomeNaNand prevent circuit breaker recovery (PR #811). - Hardening — Runtime Property Mutation Protection: Hardened the
CircuitBreakerandRetrymodules 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_*.pynaming 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_messageedge 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) usingmkdocstrings(PR #822). - Corrections: Fixed dead markdown links across README, SECURITY, and mkdocs configurations (PR #833).
- Signature Corrections: Corrected the
ResourceWatcherconstructor 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).