Changes

Unreleased

Version 2.7.4

Released 2024-01-27

  • Update dependencies.
    • Bump cryptography to 42.0.1. #498

    • Bump pyhpke to 0.5.3. #498

    • Bump cbor2 to 5.6.0. #497

    • Bump jinja2 to 3.1.3. #494

  • Update dev dependencies.
    • Bump tox to 4.12.1. #496

    • Bump pre-commit/flake8 to 7.0.0. #493

    • Bump pytest to 7.4.4. #492

    • Bump pre-commit/black to 23.12.1. #491

    • Bump pre-commit/mirrors-mypy to 1.8.0. #491

    • Bump pre-commit/isort to 5.13.2. #390

    • Update Sphinx version to upper than 7.1. #388

    • Update sphinx-autodoc-typehints version to upper than 1.25.2. #388

    • Bump sphinx-rtd-theme to 2.0.0. #386

Version 2.7.3

Released 2023-11-25

  • Fix readthedocs error. #480

  • Tighten the range of pyca/cryptography version. #476

  • Add support for Python 3.12 on tox. #475

  • Update dev dependencies.
    • Bump actions/{checkout, setup-python} to v4. #477

    • Bump pre-commit/mirrors-mypy to 1.7.0. #474

    • Bump pre-commit/black to 23.11.0. #474

    • Bump sphinx-autodoc-typehints to 1.25.2. #473

Version 2.7.2

Released 2023-11-12

  • Fix context string for countersignature. #471

  • Fix key_ops validation. #470

  • Update dev dependencies.
    • Bump sphinx-autodoc-typehints to 1.25.0. #469

Version 2.7.1

Released 2023-11-09

  • Fix recipient encoding with empty protected header. #467

  • Fix nonce modification test. #466

  • Accept zero length map protected header. #465

  • Generate zero-length protected header for non-AEAD. #463

  • Update dependencies.
    • Bump cbor2 to 5.5.1. #461

    • Bump pyhpke to 0.5.1. #459

    • Bump cryptography to 41.0.5. #457

  • Update dev dependencies.
    • Bump sphinx-autodoc-typehints to 1.24.1. #460

    • Bump pytest to 7.4.3. #456

    • Bump pre-commit/mirrors-mypy to 1.5.1. #449

    • Bump pre-commit/black to 23.10.1. #455

    • Bump pre-commit/mirrors-mypy to 1.6.1. #455

Version 2.7.0

Released 2023-10-20

  • Fix to_cis to convert protected from Dict[str, Any] to Dict[int, Any]. #452

  • Add detached_payload parameter to sign/verify funcs. #451

  • Fix detach&attach not to create new COSEMessage instance. #447

  • Remove Self from COSEMessage. #446

  • Update test for COSE-HPKE. #445

  • Add detached content converter. #444

  • Add ECDH-ES+AES-KW test. #443

  • Parametrize test for AES-KW/HPKE and CTR/CBC. #442

  • Add AES-CTR and AES-CBC support. #441

  • Allow AES-KW algorithm in context. #439

  • Update dev dependencies.
    • Bump urllib3 to 2.0.6. #450

    • Bump pre-commit/mirrors-mypy to 1.5.1. #449

    • Bump pre-commit to 3.5.0. #448

    • Bump pre-commit/black to 23.9.1. #438

    • Bump pre-commit/pre-commit-hooks to 4.5.0. #438

Version 2.6.0

Released 2023-10-09

  • Add enum COSEKeyTypes. #437

  • Add enum COSEKeyCrvs. #437

  • Add enum COSEKeyOps. #437

  • Follow draft-cose-hpke-06. #437

  • Fix typo of private attribute. #435

  • Update dev dependencies.
    • Bump urllib3 to 2.0.6. #436

    • Bump pre-commit/mirrors-mypy to 1.5.1. #434

Version 2.5.1

Released 2023-09-23

  • Update dependencies.
    • Bump cryptography to 41.0.4. #433

  • Update dev dependencies.
    • Bump pre-commit/blacken-docs to 1.15.0. #434

    • Bump pre-commit/flake8 to 6.1.0. #434

    • Bump pre-commit/mirrors-mypy to 1.5.1. #434

    • Bump tox to 4.11.3. #432

