Skip to content

Releases: VorpalBlade/chezmoi_modify_manager

v3.5.0

06 Sep 20:22
v3.5.0
a5c7e45
Compare
Choose a tag to compare

v3.5.0 (2024-09-06)

Features

  • Add command to set keyring entries: chezmoi_modify_manager --keyring-set
    and chezmoi_modify_manager --keyring-remove. These especially help on
    non-Linux platforms that lack command line keyring tools.

Documentation

  • Document the new way of adding keys to the system keyring.
  • Use cargo-about to generate licence summary for each release in the GitHub
    release artifacts.
  • Remove note about 32 bit ARM and x86 being tested. I don't have such systems any more.

v3.4.0

14 Jul 07:34
v3.4.0
0c55fc1
Compare
Choose a tag to compare

v3.4.0 (2024-07-14)

Features

  • This depends on a newer version of keyring which no longer depends on zbus
    in the configuration we use for it. This reduces the binary size by several MB
    on Linux.
  • Update dependencies and add vendored feature
  • Enable attest-build-provenance for releases. These can be seen here and allows for verifying that the uploaded binaries for this release (and going forward) were in fact built on GitHub CI and not elsewhere.

Documentation

  • Update documentation on new vendored feature
  • Fix broken links
  • Update basics.md: Fix small typo (Thanks to @Daniel15 in #134)

New Contributors

v3.3.0

11 May 11:07
v3.3.0
9335b3d
Compare
Choose a tag to compare

v3.3.0 (2024-05-11)

Features

  • Add MacOS ARM64 builds. As GitHub runners now use ARM64 for Apple, this is now feasible.

Documentation

v3.2.2

08 Apr 20:34
v3.2.2
3283899
Compare
Choose a tag to compare

v3.2.2 (2024-04-08)

Features

  • Add way to disable warning on multiple matches (no-warn-multiple-key-matches, see --help-syntax for more information)

Documentation

Unit & integration tests

  • Add test case for setting a key in a non-existing section

v3.2.1

15 Mar 21:55
v3.2.1
742143d
Compare
Choose a tag to compare

v3.2.1 (2024-03-15)

Bug Fixes

  • Fix transform when key is missing in source (issue #100)

Documentation

  • Update examples on Prusa

Unit & integration tests

  • Add test for issue #100

v3.2.0

12 Mar 22:12
v3.2.0
806ceed
Compare
Choose a tag to compare

v3.2.0 (2024-03-12)

Features

  • Test in CI that --upgrade exists when expected. This should guard against releases without support for the built-in self-updater.
  • Bump MSRV to 1.75.0 due to dependencies.
  • The keyring transform has gained an optional argument separator that can be used to change from the default of =.
  • Refactor out --doctor support code into new library (called medic). This makes it easier to reuse in other projects.

Documentation

  • Fix incorrect transform in examples (solves #95)

v3.1.2

19 Feb 12:04
v3.1.2
1b77412
Compare
Choose a tag to compare

v3.1.2 (2024-02-19)

Bug Fixes

  • Self updater was broken due to feature flag changes

v3.1.1

13 Feb 19:37
v3.1.1
258f6a4
Compare
Choose a tag to compare

v3.1.1 (2024-02-13)

Bug fixes

  • Make cross pass through environment variables we need. This fixes issue #79 where --doctor reported that official builds were non-official

For other changes please see the release notes for 3.1.0, which contained some big new features

v3.1.0

12 Feb 23:49
v3.1.0
69e3ff9
Compare
Choose a tag to compare

v3.1.0 (2024-02-13)

Known issues

  • Fixed in 3.1.1: --doctor always reports "Unknown builder, no identity set"

Major feature: Add support for CHEZMOI_SOURCE_FILE

With chezmoi 2.46.1 and newer the modify script no longer needs to be a template.
Chezmoi now exports the environment variable CHEZMOI_SOURCE_FILE which is all
that chezmoi_modify_manager needs. The script can still be a template if you
need to for other reasons.

chezmoi_modify_manager --add will now auto detect which version of chezmoi is
in use on the current system and try to use the most performant approach (no
template) if possible. If you use mixed versions you can override this by exporting
the environment variable CHEZMOI_MODIFY_MANAGER_ASSUME_CHEZMOI_VERSION=2.46.0,
forcing chezmoi_modify_manager to treat the chezmoi version as older.

In addition chezmoi_modify_manager --add --style now works differently and supports:

  • --style=path: Default on newer chezmoi versions, will use the new source auto
    directive and not add a template file
  • --style=path-tmpl: Default on older chezmoi versions. Will add as a template
    file, use CHEZMOI_MODIFY_MANAGER_ASSUME_CHEZMOI_VERSION as described above
    to switch between source auto or templated. Even on newer versions this is
    a shortcut compared to renaming to .tmpl yourself if you need templating for
    other reasons.
  • --style=auto is the actual default and selects one of the above options.
  • --style=src still exists and still isn't recommended.

Additional documentation can be found here

A bit of quickly hacked together shell script for converting to the new format (for a
minor performance win) is available in #80 (comment) though beware that it isn't well
tested. Caution and being prepared to to git reverts is advised.

Minor feature: Improve --doctor

  • Warn about old chezmoi in --doctor (no support for CHEZMOI_SOURCE_FILE)
  • Add info to --doctor on where the binary came from (helps with issue reports)
  • Add colour to output of --doctor
  • Improve --doctor output by tracking worst level of issue found

Other Features

  • Switch to dep: syntax. This remove some internal cargo features from the build
    system making it cleaner for users.
  • Ring now supports all platforms. Drop OpenSSL support entirely. This was never
    used in any official builds but remained an option for some platforms like
    PPC and RISC-V until ring/rustls supported those.
  • Upgrade various dependencies, also upgrade MSRV (Minimum Supported Rust Version) to 1.74 as a result

Documentation

  • Document how source specifications work
  • Update README with relevant changes for source auto
  • Document source auto in --help-syntax
  • Add notes for packagers
  • Internal docs: Document the fast path concept in design decisions.
  • Clarify MSRV policy & build requirements

v3.0.0

14 Jan 11:34
v3.0.0
8e82669
Compare
Choose a tag to compare

v3.0.0 (2024-01-14)

Breaking changes

  • Drop deprecated hook script support (issue #62)
  • Error in add/smart-add on existence of hook script: This is to make you notice and fix the no longer used hook script.

Features

  • Refactor adding code: The code is cleaner, and the messages displayed to the user have changed slightly
  • Use better buffering for stdout for a small but measurable speed up
  • Improve size of release binaries:
    • Compress debug info on Linux release builds
    • Improve binary size for releases by better compile flags (LTO, opt level s, 1 codegen unit)
  • Change some "info" to "ok" in --doctor output
  • Make automated updates possible (--no-confirm flag)

Documentation

  • Update migration docs
  • Document add:remove/add:hide better (issue #62)
  • Update link to bpaf shell completion docs
  • Fix typo in README

Major internal code changes

There are no visible user changes due to these changes.

  • Adapt to non-dynamic dispatch in ini-merge