All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Placeholder for upcoming changes.
- The
SecureAPI now requires Python 3.10+ and uses the new builder-style header modules with full typing; this release replaces the previous legacy surface and removes the older cookie-centric helpers.
- Comprehensive validation pipeline helpers (
allowlist_headers,deduplicate_headers,validate_and_normalize_headers) and typed presets forSecure. - New header builder coverage for modern headers (CSP, Permissions Policy, COEP, etc.) with deterministic outputs.
- Async-safe
set_headers_asyncsupport for both method-call and mapping-style response objects plus helper mocks and contract tests.
- Added full contract tests for the header builders along with end-to-end coverage for
Secureusage and response integration.
- Expanded README with usage examples, advanced pipeline guidance, and updated framework integration references.
- Improved performance of
Secure.set_headersby reducing redundant type checks. (#26)
- Full redesign of the
secure.pylibrary with modern Python (3.10+) support. - Major API overhaul for improved usability and Pythonic design.
- Enhanced support for FastAPI and asynchronous frameworks.
- Added type hints and better type annotations for a smoother developer experience.
- Refined default security headers for improved protection across web frameworks.
- Support for modern Python features such as the union operator (
|) andcached_property.
- Full redesign of Secure API.
- Removal of cookie support.
- Added type hints for better developer experience.
- Added support for FastAPI.
- Replaced Feature-Policy with Permissions-Policy (#10).
- Added support for Masonite framework.
- Added docstrings for
SecureHeadersandSecureCookie.
- Upper-cased SameSite enum to
SameSite.LAX/SameSite.STRICT. - Modified hug implementation for SecureHeaders and SecureCookie.
- Renamed
Feature.Values.AlltoFeature.Values.All_to avoid conflict with the built-inall.
- Removed trailing semicolon from Feature Policy.
- Added policy builder
SecurePoliciesinpolicies.py. - Added
Expiresheader for legacy browser support. - Added
max-agedirective toCache-Controlheader.
- Renamed
XXSargument toXXP. - Modified
set-cookieto use Flask's native method.