|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 3.10.0 |
| 4 | + |
| 5 | +Security fixes: |
| 6 | + |
| 7 | +* Cherry-pick a fix for a timing vulnerability in the Shamir Secret Sharing code. |
| 8 | + The code was vendored from HashiCorp's Vault project, and the issue was fixed |
| 9 | + there two years ago; see [GHSA-vq4h-9ghm-qmrr](https://github.com/advisories/GHSA-vq4h-9ghm-qmrr) |
| 10 | + for details ([#1813](https://github.com/getsops/sops/pull/1813)). |
| 11 | + |
| 12 | +Features: |
| 13 | + |
| 14 | +* Add `--input-type` option for `sops filestatus` subcommand ([#1601](https://github.com/getsops/sops/pull/1601)). |
| 15 | +* Allow to set the editor `sops` should use with the `SOPS_EDITOR` environment variable. |
| 16 | + If not set, `sops` falls back to `EDITOR` as before ([#1611](https://github.com/getsops/sops/pull/1611)). |
| 17 | +* Allow users to disable the latest version check with the environment variable `SOPS_DISABLE_VERSION_CHECK`. |
| 18 | + Setting it to `1`, `t`, `T`, `TRUE`, `true`, or `True` explicitly |
| 19 | + disables the check ([#1684](https://github.com/getsops/sops/pull/1684)). |
| 20 | +* Allow users to explicitly enable the latest version check with the `--check-for-updates` |
| 21 | + option ([#1816](https://github.com/getsops/sops/pull/1816)). |
| 22 | +* Add duplicate section support for INI store ([#1452](https://github.com/getsops/sops/pull/1452)). |
| 23 | +* Add check to prevent duplicate keys in YAML files ([#1203](https://github.com/getsops/sops/pull/1203)). |
| 24 | +* Add `--same-process` option for the `sops exec-env` to use the `execve` syscall |
| 25 | + instead of starting the command in a child process ([#880](https://github.com/getsops/sops/pull/880)). |
| 26 | +* Add `--idempotent` option for the `sops set` subcommand that will only |
| 27 | + write the file if a change happened ([#1754](https://github.com/getsops/sops/pull/1754)). |
| 28 | +* Encrypt and decrypt `time.Time` objects that can appear in YAML files |
| 29 | + when using dates and timestamps ([#1759](https://github.com/getsops/sops/pull/1759)). |
| 30 | +* Allow to encrypt and decrypt from `stdin` without having to provide |
| 31 | + platform-specific device names. This only works when using the |
| 32 | + `sops encrypt` and `sops decrypt` subcommands ([#1690](https://github.com/getsops/sops/pull/1690)). |
| 33 | +* Allow to set the SOPS config location with the environment variable |
| 34 | + `SOPS_CONFIG` ([#1701](https://github.com/getsops/sops/pull/1701)). |
| 35 | +* Support the `--config` option in the `sops publish` subcommand ([#1779](https://github.com/getsops/sops/pull/1779)). |
| 36 | +* Omit empty master key metadata from encrypted files ([#1571](https://github.com/getsops/sops/pull/1571)). |
| 37 | +* Add SSH support for Age ([#1692](https://github.com/getsops/sops/pull/1692)). |
| 38 | +* Support Age identities with passphrases ([#1400](https://github.com/getsops/sops/pull/1400)). |
| 39 | +* Add Age plugin support ([#1641](https://github.com/getsops/sops/pull/1641)). |
| 40 | +* Allow to set the `SOPS_AGE_KEY_CMD` environment variable to an executable that |
| 41 | + returns Age keys ([#1811](https://github.com/getsops/sops/pull/1811)). |
| 42 | +* Add support for `oauth2.TokenSource` injection from key service clients in |
| 43 | + GCP KMS ([#1794](https://github.com/getsops/sops/pull/1794)). |
| 44 | +* Support `GOOGLE_OAUTH_ACCESS_TOKEN` for GCP KMS ([#1578](https://github.com/getsops/sops/pull/1578)). |
| 45 | + |
| 46 | +Improvements: |
| 47 | + |
| 48 | +* Dependency updates ([#1743](https://github.com/getsops/sops/pull/1743), [#1745](https://github.com/getsops/sops/pull/1745), |
| 49 | + [#1751](https://github.com/getsops/sops/pull/1751), [#1763](https://github.com/getsops/sops/pull/1763), |
| 50 | + [#1769](https://github.com/getsops/sops/pull/1769), [#1773](https://github.com/getsops/sops/pull/1773), |
| 51 | + [#1784](https://github.com/getsops/sops/pull/1784), [#1797](https://github.com/getsops/sops/pull/1797), |
| 52 | + [#1802](https://github.com/getsops/sops/pull/1802), [#1806](https://github.com/getsops/sops/pull/1806), |
| 53 | + [#1809](https://github.com/getsops/sops/pull/1809), [#1814](https://github.com/getsops/sops/pull/1814)). |
| 54 | +* Fix typos ([#1765](https://github.com/getsops/sops/pull/1765)). |
| 55 | +* Make sure that tests do not pick up `keys.txt` from user's `$HOME` dir ([#1766](https://github.com/getsops/sops/pull/1766)). |
| 56 | +* Consolidate passphrase reading functionality in Age code ([#1775](https://github.com/getsops/sops/pull/1775)). |
| 57 | +* Fix some problems reported by the `staticcheck` linter ([#1780](https://github.com/getsops/sops/pull/1780)). |
| 58 | +* Improve documentation of Shamir Secret Sharing code to ease maintenance ([#1813](https://github.com/getsops/sops/pull/1813)). |
| 59 | +* Make sure all files are properly formatted ([#1817](https://github.com/getsops/sops/pull/1817)). |
| 60 | +* `sops` now warns if it finds a `.sops.yml` file while searching for a |
| 61 | + `.sops.yaml` config file ([#1820](https://github.com/getsops/sops/pull/1820)). |
| 62 | + |
| 63 | +Bugfixes: |
| 64 | + |
| 65 | +* Add trailing newline at the end of JSON files ([#1476](https://github.com/getsops/sops/pull/1476)). |
| 66 | +* Check GnuPG decryption result for non-empty size. Certain older versions return |
| 67 | + an empty result with a successful return code when a AEAD cipher from a newer |
| 68 | + version was used ([#1776](https://github.com/getsops/sops/pull/1776)). |
| 69 | +* Fix caching of `Metadata.DataKey` ([#1781](https://github.com/getsops/sops/pull/1781)). |
| 70 | +* If `--filename-override` is specified, convert it to an absolute path same as regular |
| 71 | + filenames ([#1793](https://github.com/getsops/sops/pull/1793)). |
| 72 | + |
| 73 | +Deprecations: |
| 74 | + |
| 75 | +* The current behavior that `sops --version` always checks whether the current |
| 76 | + version is the latest is deprecated and will no longer be the default eventually. |
| 77 | + It is best to right now always specify `--disable-version-check` or `--check-for-updates` |
| 78 | + to `sops --version`, or alternatively set the environment variable `SOPS_DISABLE_VERSION_CHECK=true` |
| 79 | + to already get the planned default behavior today. ([#1816](https://github.com/getsops/sops/pull/1816)). |
| 80 | + |
| 81 | +Project changes: |
| 82 | + |
| 83 | +* Go 1.22 is no longer support; CI now also builds with Go 1.24 ([#1819](https://github.com/getsops/sops/pull/1819)). |
| 84 | +* CI dependency updates ([#1746](https://github.com/getsops/sops/pull/1746), |
| 85 | + [#1750](https://github.com/getsops/sops/pull/1750), [#1770](https://github.com/getsops/sops/pull/1770), |
| 86 | + [#1782](https://github.com/getsops/sops/pull/1782), [#1795](https://github.com/getsops/sops/pull/1795), |
| 87 | + [#1801](https://github.com/getsops/sops/pull/1801), [#1808](https://github.com/getsops/sops/pull/1808)). |
| 88 | +* Rust dependency updates for functional tests ([#1744](https://github.com/getsops/sops/pull/1744), |
| 89 | + [#1762](https://github.com/getsops/sops/pull/1762), [#1768](https://github.com/getsops/sops/pull/1768), |
| 90 | + [#1783](https://github.com/getsops/sops/pull/1783), [#1796](https://github.com/getsops/sops/pull/1796), |
| 91 | + [#1800](https://github.com/getsops/sops/pull/1800), [#1807](https://github.com/getsops/sops/pull/1807)). |
| 92 | +* Bump Rust version for functional tests to 1.85 ([#1783](https://github.com/getsops/sops/pull/1783)). |
| 93 | +* Release environment updates ([#1700](https://github.com/getsops/sops/pull/1700), |
| 94 | + [#1761](https://github.com/getsops/sops/pull/1761)). |
| 95 | +* The changelog is now a MarkDown document ([#1741](https://github.com/getsops/sops/pull/1741)). |
| 96 | +* We now also build a Windows ARM64 binary ([#1791](https://github.com/getsops/sops/pull/1791)). |
| 97 | +* In the `updatekey.Opts` structure, `GroupQuorum` was renamed to `ShamirThreshold` |
| 98 | + ([#1631](https://github.com/getsops/sops/pull/1631)). |
| 99 | + |
3 | 100 | ## 3.9.4 |
4 | 101 |
|
5 | 102 | Improvements: |
|
0 commit comments