Sigstore-protobuf-specs

Latest version: v0.3.2

Safety actively analyzes 627310 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.3.1

* Added client configuration message for signing ([277](https://github.com/sigstore/protobuf-specs/pull/277))
* Added a new format for the media type that is compatible with OCI registries ([279](https://github.com/sigstore/protobuf-specs/pull/279))
* Added events.proto for Ruby package ([264](https://github.com/sigstore/protobuf-specs/pull/264))
* Targeted Node16 for Typescript package ([230](https://github.com/sigstore/protobuf-specs/pull/230))

Changed

* Docs: Removed timestamp from checkpoint ([247](https://github.com/sigstore/protobuf-specs/pull/247))
* Remove EXPERIMENTAL prefix from LMS schemes ([214](https://github.com/sigstore/protobuf-specs/pull/214))

Fixed

* Docs: Clarified trust anchor in chain ([245]([https://github.com/sigstore/protobuf-specs/pull/210](https://github.com/sigstore/protobuf-specs/pull/245))

0.3.0

* Options for more generic observer time ([179](https://github.com/sigstore/protobuf-specs/pull/179))
* **BREAKING**: `VerificationMaterials.contents` now has an additional `certificate` variant,
which is preferred in `0.3` bundles with the Sigstore PGI ([191](https://github.com/sigstore/protobuf-specs/pull/191))
* Added algorithm registry documentation and updated `PublicKeyDetails` message
([194](https://github.com/sigstore/protobuf-specs/pull/194), [#212](https://github.com/sigstore/protobuf-specs/pull/212))
* Deterministic ECDSA is **deprecated**
* NIST-P384 and NIST-P521 curves **added**
* Existing (and underspecified) RSA key types are
**deprecated**. New RSA keytypes are defined that specifies size
of public modulus and hash algorithm. RSA now only supports
[PKCS1](https://datatracker.ietf.org/doc/html/rfc8017#section-8.2)
signature scheme, and PKIX
([SubjectPublicKeyInfo](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1))
encoding.
* Experimental support for
[LMS](https://datatracker.ietf.org/doc/html/rfc8554) key types.

Changed

* Deprecated support for detached SCTs ([188](https://github.com/sigstore/protobuf-specs/pull/188))

Fixed

* Docs: Clarified rotation of verification materials in the trust root
([210](https://github.com/sigstore/protobuf-specs/pull/210)

0.2.1

Added

* CloudEvents proto for Rekor pub/sub messages ([86](https://github.com/sigstore/protobuf-specs/pull/86))
* Generate jsonschema ([112](https://github.com/sigstore/protobuf-specs/pull/112))
* Rust bindings for jsonschema ([118](https://github.com/sigstore/protobuf-specs/pull/118))
* Dependabot to update dependencies ([99](https://github.com/sigstore/protobuf-specs/pull/99))

Changed

There were no changes in this release.

Fixed

* Docs: Fixed spelling error ([97](https://github.com/sigstore/protobuf-specs/pull/97))
* Docs: Clarified log index vs global log index ([101](https://github.com/sigstore/protobuf-specs/pull/101))
* Docs: Clarified purpose of SET as a signed timestamp ([100](https://github.com/sigstore/protobuf-specs/pull/100))
* Docs: Clarify message digest purpose ([114](https://github.com/sigstore/protobuf-specs/pull/114))

Removed

There were no removals in this release.

0.2.0

Added

* Rust bindings have been added ([88](https://github.com/sigstore/protobuf-specs/pull/88))

Changed

* `TransparencyLogEntry.inclusion_proof` is now marked as required (was previously optional),
while `TransparencyLogEntry.inclusion_promise` is now marked as optional (was previously
required) ([84](https://github.com/sigstore/protobuf-specs/pull/84))

* More Rekor messages and message fields have been marked as required
([79](https://github.com/sigstore/protobuf-specs/pull/79))

* Ruby bindings: class names have been updated and now live in the `Sigstore::` namespace
([87](https://github.com/sigstore/protobuf-specs/pull/87))

Fixed

* Docs: Clarify that `TransparencyLogEntry.canonicalized_body` is optional
([74](https://github.com/sigstore/protobuf-specs/pull/74))

* Docs: Clarify that key IDs are digests over SPKI encodings
([73](https://github.com/sigstore/protobuf-specs/pull/73))

* Docs: Clarify that bundled certificate chains must not contain root or intermediate
certificates that should be trused out-of-band
([77](https://github.com/sigstore/protobuf-specs/pull/77))

* Docs: Clarify `TimeRange` validity periods
([78](https://github.com/sigstore/protobuf-specs/pull/78))

Removed

There were no removals in this release.


Release management for protocol buffer specifications

This repository primary provides two features:

* Protobuf specifications for messages used within Sigstore.
* Language bindings for different ecosystems.

During a release, a few steps have to be synchronized to release the
messages and the language clients.

Notes on semantic versioning

General information on evolving protocol buffers is described
[here](https://developers.google.com/protocol-buffers/docs/proto3#updating).

Major version change
As expected this indicate a breaking change. Any major update MUST
update the package name of the generated code.
Examples of breaking changes are (non-complete list):

* Deletion or rename of a field.
* Changing the type of a field.
* Altering the field number (**NEVER DO THIS!**).

Minor version change
An update which does not break the functionality of existing (older)
clients. For more information on forward compatible changes in
protobuf see the [Language
Guide](https://developers.google.com/protocol-buffers/docs/proto3#updating).

Patch version change
Any update which does not change the behaviour. For the protocol buffer
messages this is limited to _only_ capture changes in the comments,
not the messages themselves. For language bindings patch versions MAY
be used for bug-fixes.

Releasing new versions of the messages

Checklist prior to releasing:

1. Gather consensus among the community and maintainers of this
repository that the messages are ready to be released. Create an
issue to inform the community. The issue should describe the
intended release, and any changes it introduces. The issue must be
open for comments *at least* for a complete week (7 days).
1. Decide the new version of this release. The releases are versioned
via [semver](https://semver.org/).
1. Two of the messages,
[Bundle](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto)
and
[TrustedRoot](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_trustroot.proto),
are expected to be persisted and serialized to disk, and exchanged
via other mechanisms such as the [Sigstore TUF
root](https://github.com/sigstore/root-signing). Therefore they
contain a `media_type`. The media types are versioned, and so they
must be updated appropriately according to semver. Each message
SHOULD be versioned independently and so MAY differ from the
targeted release. The media type represents the version of the
message, not the release. Note that the media type does NOT capture
the patch version, only major/minor.
1. Update [pyproject.toml](gen/pb-python/pyproject.toml) so the
`version` matches the targeted release.
1. Update [package.json](gen/pb-typescript/package.json) so the
`version` matches the targeted release.
1. Update [version.rb](gen/pb-ruby/lib/sigstore_protobuf_specs/version.rb) so the
`version` matches the targeted release.
1. Update [Cargo.toml](gen/pb-rust/Cargo.toml) so the
`version` matches the targeted release.
1. Update the [CHANGELOG](https://github.com/sigstore/protobuf-specs/blob/main/CHANGELOG.md).

When all of the above are set, prepare for release by creating a tag
with the following pattern: `vX.Y.Z` and push to the repository. Bonus
point if the tag is signed :champagne:.

Releasing new language bindings

Go

Prepare a tag with the pattern `vX.Y.Z` and push it. No workflow is needed.

**WARNING**: Tags should not be updated to a new ref or deleted/recreated after creation.
Go provides a checksum database that persists an immutable mapping between version and ref,
and updating the tag will break clients that have already downloaded the release.

Java

Prepare a tag with the following pattern `release/java/vX.Y.Z` and
push it. The [workflow](.github/workflows/java-build-for-release.yml) will
automatically start.
After the job is finished, complete the release following [java
release
instructions](https://github.com/sigstore/protobuf-specs/blob/main/java/README.md#releasing).

Python

Prepare a tag with the following pattern `release/python/vX.Y.Z` and
push it. The [workflow](.github/workflows/python-release.yml)
will automatically start.

Ruby

Prepare a tag with the following pattern `release/ruby/vX.Y.Z` and
push it. The [workflow](.github/workflows/ruby-release.yml)
will automatically start.

Rust

Prepare a tag with the following pattern `release/rust/vX.Y.Z` and
push it. The [workflow](.github/workflows/rust-release.yml)
will automatically start.

TypeScript

Prepare a tag with the following pattern `release/typescript/vX.Y.Z` and
push it. The [workflow](.github/workflows/typescript-release.yml)
will automatically start.

JSON Schema

Prepare a tag with the pattern `release/jsonschema/vX.Y.Z` and push it.
No workflow is required.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.