Skip to content

๐Ÿš€ Release Notes - v0.3.11

TaipanStack v0.3.11 is here! This rigorous release focuses heavily on DevSecOps, Security hardening, and achieving Complete Type-Safety. Through an extensive PR audit, we eliminated legacy type aliases, hardened our Circuit Breaker against micro-chaos, and enforced strict protection against ReDoS and execution exceptions.

๐Ÿ›ก๏ธ Security

  • Fix (ReDoS): Prevented unhandled regex backreference processing in sanitize_filename avoiding string manipulation DoS vectors (PR #294).
  • Fix (Recursion Error): Prevented RecursionError DoS in _mask_data when handling deeply nested JSON payloads during logging (PR #284).
  • SAST: Engineered and deployed custom Semgrep rules into the CI/CD pipeline to natively detect Command Injection, XXE, and DoS patterns (PR #272).
  • Hardening (JWT): Hardened the JWT parsers against malformed input types (catching TypeError and AttributeError) using intensive Hypothesis fuzzing (PR #275).

๐Ÿ—๏ธ Resilience

  • Chaos Mitigation (CircuitBreaker): Vastly hardened the HALF_OPEN state in the CircuitBreaker. Protected the state transitions with strict concurrency limits and locks to mitigate "Thundering Herd" API onslaughts upon recovery (PR #285).

๐Ÿงน Refactoring & Strict Typing

  • Type-Safety: Enforced strict static typing protocols across core decorators utilizing ParamSpec and Concatenate (PR #288).
  • Result APIs: Adopted native result library methods, formally deprecating the legacy unwrap_or wrappers for improved ecosystem compatibility (PR #273).
  • Modernization: Upgraded core/optimizations.py to leverage native Python 3.10+ match/case structural pattern matching (PR #283).
  • Complexity: Halved cyclomatic complexity in core security guards, boosting maintainability and readability (PR #270).
  • Resilience Refactor: Modernized type aliases and unions in the resilience module to fulfill the newest Pyright and Mypy strict modes (PR #274).

๐Ÿงช QA / Testing

  • Test Coverage: Ramped up code coverage in the sanitizers module and verified retry loop exhaustion cases (PR #286, #268). Total tests remain comprehensively tracked at 1006.

A huge thank you to all contributors who participated in the DevSecOps audit to bring this release to perfection!