Releases: opencontainers/go-digest
go-digest 1.0.0
Welcome to the v1.0.0 release of go-digest!
This is the first official release of the go-digest package. This package
provides a simple toolkit for working with the digests used in the open
containers ecosystem.
This includes support for sha256
, sha384
, and sha512
algorithms, with
sha256
being the most common and preferred for greatest compatibility across
the ecosystem. Encoding ambiguity has been removed by only supporting lower
case hex-encoded characters in the format for this release.
The digestset
package is provided to securely and unambiguously use
shortened forms of the digest in environments where there is a full set
of known digests.
Please try out the release binaries and report any issues at
https://github.com/opencontainers/go-digest/issues.
Contributors
- Stephen J Day
- Derek McGowan
- Vincent Batts
- W. Trevor King
- Chris Aniszczyk
- Aaron Lehmann
- Jonathan Boulle
- xiekeyang
- Akihiro Suda
- Josh Hawn
- Sebastiaan van Stijn
- Tonis Tiigi
- Akihiro Suda
- Andy Goldstein
- Brandon Philips
- David Lawrence
- Haibing Zhou
- Harald Nordgren
- Ian Campbell
- Olivier Gambier
- Vanessa Sochat
- bin liu
Changes
ea51bea5
Merge pull request #56 from dmcgowan/release-1.043cccb7f
Add release notes for v1.0.028d3ccc3
Merge pull request #55 from dmcgowan/add-digestset641993bf
Merge pull request #54 from vbatts/maintainers17eb78b6
Add copyright to digestset files132fb476
Enable static checksecd7b3c7
digestset: refine some words on unit test5dd3cbe3
digest: migrate to opencontainers/go-digeste0bfa0f7
digest: remove stuttering ParseDigest function1cbb645d
Typo fixes in comments6ac142d3
Validate digest length on parsing45599b9e
Add remove and list functions to digest set96bf78c3
Refactor specification of supported digests77570c98
Add digest set implementation45398c0a
MAINTAINERS: add 2, remove 54b560741
Merge pull request #51 from dmcgowan/update-pull-approvec9095d47
Merge pull request #52 from vbatts/copyrightdd78d752
Merge pull request #53 from philips/remove-philipsf65ba7f7
MAINTAINERS: remove Brandon Philips @philips264d27f5
*: add OCI copyright9d15c982
README: spit paragraphs to new lines998894bd
Merge pull request #32 from jonboulle/master76a4f527
Merge pull request #49 from thaJeztah/update_go_versions51d31fa8
Update pull approve configurationf67466ba
Merge pull request #50 from thaJeztah/update_aaron_emailac2cd61e
Update Aaron's e-mail address232efbd8
travis: update list of go versionse9a29da4
Merge pull request #48 from AkihiroSuda/gomod2ccb1a5f
Merge pull request #44 from opencontainers/jonboulle-patch-1ed218d06
add go.modf35593ad
MAINTAINERS: fix jonboulle's emailac19fd6e
Merge pull request #42 from vsoch/fix/CoC-linkbe46cde9
updating CoC link and security link4eb64ca7
Merge pull request #40 from HaraldNordgren/go_versions21d40dcb
Bump Go versions and use '.x' to always get latest patch versionsc9281466
Merge pull request #38 from ijc/rename-license-codeb22736af
Rename LICENSE.code → LICENSE279bed98
Merge pull request #34 from AkihiroSuda/regexp4ca13015
disallow upper characters (/A-F/) in hex-encoded portioneaa60544
Merge pull request #33 from stevvooe/future-proof-algorithm-field678a95ef
digest: allow validation of urlsafe base64 encoding55f67581
digest: update package methods to reflect changes5ab10f57
digest: allow separators in algorithm fieldd1caf203
doc: tweak wording around algorithmsb74b8405
*: clarify we only deal with hex-encoded digestsaa2ec055
Merge pull request #27 from stevvooe/update-security-emailef842085
Merge pull request #28 from stevvooe/license-headersb6234c32
*: add LICENSE headers to Go files0c911558
README: update security email21dfd564
Merge pull request #22 from stevvooe/update-badges7ecb13df
Merge pull req...
v1.0.0-rc1
Welcome to another release of the go-digest package. This package
provides a simple toolkit for working with the digests of container
images.
In this release, we've mostly narrowed the acceptable format for
sha256
digests, which are the most common in use. Specifically, upper
case hex-encoded characters are no longer allowed in that format,
removing the ambiguity in encoding.
Other concessions have been made to allow separators in the algorithm,
as well as allowing the character set of the urlsafe base64 encodings.
Most of this is more about allowing support for future formats, and are
not officially supported at this time.
Changes
279bed9 Merge pull request #34 from AkihiroSuda/regexp
4ca1301 disallow upper characters (/A-F/) in hex-encoded portion
eaa6054 Merge pull request #33 from stevvooe/future-proof-algorithm-field
678a95e digest: allow validation of urlsafe base64 encoding
55f6758 digest: update package methods to reflect changes
5ab10f5 digest: allow separators in algorithm field
v1.0.0-rc0
Open Containers Go Digest 1.0.0-rc0
This the first official release candidate of the go-digest package, the common digest package used across the container ecosystem.
What is a digest?
A digest is just a hash.
The most common use case for a digest is to create a content identifier for use in Content Addressable Storage systems:
id := digest.FromBytes([]byte("my content"))
In the example above, the id can be used to uniquely identify the byte slice "my content". This allows two disparate applications to agree on a verifiable identifier without having to trust one another.
An identifying digest can be verified, as follows:
if id != digest.FromBytes([]byte("my content")) {
return errors.New("the content has changed!")
}
A Verifier
type can be used to handle cases where an io.Reader
makes more sense:
rd := getContent()
verifier := id.Verifier()
io.Copy(verifier, rd)
if !verifier.Verified() {
return errors.New("the content has changed!")
}
Using Merkle DAGs, this can power a rich, safe, content distribution system.
Please see the README for more information.