Version 2.5.0

Released 2023-09-09

  • Update IETF I-D references in README. #412

  • Add enum COSEKeyParams. #411

  • Add enum COSEAlgs. #409

  • Update dependencies.
    • Bump cryptography to 41.0.3. #416

  • Update dev dependencies.
    • Bump pytest to 7.4.2. #430

    • Bump tox to 4.11.2. #429

    • Bump pre-commit to 3.4.0. #427

    • Bump sphinx-autodoc-typehints to 1.24.0. #424

    • Bump sphinx to 7.1.2. #423

    • Bump certifi to 2023.7.22. #422

    • Bump sphinx-rtd-theme to 1.3.0. #420

    • Bump pre-commit/blacken-docs to 1.15.0. #413

    • Bump pre-commit/black to 23.7.0. #413

Version 2.4.0

Released 2023-07-08

  • Fix and update examples in README. #405

  • Add enum CWTClaims. #404

  • Rename COSEType to COSETypes. #403

  • Add enum COSEHeaders. #401

  • Add experimental support for CWT claims in COSE headers. #400

  • Update dev dependencies.
    • Bump tox to 4.6.4. #398

Version 2.3.2

Released 2023-07-03

  • Update the base python version on CI/CD. #396

  • Drop support for Python 3.7. #391

  • Update dependencies.
    • Bump cryptography to 41.0.0. #395

  • Update dev dependencies.
    • Bump sphinx to 7.0.1. #394

    • Bump pre-commit to 3.3.3. #393

    • Bump pre-commit/mirrors-mypy to 1.4.1. #389

    • Bump pytest to 7.4.0. #388

    • Bump tox to 4.6.3. #387

    • Bump pre-commit/blacken-docs to 1.14.0. #386

    • Bump sphinx-rtd-theme to 1.2.2. #384

    • Bump pytest-cov to 4.1.0. #381

    • Bump pre-commit/black to 23.3.0. #370

Version 2.3.1

Released 2023-03-25

  • Fix HPKE sample. #362

  • Update dependencies.
    • Bump cryptography from 39.0.2. #363

  • Update dev dependencies.
    • Bump pre-commit/mirrors-mypy to 1.1.1. #366

    • Bump tox to 4.4.7. #365

    • Bump pytest to 7.2.2. #364

Version 2.3.0

Released 2023-02-18

  • Remove unused log. #355

  • Change HPKE sender information from dict to list. #354

  • Add SECURITY.md. #352

  • Remove unused function in CBORProcessor. #333

  • Fix link to readthedocs. #326

  • Update dependencies.
    • Bump cryptography from 39.0.1. #357

    • Bump pyhpke from 0.4.1. #356

  • Update dev dependencies.
    • Bump sphinx-rtd-theme to 1.2.0. #351

    • Bump tox to 4.4.5. #350

    • Bump pre-commit/black to 23.1.0. #349

    • Bump pre-commit/isort to 5.12.0. #346

    • Bump pre-commit/blacken-docs to 1.13.0. #341

    • Bump sphinx-autodoc-typehints to 1.21.0. #340

    • Bump pytest to 7.2.1. #338

Version 2.2.0

Released 2023-01-01

  • Add support for countersignatures. #323

  • Remove Python 3.7 from CI temporarilly. #323

  • Enhance COSE message validation. #300

  • Add test and sample for COSE-HPKE MAC. #297

  • Add Python 3.11 to CI. #296

  • Update dependencies.
    • Bump cbor2 from 5.4.6. #302

  • Update dev dependencies.
    • Bump tox to 4.1.2. #323

    • Bump pre-commit/isort to 5.11.3. #311

    • Bump pre-commit/black to 22.12.0. #306

    • Bump certifi to 2022.12.7. #303

Version 2.1.0

Released 2022-11-29

  • Add encode() to COSE. #294

  • Update dev dependencies.
    • Bump pre-commit/flake8 to 6.0.0. #288

    • Bump pre-commit/mirrors-mypy to 0.991. #288

    • Bump pre-commit/pre-commit-hooks to 4.4.0. #288

