Skip to content

Upgrading itsdangerous 1 to 2

Breaking1.1.0 → 2.2.0Platform1Deprecated1New1Fixed1Other2

BreakingUpgrade verdict

A platform requirement change.

  • This version no longer runs on Python 3.7; use a newer Python version.
  • Reading the package version from itsdangerous.__version__ is deprecated; look up the installed version another way.
2 items need code or config changes

Python requirement changed in 2.2.0: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* → >=3.8.

Platform1
Drops support for Python 3.7.
Deprecated1
Deprecates the __version__ attribute in favor of feature detection or importlib.metadata.version.
__version__importlib.metadata.version()

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • removed: export JSONWebSignatureSerializer
  • removed: export TimedJSONWebSignatureSerializer
  • removed: export json
  • changed: function base64_decode(string) → function base64_decode(string: str | bytes) -> bytes
  • changed: function base64_encode(string) → function base64_encode(string: str | bytes) -> bytes
  • changed: function bytes_to_int(bytestr) → function bytes_to_int(bytestr: bytes) -> int
  • changed: function int_to_bytes(num) → function int_to_bytes(num: int) -> bytes
  • changed: function want_bytes(s, encoding=…, errors=…) → function want_bytes(s: str | bytes, encoding: str=…, errors: str=…) -> bytes
  • removed: field BadData.message
  • changed: constructor BadData(message) → constructor BadData(message: str)
  • changed: constructor BadHeader(message, payload=…, header=…, original_error=…) → constructor BadHeader(message: str, payload: t.Any | None=…, header: t.Any | None=…, original_error: Exception | None=…)
  • changed: constructor BadPayload(message, original_error=…) → constructor BadPayload(message: str, original_error: Exception | None=…)
  • changed: constructor BadSignature(message, payload=…) → constructor BadSignature(message: str, payload: t.Any | None=…)
  • changed: constructor BadTimeSignature(message, payload=…, date_signed=…) → constructor BadTimeSignature(message: str, payload: t.Any | None=…, date_signed: datetime | None=…)
  • removed: class JSONWebSignatureSerializer(Serializer)
  • removed: class TimedJSONWebSignatureSerializer(JSONWebSignatureSerializer)
  • removed: constructor JSONWebSignatureSerializer(secret_key, salt=…, serializer=…, serializer_kwargs=…, signer=…, signer_kwargs=…, algorithm_name=…)
  • removed: constructor TimedJSONWebSignatureSerializer(secret_key, expires_in=…, **kwargs)
  • removed: field JSONWebSignatureSerializer.default_algorithm
  • removed: field JSONWebSignatureSerializer.default_serializer
  • removed: field JSONWebSignatureSerializer.jws_algorithms
  • removed: field TimedJSONWebSignatureSerializer.DEFAULT_EXPIRES_IN
  • removed: method JSONWebSignatureSerializer.dump_payload(header, obj)
  • removed: method JSONWebSignatureSerializer.dumps(obj, salt=…, header_fields=…)
  • removed: method JSONWebSignatureSerializer.load_payload(payload, serializer=…, return_header=…)
  • removed: method JSONWebSignatureSerializer.loads(s, salt=…, return_header=…)
  • removed: method JSONWebSignatureSerializer.loads_unsafe(s, salt=…, return_header=…)
  • removed: method JSONWebSignatureSerializer.make_algorithm(algorithm_name)
  • removed: method JSONWebSignatureSerializer.make_header(header_fields)
  • removed: method JSONWebSignatureSerializer.make_signer(salt=…, algorithm=…)
  • removed: method TimedJSONWebSignatureSerializer.get_issue_date(header)
  • removed: method TimedJSONWebSignatureSerializer.loads(s, salt=…, return_header=…)
  • removed: method TimedJSONWebSignatureSerializer.make_header(header_fields)
  • removed: method TimedJSONWebSignatureSerializer.now()
  • changed: class Serializer(object) → class Serializer(t.Generic[_TSerialized])
  • changed: constructor Serializer(secret_key, salt=…, serializer=…, serializer_kwargs=…, signer=…, signer_kwargs=…, fallback_signers=…) → constructor Serializer(secret_key: str | bytes | cabc.Iterable[str] | cabc.Iterable[bytes], salt: str | bytes | None=…, serializer: None | _PDataSerializer[str]=…, serializer_kwargs: dict[str, t.Any] | None=…, signer: type[Signer] | None=…, signer_kwargs: dict[str, t.Any] | None=…, fallback_signers: list[dict[str, t.Any] | tuple[type[Signer], dict[str, t.Any]] | type[Signer]] | None=…) | (secret_…
  • changed: field Serializer.default_fallback_signers → field Serializer.default_fallback_signers: list[dict[str, t.Any] | tuple[type[Signer], dict[str, t.Any]] | type[Signer]]
  • changed: field Serializer.default_serializer → field Serializer.default_serializer: _PDataSerializer[t.Any]
  • changed: field Serializer.default_signer → field Serializer.default_signer: type[Signer]
  • changed: function is_text_serializer(serializer) → function is_text_serializer(serializer: _PDataSerializer[t.Any]) -> te.TypeGuard[_PDataSerializer[str]]
  • changed: method Serializer.dump(obj, f, salt=…) → method Serializer.dump(obj: t.Any, f: t.IO[t.Any], salt: str | bytes | None=…) -> None
  • changed: method Serializer.dump_payload(obj) → method Serializer.dump_payload(obj: t.Any) -> bytes
  • changed: method Serializer.dumps(obj, salt=…) → method Serializer.dumps(obj: t.Any, salt: str | bytes | None=…) -> _TSerialized
  • changed: method Serializer.iter_unsigners(salt=…) → method Serializer.iter_unsigners(salt: str | bytes | None=…) -> cabc.Iterator[Signer]
  • changed: method Serializer.load(f, salt=…) → method Serializer.load(f: t.IO[t.Any], salt: str | bytes | None=…) -> t.Any
  • changed: method Serializer.load_payload(payload, serializer=…) → method Serializer.load_payload(payload: bytes, serializer: _PDataSerializer[t.Any] | None=…) -> t.Any
  • changed: method Serializer.load_unsafe(f, *args, **kwargs) → method Serializer.load_unsafe(f: t.IO[t.Any], salt: str | bytes | None=…) -> tuple[bool, t.Any]
  • changed: method Serializer.loads(s, salt=…) → method Serializer.loads(s: str | bytes, salt: str | bytes | None=…, **kwargs: t.Any) -> t.Any
  • changed: method Serializer.loads_unsafe(s, salt=…) → method Serializer.loads_unsafe(s: str | bytes, salt: str | bytes | None=…) -> tuple[bool, t.Any]
  • changed: method Serializer.make_signer(salt=…) → method Serializer.make_signer(salt: str | bytes | None=…) -> Signer
  • added: property Serializer.secret_key -> bytes
  • changed: class Signer(object) → class Signer
  • changed: class SigningAlgorithm(object) → class SigningAlgorithm
  • changed: constructor HMACAlgorithm(digest_method=…) → constructor HMACAlgorithm(digest_method: t.Any=…)
  • changed: constructor Signer(secret_key, salt=…, sep=…, key_derivation=…, digest_method=…, algorithm=…) → constructor Signer(secret_key: str | bytes | cabc.Iterable[str] | cabc.Iterable[bytes], salt: str | bytes | None=…, sep: str | bytes=…, key_derivation: str | None=…, digest_method: t.Any | None=…, algorithm: SigningAlgorithm | None=…)
  • changed: field HMACAlgorithm.default_digest_method → field HMACAlgorithm.default_digest_method: t.Any
  • changed: field Signer.default_digest_method → field Signer.default_digest_method: t.Any
  • changed: field Signer.default_key_derivation → field Signer.default_key_derivation: str
  • changed: method HMACAlgorithm.get_signature(key, value) → method HMACAlgorithm.get_signature(key: bytes, value: bytes) -> bytes
  • changed: method NoneAlgorithm.get_signature(key, value) → method NoneAlgorithm.get_signature(key: bytes, value: bytes) -> bytes
  • changed: method Signer.derive_key() → method Signer.derive_key(secret_key: str | bytes | None=…) -> bytes
  • changed: method Signer.get_signature(value) → method Signer.get_signature(value: str | bytes) -> bytes
  • changed: method Signer.sign(value) → method Signer.sign(value: str | bytes) -> bytes
  • changed: method Signer.unsign(signed_value) → method Signer.unsign(signed_value: str | bytes) -> bytes
  • changed: method Signer.validate(signed_value) → method Signer.validate(signed_value: str | bytes) -> bool
  • changed: method Signer.verify_signature(value, sig) → method Signer.verify_signature(value: str | bytes, sig: str | bytes) -> bool
  • changed: method SigningAlgorithm.get_signature(key, value) → method SigningAlgorithm.get_signature(key: bytes, value: bytes) -> bytes
  • changed: method SigningAlgorithm.verify_signature(key, value, sig) → method SigningAlgorithm.verify_signature(key: bytes, value: bytes, sig: bytes) -> bool
  • added: property Signer.secret_key -> bytes
  • changed: class TimedSerializer(Serializer) → class TimedSerializer(Serializer[_TSerialized])
  • changed: field TimedSerializer.default_signer → field TimedSerializer.default_signer: type[TimestampSigner]
  • changed: method TimedSerializer.loads(s, max_age=…, return_timestamp=…, salt=…) → method TimedSerializer.loads(s: str | bytes, max_age: int | None=…, return_timestamp: bool=…, salt: str | bytes | None=…) -> t.Any
  • changed: method TimedSerializer.loads_unsafe(s, max_age=…, salt=…) → method TimedSerializer.loads_unsafe(s: str | bytes, max_age: int | None=…, salt: str | bytes | None=…) -> tuple[bool, t.Any]
  • changed: method TimestampSigner.get_timestamp() → method TimestampSigner.get_timestamp() -> int
  • changed: method TimestampSigner.sign(value) → method TimestampSigner.sign(value: str | bytes) -> bytes
  • changed: method TimestampSigner.timestamp_to_datetime(ts) → method TimestampSigner.timestamp_to_datetime(ts: int) -> datetime
  • changed: method TimestampSigner.unsign(value, max_age=…, return_timestamp=…) → method TimestampSigner.unsign(signed_value: str | bytes, max_age: int | None=…, return_timestamp: t.Literal[False]=…) -> bytes | (signed_value: str | bytes, max_age: int | None=…, return_timestamp: t.Literal[True]=…) -> tuple[bytes, datetime]
  • changed: method TimestampSigner.validate(signed_value, max_age=…) → method TimestampSigner.validate(signed_value: str | bytes, max_age: int | None=…) -> bool
  • added: method TimedSerializer.iter_unsigners(salt: str | bytes | None=…) -> cabc.Iterator[TimestampSigner]
  • changed: class URLSafeSerializer(URLSafeSerializerMixin, Serializer) → class URLSafeSerializer(URLSafeSerializerMixin, Serializer[str])
  • changed: class URLSafeSerializerMixin(object) → class URLSafeSerializerMixin(Serializer[str])
  • changed: class URLSafeTimedSerializer(URLSafeSerializerMixin, TimedSerializer) → class URLSafeTimedSerializer(URLSafeSerializerMixin, TimedSerializer[str])
  • changed: field URLSafeSerializerMixin.default_serializer → field URLSafeSerializerMixin.default_serializer: _PDataSerializer[str]
  • changed: method URLSafeSerializerMixin.dump_payload(obj) → method URLSafeSerializerMixin.dump_payload(obj: t.Any) -> bytes
  • changed: method URLSafeSerializerMixin.load_payload(payload, *args, **kwargs) → method URLSafeSerializerMixin.load_payload(payload: bytes, *args: t.Any, serializer: t.Any | None=…, **kwargs: t.Any) -> t.Any