Skip to content

Releases: getsops/sops

v3.8.1

11 Oct 15:25
v3.8.1
b6d3c97
Compare
Choose a tag to compare

Note from the Maintainers

In this release of SOPS, we have focused on landing a variety of bug fixes to improve the overall user experience.

For a comprehensive list of changes, please refer to CHANGELOG.rst.

Important Information for SOPS SDK Users

With the project transitioning from the Mozilla Foundation to the CNCF, the Go module path has been updated to reflect this change in ownership. If you use go.mozilla.org/sops/v3 as a library, going forward, import the Go Module using github.com/getsops/sops/v3. Apart from this small adjustment, the SDK's API remains fully backward compatible.

For a one-liner to quickly implement this change throughout your codebase, please refer to: #1246 (comment)

Installation

To install sops, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

# Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.linux.amd64

# Move the binary in to your PATH
mv sops-v3.8.1.linux.amd64 /usr/local/bin/sops

# Make the binary executable
chmod +x /usr/local/bin/sops

Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using Cosign with GitHub OIDC. To validate the signature of this file, run the following commands:

# Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.checksums.pem
curl -LO https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.checksums.sig

# Verify the checksums file
cosign verify-blob sops-v3.8.1.checksums.txt \
  --certificate sops-v3.8.1.checksums.pem \
  --signature sops-v3.8.1.checksums.sig \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com

Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

# Verify the binary using the checksums file
sha256sum -c sops-v3.8.1.checksums.txt --ignore-missing

Verify artifact provenance

The SLSA provenance of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an in-toto link metadata file named sops-v3.8.1.intoto.jsonl. To verify the provenance of an artifact, you can utilize the slsa-verifier tool:

# Download the metadata file
curl -LO  https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.intoto.jsonl

# Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact> \
  --provenance-path sops-v3.8.1.intoto.jsonl \
  --source-uri github.com/getsops/sops \
  --source-tag v3.8.1

Container Images

The sops binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: linux/amd64 and linux/arm64.

GitHub Container Registry

  • ghcr.io/getsops/sops:v3.8.1
  • ghcr.io/getsops/sops:v3.8.1-alpine

Quay.io

  • quay.io/getsops/sops:v3.8.1
  • quay.io/getsops/sops:v3.8.1-alpine

Verify container image signature

The container images are signed using Cosign with GitHub OIDC. To validate the signature of an image, run the following command:

cosign verify ghcr.io/getsops/sops:v3.8.1 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text

Verify container image provenance

The container images include SLSA provenance attestations. For more information around the verification of this, please refer to the slsa-verifier documentation.

Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an SPDX JSON file, formatted as <binary>.spdx.sbom.json.

What's Changed

New Contributors

Full Changelog: v3.8.0...v3.8.1

v3.8.0

15 Sep 13:52
v3.8.0
a750d72
Compare
Choose a tag to compare

Note from the Maintainers

We are extremely happy to introduce this new minor release of SOPS, now a CNCF Sandbox project under the stewardship of a new group of maintainers.

This release involved significant effort in rewriting and enhancing key source implementations, and includes a number of bug fixes which people had been patiently waiting on for a long period of time. In addition, the release process has been built up from scratch, and now now provides enhanced assurance by publishing SBOMs (Software Bill of Materials), SLSA3 provenance attestations and a Cosign signed checksums file as release artifacts.

For a comprehensive list of changes, please refer to CHANGELOG.rst.

Important Information for SOPS SDK Users

With the project transitioning from the Mozilla Foundation to the CNCF, the Go module path has been updated to reflect this change in ownership. If you use go.mozilla.org/sops/v3 as a library, going forward, import the Go Module using github.com/getsops/sops/v3. Apart from this small adjustment, the SDK's API remains fully backward compatible.

For a one-liner to quickly implement this change throughout your codebase, please refer to: #1246 (comment)

Installation

To install sops, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

# Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0/sops-v3.8.0.linux.amd64

# Move the binary in to your PATH
mv sops-v3.8.0.linux.amd64 /usr/local/bin/sops

# Make the binary executable
chmod +x /usr/local/bin/sops

Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using Cosign with GitHub OIDC. To validate the signature of this file, run the following commands:

# Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0/sops-v3.8.0.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0/sops-v3.8.0.checksums.pem
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0/sops-v3.8.0.checksums.sig

# Verify the checksums file
cosign verify-blob sops-v3.8.0.checksums.txt \
  --certificate sops-v3.8.0.checksums.pem \
  --signature sops-v3.8.0.checksums.sig \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com

Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

# Verify the binary using the checksums file
sha256sum -c sops-v3.8.0.checksums.txt --ignore-missing

Verify artifact provenance

The SLSA provenance of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an in-toto link metadata file named sops-v3.8.0.intoto.jsonl. To verify the provenance of an artifact, you can utilize the slsa-verifier tool:

# Download the metadata file
curl -LO  https://github.com/getsops/sops/releases/download/v3.8.0/sops-v3.8.0.intoto.jsonl

# Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact> \
  --provenance-path sops-v3.8.0.intoto.jsonl \
  --source-uri github.com/getsops/sops \
  --source-tag v3.8.0

Container Images

The sops binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: linux/amd64 and linux/arm64.

GitHub Container Registry

  • ghcr.io/getsops/sops:v3.8.0
  • ghcr.io/getsops/sops:v3.8.0-alpine

Quay.io

  • quay.io/getsops/sops:v3.8.0
  • quay.io/getsops/sops:v3.8.0-alpine

Verify container image signature

The container images are signed using Cosign with GitHub OIDC. To validate the signature of an image, run the following command:

cosign verify ghcr.io/getsops/sops:v3.8.0 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text

Verify container image provenance

The container images include SLSA provenance attestations. For more information around the verification of this, please refer to the slsa-verifier documentation.

Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an SPDX JSON file, formatted as <binary>.spdx.sbom.json.

What's Changed

Full Changelog: v3.8.0-rc.1...v3.8.0

v3.8.0-rc.1

25 Aug 11:33
v3.8.0-rc.1
7b3a032
Compare
Choose a tag to compare
v3.8.0-rc.1 Pre-release
Pre-release

Note from the Maintainers

We're thrilled to introduce the v3.8.0-rc.1 release candidate of SOPS, now a CNCF Sandbox project under the stewardship of a new group of maintainers.

This release involved significant effort in rewriting and enhancing key source implementations. Notably, we've modernized the code and updated all SDKs, including updating to AWS SDK v2. Some of these implementations had been neglected, lacking support for newer features. Now, they should be good for extended service.

Moreover, we've completely revamped the release process. Beyond delivering binaries and packages, it now provides enhanced assurance by publishing SBOMs (Software Bill of Materials), SLSA3 provenance attestation, and a Cosign signed checksums file as GitHub release artifacts.

Additionally, the Darwin binary is now distributed as a "fat binary", making it executable on both AMD64 and ARM64 machines.

The goal of this release candidate is primarily to validate our new release process and the quite impactful changes mentioned above. Take it for a spin and share your thoughts, your feedback is much appreciated!

Important Information for SOPS SDK Users

With the project transitioning from the Mozilla Foundation to the CNCF, the Go module path has been updated to reflect this change in ownership. If you use go.mozilla.org/sops/v3 as a library, going forward, import the Go Module using github.com/getsops/sops/v3. Apart from this small adjustment, the SDK's API remains fully backward compatible.

For a one-liner to quickly implement this change throughout your codebase, please refer to: #1246 (comment)

Installation

To install sops, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

# Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0-rc.1/sops-v3.8.0-rc.1.linux.amd64

# Move the binary in to your PATH
mv sops-v3.8.0-rc.1.linux.amd64 /usr/local/bin/sops

# Make the binary executable
chmod +x /usr/local/bin/sops

Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using Cosign with GitHub OIDC. To validate the signature of this file, run the following commands:

# Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0-rc.1/sops-v3.8.0-rc.1.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0-rc.1/sops-v3.8.0-rc.1.checksums.pem
curl -LO https://github.com/getsops/sops/releases/download/v3.8.0-rc.1/sops-v3.8.0-rc.1.checksums.sig

# Verify the checksums file
cosign verify-blob sops-v3.8.0-rc.1.checksums.txt \
  --certificate sops-v3.8.0-rc.1.checksums.pem \
  --signature sops-v3.8.0-rc.1.checksums.sig \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com

Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

# Verify the binary using the checksums file
sha256sum -c sops-v3.8.0-rc.1.checksums.txt --ignore-missing

Verify artifact provenance

The SLSA provenance of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an in-toto link metadata file named provenance.intoto.jsonl. To verify the provenance of an artifact, you can utilize the slsa-verifier tool:

# Download the metadata file
curl -LO  https://github.com/getsops/sops/releases/download/v3.8.0-rc.1/provenance.intoto.jsonl

# Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact> \
  --provenance-path provenance.intoto.jsonl \
  --source-uri github.com/getsops/sops \
  --source-tag v3.8.0-rc.1

Container Images

The sops binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: linux/amd64 and linux/arm64.

GitHub Container Registry

  • ghcr.io/getsops/sops:v3.8.0-rc.1
  • ghcr.io/getsops/sops:v3.8.0-rc.1-alpine

Quay.io

  • quay.io/getsops/sops:v3.8.0-rc.1
  • quay.io/getsops/sops:v3.8.0-rc.1-alpine

Verify container image signature

The container images are signed using Cosign with GitHub OIDC. To validate the signature of an image, run the following command:

cosign verify ghcr.io/getsops/sops:v3.8.0-rc.1 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text

Verify container image provenance

The container images include SLSA provenance attestations. For more information around the verification of this, please refer to the slsa-verifier documentation.

Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an SPDX JSON file, formatted as <binary>.spdx.sbom.json.

What's Changed

Read more

v3.7.3

09 May 17:37
e1edc05
Compare
Choose a tag to compare

Changes:

  • Upgrade dependencies (#1024, #1045)
  • Build alpine container in CI (#1018, #1032, #1025)
  • keyservice: accept KeyServiceServer in LocalClient (#1035)
  • Add support for GCP Service Account within GOOGLE_CREDENTIALS (#953)

Bug fixes:

  • Upload the correct binary for the linux amd64 build (#1026)
  • Fix bug when specifying multiple age recipients (#966)
  • Allow for empty yaml maps (#908)

Commits

  • [75cd389]: Add a test to reproduce #907 (ikedam) #908
  • [108b211]: Allow empty maps for yaml (#907) (ikedam) #908
  • [ea8b3bb]: support gcp credentials as env var (Kaplinsky, Joshua B) #953
  • [c0dc484]: Update keysource.go (Josh Kaplinsky) #953
  • [63fa89c]: Merge remote-tracking branch 'remotes/origin/develop' into feature/907_FixEmptyYaml (ikedam) #908
  • [b926cf9]: Build alpine container in CI (#870) (ikedam) #1018
  • [234bf9f]: Upgrade all dependencies (AJ Bahnken) #1024
  • [4277de4]: Remove duplicated stage from Dockerfile.alpine (Shouichi Kamiya) #1025
  • [605fb27]: Explicitly build linux amd64 binary (Janis Peisenieks) #1026
  • [7ebee3d]: This fixes a bug with age encryption when specifying multiple age recipients (Cedric Kienzler) #966
  • [b5f5f28]: Make masterKeyFromRecipient private (Cedric Kienzler) #966
  • [1dc90ad]: Add tests for single key (Cedric Kienzler) #966
  • [3875b00]: Use latest dockerd in CI to allow build alpine image (#870) (ikedam) #1032
  • accept KeyServiceServer in LocalClient #1035 (Hidde Beydals)
  • [1bb30e2]: Limit role session name length to 64 characters. (AJ Bahnken) #1037
  • [a01208c]: Update golang.org/x/crypto (Hidde Beydals) #1045
  • [e128fa2]: Update keyservice implementation dependencies (Hidde Beydals) #1045
  • [220b652]: Update golang.org/x/{net,oauth2,sys} dependencies (Hidde Beydals) #1045
  • [477b61f]: Update remaining dependencies (Hidde Beydals) #1045
  • [25817ed]: Replace x/crypto/openpgp with ProtonMail/go-crypto (Hidde Beydals) #1045
  • [07aea97]: Merge remote-tracking branch 'upstream/develop' into develop (Josh Kaplinsky) #953
  • [4ffb54c]: Use custom GOOGLE_CREDENTIALS or fallback to default (Josh Kaplinsky) #953
  • [17fb03f]: Merge remote-tracking branch 'upstream/develop' into develop (Josh Kaplinsky) #953
  • [15583bd]: prep for v3.7.3 (AJ Bahnken) #1053

v3.7.2

09 Mar 19:26
86f500d
Compare
Choose a tag to compare

Changes:

  • README updates (#861, #860)
  • Various test fixes (#909, #906, #1008)
  • Added Linux and Darwin arm64 releases (#911, #891)
  • Upgrade to go v1.17 (#1012)
  • Support SOPS_AGE_KEY environment variable (#1006)

Bug Fixes

  • Make sure comments in yaml files are not duplicated (#866)
  • Make sure configuration file paths work correctly relative to the config file in us (#853)

Commits

  • [e98451e]: Remove unused age code (Hidde Beydals) #842
  • [2395f07]: small release workflow fix (AJ Bahnken)
  • [c5b1298]: Match file path relative to config file's directory (2) (#853) (Paulo Lieuthier) #853
  • [7626399]: fix missing argument in encrypting with age section (#860) (Damien Léger) #860
  • [3acf53e]: Correct path to age keys.txt in documentation (#861) (Alexey Odinokov) #861
  • [5af8e63]: Prevent comment duplication. (#866) (Felix Fontein) #866
  • [688fa22]: Remove SOPS_GPG_KEYSERVER reference in README.rst (Enrico204) #883
  • [02d57ca]: Tests should not fail fast (ikedam) #909
  • [6130ffe]: Use the key of release@mozilla.com for the unit test (#882) (#906) (ikedam) #906
  • [56bbf84]: Added support for go 1.16 and darwin-arm64 (Nikola Milojević) #911
  • [f6e9891]: fix a typo (brant4test) #967
  • [086c11d]: Support SOPS_AGE_KEY environment variable (Christian Hoffmeister) #1006
  • [a98768b]: Fix flakey test run on OSX (Alex Castle) #1008
  • [6bfd72d]: Merge remote-tracking branch 'origin/develop' into sops-age-key-env (Christian Hoffmeister) #1006
  • [dc2267e]: Upgrade to go 1.17 (AJ Bahnken) #1012
  • [076f295]: rm extra whitespace in CircleCI config (AJ Bahnken) #1012
  • [7f503bc]: Upgrade release job to go 1.17 (AJ Bahnken) #1012
  • [4bd3e5a]: Update pip package name in Dockerfile (AJ Bahnken) #1012
  • [b7c58e4]: Move age environment variable names to constants (Christian Hoffmeister) #1006
  • [684d338]: Merge branch 'develop' of https://github.com/mozilla/sops into mozilla-develop (Nikola Milojević) #911
  • [0cfcae6]: Merge branch 'mozilla-develop' into develop (Nikola Milojević) #911
  • [dff9c31]: Merge branch 'develop' into sops-age-key-env (AJ Bahnken) #1006
  • [c586534]: Change labeling and upload linux arm64 (AJ Bahnken) #1014
  • [d6bc216]: README and author tweaks (AJ Bahnken) #1016
  • [822ce48]: Add arm64 .deb and .rpm builds (Janis Peisenieks) #891
  • [baec2a5]: Merge branch 'develop' into feature/testsSholdNotFailFast (ikedam) #909
  • [035672f]: prep v3.7.2 (AJ Bahnken) #1020
  • [b67c7a7]: Fixed CHANGELOG formatting (AJ Bahnken) #1020

v3.7.1

08 Apr 21:52
68e2a82
Compare
Choose a tag to compare

Commits

v3.7.0

24 Mar 22:48
66043e7
Compare
Choose a tag to compare

3.7.0

Features:

  • Add support for age (#688)
  • Add filename to exec-file (#761)

Changes:

  • On failed decryption with GPG, return the error returned by GPG to the sops user (#762)
  • Use yaml.v3 instead of modified yaml.v2 for handling YAML files (#791)
  • Update aws-sdk-go to version v1.37.18 (#823)

Project Changes:

  • Switch from TravisCI to Github Actions (#792)

v3.6.1

14 Sep 17:01
v3.6.1
38b25bd
Compare
Choose a tag to compare

Features:

  • Add support for --unencrypted-regex (#715)

Changes:

  • Use keys.openpgp.org instead of gpg.mozilla.org (#732)
  • Upgrade AWS SDK version (#714)
  • Support --input-type for exec-file (#699)

Bug fixes:

  • Fixes broken Vault tests (#731)
  • Revert "Add standard newline/quoting behavior to dotenv store" (#706)

v3.6.0

15 Jul 22:18
v3.6.0
5f7d324
Compare
Choose a tag to compare

Features:

  • Support for encrypting data through the use of Hashicorp Vault (#655)
  • sops publish now supports --recursive flag for publishing all files in a directory (#602)
  • sops publish now supports --omit-extensions flag for omitting the extension in the destination path (#602)
  • sops now supports JSON arrays of arrays (#642)

Improvements:

  • Updates and standardization for the dotenv store (#612, #622)
  • Close temp files after using them for edit command (#685)

Bug fixes:

  • AWS SDK usage now correctly resolves the ~/.aws/config file (#680)
  • sops updatekeys now correctly matches config rules (#682)
  • sops updatekeys now correctly uses the config path cli flag (#672)
  • Partially empty sops config files don't break the use of sops anymore (#662)
  • Fix possible infinite loop in PGP's passphrase prompt call (#690)

Project changes:

  • Dockerfile now based off of golang version 1.14 (#649)
  • Push alpine version of docker image to Dockerhub (#609)
  • Push major, major.minor, and major.minor.patch tagged docker images to Dockerhub (#607)
  • Removed out of date contact information (#668)
  • Update authors in the cli help text (#645)

v3.5.0

21 Nov 23:22
v3.5.0
6475600
Compare
Choose a tag to compare

Features:

* `sops exec-env` and `sops exec-file`, two new commands for utilizing sops secrets within a temporary file or env vars

Bug fixes:

* Sanitize AWS STS session name, as sops creates it based off of the machines hostname
* Fix for `decrypt.Data` to support `.ini` files
* Various package fixes related to switching to Go Modules
* Fixes for Vault-related tests running locally and in CI.

Project changes:

* Change to proper use of go modules, changing to primary module name to `go.mozilla.org/sops/v3`
* Change tags to requiring a `v` prefix.
* Add documentation for `sops updatekeys` command