Version 2.0.0

Released 2022-11-29

  • BREAKING CHANGES for v2.0.0. #290
    • Remove context parameter from Recipient encode()

    • Remove context and salt parameters from Recipient functions.

    • Add derive_bytes() to COSEKey interface.

    • Add decode() to Recipient interface.

    • Remove apply() from Recipient interface.

    • Remove from_jwk() from Recipient.

    • Remove extract() and decrypt() from Recipient interface.

    • Drop support for protected header for Key Wrap.

    • Remove derive_key() from COSEKey interface.

  • Update examples on README to be compliant with v2.0.0. #290

  • Remove usage examples from documentation for ReadTheDocs. #290

  • Add b_protected getter/setter to Recipient interface. #290

  • Add to_bytes() to COSEKey interface. #285

  • Add support for HPKE key wrapping experimentally. #284

Version 1.6.2

Released 2022-11-16

  • Add support for COSE-HPKE DHKEM-X25519/X448 experimentally. #282

  • Update dependencies.
    • Bump pyhpke to 0.4.0. #281

  • Update dev dependencies.
    • Bump pre-commit/mirrors-mypy to 0.990. #279

    • Bump sphinx-rtd-theme to 1.1.1. #276

Version 1.6.1

Released 2022-11-02

  • Follow COSE-HPKE early version of draft-03. #271

  • Update dependencies.
    • Bump cryptography to 38.0.3. #274

    • Bump pyhpke to 0.2.0. #270

  • Update dev dependencies.
    • Bump sphinx-autodoc-typehints to 1.19.5. #273

    • Bump sphinx-rtd-theme to 1.1.0. #272

    • Bump tox to 3.27.0. #269

    • Bump pytest to 7.2.0. #268

Version 1.6.0

Released 2022-10-23

  • Fix additional authenticated data context. #266

  • Refine samples in README. #265

  • Drop support for binary protected header on COSE. #252

  • Make encode_and_encrypt key parameter optional. #261

  • Add COSE-HPKE experimantally. #260

  • Drop support for Python 3.6. #259

  • Update dependencies.
    • Bump cryptography to 38.0.2. #257

  • Update dev dependencies.
    • Bump pre-commit/mirrors-mypy to 0.982. #256

    • Bump pre-commit/black to 22.10.0. #256

Version 1.5.7

Released 2022-10-08

  • Update dependencies.
    • Bump cryptography to 38.0.1. #248

  • Update dev dependencies.
    • Bump pre-commit/mirrors-mypy to 0.981. #254

    • Bump sphinx to 5.2.3. #253

    • Bump pytest-cov to 4.0.0. #252

    • Bump tox to 3.26.0. #249

    • Bump pre-commit/black to 22.8.0. #246

Version 1.5.6

Released 2022-08-10

  • Update dependencies.
    • Bump cryptography to 37.0.4. #239

  • Update dev dependencies.
    • Bump pre-commit/flake8 to 5.0.4. #244

    • Bump sphinx to 5.1.1. #242

    • Bump pre-commit/mirrors-mypy to 0.971. #240

    • Bump pre-commit/black to 22.6.0. #238

    • Bump tox to 3.25.1. #237

  • Drop support for Python3.6. #236

Version 1.5.5

Released 2022-06-18

  • Update dependencies.
    • Bump cryptography to 37.0.2 #228

  • Update dev dependencies.
    • Bump sphinx to 5.0.2. #233

    • Bump pre-commit/mirrors-mypy to 0.961. #232

    • Bump pre-commit/pre-commit-hooks to 4.3.0. #232

    • Bump tox to 3.25.0. #224

Version 1.5.4

Released 2022-04-03

  • Update dependencies.
    • Bump asn1crypto from 1.4.0 to 1.5.1. #218

    • Bump cryptography from 36.0.1 to 36.0.2. #217

    • Bump cbor2 from 5.4.2 to 5.4.2.post1. #211

  • Update dev dependencies.
    • Bump pre-commit/mirrors-mypy from 0.930 to 0.942. #221

    • Bump sphinx from 4.3.2 to 4.5.0. #220

    • Bump pytest from 6.2.5 to 7.0.1. #213

  • Add pre-commit hooks for checking json, toml and yaml files. #207

  • Migrate mypy to pre-commit. #206

