cryptography is a Python package that provides cryptographic primitives and high-level recipes for developers, aiming to be a “cryptographic standard library.” It supports Python 3.9+ and PyPy3 7.3.11+, including tools for symmetric ciphers, message digests, and key derivation functions. It’s useful if you need Python-friendly building blocks or ready-to-use patterns for common cryptographic operations.
Project status
- Actively maintained: The source has very recent upstream activity (last push on 2026-06-10) and continues to publish versioned updates through 2026, including 48.0.1 on 2026-06-09.
- Update cadence: Updates are frequent in 2026, roughly on a monthly to 3-4 week rhythm (46.0.7 on 2026-04-08, 47.0.0 on 2026-04-24, 48.0.0 on 2026-05-04, 48.0.1 on 2026-06-09).
AI summary generated 2026-06-11
Recent updates
49.0.0
2026-06-12Release 49.0.0 contains no publisher-provided release notes. The code diff shows changes across declarative ASN.1 handling (new helpers and stricter validation), new algorithm OIDs (ML-DSA), and substantial internal OpenSSL CFFI binding adjustments (removals of multiple symbols/types).
BreakingFeatures48.0.1
2026-06-09Release 48.0.1 is primarily a packaging and build update from 48.0.0, with the project and companion vectors package version-bumped to 48.0.1. The notable technical change indicated by the code diff is that the published wheels are compiled with OpenSSL 4.0.1.
Security48.0.0
2026-05-04Release 48.0.0 includes internal cryptography and Rust binding build changes plus expanded support for OpenSSL 3.5 features (ML-KEM and ML-DSA). The provided release notes are empty, so the changes below are only inferred from the code diff itself.
Features47.0.0
2026-04-24Release 47.0.0 has no publisher release notes, but the diff shows substantial build and CI tooling changes, plus documentation reorganizations for new cryptographic primitives. The provided diff does not include any direct library API changes in the runtime code, but it does include significant modifications to internal automation scripts and test/coverage processing.
Features46.0.7
2026-04-08Release 46.0.7 was published on 2026-04-08, but no release notes were provided by the publisher. Without documented changes, developers should review the corresponding GitHub release diff and changelog/commit history to identify any potential breaking or behavior changes before upgrading.
46.0.6
2026-03-25Release 46.0.6 updates the package version and includes a security fix related to DNS name constraint enforcement during X.509 verification. The bundled Rust implementation changes how wildcard DNS SAN patterns are evaluated against DNS name constraints, and the project’s changelog attributes this to CVE-2026-34073.
Security46.0.5
2026-02-10cryptography 46.0.5 adds additional validation for elliptic curve public keys, specifically to mitigate a CVE affecting uncommon binary (SECT*) curves. It also deprecates support for SECT* binary elliptic curves and adds deprecation warnings that will trigger in code paths that select those curves by OID.
BreakingSecurity46.0.4
2026-01-27Release 46.0.4 primarily updates package version metadata (including cryptography_vectors) and refreshes CI and wheel build workflows. The CHANGELOG entry documents dropping win_arm64 wheel support and rebuilding wheels with OpenSSL 3.5.4.
BreakingSecurity46.0.3
2025-10-15Release 46.0.3 primarily targets build correctness, with an explicit fix for compilation issues when using LibreSSL 4.2.0. The diff also includes Rust dependency bumps related to the OpenSSL crates, plus CI workflow adjustments for installing bindgen.
46.0.2
2025-10-01This release is a version bump from 46.0.1 to 46.0.2 with minimal source-level code changes. The diff primarily updates package metadata (version strings) and rebuild metadata (wheels compiled against OpenSSL 3.5.4), plus synchronizes the pinned cryptography_vectors test dependency to 46.0.2.
Security46.0.1
2025-09-16Version 46.0.1 updates package metadata and adjusts build and dependency constraints to fix installation and wheel build issues described in the changelog. The code diff is small, with no apparent public API or type changes, but there are significant changes to dependency environment markers and CI build invocation.
46.0.0
2025-09-16Release 46.0.0 was published on 2025-09-16, but no release notes were provided in the source data. As a result, changes by type (new features, breaking changes, bug fixes, security, performance, migrations, dependencies) cannot be reliably extracted from the release notes.