Skip to content

Releases: VorpalBlade/chezmoi_modify_manager

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

v2.2.4

26 Dec 18:33
v2.2.4
ba1bd50
Compare
Choose a tag to compare

v2.2.4 (2023-12-26)

Deprecations and future removals

The add hook script support is deprecated since version 2.2.0. The new add:hide and add:remove directives is the replacement. Add hooks will be removed sometime in early 2024.

Please see issue #46 for more information. If you currently use an add hook for anything other than hiding or removing lines on adding files your use case may be affected. If so please leave a comment on that issue describing your use case and I will look into possible solutions.

Features

  • Update to ini-merge 0.3.5.
    This brings with it some reduction in un-needed indirect dependencies on Linux. These would affect compile time, but would not get included in the final binary.
  • Slim down dependency features in order to reduce build times (for the most part this didn't affect what went into the final binary).
  • Make keyring support optional.
    Standard builds still include support for it, but omitting support reduces binary size significantly.
  • Enforce Unicode paths.
    Paths must now be valid UTF-16 (Windows) or UTF-8 (everywhere else). Non-unicode paths never worked properly before, but now it is properly checked.
  • Add colour to log output. The log output is now coloured based on severity level.
  • Add tests for adding files. The adding functionality was previously not automatically tested.
  • Upload built binaries in CI on each commit.
    These are ephemeral (7 days), but will make it easier to test in-development versions for troubleshooting for anyone who cannot easily build locally.

Bug Fixes

  • Fixes for clippy warnings (additional lints have been enabled as well)
  • Fix for deprecations in newer versions of winnow

v2.2.3

04 Nov 18:46
v2.2.3
f95eea6
Compare
Choose a tag to compare

v2.2.3 (2023-11-04)

Deprecations and future removals

The add hook script support is deprecated since version 2.2.0. The new add:hide and add:remove directives is the replacement. Add hooks will be removed at some future point.

Please see issue #46 for more information. If you currently use an add hook for anything other than hiding or removing lines on adding files your use case may be affected. If so please leave a comment on that issue describing your use case and I will look into possible solutions.

Features

  • Report warnings to stderr on two conditions:
    • Failed to parse line in an INI file.
      The line will be emitted verbatim.
    • Multiple regular expressions matched the same key in the INI file.
      (First regular expression will take effect, though this is guaranteed to be the case long term.)

v2.2.2

31 Oct 16:07
v2.2.2
02d58a7
Compare
Choose a tag to compare

v2.2.2 (2023-10-31)

Deprecations and future removals

The add hook script support is deprecated since version 2.2.0. The new add:hide and add:remove directives is the replacement. Add hooks will be removed at some future point.

Please see issue #46 for more information. If you currently use an add hook for anything other than hiding or removing lines on adding files your use case may be affected. If so please leave a comment on that issue describing your use case and I will look into possible solutions.

Bug Fixes

  • Ensure added files ends with at least one new line
  • Fix readd when modify_-script is templated by chezmoi (issue #52)

Documentation

  • Fix documentation on add:remove

v2.2.1

30 Oct 22:37
v2.2.1
80fafb3
Compare
Choose a tag to compare

v2.2.1 (2023-10-30)

Deprecations and future removals

The add hook script support is deprecated since version 2.2.0. The new add:hide and add:remove directives is the replacement. Add hooks will be removed at some future point.

Please see issue #46 for more information. If you currently use an add hook for anything other than hiding or removing lines on adding files your use case may be affected. If so please leave a comment on that issue describing your use case and I will look into possible solutions.

Bug Fixes

  • Upgrade ini-merge to fix regex handling. In particular regular expressions using | without a group around the whole expression was handled incorrectly.

v2.2.0

30 Oct 21:29
v2.2.0
121b48c
Compare
Choose a tag to compare

v2.2.0 (2023-10-30)

Deprecations and future removals

The add hook script support is deprecated. The new add:hide and add:remove directives is the replacement. Add hooks will be removed at some future point.

Please see issue #46 for more information. If you currently use an add hook for anything other than hiding or removing lines on adding files your use case may be affected. If so please leave a comment on that issue describing your use case and I will look into possible solutions.

Features

  • Add warning that hook scripts are deprecated (issue #46)
  • Add add:hide and add:remove directives (issue #46)
    These replace hook scripts. See the README or --help-syntax for more details.

Bug fixes

  • Update bpaf to fix completely broken bash completions (issue #50)

Documentation

  • Update documentation about add:hide, add:remove & add hooks
  • Document add:hide and add:remove (issue #46)

v2.1.6

28 Oct 18:50
v2.1.6
4b5ea3b
Compare
Choose a tag to compare

v2.1.6 (2023-10-28)

Future deprecations

The add hook script is set to be replaced in the future. Please see this issue for more information. If you currently use an add hook for anything other than hiding or removing lines on adding files your use case may be affected. If so please leave a comment on the issue describing your use case.

Features

  • Sanity check that the source path exists when re-adding files

Bug Fixes

Documentation

  • Add example of Windows / multiplatform add_hook (#47)
  • Add documentation about add hooks on Windows
  • Note that add hooks will be replaced and become deprecated

New Contributors

v2.1.5

11 Oct 18:54
v2.1.5
3a60643
Compare
Choose a tag to compare

v2.1.5 (2023-10-11)

Features

  • Switch to use the crate "which" for path resolution in --doctor. This should help with correct resolution on Windows. (issue #38).

v2.1.4

01 Oct 17:49
v2.1.4
6d9ec89
Compare
Choose a tag to compare

v2.1.4 (2023-10-01)

Features

  • Add a --doctor command with sanity checks. This currently performs a few basic checks as well as calls chezmoi doctor. The intention is that this will be useful in bug reports but also to prevent the need for bug reports to begin with.

Backward incompatible changes

  • Drop pre-built binaries for Linux on MIPS since that CPU target is no longer supported with pre-built toolchains by upstream Rust.

Documentation

  • Improve documentation on troubleshooting
  • Improve issue templates for reporting bugs in GitHub
  • Update PrusaSlicer example