Version 1.5.3

Released 2022-01-01

  • Add 2022 to copyright and license. #205

  • Fix link to homepage on PyPI. #204

  • Add license information to PyPI. #204

Version 1.5.2

Released 2021-12-31

  • Refine github action. #202

  • Refine tox.ini. #202

  • Use pytest-cov instead of coverage. #202

  • Refine pyproject.toml. #202

  • Add poetry.lock. #202

Version 1.5.1

Released 2021-12-15

  • Use the default salt length for PS256/384/512 instead of the max length. #195

Version 1.5.0

Released 2021-12-11

  • Migrate to poetry. #191

  • Change max line length to 128. #191

  • Fix updated flake8 warning. #191

Version 1.4.2

Released 2021-10-16

  • Add support for Python 3.10. #183

Version 1.4.1

Released 2021-10-11

  • Make public types explicit for PyLance. #180

  • Use datetime.now(tz=timezone.utc) instead of datetime.utcnow. #179

  • Add py.typed for PEP561. #176

Version 1.4.0

Released 2021-10-04

  • Add support for x5c. #174

Version 1.3.2

Released 2021-08-09

  • Add support for byte-formatted kid on from_jwk(). #165

  • Add sample of EUDCC verifier. #160

Version 1.3.1

Released 2021-07-07

  • Fix docstring for CWT, COSE, etc. #158

  • Add PS256 support for hcert. #156

Version 1.3.0

Released 2021-07-03

  • Add helper for hcert. #154

Version 1.2.0

Released 2021-07-01

  • Disable access to CWT property for global CWT instance (cwt). #153

  • Fix kid verification for recipient. #152

  • Change default setting of verify_kid to True for CWT. #150

  • Add setter/getter for each setting to COSE/CWT. #150

  • Fix type of parameter for COSE constructor. #149

  • Add verify_kid option to COSE. #148

  • Fix kid verification. #148

  • Add support for hcert. #147

Version 1.1.0

Released 2021-06-27

  • Add context support to Recipient.from_jwk(). #144

  • Disable auto salt generation in the case of ECDH-ES. #143

  • Add support for auto salt generation. #142

  • Add salt parameter to RecipientInterface.apply(). #142

  • Remove alg parameter from RecipientInterface.apply(). #141

Version 1.0.0

Released 2021-06-24

  • Make MAC key can be derived with ECDH. #139

  • Add RawKey for key material. #138

  • Make MAC key can be derived with HKDF. #137

  • Remove COSEKeyInterface from RecipientInterface. #137

  • Implement AESKeyWrap which has COSEKeyInterface. #137

  • Add encode_key() to RecipientInterface. #134

  • Rename key to keys on CWT/COSE decode(). #133

  • Remove materials from COSE.decode(). #131

  • Add decode_key() to RecipientInterface. #131

  • Remove alg from keys in recipient header. #131

  • Add support for ECDH with key wrap. #130

  • Refine README. #127

  • Add samples of using direct key agreement. #126

Version 0.10.0

Released 2021-06-13

  • Rename from_json to from_jwk. #124

  • Add support for X25519/X448. #123

  • Add derive_key to EC2Key. #122

  • Add key to OKPKey. #122

  • Add support for key derivation without kid. #120

  • Add support for ECDH-SS direct HKDF. #119

  • Add support for ECDH-ES direct HKDF. #118

Version 0.9.0

Released 2021-06-04

  • Introduce new() into CWT/COSE. #115

  • Rename Claims.from_dict to Claims.new. #115

  • Rename COSEKey.from_dict to COSEKey.new. #115

  • Rename Recipient.from_dict to Recipient.new. #115

  • Add Signer for encode_and_sign function. #114

  • Divide CWT options into independent parameters. #113

Version 0.8.1

Released 2021-05-31

  • Add JSON support for COSE. #109

  • Devite a COSE options parameter into independent parameters. #109

  • Refine COSE default mode. #108

  • Refine the order of parameters for CWT functions. #107

  • Fix example in docstring. #107

  • Make interface docstring public. #106

