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, with a very recent upstream push (2026-05-17) and a steady stream of version updates through 2026-05 (including 48.0.0 on 2026-05-04).
- Apparent update cadence is frequent and regular, major/minor version jumps about every few weeks (for example, 47.0.0 on 2026-04-24, 48.0.0 on 2026-05-04) plus smaller patch updates in between (for example, 46.0.7 on 2026-04-08, 46.0.6 on 2026-03-25).
AI summary generated 2 weeks ago
Recent updates
48.0.0
4 weeks agoRelease 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
1 month agoRelease 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
1 month agoRelease 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
2 months agoRelease 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
3 months agocryptography 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
4 months agoRelease 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
7 months agoRelease 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
8 months agoThis 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
8 months agoVersion 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
8 months agoRelease 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.