## CHANGELOG ### v0.37.23 (2024-10-19) * Enhancement: support relative keyword for makefile extending to enable easy git/crate/workspace root extending #1175 * Maintenance: critical bug fix upgrade for duckscript ### v0.37.22 (2024-10-12) * Fix: set env CARGO_MAKE_CURRENT_TASK_NAME before condition invocation #1173 ### v0.37.21 (2024-10-04) * Fix: Remove RUSTFLAGS from workaround of rustup env issue when setting toolchain #1169 * Maintenance: upgrade duckscript ### v0.37.20 (2024-10-03) * Maintenance: upgrade dependencies ### v0.37.19 (2024-10-03) * Maintenance: upgrade duckscript ### v0.37.18 (2024-09-29) * Enhancement: config to disable all installation steps #1147 ### v0.37.17 (2024-09-28) * Fix: support encrypted drives (shorten script file names) #1150 * Fix: setup musl failing on open ssl binary redirects ### v0.37.16 (2024-08-30) * Enhancement: Expand condition_script_runner_args #1132 (thanks @wmmc88) ### v0.37.15 (2024-07-29) * Enhancement: Support env expansion for script runner #1125 * Enhancement: Make LoggerOptions public + add name field #1124 (thanks @SamuelMarks) ### v0.37.14 (2024-07-17) * Fix: fix the --skip-init-end-tasks argument #1108 (thanks @06393993) * Enhancement: Support using cargo make as library #1112 (thanks @SamuelMarks) ### v0.37.13 (2024-07-07) * Enhancement: New condition_script_runner_args attribute #1081 * Enhancement: Add workspace level package info to global environment variables #1092 (thanks @varphone) * Enhancement: New condition type: And, Or, GroupOr to enable to fine tune conditions #432 ### v0.37.12 (2024-05-04) * Enhancement: support crates with invalid structure (fallback of cargo-metadata) #1076 * Maintenance: disable old legacy migration task #1101 ### v0.37.11 (2024-04-05) * Fix: reset CARGO env var to fix wrong CARGO in commands #1060 (thanks @wmmc88) ### v0.37.10 (2024-02-23) * Enhancement: Prevent wasteful busy cpu spinning #1045 (thanks @permosegaard) * Enhancement: Enable multiple ignored watch patterns #1041 (thanks @Buzzec) ### v0.37.9 (2024-02-02) * Fix: fix rust script invocation as load_script #1035 ### v0.37.8 (2024-01-24) * Enhancement: Support script runners and shebang in condition scripts #987 * Enhancement: Support script runner args for rust scripts #1025 * Enhancement: Support condition_script as string and not just vec (similar to script) ### v0.37.7 (2024-01-14) * Fix: Detect crate installation fix for new cargo list format ### v0.37.6 (2024-01-13) * Fix: Detect crate installation fix for new cargo list format * Enhancement: Add condition support for decode info #1020 (thanks @Bauke) * Enhancement: Remove format check from static lint checks profile * Maintenance: Update lint rules ### v0.37.5 (2023-12-15) * Enhancement: Add OS condition #989 * Enhancement: Enable setting default profile by env variable #996 (thanks @Johnabell) * Documentation: Add Fig Autocompletion to README.md #993 (thanks @beeinger) * Maintenance: update dependencies and build * Documentation: Add additional plugin env handling details #978 ### v0.37.4 (2023-10-31) * Fix: Enable latest rust-script installation by default #979 (thanks @wmmc88) ### v0.37.3 (2023-10-28) * Fix: Fallback CARGO_MAKE_CRATE_CUSTOM_TRIPLE_TARGET_DIRECTORY to CARGO_MAKE_CRATE_TARGET_DIRECTORY #972 * Enhancement: Improve rust based scripts performance by enabling script caching #968 ### v0.37.2 (2023-09-27) * Enhancement: improve support for shebang script file extensions #926 ### v0.37.1 (2023-09-17) * Fix: workspace dependencies outside workspace directory should not be detected as members #948 * Enhancement: Move crate_target_dirs from RustInfo to CrateInfo for improved performance #941 (thanks @xxchan) * Maintenance: upgrade duckscript #945 ### v0.37.0 (2023-09-08) * Fix: env vars loading order is not consistent #934 * \[**backward compatibility break**\] Maintenance: Upgrade duckscript runtime to 0.8 * Maintenance: Upgrade cargo-watch to 8.4.1 ### v0.36.13 (2023-08-10) * Fix: External env vars are detected as cycles #911 * Fix: Auto complete bash script #914 (thanks @gw31415) * Documentation: Arch Linux installation #880 (thanks @CosminGGeorgescu) * Documentation: Fix Readme about Binary Release Target #915 (thanks @Azuki-bar) * Maintenance: Replace unmaintained ansi_term with nu_ansi_term #913 ### v0.36.12 (2023-07-19) * Fix: Remove workspace members sorting #897 (thanks @pskrgag) ### v0.36.11 (2023-06-15) * Maintenance: Upgrade dependencies ### v0.36.10 (2023-06-10) * Enhancement: split function now allows to remove empty values via new third argument 'remove-empty' #863 * Enhancement: list-steps command should group aliases with original commands #862 (thanks @xxchan) ### v0.36.9 (2023-06-05) * Fix: '--hide-uninteresting' cli flag #859 (thanks @xxchan) * Fix: cargo-watch option 'why' should remove '-q' #849 ### v0.36.8 (2023-05-27) * Enhancement: New precompiled target: x86_64-unknown-linux-gnu #853 (thanks @steverusso) * Enhancement: New log level 'off' and cli flag --silent #846 * Enhancement: Upgrade cargo-watch to 8.4.0 and add new 'why' watch option #849 * Enhancement: New cli flag '--hide-uninteresting' for list commands to reduce output and skip hooks #848 ### v0.36.7 (2023-04-23) * Fix: Clear did not remove parent task environment variables definitions #816 * Enhancement: Add aarch64-apple-darwin binary release target #812 (thanks @dbanty) * Documentation: Add documentation link on README for watch attribute #829 (thanks @saona-raimundo) ### v0.36.6 (2023-03-01) * Enhancement: Support environment expansion for files_modified condition #802 (thanks @stormshield-guillaumed) ### v0.36.5 (2023-02-18) * Enhancement: Support workspace.dependencies setup to find workspace members #773 * Enhancement: Performance improvement by reducing cargo-metadata calls #796 * Enhancement: Added additional time summary breakdown for env setup #796 * Documentation: Add documentation on multiple blocking watches #788 * Documentation: Add documentation on cwd #787 * Maintenance: Upgrade dependencies ### v0.36.4 (2023-01-22) * Fix: relative path detection for workspace members defined in dependencies #773 * Maintenance: Bump cargo-watch to 0.8.3 #771 * Maintenance: Bump rust minimal version to 0.65 due to dependencies updates * Maintenance: Upgrade dependencies * Documentation: Update skip_core_tasks docs #752 * Documentation: Update parallel attribute docs #751 ### v0.36.3 (2022-11-15) * Enhancement: Add new files_modified condition #741 * Enhancement: Enable to set default toolchain for all core cargo tasks #743 * Documentation: Add section on default task definition #745 ### v0.36.2 (2022-10-18) * Enhancement: Add env var support in env_files values #723 * Enhancement: Support environment expansion for toolchain attribute * Fix: support shebang in scripts with spaces before shebang start #718 * Documentation: small edits for spelling, grammar, formatting #721 (thanks @Zearin) ### v0.36.1 (2022-09-27) * Enhancement: Support inherited package info #712 * Enhancement: Add support for install_crate value without args (skipping current installation validation) #725 * Enhancement: Added shell completion files in included crate #565 * Enhancement: Add skipping task message for all actionable tasks that fail condition #708 ### v0.36.0 (2022-08-30) * \[**backward compatibility break**\] Enhancement: Environment variables now support the default syntax: ${name:default} * \[**backward compatibility break**\] Enhancement: Environment variables definition order is now more flexible to support variable to variable dependency more easily #688 (thanks @indietyp) * Enhancement: Workaround rustup env issue when setting toolchain #702 ### v0.35.16 (2022-08-08) * Enhancement: Create task definition in runtime and invoke it via plugin #677 * Enhancement: Enable to remove force flag for custom install commands #674 * Maintenance: Update dependencies #676 ### v0.35.15 (2022-07-21) * Fix: upgrade cliparser to support windows paths ### v0.35.14 (2022-07-21) * Enhancement: CLI parsing now done by the cliparser crate instead of clap due to clap continued backward compatibility issues * Enhancement: Added support ${@} in Duckscript tasks #667 * Enhancement: Check in Cargo.lock file to support linux package managers #670 * Enhancement: Added new --quiet cli flag #668 * Maintenance: Add scheduled CI github workflow ### v0.35.13 (2022-06-11) * Enhancement: Define CARGO environment variable for tasks with toolchain and script #658 * Enhancement: New CARGO_MAKE_DISABLE_UPDATE_CHECK environment variable to disable update checks #653 * Fix: wrong update check days counting * Fix: New unstable feature CTRL_C_HANDLING to prevent zombie processes after cargo-make exits #374 (thanks @MartinKavik) ### v0.35.12 (2022-05-05) * Fix: upgrade to cargo-watch 8.1.1 due to 8.1.0 being yanked #652 ### v0.35.11 (2022-04-22) * Fix: add workspace root member when both workspace members and package are defined #644 * Fix: support partial semver values in rust version conditions #643 * Enhancement: upgrade regex as per security advisory #638 (thanks @Dylan-DPC) * Enhancement: support condition in script based env value #648 * Enhancement: enable to mark env files as 'defaults only' #647 ### v0.35.10 (2022-03-11) * Fix: detect workspace member for non virtual workspaces #636 * Documentation: added docs for grcov usage #375 ### v0.35.9 (2022-02-24) * Fix: clap 3.1 is not backward compatible ### v0.35.8 (2022-01-11) * Enhancement: New plugin system to enable custom task execution logic #620 * Maintenance: upgrade to clap 3 * Enhancement: Support new github auth token for github release task ### v0.35.7 (2021-12-11) * Fix: crate installation version check now also supports running the binary with --version arg #612 * Enhancement: support alternate cargo install commands #608 * Documentation: VS code editor integration #604 (thanks @grbd) * Fix: Panic during crate installation in case args are empty #615 * Enhancement: New list-category-steps command #603 (thanks @grbd) * Enhancement: New tls feature so tls can be disabled (by default enabled) #614 * Fix: If rust-script is used and requires installation, install old 0.7.0 version due to rust-script bug ### v0.35.6 (2021-11-01) * Fix: prebuilt binary release task * Enhancement: Duckscript upgrade ### v0.35.5 (2021-10-22) * Enhancement: Add makers executable to prebuilt binary release #600 ### v0.35.4 (2021-10-22) * Fix: github publish flow broken ### v0.35.3 (2021-10-22) * Enhancement: Task cli arguments matching cargo-make cli args can now be passed without -- character. Arguments for cargo-make itself **must** now be passed in before the task name. #585 (thanks @WorldSEnder) ### v0.35.2 (2021-10-16) * Enhancement: Ability to specify min rust version in tasks via toolchain attribute #594 (thanks @WorldSEnder) ### v0.35.1 (2021-10-02) * Fix: extend attribute didn't extend env variables #579 * Enhancement: Limit search to one result when searching for updates #574 (thanks @jayvdb) * Fix: CARGO_MAKE_TASK_ARGS not set when using watch mode #586 * Fix: Workspace members glob detection didn't validate Cargo.toml exists #591 * Documentation: improve condition fail message documentation #583 * Upgrade run_script #581 * Add internal steps to time summary * Adding ability to disable git, rust and crate environment variables to speed up startup time * Documentation: zsh auto completion instructions for makers #590 * Upgrade cargo-watch to 8.1.0 ### v0.35.0 (2021-07-10) * Enhancement: New bash auto completion script for makers #565 * \[**backward compatibility break**\] Fix: environment variable typo in CARGO_MAKE_TEST_USE_MULTI_TEST_PHASES #566 ### v0.34.0 (2021-06-13) * Fix UNC prefix stripping inconsistency #562 (thanks @WilliamVenner) ### v0.33.0 (2021-05-09) * Enhancement: Run kcov only on test executables #555 (thanks @elonca) * Enhancement: New CARGO_MAKE_CRATE_CUSTOM_TRIPLE_TARGET_DIRECTORY environment variable #554 (thanks @ark0f) * Fix: CARGO_MAKE_CRATE_TARGET_DIRECTORY does not respect workspace #557 (thanks @ark0f) ### v0.32.17 (2021-04-15) * Enhancement: Support path glob (with optional gitignore support) environment variables #542 * Enhancement: Support version specific installation for crates #544 * Enhancement: Add CARGO_MAKE_CRATE_TARGET_DIRECTORY environment variable #548 (thanks @ark0f) * Enhancement: Support custom crate target triple #547 (thanks @ark0f) * Enhancement: Improve release upload flow with initial support for arm ### v0.32.16 (2021-04-03) * Enable to skip tasks via command line regex flag (--skip-tasks flag) #538 * Deprecate bintray tasks support as bintray is shutting down #539 ### v0.32.15 (2021-03-29) * Fix: makers color support on windows #535 (thanks @MartinKavik) * Enhancement: Allow leading hyphens for task arguments #535 (thanks @MartinKavik) ### v0.32.14 (2021-03-10) * Fix: Keep env order for extended makefiles #523 * Fix: Align new version notification #524 (thanks @gemmaro) * Upgrade dependencies ### v0.32.13 (2021-03-05) * Enhancement: Support rust-script as an additional rust runner #516 * Fix: cm_run_task now also invokes dependencies of the target task #519 * Fix: Env vars provided on cli are not positioned first when evaluated #520 ### v0.32.12 (2021-01-29) * Fix: cli arguments lost when using on_error definition #511 * Build time to be printed in sub second precision #510 ### v0.32.11 (2021-01-24) * Validate and warn of unknown keys found in makefiles #506 ### v0.32.10 (2020-12-20) * Task dependencies can now point to makefiles in other directories #497 (thanks @arlyon) * Adding async support for cm_run_task duckscript task #493 * Allow "=" in ENV value from cli #502 (thanks @nacardin) * Migrate from dirs to dirs_next #491 * Upgrade dependencies (duckscript runtime 0.6, duckscript SDK 0.7, ci_info, ...) ### v0.32.9 (2020-11-07) * Add new toml formatting tasks. ### v0.32.8 (2020-11-05) * Load cargo aliases as tasks #484 * Support script content as a simple string instead of an array. * Support script content as fielded sections (pre/main/post) to enable sharing of common script content between tasks #473 * The load_script and install_script attribute types supports all script input types (string/vec/file/sections). * Fixed invocation of cargo commands with flag arguments #476 * Improved error message when failing to parse external descriptor #475 (thanks @mrmanne) * Fixed git add task description #477 (thanks @knutwalker) * Improve core task performance #487 * Bump rust minimal version to 0.44 due to dependencies updates ### v0.32.7 (2020-10-07) * Fix passing task args to workspace members #470 * Update script_runner_args related documentation #471 ### v0.32.6 (2020-10-03) * New script_runner_args task attribute to enable custom cli arguments before the script file #461 * Fix env_files loading #459 (thanks @wolf4ood) * Provide more detailed error message when env-script fails #463 (thanks @epontan) * Add example usage with cirrus CI #260 (thanks @fkorotkov and @mtmn) * Upgrade duckscript runtime to 0.5.1 and SDK to 0.6.8 ### v0.32.5 (2020-09-11) * Allow for explicit workspace flow in sub flows #455 (thanks @epontan) ### v0.32.4 (2020-08-28) * Prevent multiple calls to cleanup task ### v0.32.3 (2020-08-27) * Support cleanup task for forked sub flow #452 * Upgrade duckscript SDK to 0.6.7 ### v0.32.2 (2020-08-20) * Fix watch invocation in case makefile file path contains spaces #445 * Clear RUST_RECURSION_COUNT at start of flow #447 * Fix do-copy-apidocs issue with triple folder #444 (thanks @haraldh) * Fix workspace detection for sub flows * Add task time summary via new cli flag **--time-summary** or config **time_summary=true** #446 * Reduce console output for non CI environment (can be disabled via new reduce_output config attribute) * Workaround critical bug in rust nightly which breaks shebang based script invocations * Upgrade duckscript SDK to 0.6.6 ### v0.32.1 (2020-07-31) * Support numeric environment variables * Upgrade duckscript SDK to 0.6.5 ### v0.32.0 (2020-07-03) * Upgrade duckscript SDK to 0.6 ### v0.31.1 (2020-06-26) * Support CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY in workspace emulation mode #434 * New readme-include-files markdown-include-files tasks to modify markdown files based on content from other files #426 ### v0.31.0 (2020-06-06) * Upgrade duckscript to 0.5 * Upgrade cargo-watch to 7.4.1 ### v0.30.8 (2020-05-25) * Fix rustfmt nightly installation issue due to rust env issue: rust-lang/rust#72423 ### v0.30.7 (2020-05-07) * New cm_run_task duckscript command which enables to run cargo-make tasks from within duckscript #417 * New CARGO_MAKE_GIT_HEAD_LAST_COMMIT_HASH and CARGO_MAKE_GIT_HEAD_LAST_COMMIT_HASH_PREFIX environment variables. * Bug Fix - no need to define member task names in workspace makefile #420 * rust_info upgrade. * duckscript 0.4 upgrade. ### v0.30.6 (2020-04-24) * Workspace emulation support #415 * Support array definition of environment variable values. * New wasm related tasks for built in wasm support. * Fixed env extension bug when extending a core task. * Enable adding custom hooks into print-env flow. ### v0.30.5 (2020-04-15) * Fixed default core task init/end task names pickup #407 * New readme-set-crate-version task which modifies README with crate version. * Enable to provide custom arguments to git-push task #408 * build-publish flow will skip git hooks while publishing #408 * Improve clippy installation flow ### v0.30.4 (2020-04-07) * Added clippy pre/post flow hook tasks. * Added check format pre/post flow hook tasks. * clippy and check-format CI flow tasks will only run on nightly linux. ### v0.30.3 (2020-04-04) * Fix linux release build. ### v0.30.2 (2020-04-04) * New getat function #402 * Update openssl version to 1.1.1f ### v0.30.1 (2020-03-28) * New build-file-increment task and flow #399 * Display recursion level like `make(1)` #389 (thanks @Ma27) * Document github actions CI instructions. * Migrate CI to github actions. ### v0.30.0 (2020-03-23) * Ensure that the specified rustup toolchain exists before using it #388 (thanks @Ma27) * kcov coverage flow support for rustc >= 1.44 #393 * Enable to timeout kcov test execution for each executable via new CARGO_MAKE_KCOV_TEST_TIMEOUT_VALUE environment variable #396 * New multi-phase-tests profile to enable splitting the tests to multiple phases (thread safe, multi threaded, custom). * Ignoring non actionable tasks #390 * Default build and test tasks support verbose flag on CI environment. * Pager disabled for diff command. * Split internal cargo-make tests to thread safe and single threaded to improve testing perf ### v0.29.0 (2020-03-19) * Provide accurate CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY when starting build from member crate #382 * Support locked automatically for all crate installations via CARGO_MAKE_CRATE_INSTALLATION_LOCKED environment variable #381 * Added ability to disable sudo invocation from cargo-make scripts via new environment variable CARGO_MAKE_SUDO_DISABLE #387 * Improve toml loading performance. * Split core makefiles to multiple files. * Upgrade duckscript to 0.3 ### v0.28.0 (2020-02-21) * Added github hub cli support #376 * Use fsio crate for file system apis. ### v0.27.0 (2020-02-07) * Enable to pipe stdin for scripts #355 (thanks @dakom) * Upgrade to duckscript 0.2 ### v0.26.2 (2020-01-24) * Print duckscript version info env task #371 * Duckscript upgrade * Migrate several task scripts from shell to duckscript to improve performance ### v0.26.1 (2020-01-17) * Enable custom project binary executable name for binary release zip * Support kcov mac installation #340 (thanks @bluejekyll) * Migrate several task scripts from shell to duckscript to improve performance * duckscript should exit on any error like shell scripts * Update kcov to version 38 #367 * New wait task to enable sleep as part of the flow * Add sleep before member publish during workspace publish flow #368 ### v0.26.0 (2020-01-10) * New env_scripts to enable custom environment setup #360 * Added new CARGO_MAKE_RUST_TARGET_TRIPLE environment variable #356 (thanks @daxpedda) * Added new CARGO_MAKE_CRATE_TARGET_TRIPLE environment variable (get default build target including from '.cargo/Config.toml') #357 (thanks @daxpedda) * Enable custom scripts via shebang line for load and install scripts. * Enable @script type detection with shebang line #359 * Upgraded duckscript version * Increased minimum rust version to 1.39.0 * Added condition for build-publish-flow to restrict only to master branch #364 ### v0.25.1 (2020-01-03) * Bug Fix - Fixed CARGO_MAKE_PROJECT_VERSION when main_project_member is set * Ensure cargo-make working directory is not modified after duckscript execution. ### v0.25.0 (2020-01-01) * \[**backward compatibility break**\] Ability to set multiple watch paths in watch options #354 ### v0.24.3 (2019-12-31) * Add support for duckscript #348 * Add conditional validation support for environment variables #344 * New CARGO_MAKE_PROJECT_NAME and CARGO_MAKE_PROJECT_VERSION environment variables #349 * Ability to set watch path in watch options #350 * New zip-release-ci-flow task to enable zip creation for binary release publishing * New workspace publish flow #347 * Upgrading run_script crate ### v0.24.2 (2019-12-13) * New env_contains condition #335 * New custom condition failure message attribute: **fail_message** #332 * New print-env-flow task which prints out entire env info (rust, git, cargo, crate, ci, ...) #333 * New CARGO_MAKE_CI_BRANCH_NAME environment variable #334 * New CARGO_MAKE_CI_VENDOR environment variable #337 * Outdated dependencies validation as part of CI flow to be limited to CI master branch only #323 ### v0.24.1 (2019-12-06) * Support invocation of multiple tasks via run_task #324 * Support invocation of multiple tasks in parallel via run_task #321 * New CARGO_MAKE_CURRENT_TASK_NAME, CARGO_MAKE_CURRENT_TASK_INITIAL_MAKEFILE, CARGO_MAKE_CURRENT_TASK_INITIAL_MAKEFILE_DIRECTORY environment variables #322 * Info printout to state if task is running or skipped #326 * New CARGO_MAKE_CARGO_HOME environment variable #331 (thanks @daxpedda) * Generate task list documentation file via new cli argument (output-file) #325 * Outdated dependencies validation as part of CI flow to be limited to master branch only #323 * Use new git_info crate to fetch git info and setup environment #320 ### v0.24.0 (2019-11-22) * Support defining and loading env files in makefile via new env_files attribute #306 * \[**backward compatibility break**\] Workspace profile now passed on to members #309 (thanks @daxpedda) * New CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY environment variable #311 (thanks @daxpedda) * Fix CARGO_MAKE_TASK_ARGS not being passed down to workspace members #314 (thanks @daxpedda) * \[**backward compatibility break**\] Task cwd attribute supports environment variables expansion #318 * Guard against self-referential aliases #305 (thanks @phi-gamma) * Migrate to envmnt::expand #308 * New CARGO_MAKE_WORKSPACE_INCLUDE_MEMBERS environment variable #316 ### v0.23.0 (2019-10-16) * Enable/Disable color output child process support #299 (thanks @emakryo) * Main profile should override additional profiles env blocks #300 * Print project name being built #301 ### v0.22.2 (2019-10-01) * Ability to unset environment variables #294 * New environment variable to hold current workspace member name #285 * Support script file path for task script attribute #286 * New files_exist and files_not_exist conditions #287 * Added new curl based github release task #293 * Add cargo-udeps task #284 * New CARGO_MAKE_PR environment variable #297 * Add outdated check as part of CI flow ### v0.22.1 (2019-08-20) * Support decoding ability for environment variables initialization #275 #277 * Codecov and tarpaulin integration fix for CI flow #274 #275 (thanks @vtavernier) * New @@decode function for command arguments #278 * Move link-dead-code definition to coverage task #279 * Enable decode to mirror source value as default value #280 * Add env mapping between cargo make profile and cargo.toml profile #281 ### v0.22.0 (2019-08-14) * Specify minimum version for tools/dependencies #265 * Globally disable workspace support via makefile config #264 * Support additional rust script runners #216 * Ability to mark a task deprecated #270 * \[**backward compatibility break**\] Use task cwd in condition and installation scripts #259 * Check descriptor min_version before deserializing #268 (thanks @roblabla) * Profile name passed incorrectly via forked sub tasks #263 * Add support for deleting lock file before publishing * Add support for dirty cargo publish ### v0.21.0 (2019-06-26) * Add support for multiple test_args when checking for installed crate #252 (thanks @roblabla) * \[**backward compatibility break**\] Upgrade shell2batch for improved windows integration ### v0.20.0 (2019-06-16) * Control kcov installation directory #98 * Caching kcov documentation #238 * Upgrade default kcov version to 36 * \[**backward compatibility break**\] Rename KCOV_VERSION to CARGO_MAKE_KCOV_VERSION ### v0.19.5 (2019-06-09) * Specify cargo-make minimal version #243 * Add ability to remove --all-features flag from build/test/bench tasks #248 * Add ability to modify clippy arguments #246 * Documentation - installing `cargo-make` when caching `cargo` #249 (thanks @elpiel) ### v0.19.4 (2019-06-01) * Support additional profiles env blocks #240 * Prevent reinstallation of clippy on nightly #239 * Upgrade cargo-watch #241 (thanks @David-OConnor) ### v0.19.3 (2019-05-27) * Fix clippy installation on nightly #236 ### v0.19.2 (2019-05-25) * Allow to modify kcov include pattern #229 * Improve kcov coverage binary filter pattern #230 * Prevent init/end task invocations on forked run tasks #227 * Migrate env file parsing and loading to envmnt ### v0.19.1 (2019-05-10) * Support setting boolean environment variables #223 * Added new env_true/env_false conditions #221 * \[**backward compatibility break**\] Normalize boolean env vars #220 ### v0.18.0 (2019-04-30) * Allow run_task to invoke the task as a sub process #214 * \[**backward compatibility break**\] Upgrade shell2batch to fix path separator issue ### v0.17.1 (2019-04-04) * Fix broken workspace support #210 ### v0.17.0 (2019-04-03) * Add extend capability for tasks #206 * Support internal core tasks modifications (private and namespacing) #201 * Support splitting command line argument to multiple arguments using functions #202 * New remove_empty function #205 * New trim function #208 * Add support for namespaces for workspace builds #204 * Add kcov version validation #203 ### v0.16.10 (2019-03-01) * Fix docs ### v0.16.9 (2019-03-01) * Colorful output and a new cli argument to disable color (--no-color) #191 * Support multiple extend #192 * Support optional extend #193 * New test-with-args task to enable testing specific tests only * Support multi line environment variables from script output #196 * Reducing cargo-make info level output #194 * Locking default cargo watch version and supporting user defined version #195 ### v0.16.8 (2019-02-09) * Support additional watch options #188 * Support glob paths in CARGO_MAKE_WORKSPACE_SKIP_MEMBERS #187 * Add install-rust-src and install-rls to internal makefile #189 * Renamed task 'force' attribute to 'ignore_errors' #120 * Split CARGO_MAKE_TEST_COVERAGE_BINARY_FILTER to use CARGO_MAKE_TEST_COVERAGE_DEFAULT_BINARY_FILTER for easier customization ### v0.16.7 (2019-01-25) * Shebang line support #130 (thanks @SamuelMarks) * Prevent multiple calls for init/end #184 * Test internal makefile coverage tasks #183 ### v0.16.6 (2019-01-21) * Fix broken coverage task ### v0.16.3 (2019-01-21) * Enable coverage implementation selection via env #180 * Fix on error and watch proxy tasks #179 ### v0.16.2 (2019-01-20) * Profile support #174 * Task routing #175 * Set travis deploy overwrite=true * Fix broken links in documentation ### v0.16.1 (2019-01-17) * Enable coverage for every Linux based CI system * Support task watch #118 * Command --list-all-steps now supports markdown output format * New command --diff-steps to enable diff changes to flow based on custom makefile #121 * Document Azure Pipelines config #161 * New diff-files task which enables to diff 2 provided files ### v0.16.0 (2019-01-04) * \[**backward compatibility break**\] Should abort on non existent makefile if provided on cli or on extends property #143 * \[**backward compatibility break**\] Update format task for stable rust #160 * Add format check and clippy to ci-flow #161 (thanks @D4nte) * Add new print steps output format 'short-description' #121 * \[**backward compatibility break**\] Remove preview from clippy and rustfmt components #162 * Add new CARGO_MAKE_CI environment variable ### v0.15.3 (2018-12-07) * Package additional executable without cargo dependency #69 * Add CircleCI docs #152 * Delete merged branches as part of github release flow #154 * Fixed uploading windows binaries to GitHub releases #157 ### v0.15.2 (2018-11-28) * Rustup integration for non-binary/non-cargo dependencies #139 * Rust toolchain support #132 * Add fmt check task #138 * Support absolute path for CARGO_MAKE_WORKING_DIRECTORY on windows #142 ### v0.15.1 (2018-11-12) * Fix github release as part of travis build ### v0.15.0 (2018-11-12) * rustup integration #122 * add clippy rustup installation config #119 * prevent script output if log level is error #117 * Support uploading binaries to GitHub releases #127 (thanks @LegNeato) ### v0.14.0 (2018-09-05) * Condition support for rust version (min,max,eq) #110 * Upgrade dependencies with possible backward compatibility break ### v0.13.0 (2018-08-10) * Upgrade rustfmt support ### v0.12.1 (2018-08-09) * Support additional default coverage test patterns #107 ### v0.12.0 (2018-08-02) * Defining --no-workspace cli flag via task attribute #99 * Support unsetting task attributes in extended Makefile #100 * Support accepting arguments and passing them to commands and scripts #101 * Follow XDG Base Directory Specification #105 * Doc category for task list #102 ### v0.11.3 (2018-06-24) * Fix workspace coverage not being generated #97 ### v0.11.2 (2018-06-22) * Fix automatic workspace makefile extending #96 ### v0.11.1 (2018-06-06) * Support writing tasks in various scripting languages #90 * Internal private tasks #94 ### v0.11.0 (2018-05-29) * Support environment variable substitution in commands and arguments #92 ### v0.10.8 (2018-05-18) * Add support for a catch/cleanup task in case of any errors #89 * Load env vars from simple text files #88 * Fix workspace member paths on windows #87 ### v0.10.7 (2018-05-11) * Support automatic workspace makefile extend #84 * New task to rebuild lock file with most updated dependencies #83 ### v0.10.6 (2018-03-20) * Fix script issues due to file permissions (#81) ### v0.10.5 (2018-02-27) * cargo make audit will only be invoked if a Cargo.lock file exists (#74) ### v0.10.4 (2018-02-26) * Fix composite environment variables resolution order (#78) ### v0.10.3 (2018-02-24) * update_check_minimum_interval default changed be weekly (#76) * Added test_ files to kcov test coverage invocation * Update dependencies documentation (#72) ### v0.10.2 (2018-02-08) * Check for update minimum interval definition in global configuration (#68) ### v0.10.0 (2018-02-02) * Search for makefile.toml in parent directories (#65) * Global configuration file to define default log level, task name (#64) * Reformat changelog (#66) ### v0.9.5 (2018-01-22) * Fixed critical loading issue due to #56 ### v0.9.4 (2018-01-19) * Support new skip_core_tasks config flag (#56) ### v0.9.3 (2018-01-05) * Coverage test files user level pattern (#59 and #60) ### v0.9.2 (2017-12-29) * Coverage will execute all test files without any need for specific naming conventions or configuration (#50 and #51) ### v0.9.1 (2017-12-28) * Bug fixes for git info loading and coverage on workspace level (#49 and #52) ### v0.9.0 (2017-12-18) * Disabled tasks should be skipped including dependencies (#47) ### v0.8.0 (2017-12-17) * Support multiple rustfmt versions (#45) ### v0.7.11 (2017-12-14) * Fixed rustfmt backward compatibility break issue ### v0.7.10 (2017-12-06) * Workspace support fixes for windows ### v0.7.5 (2017-12-03) * Support conditional skipping of workspace members from flow (#42) ### v0.7.4 (2017-10-25) * kcov support for excluding lines/blocks from coverage report ### v0.7.2 (2017-10-23) * Added workspace level coverage task without the need to run full CI flow (workspace-coverage) ### v0.7.1 (2017-10-21) * Added support for cross platform scripts using script runner @shell ### v0.7.0 (2017-10-20) * Refactored how rust code based scripts are defined to enable future expansion of this feature. ### v0.6.5 (2017-10-12) * ci-flow and build-flow will build/run benches and examples based on new environment variables: CARGO_MAKE_BUILD_EXAMPLES, CARGO_MAKE_BUILD_BENCH and CARGO_MAKE_RUN_BENCH ### v0.6.1 (2017-10-08) * Tasks can now run rust code using rust_script attribute and tasks can no longer hold multiple different action definitions. ### v0.5.3 (2017-09-29) * Added support to evaluate env var values from script output and define cwd on task level ### v0.5.2 (2017-09-24) * Added various check and build tasks ### v0.5.0 (2017-09-21) * Disable by default coverage flow on mac ### v0.4.1 (2017-09-18) * Added watch-flow task ### v0.3.77 (2017-09-17) * Automatically define install_crate and enable cargo install arguments via install_crate_args ### v0.3.76 (2017-09-16) * Build failure will not cause panic but will exit ### v0.3.75 (2017-09-12) * By default build and test should work with "--all-features" flag ### v0.3.66 (2017-08-23) * Add support for workspace glob members ### v0.3.64 (2017-08-22) * Cargo.toml parsing fix ### v0.3.63 (2017-08-21) * Add support for Cargo.toml workspace.exclude ### v0.3.62 (2017-08-21) * Add workspace member detection based on dependency paths ### v0.3.59 (2017-08-20) * Support load_script platform overrides ### v0.3.58 (2017-08-19) * Added load_script capability ### v0.3.56 (2017-08-18) * Set environment variables during task invocation ### v0.3.53 (2017-08-09) * Added new condition types: env, env_set and env_not_set ### v0.3.51 (2017-08-09) * Added experimental cli arg to enable access unsupported experimental predefined tasks ### v0.3.49 (2017-08-08) * Added condition attribute ### v0.3.46 (2017-08-06) * Added bintray upload task ### v0.3.43 (2017-08-02) * Added --env/-e cli args to set environment variables via command line ### v0.3.41 (2017-08-01) * Added github-publish task ### v0.3.38 (2017-07-28) * Added run_script which allows executing sub tasks ### v0.3.37 (2017-07-25) * Added condition script capability for tasks ### v0.3.36 (2017-07-22) * Added coverage-lcov task (not fully tested) ### v0.3.34 (2017-07-21) * Added coverage-tarpaulin task ### v0.3.33 (2017-07-21) * Added more environment variables for workspace support ### v0.3.32 (2017-07-20) * Added --list-all-steps cli option ### v0.3.28 (2017-07-17) * workspace level ci flow ### v0.3.27 (2017-07-16) * cargo make ci-flow on travis now automatically runs code coverage and uploads to codecov ### v0.3.25 (2017-07-16) * New --no-workspace cli arg ### v0.3.24 (2017-07-15) * Workspace support ### v0.3.23 (2017-07-14) * Added codecov task in default toml ### v0.3.20 (2017-07-14) * Added coverage task in default toml ### v0.3.16 (2017-07-14) * Added more environment variables based on target environment and rust compiler ### v0.3.15 (2017-07-13) * Added common init and end tasks ### v0.3.13 (2017-07-10) * cargo-make now defines rust version env vars ### v0.3.11 (2017-07-09) * cargo-make now defines env vars based on project git repo information ### v0.3.10 (2017-07-06) * cargo-make now defines env vars based on project Cargo.toml ### v0.3.6 (2017-07-05) * Added --cwd cli arg to enable setting working directory ### v0.3.5 (2017-07-04) * Added clippy task ### v0.3.4 (2017-07-03) * Added --print-steps cli arg ### v0.3.1 (2017-07-02) * Added CARGO_MAKE_TASK env var holding the main task name ### v0.3.0 (2017-07-02) * Renamed few cli options ### v0.2.20 (2017-07-02) * Added -v and --verbose cli arg ### v0.2.19 (2017-07-01) * Added extend config level attribute ### v0.2.17 (2017-06-30) * Added force task attribute ### v0.2.12 (2017-06-28) * Published website ### v0.2.8 (2017-06-28) * Platform specific task override ### v0.2.7 (2017-06-26) * Platform specific alias ### v0.2.6 (2017-06-26) * Enable task attributes override ### v0.2.3 (2017-06-25) * Added disabled task attribute support ### v0.2.0 (2017-06-24) * Internal fixes (renamed dependencies attribute) ### v0.1.2 (2017-06-24) * Print build time, added internal docs, unit tests and coverage ### v0.1.1 (2017-06-24) * Added support for env vars, task alias and crate installation ### v0.1.0 (2017-06-23) * Initial release.