Version 0.8.0

Released 2021-05-30

  • Refine EncryptedCOSEKey interface. #104

  • Merge RecipientsBuilder into Recipients. #103

  • Rename Key to COSEKeyInterface. #102

  • Rename RecipientBuilder to Recipient. #101

  • Make Key private. #100

  • Merge ClaimsBuilder into Claims. #98

  • Rename KeyBuilder to COSEKey. #97

  • Rename COSEKey to Key. #97

  • Add support for external AAD. #94

  • Make unwrap_key return COSEKey. #93

  • Fix default HMAC key size. #91

  • Add support for AES key wrap. #89

  • Add support for direct+HKDF-SHA256 and SHA512. #87

Version 0.7.1

Released 2021-05-11

  • Add alg validation and fix related bug. #77

  • Update protected/unprotected default value from {} to None. #76

Version 0.7.0

Released 2021-05-09

  • Add support for bytes-formatted protected header. #73

  • Derive alg from kty and crv on from_jwk. #73

  • Add alg_auto_inclusion. #73

  • Move nonce generation from CWT to COSE. #73

  • Re-order arguments of COSE API. #73

  • Add support for COSE algorithm names for KeyBuilder.from_jwk. #72

  • Add tests based on COSE WG examples. #72

  • Move parameter auto-gen function from CWT to COSE. #72

  • Refine COSE API to make the type of payload parameter be bytes only. #71

  • Simplify samples on docs. #69

Version 0.6.1

Released 2021-05-08

  • Add test for error handling of encoding/decoding. #67

  • Fix low level error message. #67

  • Add support for multiple aud. #65

  • Relax the condition of the acceptable private claim value. #64

  • Fix doc version. #63

Version 0.6.0

Released 2021-05-04

  • Make decode accept multiple keys. #61

  • Add set_private_claim_names to ClaimsBuilder and CWT. #60

  • Add sample of CWT with user-defined claims to docs. #60

Version 0.5.0

Released 2021-05-04

  • Make ClaimsBuilder return Claims. #56

  • Add support for JWK keyword of alg and key_ops. #55

  • Add from_jwk. #53

  • Add support for PoP key (cnf claim). #50

  • Add to_dict to COSEKey. #50

  • Add crv property to COSEKey. #50

  • Add key property to COSEKey. #50

  • Add support for RSASSA-PSS. #49

  • Add support for RSASSA-PKCS1-v1_5. #48

Version 0.4.0

Released 2021-04-30

  • Add CWT.encode. #46

  • Fix bug on KeyBuilder.from_dict. #45

  • Add support for key_ops. #44

  • Add support for ChaCha20/Poly1305. #43

  • Make nonce optional for CWT.encode_and_encrypt. #42

  • Add support for AES-GCM (A128GCM, A192GCM and A256GCM). #41

  • Make key optional for KeyBuilder.from_symmetric_key. #41

Version 0.3.0

Released 2021-04-29

  • Add docstring to COSE, KeyBuilder and more. #39

  • Add support for COSE_Encrypt structure. #36

  • Add support for COSE_Signature structure. #35

  • Change protected_header type from bytes to dict. #34

  • Add support for COSE_Mac structure. #32

  • Add test for CWT. #29

Version 0.2.3

Released 2021-04-23

  • Add test for cose_key and fix bugs. #21

  • Add support for exp, nbf and iat. #18

Version 0.2.2

Released 2021-04-19

  • Add support for Ed448, ES384 and ES512. #13

  • Add support for EncodeError and DecodeError. #13

  • Add test for supported algorithms. #13

  • Update supported algorithms and claims on docs. #13

Version 0.2.1

Released 2021-04-18

  • Add VerifyError. #11

  • Fix HMAC alg names. #11

  • Make COSEKey public. #11

  • Add tests for HMAC. #11

Version 0.2.0

Released 2021-04-18

  • Add docs for CWT. #9

  • Raname exceptions. #9

Version 0.1.1

Released 2021-04-18

  • Fix description of installation.

Version 0.1.0

Released 2021-04-18

  • First public preview release.