v2.0.0
Sylabs is pleased to announce version 2.0.0 of the SIF module. This release is included with SingularityCE as of the 3.8.3 release, and is fully compatible with SIF images generated using the SIF v1 API.
This major release improves usability of the API, is designed with future extension in mind, and removes use of deprecated/unmaintained go packages.
The github.com/sylabs/sif/v2/pkg/sif package contains the most substantial changes. Several functions now utilize the functional options pattern with sensible defaults to provide a simple yet flexible interface. The type ReadWriter interface is dramatically smaller than the v1 equivalent, making it easier to implement a custom SIF storage type. A type Buffer has been introduced that implements this interface to support in-memory creation and/or manipulation of a SIF image.
The github.com/sylabs/sif/v2/pkg/integrity package has received minor updates that reflect the changes in the sif package. In particular, descriptors are now available directly from type VerifyResult.
As of SIF v2.x, SIF no longer depends on the unmaintained github.com/satori/go.uuid module, nor the deprecated golang.org/x/crypto/openpgp package.
SIF v2 is built with Mage, tested by CircleCI, and released using GoReleaser.
Changelog
808b716 build(deps): bump github.com/ProtonMail/go-crypto from v0.0.0-20210428141323-04723f9f07d7 to v0.0.0-20210707164159-52430bf6b52c
9d3190d refactor: move git code to internal package