Skip to content

Commit 7a9551f

Browse files
authored
Prepare 4.0.0 release (#1541)
* Prepare 4.0.0 release Signed-off-by: Jussi Kukkonen <[email protected]> * CHANGELOG: Remove non-user visible changes from 4.0.0 Also capitalize some proper nouns. Signed-off-by: Jussi Kukkonen <[email protected]> --------- Signed-off-by: Jussi Kukkonen <[email protected]>
1 parent 83feb3d commit 7a9551f

File tree

2 files changed

+68
-60
lines changed

2 files changed

+68
-60
lines changed

CHANGELOG.md

Lines changed: 67 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -8,81 +8,87 @@ All versions prior to 0.9.0 are untracked.
88

99
## [Unreleased]
1010

11-
### Added
11+
## [4.0.0]
1212

13-
* Added `LogEntry._kind_version`, which is now parsed earlier upon receipt from the rekor API,
14-
either from the root of the response, or from the reponse's inner base64-encoded JSON `body`.
15-
[#1370](https://github.com/sigstore/sigstore-python/pull/1370)
13+
This is a major release with a host of API and functionality changes. The major new feature
14+
is Rekor v2 support but many other changes are also included, see list below.
1615

17-
* Added support for ed25519 keys.
18-
[#1377](https://github.com/sigstore/sigstore-python/pull/1377)
19-
* API: `IdentityToken` now supports `client_id` for audience claim validation.
16+
### Added
17+
18+
* cli: Add `--rekor-version` to `sign` command arguments: This can be useful
19+
if Sigstore instance provides multiple Rekor versions and user wants to
20+
override the default choice
21+
[#1471](https://github.com/sigstore/sigstore-python/pull/1471)
22+
* cli: Support parallel signing. When multiple artifacts are signed, the Rekor
23+
requests are submitted in parallel: this is especially useful with Rekor v2.
24+
[#1468](https://github.com/sigstore/sigstore-python/pull/1468), [#1478](https://github.com/sigstore/sigstore-python/pull/1478),
25+
[#1485](https://github.com/sigstore/sigstore-python/pull/1485)
26+
* oidc (API): Allow custom audience claims via API
2027
[#1402](https://github.com/sigstore/sigstore-python/pull/1402)
28+
* rekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.
29+
[#1370](https://github.com/sigstore/sigstore-python/pull/1370), [#1422](https://github.com/sigstore/sigstore-python/pull/1422),
30+
[#1432](https://github.com/sigstore/sigstore-python/pull/1432)
31+
* trust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API
32+
[#1496](https://github.com/sigstore/sigstore-python/pull/1496)
2133

22-
* Added a `RekorV2Client` for posting new entries to a Rekor V2 instance.
23-
[#1400](https://github.com/sigstore/sigstore-python/pull/1422)
34+
### Changed
2435

25-
* Added a function for determining the `key_details` of a certificate`.
26-
[#1456](https://github.com/sigstore/sigstore-python/pull/1456)
36+
* cli: Improve verify UX when wrong instance is used
37+
[#1510](https://github.com/sigstore/sigstore-python/pull/1510)
38+
* deps: replace sigstore_protobuf_specs dependency with sigstore-models
39+
[#1470](https://github.com/sigstore/sigstore-python/pull/1470)
40+
* trust: Update embedded TUF root
41+
[#1515](https://github.com/sigstore/sigstore-python/pull/1515)
42+
* trust (API): TrustConfig now provides the `production()`and `staging()` helpers. Similar methods were removed from
43+
SigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.
44+
[#1363](https://github.com/sigstore/sigstore-python/pull/1363)
45+
* trust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the
46+
sigstore instance the client uses. `SigningConfig` class now has methods to return actual clients
47+
(like RekorClient) instead of just URLs for that sigstore instance. The `--trust-config` cli option now
48+
expects the trust config to contain a v0.2 SigningConfig.
49+
[#1358](https://github.com/sigstore/sigstore-python/pull/1358), [#1407](https://github.com/sigstore/sigstore-python/pull/1407)
50+
* trust: Support ed25519 keys in trusted root
51+
[#1377](https://github.com/sigstore/sigstore-python/pull/1377)
2752

2853
### Fixed
2954

30-
* Avoid instantiation issues with `TransparencyLogEntry` when `InclusionPromise` is not present.
31-
32-
* TSA: Changed the Timestamp Authority requests to explicitly use sha256 for message digests.
33-
[#1373](https://github.com/sigstore/sigstore-python/pull/1373)
34-
35-
* TSA: Correctly verify timestamps with hashes other than SHA-256. Currently supported
36-
algorithms are SHA-256, SHA-384, SHA-512.
55+
* rekor: resolve circular import of LogEntry
56+
[#1458](https://github.com/sigstore/sigstore-python/pull/1458)
57+
* rekor: Fix checkpoint signature lookup when there are multiple signatures
58+
[#1514](https://github.com/sigstore/sigstore-python/pull/1514)
59+
* rekor: Fix entry handling so inclusion promise is optional
60+
[#1382](https://github.com/sigstore/sigstore-python/pull/1382)
61+
* rekor: Avoid trailing slash in post to /entries
62+
[#1366](https://github.com/sigstore/sigstore-python/pull/1366)
63+
* sign: fetch TSA timestamps before submitting an entry to Rekor
64+
[#1463](https://github.com/sigstore/sigstore-python/pull/1463)
65+
* timestamp: Specify sha256 in TSA timestamp request
3766
[#1373](https://github.com/sigstore/sigstore-python/pull/1373)
38-
39-
* Fixed the certificate validity period check for Timestamp Authorities (TSA).
40-
Certificates need not have an end date, while still requiring a start date.
67+
* trust: Fail less hard when trusted root contains unknown keys
68+
[#1424](https://github.com/sigstore/sigstore-python/pull/1424)
69+
* verify: Fix TSA cert chain construction (fixes issue in the case where certificate is not embedded in
70+
the timestamp)
71+
[#1482](https://github.com/sigstore/sigstore-python/pull/1482)
72+
* verify: Use TSA hash algorithm specified in the timestamp (SHA-256, SHA-384 and SHA-512 are supported)
73+
[#1385](https://github.com/sigstore/sigstore-python/pull/1385)
74+
* verify: Check artifact signing time against all established times
75+
[#1381](https://github.com/sigstore/sigstore-python/pull/1381)
76+
* verify: Handle unset TSA timestamp validity end
4177
[#1368](https://github.com/sigstore/sigstore-python/pull/1368)
4278

43-
* Made Rekor client more compatible with Rekor v2 by removing trailing slashes
44-
from endpoints ([#1366](https://github.com/sigstore/sigstore-python/pull/1366))
45-
46-
* Verify: verify that all established times (timestamps or the log integration time)
47-
are within the signing certificate validity period. At least one established time is
48-
still required.
49-
[#1381](https://github.com/sigstore/sigstore-python/pull/1381)
5079

51-
* CI: Timestamp Authority tests use latest release, not latest tag, of
52-
[sigstore/timestamp-authority](https://github.com/sigstore/timestamp-authority)
53-
[#1377](https://github.com/sigstore/sigstore-python/pull/1377)
80+
## [3.6.5]
5481

55-
* Tests: Updated the `staging` and `sign_ctx_and_ident_for_env` fixtures to use the new methods
56-
for generating a `SigningContext`.
57-
[#1409](https://github.com/sigstore/sigstore-python/pull/1409)
82+
### Fixed
5883

84+
* Fixed verified time handling so that additional timestamps cannot break
85+
otherwise valid signature bundles ([#1492](https://github.com/sigstore/sigstore-python/pull/1492))
86+
5987
### Changed
6088

61-
* API:
62-
* `TrustedRoot`, `SigningConfig`, and `ClientTrustConfig` are now exposed in
63-
`sigstore.models`. [#1496](https://github.com/sigstore/sigstore-python/pull/1496)
64-
* `ClientTrustConfig` now provides methods `production()`, `staging()`and `from_tuf()`
65-
to get access to current client configuration (trusted keys & certificates,
66-
URLs and their validity periods). [#1363](https://github.com/sigstore/sigstore-python/pull/1363)
67-
* `SigningConfig` now has methods that return actual clients (like `RekorClient`) instead of
68-
just URLs. The returned clients are also filtered according to `SigningConfig` contents.
69-
[#1407](https://github.com/sigstore/sigstore-python/pull/1407)
70-
* `--trust-config` now requires a file with SigningConfig v0.2, and is able to fully
71-
configure the used Sigstore instance [#1358]/(https://github.com/sigstore/sigstore-python/pull/1358)
72-
* By default (when `--trust-config` is not used) the whole trust configuration now
73-
comes from the TUF repository [#1363](https://github.com/sigstore/sigstore-python/pull/1363)
74-
* If the user provided TSA urls, rfc3161 timestamps are now fetched **before** submitting
75-
entries to rekor. [#1463](https://github.com/sigstore/sigstore-python/pull/1463)
89+
* Added cryptography 45 to list of compatible cryptography releases
90+
([#1498](https://github.com/sigstore/sigstore-python/pull/1498))
7691

77-
### Removed
78-
* API:
79-
* `Issuer.production()` and `Issuer.staging()` have been removed: Use
80-
`Issuer()` instead with relevant URL. The current public good production and
81-
staging URLs are available via the `ClientTrustConfig` object.
82-
[#1363](https://github.com/sigstore/sigstore-python/pull/1363)
83-
* `SigningContext.production()` and `SigningContext.staging()` have been removed:
84-
Use `SigningContext.from_trust_config()` instead.
85-
[#1363](https://github.com/sigstore/sigstore-python/pull/1363)
8692

8793
## [3.6.4]
8894

@@ -699,7 +705,9 @@ This is a corrective release for [2.1.1].
699705

700706

701707
<!--Release URLs -->
702-
[Unreleased]: https://github.com/sigstore/sigstore-python/compare/v3.6.4...HEAD
708+
[Unreleased]: https://github.com/sigstore/sigstore-python/compare/v4.0.0...HEAD
709+
[4.0.0]: https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.0.0
710+
[3.6.5]: https://github.com/sigstore/sigstore-python/compare/v3.6.4...v3.6.5
703711
[3.6.4]: https://github.com/sigstore/sigstore-python/compare/v3.6.3...v3.6.4
704712
[3.6.3]: https://github.com/sigstore/sigstore-python/compare/v3.6.2...v3.6.3
705713
[3.6.2]: https://github.com/sigstore/sigstore-python/compare/v3.6.1...v3.6.2

sigstore/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@
2525
* `sigstore.sign`: creation of Sigstore signatures
2626
"""
2727

28-
__version__ = "3.6.5"
28+
__version__ = "4.0.0"

0 commit comments

Comments
 (0)