2.0.0 (2024-09-29)
General
Add (preliminary) support for storing private keys in a hardware security module (HSM). See Key backends for more information.
Command-line utilities
Subjects are now parsed in the RFC 4514 format by default. Subjects in the OpenSSL-style format are still supported via the
--subject-format=openssloption, but support for it will be removed in 2.0.0.Removed the
convert_timestampscommand (deprecated since 1.28.0).
Dependencies
Add support for
Django~=5.1.0,cryptography~=43.0andpydantic~=2.8.0andpydantic~=2.9.0.BACKWARDS INCOMPATIBLE: Dropped support for
pydantic<2.7.0,acme~=2.9.0andCelery~=5.3.0.Remove the
psycopg3pip extra, use thepostgresextra instead.Drop support for Alpine 3.17.
Python API
parse_encoding()no longer accepts an already parsed Encoding.django_ca.utils.parse_expires()anddjango_ca.utils.parse_key_curvewhere removed.CertificateAuthorityManager.objects.init()no longer acceptsintortimedeltafor expires. Pass a timezone-aware object instead.Profileno longer accepts unparsed extension values:An
intfor expires - pass atimedeltainstead.A
stror iterable ofstr-tuples for subject - pass aNameinstead.Deprecated extensions formats in extensions.
Note that this does not affect configuration in settings, as these values are parsed before passed to this class.
create_cert()no longer acceptsintfor expires. Pass atimedeltainstead.
Docker/Docker Compose
Update NGINX to 1.26.0.
Deprecation notices
This will be the last release to support
pydantic~=2.7.0,pydantic~=2.8.0,cryptography~=42.0andacme~=2.10.0.django_ca.utils.get_storage()will be removed in 2.2.0.