All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.17.0 (2024-10-27)
- help: improve some docstrings, add colored help (d38c0ec)
- tasks: don't use colons in temp directory (79b52bd)
- user: debug log the user's tty (7a7509f)
- user: don't debug log tty even when info logging enabled (87e6ed6)
- [BREAKING] docs: add manpage and markdown doc generation (e61dd9b)
0.16.0 (2024-08-05)
- opts: fix --log-level alias preserved for compatibility (890423d)
- [BREAKING] run: stream single task stdout/err to console (16682de)
- run: nicer multi-task output (50daa14)
- schema: add subcommand to generate yaml schema (558726f)
0.15.2 (2024-04-22)
- task: don't write to stdout by default (1fa7180)
- defaults: document location of per-host defaults (5745085)
- defaults:
up defaults read -
should read from stdin (1e3ea9c) - task: add indicatif progress bars for task execution (51ad144)
- clippy: apply clippy-suggested fixes (f1ba666)
- log: disallow log macros to enforce use of tracing ones (59673d3)
0.15.1 (2023-06-26)
- sudo: refresh sudo so it works after 5 minutes (a93d1b5)
- [BREAKING] run: write task stdout/stderr logs to temp files (a13d0f2)
- log: clean up logging code, remove up-rs.latest symlink (3362832)
0.14.1 (2023-03-14)
- log: log to file at trace level by default (a36fff4)
- defaults: fix typo in currentHost preference setting example (7b0adfb)
- tasks: allow providing a list of tasks to exclude (cf4558d)
0.14.0 (2023-03-13)
- defaults: allow reading plist files with binary data in them (4bacbef)
- defaults: support adding to an existing array or dict with ... (8438155)
- defaults: add support for writing per-host and root-owned defaults (5d30359)
0.13.6 (2023-03-06)
- help: enable help output wrapping based on terminal width (d8626c6)
- [BREAKING] remove CI feature, improve release script (f444293)
- [BREAKING] drop support for non-UTF-8 paths (5116250)
- use duct for executing commands (3e5987e)
0.13.5 (2023-03-02)
- Link to libgit2 statically, instead of relying on a libgit2 library being present on the system.
0.13.4 (2023-03-01)
- defaults: create defaults parent dir if it doesn't exist (3dea4f4)
- generate: update to new serde yaml format (97625b0)
- git: fix double-quoting in git_path log messages (c607fa4)
- link: handle multiple link tasks cleaning backup dir in parallel (4216333)
- tasks: require commas to separate multiple --task values (6f63932)
- run: add a --keep-going option for ignoring bootstrapping errors (dfb46a0)
- log: use tracing macros instead of log macros (c204f5f)
- opts: switch from slog to tracing for logging (777d216)
- rewrite .with_context() to .wrap_err_with() (ab10034)
0.13.3 (2022-01-28)
- generate: skip git update if nothing changed (7129a033)
- task: add a suggestion when the task to execute isn't executable (75e00a28)
0.13.2 (2021-12-02)
- opts: show full help when running
up help <subcommand>
(a7cc667f) - run: allow passing -t for --tasks (8277d207)
0.13.1 (2021-11-20)
- generate: replace home dir in generated paths (50ae6bed)
- git:
- opts: allow passing --bootstrap as a long argument (e0f58ff7)
- run: add long options for fallback URL and path (61bb3ad0)
- self_update: don't downgrade pre-release versions (91d6fd3e)
- tasks:
- config: support org/repo fallback URLs (maps to github.com URLs) (271785d7)
0.13.0 (2021-11-15)
- task: allow marking a task as skipped in the run_cmd (81621db1)
- completions: have
up completions --help
list available shells (77bc7dcc) - git: cannot locate remote-tracking branch 'up/forkmain' (d9fbe6fd)
0.12.4 (2021-11-02)
- bootstrap: fix bootstrapping order (6b43b100)
- generate:
0.12.3 (2021-10-28)
- tasks:
0.12.2 (2021-10-25)
- task: rename to run_if_cmd, allow using with run_lib (8ab63c23)
0.12.1 (2021-10-24)
0.12.0 (2021-10-24)
- defaults:
- logging:
- tasks: return TaskStatus::Skipped if we didn't do any work (ae8d2a2d)
- defaults:
0.11.0 (2021-10-18)
- git: wait longer between retries with fetch failures (288fadca)
- tasks: nicer error messages on task failure (7b8eee2e)
0.10.0 (2021-10-04)
- list: add an
up list
command (510e83a7)
- completions:
0.9.5 (2021-09-24)
- log: don't log a full backtrace on error (72949e41)
0.9.4 (2021-09-20)
- version: work around clap 3 beta issue where version isn't guessed (cc4694fa)
0.9.3 (2021-09-20)
- completions: add command to write completions to stdout (2dfbc4ef)
0.9.2 (2021-09-07)
- git: recursively fetch submodules if we need to check them out (f152965b)
0.9.1 (2021-05-17)
- generate: make task data come last for toml serialization (f95f5beb)
- task:
- git: warn for git updates that take more than 60s (d8d38e1b)
0.9.0 (2021-05-17)
- tasks: run all tasks in parallel using Rayon (4da6e955)
- args: support long option name for up --config (5e21ef28)
0.8.5 (2021-03-08)
- git: handle out-of-date submodules when updating repos (df8bb072)
0.8.4 (2021-03-03)
- defaults: don't write quoted strings as defaults (079b2d19)
- git:
0.8.3 (2021-03-01)
- update_self: manually implement default for UpdateSelfOptions (a5ad0378)
0.8.2 (2021-02-27)
- git: remove double connection to server (c6e365f4)
- self_update: allow adding as a task, skip if a dev build (23bc13c4)
- tasks: skip broken symlinks in tasks directory (b90a599c)
0.8.1 (2021-02-27)
- generate: allow providing a sort order for git config generation (11cc73ba)
- update_self: allow self update to be called as a lib (999b9122)
- git: check local git config as well as global (44b3ebe7)
0.8.0 (2021-02-22)
- defaults: add a library to set defaults (be4bce1b)
0.7.0 (2021-02-17)
- git: handle initial repo setup case when checking out branch (ce657976)
- link: show backup directory path in error message (b0276613)
- git: warn for unpushed changes (185209a2)
0.6.4 (2021-02-01)
- self_update: check github API for latest release (40672199)
0.6.3 (2021-01-31)
- git: only ensure repo is clean if we're deleting branches (b0c4f1f8)
0.6.2 (2021-01-26)
- git: don't error if repo dirty unless we actually need to update (eb335977)
0.6.1 (2021-01-21)
- git: make prune option default to false (cd616955)
0.6.0 (2021-01-21)
- log: make logging less noisy (c43b471b)
- git: git prune and git cherry implementation (507e7560)
- main: set default file log level to debug not trace (9d19fc51)
0.5.4 (2020-12-05)
- git: ignore gitignored files, include git status in error (d1018d3f)
0.5.3 (2020-12-05)
- git:
- self_update: typo in version check for new versions (12bc6d0e)
0.5.2 (2020-11-06)
- update: don't fail immediately on git or link errors (15f59918)
0.5.1 (2020-10-31)
- git: check @{push} before @{upstream} to ensure up-to-date-ness (5539d50e)
- self_update: allow updating self with
up self
(699b9087)
0.5.0 (2020-10-26)
- git:
- git: run git updates in parallel (77b8d37b)
- generate:
- git: add support for git repo initalization and updates (e06575a7)
0.4.1 (2020-10-21)
- logging: handle existing broken symlinks for log path link (2d3ee577)
0.4.0 (2020-07-22)
- update:
0.3.3 (2020-07-03)
- update:
0.3.1 (2020-04-17)
- clippy: fix more clippy and compiler warnings (64024209)
- lint: remove clippy-preview (38deb9ba)
- test: allow TODO comments, forbid XXX (1ea97cec)
- tests: make tests all set a temp dir (e8b56a94)
- update: only log task stdout/stderr if non-empty (2615531c)
- fallback: add a fallback git repo to get the config from (d7c6dc9c)
- git,log: add git update, improve logging (6087e3e3)
- log: make log_dir customisable, make clippy ultra-pedantic (66cbade9)
0.3.0 (2020-04-17)
- config: make env optional (2ab6527c)
- main: log total run time (0cb59624)
- update:
0.2.2 (2020-04-17)
- git: statically link openssl (8d809b3c)
0.2.1 (2020-04-17)
- link: add an option to
git clone
a repo to link from (0a8a1352)
- build: update to non-yanked version of structopt (9d5318cf)