# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased](https://github.com/cargo-generate/cargo-generate/compare/0.22.0...HEAD) ## [0.22.0] 2024-09-01 [0.22.0]: https://github.com/cargo-generate/cargo-generate/compare/0.21.3...0.22.0 ### 📖 Documentation - Update 'use_git' example ([#1191](https://github.com/cargo-generate/cargo-generate/pull/1191)) - Refine the docs so that the usage guide provides easier access to the ssh related docs - Fix links and small adjustments ### 🤕 Fixes - Fix gitconfig `insteadOf` ([#874](https://github.com/cargo-generate/cargo-generate/pull/874)) ([#1265](https://github.com/cargo-generate/cargo-generate/pull/1265)) ## [0.21.3] 2024-07-15 [0.21.3]: https://github.com/cargo-generate/cargo-generate/compare/0.21.2...0.21.3 ### ✨ Features - Reformat help text in the style of cargo ([#1223](https://github.com/cargo-generate/cargo-generate/pull/1223)) ### 🛠️ Maintenance - Cancel in progres CI jobs when on the same run ([#1227](https://github.com/cargo-generate/cargo-generate/pull/1227)) ### 🤕 Fixes - Tag option, see [#1222](https://github.com/cargo-generate/cargo-generate/pull/1222) ([#1226](https://github.com/cargo-generate/cargo-generate/pull/1226)) ## [0.21.2] 2024-07-10 [0.21.2]: https://github.com/cargo-generate/cargo-generate/compare/0.21.1...0.21.2 ### 🛠️ Maintenance - Bump git2 from 0.18.3 to 0.19.0 ([#1212](https://github.com/cargo-generate/cargo-generate/pull/1212)) ### 🤕 Fixes - Actually set `--depth 1` ([#1211](https://github.com/cargo-generate/cargo-generate/pull/1211)) ## [0.21.1] 2024-06-21 [0.21.1]: https://github.com/cargo-generate/cargo-generate/compare/0.21.0...0.21.1 ### ✨ Features - Add a date API that provides year, month and day access ([#1201](https://github.com/cargo-generate/cargo-generate/pull/1201)) ### 📖 Documentation - Fix use of `bool` instead of `boolean` in the guide and add new types to error message ([#1203](https://github.com/cargo-generate/cargo-generate/pull/1203)) ### 🛠️ Maintenance - Update several dependencies ([#1209](https://github.com/cargo-generate/cargo-generate/pull/1209)) ## [0.21.0] 2024-05-02 [0.21.0]: https://github.com/cargo-generate/cargo-generate/compare/0.20.0...0.21.0 ### ✨ Features - Add the cargo-binstall installation method - Don't rename snake_case to hyphens in project name ([#1172](https://github.com/cargo-generate/cargo-generate/pull/1172)) ### 🛠️ Maintenance - Small reformatting only - Enable the sponsor button - Update locked dependencies + bump rhai from 1.17.1 to 1.18.0 ([#1182](https://github.com/cargo-generate/cargo-generate/pull/1182)) ### 🤕 Fixes - Release plz can now force push - Very minor markdown fix ([#1166](https://github.com/cargo-generate/cargo-generate/pull/1166)) - Fix changelog creation config file, regarding the unreleased section ## [0.20.0] 2024-03-26 [0.20.0]: https://github.com/cargo-generate/cargo-generate/compare/0.19.0...0.20.0 ### ✨ Features - Add some more tests regarding conditionals see [#1119](https://github.com/cargo-generate/cargo-generate/pull/1119) ([#1133](https://github.com/cargo-generate/cargo-generate/pull/1133)) ### 📖 Documentation - Add docs about the new feature ([#1074](https://github.com/cargo-generate/cargo-generate/pull/1074)) ([#1132](https://github.com/cargo-generate/cargo-generate/pull/1132)) ### 🛠️ Maintenance - Bump home from 0.5.5 to 0.5.9 ([#1085](https://github.com/cargo-generate/cargo-generate/pull/1085)) - Bump predicates from 3.0.4 to 3.1.0 ([#1103](https://github.com/cargo-generate/cargo-generate/pull/1103)) - Bump assert_cmd from 2.0.12 to 2.0.13 ([#1102](https://github.com/cargo-generate/cargo-generate/pull/1102)) - Bump bstr from 1.8.0 to 1.9.0 ([#1094](https://github.com/cargo-generate/cargo-generate/pull/1094)) - Switch to sccache ([#1126](https://github.com/cargo-generate/cargo-generate/pull/1126)) - Add Text and Editor type ([#1113](https://github.com/cargo-generate/cargo-generate/pull/1113)) - Add --skip-submodules flag to optionalize cloning git submodules ([#1112](https://github.com/cargo-generate/cargo-generate/pull/1112)) - Several versions ([#1130](https://github.com/cargo-generate/cargo-generate/pull/1130)) - Ensure github-actions are updated by dependabot ([#1134](https://github.com/cargo-generate/cargo-generate/pull/1134)) - Bump deps - Ignore dependabot on examples folder ([#1157](https://github.com/cargo-generate/cargo-generate/pull/1157)) - Bump heck to 0.5 and gix-config to 0.36 ([#1160](https://github.com/cargo-generate/cargo-generate/pull/1160)) - Bump walkdir from 2.4.0 to 2.5.0 ([#1151](https://github.com/cargo-generate/cargo-generate/pull/1151)) ### 🤕 Fixes - Fix multiple `Unreleased` versions in CHANGELOG.md - Fix release pr should trigger builds - Fix very strange old lint ([#1125](https://github.com/cargo-generate/cargo-generate/pull/1125)) - Release-plz config file breaking changes ([#1128](https://github.com/cargo-generate/cargo-generate/pull/1128)) - Default values are not ignored in silent mode ([#1153](https://github.com/cargo-generate/cargo-generate/pull/1153)) ## [0.19.0] 2023-12-13 [0.19.0]: https://github.com/cargo-generate/cargo-generate/compare/0.18.5...0.19.0 ### ✨ Features - Add support for generating from a specific git revision of a git template ([#1070](https://github.com/cargo-generate/cargo-generate/pull/1070)) - Add release-plz pr ([#1076](https://github.com/cargo-generate/cargo-generate/pull/1076)) - Add cliff.toml config file to release-plz config ### 🛠️ Maintenance - Bump fs-err from 2.9.0 to 2.11.0 ([#1063](https://github.com/cargo-generate/cargo-generate/pull/1063)) - Update Arch Linux package URL in installation.md ([#1064](https://github.com/cargo-generate/cargo-generate/pull/1064)) - Fine tune git-cliff config - Fix git-cliff error on ci ### 🤕 Fixes - Use a new token for creating the release and coverage data ([#1061](https://github.com/cargo-generate/cargo-generate/pull/1061)) - Convert destination to absolute path ([#1072](https://github.com/cargo-generate/cargo-generate/pull/1072)) - Fix gh-pages deploy token issue - Fix empty define values ([#1078](https://github.com/cargo-generate/cargo-generate/pull/1078)) - Release-plz does not take the config file - Hand release-plz config file over explicitly - Extend the changelog config for git-cliff - Reconfigure git-cliff a bit further - Fix git-cliff changelog diff ## [0.18.5] 2023-11-11 [0.18.5]: https://github.com/cargo-generate/cargo-generate/compare/v0.18.4...v0.18.5 ### 🤕 Fixes - [fix(ci): fix clippy lint](https://github.com/cargo-generate/cargo-generate/pull/1052) - [fix typo in readme](https://github.com/cargo-generate/cargo-generate/pull/1042) ### 🛠️ Maintenance - [chore(deps): bump some deps](https://github.com/cargo-generate/cargo-generate/pull/1059) - [chore(deps): bump git2 from 0.17.2 to 0.18.0](https://github.com/cargo-generate/cargo-generate/pull/1022) - [chore(deps): bump clap from 4.3.24 to 4.4.2](https://github.com/cargo-generate/cargo-generate/pull/1021) ### ✨ Features - [feat: support abbreviation for sourcehut](https://github.com/cargo-generate/cargo-generate/pull/1014) - [Use auth-git2 for git authentication](https://github.com/cargo-generate/cargo-generate/pull/1025) - [feat(error): use `fs_err` instead of `std::fs` to provide actionable error messages](https://github.com/cargo-generate/cargo-generate/pull/1055) ### Contributors - [LukeMathWalker](https://github.com/LukeMathWalker) - [de-vri-es](https://github.com/de-vri-es) - [dependabot[bot]](https://github.com/apps/dependabot) - [n8henrie](https://github.com/n8henrie) - [sassman](https://github.com/sassman) - [sgeisenh](https://github.com/sgeisenh) ## [0.18.4] 2023-09-01 [0.18.4]: https://github.com/cargo-generate/cargo-generate/compare/v0.18.3...v0.18.4 ### 🤕 Fixes - [refactor(tests): improve tests (fixes #107)](https://github.com/cargo-generate/cargo-generate/pull/994) - [fix: lints](https://github.com/cargo-generate/cargo-generate/pull/1016) - [fix: lints](https://github.com/cargo-generate/cargo-generate/pull/985) - [fix: use tempdir prefix](https://github.com/cargo-generate/cargo-generate/pull/978) - [fix: update license field following SPDX 2.1 license expression standard](https://github.com/cargo-generate/cargo-generate/pull/984) - [fix: -Z option build failures](https://github.com/cargo-generate/cargo-generate/pull/956) - [fix: link to 'ignoring files'](https://github.com/cargo-generate/cargo-generate/pull/955) - [fix: prompt order (#885)](https://github.com/cargo-generate/cargo-generate/pull/930) ### 🛠️ Maintenance - [chore(deps): bump gix-config from 0.27.0 to 0.28.0 #1019](https://github.com/cargo-generate/cargo-generate/pull/1019) - [chore(deps): bump several versions #1017](https://github.com/cargo-generate/cargo-generate/pull/1017) - [chore(deps): bump url from 2.3.1 to 2.4.1](https://github.com/cargo-generate/cargo-generate/pull/1011) - [chore(deps): bump tempfile from 3.7.0 to 3.8.0](https://github.com/cargo-generate/cargo-generate/pull/1010) - [chore(deps): bump tempfile from ~3.5 to ~3.7](https://github.com/cargo-generate/cargo-generate/pull/992) - [chore(deps): bump gix-config from 0.20.1 to 0.26.1](https://github.com/cargo-generate/cargo-generate/pull/991) - [chore(deps): bump clap from 4.2.7 to 4.3.19](https://github.com/cargo-generate/cargo-generate/pull/990) - [chore(deps): bump regex from 1.8.2 to 1.9.1](https://github.com/cargo-generate/cargo-generate/pull/982) - [chore(deps): bump bstr from 1.4.0 to 1.6.0](https://github.com/cargo-generate/cargo-generate/pull/981) - [chore(deps): bump rhai from 1.13.0 to 1.15.1](https://github.com/cargo-generate/cargo-generate/pull/972) - [chore(deps): bump path-absolutize from 3.0.14 to 3.1.0](https://github.com/cargo-generate/cargo-generate/pull/938) ### ✨ Features - [feat: show case how cargo-generate can be used as a library](https://github.com/cargo-generate/cargo-generate/pull/1015) ### Contributors - [dependabot[bot]](https://github.com/apps/dependabot) - [ealmloff](https://github.com/ealmloff) - [frisoft](https://github.com/frisoft) - [jonaro00](https://github.com/jonaro00) - [sassman](https://github.com/sassman) - [sshine](https://github.com/sshine) ## [0.18.3] 2023-05-24 [0.18.3]: https://github.com/cargo-generate/cargo-generate/compare/v0.18.2...v0.18.3 ### 🤕 Fixes - [Add type annotation to avoid ambiguity introduced in bstr 1.5.0 (#942)](https://github.com/cargo-generate/cargo-generate/pull/946) - [fix: Move to the smaller, cargo-team maintained `home` crate](https://github.com/cargo-generate/cargo-generate/pull/925) ### 🛠️ Maintenance - [chore(deps): bump openssl from 0.10.50 to 0.10.52](https://github.com/cargo-generate/cargo-generate/pull/929) - [chore(deps): bump clap from 4.2.1 to 4.2.4](https://github.com/cargo-generate/cargo-generate/pull/928) - [chore(deps): bump regex from 1.7.3 to 1.8.1](https://github.com/cargo-generate/cargo-generate/pull/927) - [chore(deps): bump assert_cmd from 2.0.10 to 2.0.11](https://github.com/cargo-generate/cargo-generate/pull/924) - [chore(deps): bump predicates from 3.0.2 to 3.0.3](https://github.com/cargo-generate/cargo-generate/pull/923) ### Contributors - [Jacob640](https://github.com/Jacob640) - [dependabot[bot]](https://github.com/apps/dependabot) - [utkarshgupta137](https://github.com/utkarshgupta137) ## [0.18.2] 2023-04-11 [0.18.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.18.1...v0.18.2 ### 🤕 Fixes - [fix: `.liquid` suffixes not stripped when cloning git templates](https://github.com/cargo-generate/cargo-generate/pull/916) - [Migrate from println! to log+env_logger](https://github.com/cargo-generate/cargo-generate/pull/907) ### 🛠️ Maintenance - [Update various dependencies](https://github.com/cargo-generate/cargo-generate/pull/919) ### Contributors - [KaitlynEthylia](https://github.com/KaitlynEthylia) - [dependabot[bot]](https://github.com/apps/dependabot) - [mothran](https://github.com/mothran) - [sassman](https://github.com/sassman) ## [0.18.1] 2023-02-25 [0.18.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.18.0...v0.18.1 ### 🛠️ Maintenance - [chore(deps): bump remove_dir_all from 0.7.0 to 0.8.0](https://github.com/cargo-generate/cargo-generate/pull/886) ### 🤕 Fixes - [make feature `vendored-openssl` opt in by default (#883)](https://github.com/cargo-generate/cargo-generate/pull/887) ### Contributors - [dependabot[bot]](https://github.com/apps/dependabot) - [sassman](https://github.com/sassman) ## [0.18.0] 2023-02-22 [0.18.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.6...v0.18.0 ### ✨ Features - [liquid filter for running a Rhai script (#879)](https://github.com/cargo-generate/cargo-generate/pull/866) - [put vendored libraries behind features (#856)](https://github.com/cargo-generate/cargo-generate/pull/856) ### 🛠️ Maintenance - [Update various dependencies](https://github.com/cargo-generate/cargo-generate/pull/878) ### 🤕 Fixes - [update `git-config` to `gix-config` (#879)](https://github.com/cargo-generate/cargo-generate/pull/880) ### Contributors - [Byron](https://github.com/Byron) - [dependabot[bot]](https://github.com/apps/dependabot) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) - [figsoda](https://github.com/figsoda) ## [0.17.6] 2023-01-19 [0.17.6]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.5...v0.17.6 ### 🛠️ Maintenance - [chore(deps): bump git2 from 0.15.0 to 0.16.0](https://github.com/cargo-generate/cargo-generate/pull/851) ### 🤕 Fixes - [fix(ci): fix deb package on release (#852)](https://github.com/cargo-generate/cargo-generate/pull/853) - release notes for 0.17.5 missed out on #844 ### Contributors - [dependabot[bot]](https://github.com/apps/dependabot) - [sassman](https://github.com/sassman) ## [0.17.5] 2023-01-16 [0.17.5]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.4...v0.17.5 ### 🛠️ Maintenance - [chore(deps): bump dependencies](https://github.com/cargo-generate/cargo-generate/pull/850) ### ✨ Features - [build a debian package on release](https://github.com/cargo-generate/cargo-generate/pull/846) - [show a warning to the user if the template doesn't agree with the cli parameters](https://github.com/cargo-generate/cargo-generate/pull/844) ### Contributors - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) ## [0.17.4] 2022-12-14 [0.17.4]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.3...v0.17.4 ### 🤕 Fixes - [fix(git:url): fix #752 short `owner/repo` github urls](https://github.com/cargo-generate/cargo-generate/pull/821) - [fix(docs): fix outdated docs, relates to #674](https://github.com/cargo-generate/cargo-generate/pull/818) ### 🛠️ Maintenance - [chore(deps): bump assert_cmd from 2.0.6 to 2.0.7](https://github.com/cargo-generate/cargo-generate/pull/815) - [chore(deps): bump predicates from 2.1.2 to 2.1.4](https://github.com/cargo-generate/cargo-generate/pull/814) - [chore(deps): bump clap from 4.0.22 to 4.0.29](https://github.com/cargo-generate/cargo-generate/pull/813) - [chore(deps): bump serde from 1.0.147 to 1.0.149](https://github.com/cargo-generate/cargo-generate/pull/812) - [chore(deps): bump git-config from 0.11.0 to 0.12.0](https://github.com/cargo-generate/cargo-generate/pull/810) - [chore(deps): bump openssl from 0.10.42 to 0.10.43](https://github.com/cargo-generate/cargo-generate/pull/809) - [chore(deps): bump git-config from 0.10.0 to 0.11.0](https://github.com/cargo-generate/cargo-generate/pull/804) ### Contributors - [sassman](https://github.com/sassman) ## [0.17.3] 2022-11-11 [0.17.3]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.2...v0.17.3 ### 🤕 Fixes - [fix(#795): '--list-favorites' option is broken (#796) ](https://github.com/cargo-generate/cargo-generate/pull/796) ### Contributors - [taurr](https://github.com/taurr) ## [0.17.2] 2022-11-09 [0.17.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.1...v0.17.2 ### 🤕 Fixes - [fix(#793): empty defaults are now back #794 ](https://github.com/cargo-generate/cargo-generate/pull/794) ### Contributors - [sassman](https://github.com/sassman) ## [0.17.1] 2022-11-07 [0.17.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.17.0...v0.17.1 ### 🤕 Fixes - [fix(#790): fix string template var prompts and default value presentation issues](https://github.com/cargo-generate/cargo-generate/pull/791) ### 🛠️ Maintenance - [chore(deps): bump clap from 4.0.19 to 4.0.22](https://github.com/cargo-generate/cargo-generate/pull/792) ### Contributors - [sassman](https://github.com/sassman) ## [0.17.0] 2022-11-07 [0.17.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.16.0...v0.17.0 ### ✨ Features - [Add `aarch64-apple-darwin` release package](https://github.com/cargo-generate/cargo-generate/pull/775) - [Extend the GitHub CI build pipeline for spellchecks](https://github.com/cargo-generate/cargo-generate/pull/764) - [ci: close issues that are labeled as `waiting-for-user-input` and got no updates for 14days](https://github.com/cargo-generate/cargo-generate/pull/762) - [feat: impl `Default` for `GenerateArgs` and `TemplatePath`](https://github.com/cargo-generate/cargo-generate/pull/754) - [support providing `project-name` via hooks, env vars and template value file](https://github.com/cargo-generate/cargo-generate/pull/729) - [Remove `Smoke Test` step](https://github.com/cargo-generate/cargo-generate/pull/721) - [renaming files by using e.g. `{{project-name}}.yml` as filename doesn't remove the original file](https://github.com/cargo-generate/cargo-generate/pull/713) - [Support `--test` for running tests on the expanded template](https://github.com/cargo-generate/cargo-generate/pull/699) ### 🤕 Fixes - [Variables set in pre scripts don't carry over to the template](https://github.com/cargo-generate/cargo-generate/pull/711) - [Git default branch is not honored when using --path](https://github.com/cargo-generate/cargo-generate/pull/712) - [Deleting_a_non_existing_file_should_not_fail](https://github.com/cargo-generate/cargo-generate/pull/730) - [Fix typos](https://github.com/cargo-generate/cargo-generate/pull/751) - [Fix link to Github Action](https://github.com/cargo-generate/cargo-generate/pull/742) - [Fix tests (1.65.0 toolchain support + git 2.38.1 compatibility)](https://github.com/cargo-generate/cargo-generate/pull/780) - [When using --init, do not copy .git directories](https://github.com/cargo-generate/cargo-generate/pull/781) ### 🛠️ Maintenance - [chore(deps): bump git-config from 0.5.0 to 0.10.0](https://github.com/cargo-generate/cargo-generate/pull/786) - [chore(deps): bump clap from 3.2.22 to 4.0](https://github.com/cargo-generate/cargo-generate/pull/785) - [Dependency_update](https://github.com/cargo-generate/cargo-generate/pull/728) - [chore(deps): bump semver from 1.0.12 to 1.0.13](https://github.com/cargo-generate/cargo-generate/pull/727) - [chore(deps): bump indoc from 1.0.6 to 1.0.7](https://github.com/cargo-generate/cargo-generate/pull/725) - [chore(deps): bump paste from 1.0.7 to 1.0.8](https://github.com/cargo-generate/cargo-generate/pull/724) - [chore(deps): bump thiserror from 1.0.31 to 1.0.32](https://github.com/cargo-generate/cargo-generate/pull/723) - [chore(deps): bump serde from 1.0.141 to 1.0.142](https://github.com/cargo-generate/cargo-generate/pull/722) - [chore(deps): bump serde from 1.0.140 to 1.0.141](https://github.com/cargo-generate/cargo-generate/pull/720) - [chore(deps): bump git2 from 0.14.4 to 0.15.0](https://github.com/cargo-generate/cargo-generate/pull/719) - [chore(deps): bump dialoguer from 0.10.1 to 0.10.2](https://github.com/cargo-generate/cargo-generate/pull/718) - [chore(deps): bump clap from 3.2.15 to 3.2.16](https://github.com/cargo-generate/cargo-generate/pull/717) - [chore(deps): bump anyhow from 1.0.58 to 1.0.59](https://github.com/cargo-generate/cargo-generate/pull/715) - [chore(deps): bump console from 0.15.0 to 0.15.1](https://github.com/cargo-generate/cargo-generate/pull/714) - [chore(deps): bump clap from 3.2.14 to 3.2.15](https://github.com/cargo-generate/cargo-generate/pull/705) - [chore(deps): bump clap from 3.2.8 to 3.2.12](https://github.com/cargo-generate/cargo-generate/pull/702) - [update dependencies](https://github.com/cargo-generate/cargo-generate/pull/755) - [Removed Serenity Template from Template List](https://github.com/cargo-generate/cargo-generate/pull/707) ### Contributors - [EstebanBorai](https://github.com/EstebanBorai) - [MalloryA](https://github.com/MalloryA) - [SergioGasquez](https://github.com/SergioGasquez) - [chilipepperhott](https://github.com/chilipepperhott) - [dependabot[bot]](https://github.com/apps/dependabot) - [joshrotenberg](https://github.com/joshrotenberg) - [kianmeng](https://github.com/kianmeng) - [printfn](https://github.com/printfn) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) - [turboMaCk](https://github.com/turboMaCk) ## [0.16.0] 2022-07-25 [0.16.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.15.2...v0.16.0 ### ✨ Features - [Support `--test` for running tests on the expanded template](https://github.com/cargo-generate/cargo-generate/pull/699) - [Allow the template author to manually specify sub-temlates](https://github.com/cargo-generate/cargo-generate/pull/693) Sub-templates may now be specified in the `cargo-generate.toml` file like this: ```toml [template] sub_templates = ["sub1", "sub2"] ``` Doing so also sets the order when `cargo-generate` asks what to expand, while the first option will be the default. If a selected template doesn't have a `cargo-generate.toml` file, but a parent one exists, any configured sub-templates will be ignored. Further implication is that sub-templates no longer needs to have a `cargo-generate.toml` file. - [Test for file existance from rhai scripts](https://github.com/cargo-generate/cargo-generate/pull/690) Adds the `file::exists(path: &str)` method for use from hook scripts. - Conditionals and placeholders are now supported at multiple levels. If a template sets up more placeholders conditionally, those placeholders are now checked/asked for and respected for use in further expressions/conditionals. - [Set default VCS in the favorite or template config](https://github.com/cargo-generate/cargo-generate/issues/635) - [Add case filters to `liquid` and functions to `Rhai`. Enables case changing functionality from both `liquid` and `Rhai`](https://github.com/cargo-generate/cargo-generate/issues/638) - [Add placeholder `{{is_init}}`. Enables templates to adjust if they are expanded with the `--init` arg for `cargo-generate`](https://github.com/cargo-generate/cargo-generate/issues/649) - [Make it possible to convert to `snake_case` and `kebab_case` from `Rhai`](https://github.com/cargo-generate/cargo-generate/pull/662) - [New `Rhai` variable: `is_init` ?](https://github.com/cargo-generate/cargo-generate/pull/661) - [Return the path of the generated project from the `generate` function](https://github.com/cargo-generate/cargo-generate/pull/666) - [Support `--tag` in addition to `--branch`](https://github.com/cargo-generate/cargo-generate/pull/671) - [Set default VCS from within templates](https://github.com/cargo-generate/cargo-generate/pull/677) - [Let template specify it is designed to NOT go into a sub-folder (aka. the template always has --init behaviour)](https://github.com/cargo-generate/cargo-generate/pull/680) - [Add an option to overwrite files in an existing project](https://github.com/cargo-generate/cargo-generate/pull/691) - [Add a link to finding templates directly from the README](https://github.com/cargo-generate/cargo-generate/pull/700) ### 🤕 Fixes - [fix(#514): boolean value being ignored](https://github.com/cargo-generate/cargo-generate/pull/669) - [fix lint error](https://github.com/cargo-generate/cargo-generate/pull/678) - [fix for cargo-generate changes the $CWD](https://github.com/cargo-generate/cargo-generate/pull/688) - [should fail if --define placeholder value doesn't match placeholder regex](https://github.com/cargo-generate/cargo-generate/pull/692) ### 🛠️ Maintenance - [chore(deps): bump anyhow from 1.0.57 to 1.0.58](https://github.com/cargo-generate/cargo-generate/pull/663) - [chore(deps): bump clap from 3.2.5 to 3.2.6](https://github.com/cargo-generate/cargo-generate/pull/672) - [chore(deps): bump clap from 3.2.6 to 3.2.8](https://github.com/cargo-generate/cargo-generate/pull/684) - [chore(deps): bump clap from 3.2.8 to 3.2.12](https://github.com/cargo-generate/cargo-generate/pull/702) - [chore(deps): bump openssl-src from 111.20.0+1.1.1o to 111.22.0+1.1.1q](https://github.com/cargo-generate/cargo-generate/pull/687) - [chore(deps): bump rhai from 1.7.0 to 1.8.0](https://github.com/cargo-generate/cargo-generate/pull/683) - [chore(deps): bump serde from 1.0.137 to 1.0.138](https://github.com/cargo-generate/cargo-generate/pull/682) - [chore(deps): bump semver from 1.0.10 to 1.0.12](https://github.com/cargo-generate/cargo-generate/pull/681) - [chore(deps): bump serde from 1.0.138 to 1.0.139](https://github.com/cargo-generate/cargo-generate/pull/697) - [chore(deps): bump openssl from 0.10.40 to 0.10.41](https://github.com/cargo-generate/cargo-generate/pull/696) - [chore(deps): bump regex from 1.5.6 to 1.6.0](https://github.com/cargo-generate/cargo-generate/pull/695) - [refactor: use impl T to improve readability, and change path params to use Path](https://github.com/cargo-generate/cargo-generate/pull/694) ### Contributors - [taurr](https://github.com/taurr) - [sassman](https://github.com/sassman) - [yozhgoor](https://github.com/yozhgoor) - [dependabot[bot]](https://github.com/apps/dependabot) ## [0.15.2] 2022-06-16 [0.15.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.15.1...v0.15.2 ### 🤕 Fixes - [fix(#657): fix smoke tests + add smoke test to the build pipeline](https://github.com/cargo-generate/cargo-generate/pull/658) ### Contributors - [sassman](https://github.com/sassman) ## [0.15.1] 2022-06-16 [0.15.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.15.0...v0.15.1 ### 🤕 Fixes - [Add `ssh-agent` support and fix windows git+ssh issues](https://github.com/cargo-generate/cargo-generate/pull/655) - [`cargo-generate` without options panics and fix `--help`](https://github.com/cargo-generate/cargo-generate/pull/651) ### Contributors - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) ## [0.15.0] 2022-06-15 [0.15.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.14.0...v0.15.0 ### ✨ Features - [Add placeholder `{{within_cargo_project}}`. Enables templates to adust if they are expanded inside a `cargo` project](https://github.com/cargo-generate/cargo-generate/pull/628) - [output from a *POST* `rhai` script is seemingly output *before* expansion.](https://github.com/cargo-generate/cargo-generate/pull/640) - [auto remove `.liquid` file extensions if present](https://github.com/cargo-generate/cargo-generate/pull/639) - [Generate release packages for `aarch64-unknown-linux-gnu`](https://github.com/cargo-generate/cargo-generate/pull/620) - [Enhance canonicalize_path and git errors](https://github.com/cargo-generate/cargo-generate/pull/595) ### 🛠️ Maintenance - [chore(deps): upgrade to latest clap version + fix deprecations](https://github.com/cargo-generate/cargo-generate/pull/645) - [chore(deps): bump git-config from 0.4.0 to 0.5.0](https://github.com/cargo-generate/cargo-generate/pull/641) - [chore(deps): bump git-config from 0.2.0 to 0.4.0](https://github.com/cargo-generate/cargo-generate/pull/626) - [chore(deps): bump sanitize-filename from 0.3.0 to 0.4.0](https://github.com/cargo-generate/cargo-generate/pull/591) - [Override project_dir when using `generate()`](https://github.com/cargo-generate/cargo-generate/pull/625) - [Replace `structopt` by `clap`](https://github.com/cargo-generate/cargo-generate/pull/624) - [fix(docs): related to `v0.14.0` some breaking required doc changes](https://github.com/cargo-generate/cargo-generate/pull/622) - [Avoid panic caused by deleting git folders](https://github.com/cargo-generate/cargo-generate/pull/621) ### Contributors - [SergioGasquez](https://github.com/SergioGasquez) - [andrewjstone](https://github.com/andrewjstone) - [dependabot[bot]](https://github.com/apps/dependabot) - [jm-observer](https://github.com/jm-observer) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) - [yozhgoor](https://github.com/yozhgoor) ## [0.14.0] 2022-05-31 [0.14.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.13.1...v0.14.0 ### ✨ Features - [Suppress misleading git initialization message](https://github.com/cargo-generate/cargo-generate/pull/606) - [Generate release packages for `x86_64-unknown-linux-gnu`](https://github.com/cargo-generate/cargo-generate/pull/602) - [Allow system commands](https://github.com/cargo-generate/cargo-generate/pull/598) - [Less noise](https://github.com/cargo-generate/cargo-generate/pull/597) - [Enhance canonicalize_path and git errors](https://github.com/cargo-generate/cargo-generate/pull/595) - [Refactor of handling favorites, git and path](https://github.com/cargo-generate/cargo-generate/pull/572) ### 🛠️ Maintenance - [chore(deps): bump sanitize-filename from 0.3.0 to 0.4.0](https://github.com/cargo-generate/cargo-generate/pull/591) - [chore(deps): bump anyhow from 1.0.56 to 1.0.57](https://github.com/cargo-generate/cargo-generate/pull/587) - [chore(deps): bump toml from 0.5.8 to 0.5.9](https://github.com/cargo-generate/cargo-generate/pull/585) ### Contributors - [SergioGasquez](https://github.com/SergioGasquez) - [andrewjstone](https://github.com/andrewjstone) - [dependabot[bot]](https://github.com/apps/dependabot) - [remlse](https://github.com/remlse) - [sassman](https://github.com/sassman) - [v-n-suadicani-issuu](https://github.com/v-n-suadicani-issuu) ## [0.13.1] 2022-04-11 [0.13.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.13.0...v0.13.1 ### 🛠️ Maintenance - [chore(deps): bump git-config from 0.1.11 to 0.2.1](https://github.com/cargo-generate/cargo-generate/pull/581) - [chore(deps): bump liquid* from 0.24 to 0.26](https://github.com/cargo-generate/cargo-generate/pull/579) - [chore(deps): bump rhai from 1.5.0 to 1.6.0](https://github.com/cargo-generate/cargo-generate/pull/570) - [chore(deps): bump versions](https://github.com/cargo-generate/cargo-generate/pull/566) - [chore(deps): bump path-absolutize from 3.0.11 to 3.0.12](https://github.com/cargo-generate/cargo-generate/pull/565) - [chore(deps): bump git2 version to 0.14](https://github.com/cargo-generate/cargo-generate/pull/563) - [chore(deps): bump regex from 1.5.4 to 1.5.5](https://github.com/cargo-generate/cargo-generate/pull/561) - [chore(deps): bump liquid-derive from 0.23.1 to 0.24.0](https://github.com/cargo-generate/cargo-generate/pull/560) - [chore(deps): bump anyhow from 1.0.53 to 1.0.56](https://github.com/cargo-generate/cargo-generate/pull/556) - [chore(deps): bump semver from 1.0.5 to 1.0.6](https://github.com/cargo-generate/cargo-generate/pull/552) - [chore(deps): bump rhai from 1.4.1 to 1.5.0](https://github.com/cargo-generate/cargo-generate/pull/551) - [chore(deps): bump dialoguer from 0.9.0 to 0.10.0](https://github.com/cargo-generate/cargo-generate/pull/548) - [chore(clippy): make clippy happy](https://github.com/cargo-generate/cargo-generate/pull/564) - [chore(docs): added git url to book.toml](https://github.com/cargo-generate/cargo-generate/pull/562) ### 🤕 Fixes - [`--config` should behave relative to `CWD`](https://github.com/cargo-generate/cargo-generate/pull/544) ### Contributors - [TonalidadeHidrica](https://github.com/TonalidadeHidrica) - [dependabot[bot]](https://github.com/apps/dependabot) - [saikiran1043](https://github.com/saikiran1043) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) - [xoac](https://github.com/xoac) ## [0.13.0] 2022-02-08 [0.13.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.12.0...v0.13.0 ### ✨ Features - [feat(#299): cargo generate book](https://github.com/cargo-generate/cargo-generate/pull/519) - [feat(chat): add matrix chat and logo draft](https://github.com/cargo-generate/cargo-generate/pull/537) - [feat(#418) Make `--identity` configurable in cargo-generate.toml and verbose error message](https://github.com/cargo-generate/cargo-generate/pull/534) - [feat(#520): Support Git's https to ssh rewriting configuration](https://github.com/cargo-generate/cargo-generate/pull/533) - [feat(#526): template sub directory error lacks context](https://github.com/cargo-generate/cargo-generate/pull/529) - [feat(#516): new `--force-git-init` flag](https://github.com/cargo-generate/cargo-generate/pull/525) ### 🤕 Fixes - [fix(abbrev): fix index out of range for git abbrev](https://github.com/cargo-generate/cargo-generate/pull/524) - [fix(#79): improve the error message in case the repo or user does not exists](https://github.com/cargo-generate/cargo-generate/pull/521) - [fix(#510): Using `--path` bring the `.git` folder from the source with it](https://github.com/cargo-generate/cargo-generate/pull/518) ### 🛠️ Maintenance - [chore(book): minor fixes of broken links](https://github.com/cargo-generate/cargo-generate/pull/538) - [chore(deps): bump semver from 1.0.4 to 1.0.5](https://github.com/cargo-generate/cargo-generate/pull/536) - [chore(deps): bump tempfile from 3.2.0 to 3.3.0](https://github.com/cargo-generate/cargo-generate/pull/515) - [ci: remove reference to unused action](https://github.com/cargo-generate/cargo-generate/pull/503) ## Contributors - [MarcoIeni](https://github.com/MarcoIeni) - [dependabot[bot]](https://github.com/apps/dependabot) - [joshrotenberg](https://github.com/joshrotenberg) - [sassman](https://github.com/sassman) ## [0.12.0] 2022-02-04 [0.12.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.11.1...v0.12.0 ### 🛠️ Maintenance - [upgrade deps + migrate to the new api of hecks](https://github.com/cargo-generate/cargo-generate/pull/512) - [migrate default branch from master to main](https://github.com/cargo-generate/cargo-generate/pull/513) ### ✨ Features - [abbreviation support for gitlab and bitbucket users](https://github.com/cargo-generate/cargo-generate/pull/511), fixes #391 ### Contributors - [sassman](https://github.com/sassman) ## [0.11.1] 2021-12-03 [0.11.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.11.0...v0.11.1 ### 🛠️ Maintenance - [update dependencies + upgrade to rust 2021 edition](https://github.com/cargo-generate/cargo-generate/pull/500) ### Contributors - [sassman](https://github.com/sassman) ## [0.11.0] 2021-11-07 [0.11.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.10.3...v0.11.0 ### ✨ Features - [feature: add support for arrays in the variable::set Rhai script extension](https://github.com/cargo-generate/cargo-generate/pull/474) - [feature: add username placeholder](https://github.com/cargo-generate/cargo-generate/pull/463) ### 🤕 Fixes - [fix: print regex error](https://github.com/cargo-generate/cargo-generate/pull/488) - [fix: README regex example](https://github.com/cargo-generate/cargo-generate/pull/490) - [fix: improved choice lists](https://github.com/cargo-generate/cargo-generate/issues/400) ### 🛠️ Maintenance - [update dependencies](https://github.com/cargo-generate/cargo-generate/pull/491) - [whitelist `time` advisories](https://github.com/cargo-generate/cargo-generate/pull/489) ### Contributors - [GabrielDertoni](https://github.com/GabrielDertoni) - [MarcoIeni](https://github.com/MarcoIeni) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) ## [0.10.3] 2021-10-11 [0.10.3]: https://github.com/cargo-generate/cargo-generate/compare/v0.10.2...v0.10.3 ### 🛠️ Maintenance - [update dependencies](https://github.com/cargo-generate/cargo-generate/pull/480) ## [0.10.2] 2021-10-09 [0.10.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.10.1...v0.10.2 ### 🤕 Fixes - [fix(git+libgit2:versions): try to fix deps issue](https://github.com/cargo-generate/cargo-generate/pull/477) - [fix: Rhai variable extension not updating Liquid Object](https://github.com/cargo-generate/cargo-generate/pull/472) - [fix: `cargo-generate.toml` not picked up on interactive template selection](https://github.com/cargo-generate/cargo-generate/pull/469) ### ✨ Features - [improvement: use a choice prompt instead of strings for boolean placeholders](https://github.com/cargo-generate/cargo-generate/pull/467) ### Contributors - [GabrielDertoni](https://github.com/GabrielDertoni) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) ## [0.10.1] 2021-09-23 [0.10.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.10.0...v0.10.1 ### 🤕 Fixes - [improve ergonomics when asking for project-name](https://github.com/cargo-generate/cargo-generate/pull/464) by [@taurr](https://github.com/taurr) - [revert_to_git2_0.13.21_to_avoid_issues](https://github.com/cargo-generate/cargo-generate/pull/462) by [@taurr](https://github.com/taurr) ## [0.10.0] 2021-09-19 ### ✨ Features - [feat: prompt for subfolder upon multiple templates](https://github.com/cargo-generate/cargo-generate/pull/446) ![demo](https://user-images.githubusercontent.com/7338549/132187949-befdcaf3-a9ba-426b-b530-e4d6046a8c3d.gif) by [@taurr](https://github.com/taurr) - [feat: Pre/Post hooks](https://github.com/cargo-generate/cargo-generate/pull/445), [issue/18](https://github.com/cargo-generate/cargo-generate/issues/18) Support for template hooks written in [rhai](https://rhai.rs/book/about/index.html). Enables the template author to e.g. create/modify/prompt for template variables using complex logic, or to create/delete/rename files within the template. by [@taurr](https://github.com/taurr) - [feat: include files conditionally](https://github.com/cargo-generate/cargo-generate/pull/431) by [@taurr](https://github.com/taurr) ### 🛠️ Maintenance - [fix(docs): closes #447](https://github.com/cargo-generate/cargo-generate/pull/457) - [Save 33% in size on release binary, bump dependencies](https://github.com/cargo-generate/cargo-generate/pull/454) - [Remove cargo dependency](https://github.com/cargo-generate/cargo-generate/pull/444) - [chore(deps): bump thiserror from 1.0.26 to 1.0.28](https://github.com/cargo-generate/cargo-generate/pull/438) - [refactor: add more clippy warnings](https://github.com/cargo-generate/cargo-generate/pull/437) - [README: improve cargo_generate_version example](https://github.com/cargo-generate/cargo-generate/pull/428) - [README: specify minimum version for feature](https://github.com/cargo-generate/cargo-generate/pull/433) - [README: Added --path documentation](https://github.com/cargo-generate/cargo-generate/pull/435) - [README: add installation instructions for Arch Linux](https://github.com/cargo-generate/cargo-generate/pull/436) - [README: add a little starter guide for template ci testing](https://github.com/cargo-generate/cargo-generate/pull/458) - ### Contributors - [MarcoIeni](https://github.com/MarcoIeni) - [dependabot[bot]](https://github.com/apps/dependabot) - [k0pernicus](https://github.com/k0pernicus) - [messense](https://github.com/messense) - [orhun](https://github.com/orhun) - [sassman](https://github.com/sassman) - [taurr](https://github.com/taurr) ## [0.9.0] 2021-08-24 ### ✨ Features - [enable paging for long choice lists](https://github.com/cargo-generate/cargo-generate/pull/423) improving the handling of very long choice lists long [see #400](https://github.com/cargo-generate/cargo-generate/issues/400), by [@taurr](https://github.com/taurr) - [template parsing: handle undefined variables gracefully](https://github.com/cargo-generate/cargo-generate/pull/422) Undefined template variables do not cause any breaking of the template generation any longer. They will be kept as they are. [see #204](https://github.com/cargo-generate/cargo-generate/issues/204), [#205](https://github.com/cargo-generate/cargo-generate/issues/205), by [@sassman](https://github.com/sassman) - [TEMPLATES.md: link to cargo-generate topic](https://github.com/cargo-generate/cargo-generate/pull/416) Template repos should be tagged with the `cargo-generate` GitHub topic, [read more..](https://github.com/cargo-generate/cargo-generate/blob/main/TEMPLATES.md#available-templates) by [@MarcoIeni](https://github.com/MarcoIeni), [#407](https://github.com/cargo-generate/cargo-generate/pull/407) by [@sassman](https://github.com/sassman) - [Add `init` like behavior.](https://github.com/cargo-generate/cargo-generate/pull/414) a template can now be generated into the current dir, without a git init or anything, [read more..](https://github.com/cargo-generate/cargo-generate#generating-into-current-dir) [see #193](https://github.com/cargo-generate/cargo-generate/issues/193), by [@taurr](https://github.com/taurr) - [Allow version requirement in `cargo-generate.toml`](https://github.com/cargo-generate/cargo-generate/pull/413) a template can now define the compatible cargo generate version number requirement as a requirement, [read more..](https://github.com/cargo-generate/cargo-generate#require-cargo-generate-version-from-template) [see #76](https://github.com/cargo-generate/cargo-generate/issues/76), by [@taurr](https://github.com/taurr) - [Allow cargo-generate.toml as alternative to cargo-generate.](https://github.com/cargo-generate/cargo-generate/pull/412), by [@taurr](https://github.com/taurr) - [fix(tests:linux): use the current directory for canonicalize result](https://github.com/cargo-generate/cargo-generate/pull/411), by [@orhun](https://github.com/orhun) - [Introduce `--path` flag](https://github.com/cargo-generate/cargo-generate/pull/410) supporting now local folders (that are not under git) as templates via `--path ` [see #406](https://github.com/cargo-generate/cargo-generate/issues/406), [#47](https://github.com/cargo-generate/cargo-generate/issues/47) also [#390](https://github.com/cargo-generate/cargo-generate/pull/390), [#387](https://github.com/cargo-generate/cargo-generate/issues/387) by [@taurr](https://github.com/taurr) - [Allow specification of default template values](https://github.com/cargo-generate/cargo-generate/pull/409) default values for template variables can now be defined on several levels, external file, in the favorites configuration and via environment variables, [read more..](https://github.com/cargo-generate/cargo-generate#default-values-for-placeholders-from-a-file) [see #389](https://github.com/cargo-generate/cargo-generate/issues/389), [#46](https://github.com/cargo-generate/cargo-generate/issues/46), by [@taurr](https://github.com/taurr) - [template variables via environment variables](https://github.com/cargo-generate/cargo-generate/pull/404) [#389](https://github.com/cargo-generate/cargo-generate/issues/389), by [@taurr](https://github.com/taurr) - [template variables in Directories](https://github.com/cargo-generate/cargo-generate/pull/397), [#396](https://github.com/cargo-generate/cargo-generate/issues/396) supporting now template variables as directory names like `{{project_name}}/{{project_name}}.rs` by [dave-tucker](https://github.com/dave-tucker) and [#395](https://github.com/cargo-generate/cargo-generate/pull/395) by [@taurr](https://github.com/taurr) - [Allow `--define` to specify values](https://github.com/cargo-generate/cargo-generate/pull/392) [#389](https://github.com/cargo-generate/cargo-generate/issues/389) command line argument `--define` to define template variables by [@taurr](https://github.com/taurr) - [Improve output of --list-favorites](https://github.com/cargo-generate/cargo-generate/pull/388) by [@taurr](https://github.com/taurr) ### 🛠️ Maintenance - [chore(deps): bump openssl from 0.10.35 to 0.10.36](https://github.com/cargo-generate/cargo-generate/pull/429) - [README: improve cargo_generate_version example](https://github.com/cargo-generate/cargo-generate/pull/428) - [ci: add documentation check](https://github.com/cargo-generate/cargo-generate/pull/426) - [fix additional clippy lints](https://github.com/cargo-generate/cargo-generate/pull/425) - [Fix typo in README.md](https://github.com/cargo-generate/cargo-generate/pull/399) - [Only use cross for linux prebuilt binaries](https://github.com/cargo-generate/cargo-generate/pull/398) - [chore(deps): bump anyhow from 1.0.42 to 1.0.43](https://github.com/cargo-generate/cargo-generate/pull/421) - [chore(deps): bump predicates from 2.0.1 to 2.0.2](https://github.com/cargo-generate/cargo-generate/pull/420) - [chore(deps): bump git2 from 0.13.20 to 0.13.21](https://github.com/cargo-generate/cargo-generate/pull/419) - [chore(deps): bump cargo from 0.54.0 to 0.55.0](https://github.com/cargo-generate/cargo-generate/pull/394) - [chore(deps): bump assert_cmd from 1.0.7 to 1.0.8](https://github.com/cargo-generate/cargo-generate/pull/393) - [chore(deps): bump assert_cmd from 1.0.8 to 2.0.0](https://github.com/cargo-generate/cargo-generate/pull/403) ## [0.8.0] 2021-07-30 - ### ✨ Features - [feat(template:filenames): template filenames now](https://github.com/cargo-generate/cargo-generate/pull/386) solves [#159](https://github.com/cargo-generate/cargo-generate/issues/159) A template author can use those placeholders in file names. For example, a project named `awesome`, with a file name `{{project_name}}.rs` will be transformed to `awesome.rs` during generation. [read more..](https://github.com/cargo-generate/cargo-generate#templates) by [@sassman](https://github.com/sassman) - [feat(template:choices): better ux for template choice parameters](https://github.com/cargo-generate/cargo-generate/pull/381) for templates that contains parameters with a list of options + default option, users can now choose items from the list via the arrow keys and don't need manual typing anymore ![showcase](https://user-images.githubusercontent.com/329682/126956639-90d3c733-3813-4117-b305-89a308731c0b.png) by [@sassman](https://github.com/sassman) - [Feature: specify subdir in repo as template](https://github.com/cargo-generate/cargo-generate/pull/379) solves / relates to [#47](https://github.com/cargo-generate/cargo-generate/issues/47) [#78](https://github.com/cargo-generate/cargo-generate/issues/78) [#211](https://github.com/cargo-generate/cargo-generate/issues/211) [#291](https://github.com/cargo-generate/cargo-generate/issues/291) #### TL;DR: a subfolder (e.g. `examples/template`) of a given git repo can be used for templating In the following example we assume the subfolder `tests/integration/helpers` contain some template: ```sh cargo generate --git https://github.com/cargo-generate/cargo-generate tests/integration/helpers ``` The great thing is that library / tool authors are now enabled to ship their templates as part of e.g. the `examples/` folder directly from within their main repository. by [@taurr](https://github.com/taurr) - ### 🛠️ Maintenance - [chore(deps): bump predicates from 2.0.0 to 2.0.1](https://github.com/cargo-generate/cargo-generate/pull/385) - [fix(ci): temp. workaround for GH Actions limitations](https://github.com/cargo-generate/cargo-generate/pull/382) - [Add testcase for #201 (Test git history is removed)](https://github.com/cargo-generate/cargo-generate/pull/380) by [taurr](https://github.com/taurr) ## [0.7.2] 2021-07-22 - ### ✨ Features - [Prebuilt binaries workfow for common targets](https://github.com/cargo-generate/cargo-generate/pull/377) by [@jashandeep-sohi](https://github.com/jashandeep-sohi) Whenever a GitHub Release is published, cargo-generate binaries are build and attached to the release. ## [0.7.1] 2021-07-18 - ### 🤕 Fixes - [Error on Windows: Git Error: Error cleaning up cloned template #375](https://github.com/cargo-generate/cargo-generate/issues/375) , [pull/376](https://github.com/cargo-generate/cargo-generate/pull/376), by [@sassman](https://github.com/sassman) - [fix: fix InvalidPlaceholderName error string](https://github.com/cargo-generate/cargo-generate/pull/374) by [@NOBLES5E](https://github.com/NOBLES5E) ## [0.7.0] 2021-07-13 - ### ✨ Features - [feat(remote:ssh): support for ssh remote urls](https://github.com/cargo-generate/cargo-generate/pull/372) Finally, `cargo-generate` supports git ssh remote urls. [Read more in the docs](https://github.com/cargo-generate/cargo-generate#git-over-ssh) - [feat(http:proxy): support http_proxy env vars](https://github.com/cargo-generate/cargo-generate/pull/342) The typically known environment variables `HTTP_PROXY` and `HTTPS_PROXY` are now supported by `cargo-generate`. [Read more in the docs](https://github.com/cargo-generate/cargo-generate#https-proxy) - [feat(progress-bar): more useful progress bar](https://github.com/cargo-generate/cargo-generate/pull/339) - [feat(crate-types): crate types --lib and --bin as in cargo init](https://github.com/cargo-generate/cargo-generate/pull/326) Similar to `cargo init --lib`, a `crate-type` support is now there. [Read more in the docs](https://github.com/cargo-generate/cargo-generate#example-for---bin-and---lib) - [Add serenity template](https://github.com/cargo-generate/cargo-generate/pull/324) - [Upgrade to GitHub-native Dependabot](https://github.com/cargo-generate/cargo-generate/pull/331) - ### 🛠️ Maintenance - [chore(deps): bump anyhow from 1.0.41 to 1.0.42](https://github.com/cargo-generate/cargo-generate/pull/371) - [chore(deps): bump predicates from 1.0.8 to 2.0.0](https://github.com/cargo-generate/cargo-generate/pull/366) - [chore(deps): bump thiserror from 1.0.25 to 1.0.26](https://github.com/cargo-generate/cargo-generate/pull/365) - [chore(deps): bump structopt from 0.3.21 to 0.3.22](https://github.com/cargo-generate/cargo-generate/pull/364) - [chore(deps): bump assert_cmd from 1.0.5 to 1.0.7](https://github.com/cargo-generate/cargo-generate/pull/363) - [chore(clippy): make clippy happy](https://github.com/cargo-generate/cargo-generate/pull/361) - [chore(deps): bump openssl from 0.10.34 to 0.10.35](https://github.com/cargo-generate/cargo-generate/pull/358) - [chore(deps): bump cargo from 0.53.0 to 0.54.0](https://github.com/cargo-generate/cargo-generate/pull/357) - [chore(deps): bump anyhow from 1.0.40 to 1.0.41](https://github.com/cargo-generate/cargo-generate/pull/356) - [chore(deps): bump ignore from 0.4.17 to 0.4.18](https://github.com/cargo-generate/cargo-generate/pull/355) - [chore(deps): bump heck from 0.3.2 to 0.3.3](https://github.com/cargo-generate/cargo-generate/pull/354) - [chore(deps): bump assert_cmd from 1.0.4 to 1.0.5](https://github.com/cargo-generate/cargo-generate/pull/353) - [chore(deps): bump git2 from 0.13.19 to 0.13.20](https://github.com/cargo-generate/cargo-generate/pull/352) - [chore(deps): bump indicatif from 0.16.0 to 0.16.2](https://github.com/cargo-generate/cargo-generate/pull/351) - [chore(deps): bump thiserror from 1.0.24 to 1.0.25](https://github.com/cargo-generate/cargo-generate/pull/349) - [chore(docs): enhance vendored openssl installation](https://github.com/cargo-generate/cargo-generate/pull/347) - [chore(deps): bump assert_cmd from 1.0.3 to 1.0.4](https://github.com/cargo-generate/cargo-generate/pull/346) - [chore(deps): bump git2 from 0.13.18 to 0.13.19](https://github.com/cargo-generate/cargo-generate/pull/345) - [chore(deps): bump url from 2.2.1 to 2.2.2](https://github.com/cargo-generate/cargo-generate/pull/338) - [chore(deps): bump cargo from 0.52.0 to 0.53.0](https://github.com/cargo-generate/cargo-generate/pull/337) - [chore(deps): bump regex from 1.4.6 to 1.5.4](https://github.com/cargo-generate/cargo-generate/pull/336) - [chore(deps): bump openssl from 0.10.33 to 0.10.34](https://github.com/cargo-generate/cargo-generate/pull/335) - [chore(deps): bump predicates from 1.0.7 to 1.0.8](https://github.com/cargo-generate/cargo-generate/pull/334) - [chore(deps): bump regex from 1.4.5 to 1.4.6](https://github.com/cargo-generate/cargo-generate/pull/330) - [chore(deps): bump git2 from 0.13.17 to 0.13.18](https://github.com/cargo-generate/cargo-generate/pull/329) ### Contributors - [@SkamDart](https://github.com/skamdart) - [@chilipepperhott](https://github.com/chilipepperhott) - [@sassman](https://github.com/sassman) - [dependabot[bot]](https://github.com/apps/dependabot) ## [0.6.1] 2021-04-01 - ### 🛠️ Maintenance - [chore(deps): bump cargo from 0.51.0 to 0.52.0](https://github.com/cargo-generate/cargo-generate/pull/322) - [chore(deps): bump serde from 1.0.124 to 1.0.125](https://github.com/cargo-generate/cargo-generate/pull/321) - [chore(deps): bump walkdir from 2.3.1 to 2.3.2](https://github.com/cargo-generate/cargo-generate/pull/320) - [chore(deps): bump anyhow from 1.0.39 to 1.0.40](https://github.com/cargo-generate/cargo-generate/pull/319) - [chore(deps): bump anyhow from 1.0.38 to 1.0.39](https://github.com/cargo-generate/cargo-generate/pull/317) - [chore(deps): bump dialoguer from 0.7.1 to 0.8.0](https://github.com/cargo-generate/cargo-generate/pull/316) - [chore(deps): bump openssl from 0.10.32 to 0.10.33](https://github.com/cargo-generate/cargo-generate/pull/315) - [chore(deps): bump console from 0.14.0 to 0.14.1](https://github.com/cargo-generate/cargo-generate/pull/314) - [chore(deps): bump regex from 1.4.3 to 1.4.5](https://github.com/cargo-generate/cargo-generate/pull/313) - [chore(deps): bump remove_dir_all from 0.6.1 to 0.7.0](https://github.com/cargo-generate/cargo-generate/pull/311) - [chore(deps): bump liquid from 0.21.5 to 0.22.0](https://github.com/cargo-generate/cargo-generate/pull/305) ## [0.6.0] 2021-03-07 - ### ✨ Features - [interactive variable leads to default](https://github.com/cargo-generate/cargo-generate/pull/297), [issue/17](https://github.com/cargo-generate/cargo-generate/issues/17), by [sassman](https://github.com/sassman) This allows for lazy typing when using custom variables in templates, so that a user does not need to type the default value, but rather can press in order to accept the default value that is presented. - [Add `--vcs none` option to avoid initializing git repo](https://github.com/cargo-generate/cargo-generate/pull/293), [issue/244](https://github.com/cargo-generate/cargo-generate/issues/244), by [taurr](https://github.com/taurr) - [Add favorites on cargo-generate.toml user config file](https://github.com/cargo-generate/cargo-generate/pull/292), [issue/210](https://github.com/cargo-generate/cargo-generate/issues/210), by [taurr](https://github.com/taurr) This allows you to specify one or more shortcuts / favourites in your personal cargo-generate config file under `$CARGO_HOME/cargo-generate` or `$HOME/.cargo/cargo-generate`. You can read more about [this feature here](https://github.com/cargo-generate/cargo-generate#favorites) Update: [on backwards compatibility](https://github.com/cargo-generate/cargo-generate/pull/309) by [sassman](https://github.com/sassman) - [Add user specific template variables](https://github.com/cargo-generate/cargo-generate/pull/275), [issue/17](https://github.com/cargo-generate/cargo-generate/issues/17), by [pedrohjordao](https://github.com/pedrohjordao) This allows a template author to define template specific variables. Those variables can be of type string and bool. Further more they can be a choice of a provided list. You can read more about [this feature here in the docs](https://docs.rs/cargo-generate/0.6.0/cargo_generate/). A brief example: ```toml [placeholders] my-placeholder = { type = "string", prompt = "Hello?", choices = ["hello", "world"], default = "hello", regex = "*" } use-serde = { type = "bool", prompt = "Add serde support?", default = false } ``` - ### 🤕 Fixes - [dont init git when inside an existing repo](https://github.com/cargo-generate/cargo-generate/pull/290), [issue/244](https://github.com/cargo-generate/cargo-generate/issues/244), by [taurr](https://github.com/taurr) - ### 🛠️ Maintenance - [Bump cargo from 0.50.1 to 0.51.0](https://github.com/cargo-generate/cargo-generate/pull/294), by [dependabot-preview[bot]](https://github.com/apps/dependabot-preview) ## [0.6.0-alpha.2] 2021-02-18 [PRERELEASED] - ### ✨ Features - [interactive variable leads to default](https://github.com/cargo-generate/cargo-generate/pull/297), [issue/17](https://github.com/cargo-generate/cargo-generate/issues/17), by [sassman](https://github.com/sassman) This allows for lazy typing when using custom variables in templates, so that a user does not need to type the default value, but rather can press in order to accept the default value that is presented. ## [0.6.0-alpha.1] 2021-02-15 [PRERELEASED] - ### 🛠️ Maintenance - [Bump cargo from 0.50.1 to 0.51.0](https://github.com/cargo-generate/cargo-generate/pull/294), by [dependabot-preview[bot]](https://github.com/apps/dependabot-preview) - ### ✨ Features - [Add `--vcs none` option to avoid initializing git repo](https://github.com/cargo-generate/cargo-generate/pull/293), [issue/244](https://github.com/cargo-generate/cargo-generate/issues/244), by [taurr](https://github.com/taurr) - [Add favorites on cargo-generate.toml user config file](https://github.com/cargo-generate/cargo-generate/pull/292), [issue/210](https://github.com/cargo-generate/cargo-generate/issues/210), by [taurr](https://github.com/taurr) This allows you to specify one or more shortcuts / favourites in your personal cargo-generate config file under `$CARGO_HOME/cargo-generate` or `$HOME/.cargo/cargo-generate`. You can read more about [this feature here](https://github.com/cargo-generate/cargo-generate#favorites) - [Add user specific template variables](https://github.com/cargo-generate/cargo-generate/pull/275), [issue/17](https://github.com/cargo-generate/cargo-generate/issues/17), by [pedrohjordao](https://github.com/pedrohjordao) This allows a template author to define template specific variables. Those variables can be of type string and bool. Further more they can be a choice of a provided list. You can read more about [this feature here in the docs](https://docs.rs/cargo-generate/0.6.0/cargo_generate/). A brief example: ```toml [placeholders] my-placeholder = { type = "string", prompt = "Hello?", choices = ["hello", "world"], default = "hello", regex = "*" } use-serde = { type = "bool", prompt = "Add serde support?", default = false } ``` - ### 🤕 Fixes - [dont init git when inside an existing repo](https://github.com/cargo-generate/cargo-generate/pull/290), [issue/244](https://github.com/cargo-generate/cargo-generate/issues/244), by [taurr](https://github.com/taurr) ## [0.5.3] 2021-02-08 - ### 🛠️ Maintenance - **Bump [serde](https://github.com/serde-rs/serde) from 1.0.119 to 1.0.123** [pull/287](https://github.com/cargo-generate/cargo-generate/pull/287) by @dependabot-preview - **Bump [liquid](https://github.com/cobalt-org/liquid-rust) from 0.21.4 to 0.21.5** [pull/286](https://github.com/cargo-generate/cargo-generate/pull/286) by @dependabot-preview - **Bump [assert_cmd](https://github.com/assert-rs/assert_cmd) from 1.0.2 to 1.0.3** [pull/285](https://github.com/cargo-generate/cargo-generate/pull/285) by @dependabot-preview - **Bump [cargo](https://github.com/rust-lang/cargo) from 0.50.0 to 0.50.1** [pull/284](https://github.com/cargo-generate/cargo-generate/pull/284) by @dependabot-preview - **Bump [liquid-lib](https://github.com/cobalt-org/liquid-rust) from 0.21.1 to 0.21.2** [pull/283](https://github.com/cargo-generate/cargo-generate/pull/283) by @dependabot-preview - **Bump [liquid-derive](https://github.com/cobalt-org/liquid-rust) from 0.21.0 to 0.21.1** [pull/282](https://github.com/cargo-generate/cargo-generate/pull/282) by @dependabot-preview - **Bump [liquid-core](https://github.com/cobalt-org/liquid-rust) from 0.21.2 to 0.21.3** [pull/281](https://github.com/cargo-generate/cargo-generate/pull/281) by @dependabot-preview ## [0.5.2] 2021-01-25 - ### ✨ Features - **make args fields public to provide a public API by [@No9], [pull/264]** this allows the external usage of `cargo-generate` from any lib / binary [see this example] [pull/264]: https://github.com/cargo-generate/cargo-generate/pull/264 [@No9]: https://github.com/No9 [see this example]: https://github.com/cargo-generate/cargo-generate/blob/161f320483e4276ab6d87a36b13a78f268239947/tests/integration/library.rs - **support operating system and architecture by [@macalimlim], [pull/252], [issues/251]** [@macalimlim]: https://github.com/macalimlim [issues/251]: https://github.com/cargo-generate/cargo-generate/issues/251 [pull/252]: https://github.com/cargo-generate/cargo-generate/pull/252 - ### 🤕 Fixes - **fix creates an empty `.cargo-ok`, by [@thomcc], [pull/269], [issues/259] [@thomcc]: https://github.com/thomcc [pull/269]: https://github.com/cargo-generate/cargo-generate/pull/269 [issues/259]: https://github.com/cargo-generate/cargo-generate/issues/259 - **apply rust best practices clippy + fmt + ci/cd pipeline by [@sassman](https://github.com/sassman) , [pull/273](https://github.com/cargo-generate/cargo-generate/pull/273) [issue/270](https://github.com/cargo-generate/cargo-generate/issues/270)** Make clippy happy, and applies fmt for the whole code base Also, tests, linter (fmt+clippy) on mac, linux and windows are now executed on builds, means also for PRs Dismisses now travisCi and Appveyor - **handle default branch properly by [@cecton], [pull/263], [issues/258]** Make sure that not `master` or `main` as branch name is used and expected, but rather use the git default branch. [@cecton]: https://github.com/cecton [pull/263]: https://github.com/cargo-generate/cargo-generate/pull/263 [issues/258]: https://github.com/cargo-generate/cargo-generate/issues/258 - ### 🛠️ Maintenance - **Shrink crate size by [@sassman](https://github.com/sassman) , [pull/272](https://github.com/cargo-generate/cargo-generate/pull/272)** Applies the suggestions of `cargo-diet` and hereby helps to reduce the crate size, by ship less irrelevant files. - ### 👯 New Templates - **`godot-rust-template`: Create games with Godot and Rust by [@macalimlim], [pull/248] [@macalimlim]: https://github.com/macalimlim [pull/248]: https://github.com/cargo-generate/cargo-generate/pull/248 ## 🕴️ 0.5.1 - ### 🤕 Fixes - **Ignore files in `.genignore` _before_ walking/substitution - [schell], [pull/235] [issue/236]** This fixes scenarios where liquid variables cause parsing errors in files that should be ignored. [schell]: https://github.com/schell [pull/235]: https://github.com/ashleygwilliams/cargo-generate/pull/235 [issues/236]: https://github.com/ashleygwilliams/cargo-generate/issues/236 - **Fix in CLI `help` option - [SirWindfield], [pull/234]** This fix the display of the `--branch` option in the help message, when executing `cargo generate --help`. [SirWindfield]: https://github.com/SirWindfield [pull/234]: https://github.com/ashleygwilliams/cargo-generate/pull/234 - ### 👯 New Templates - **`generust`: a template that provides a Rust web server and WASM client with some [interesting features](https://github.com/KyleU/generust/blob/main/doc/features.md) - [KyleU], [pull/203]** [KyleU]: https://github.com/KyleU [pull/203]: https://github.com/ashleygwilliams/cargo-generate/pull/203 - **`orbtk`: a template that lets you create user interfaces using [OrbTk](https://github.com/redox-os/orbtk-template) - [FloVanGH], [pull/214]** [FloVanGH]: https://github.com/FloVanGH [pull/214]: https://github.com/ashleygwilliams/cargo-generate/pull/214 - **`template-rust-backend-with-electron-frontend`: a template that lets you write a Rust native cdylib backend with [Electron](https://www.electronjs.org/) frontend - [usagi], [pull/218]** [usagi]: https://github.com/usagi [pull/218]: https://github.com/ashleygwilliams/cargo-generate/pull/218 - **`swift-rust-xcode-template`: a template that lets you write an iOS app with [Swift](https://www.apple.com/swift/) and Rust - [simlay], [pull/219]** [simlay]: https://github.com/simlay [pull/219]: https://github.com/ashleygwilliams/cargo-generate/pull/219 - **`Win32`: a template that provides an interface to write low-level Win32 applications in Rust - [ArmsOfSorrow] , [pull/220]** [ArmsOfSorrow]: https://github.com/ArmsOfSorrow [pull/220]: https://github.com/ashleygwilliams/cargo-generate/pull/220 - **`QuickStart WebAssembly`: a template that lets you create a WebAssembly application with Rust - [PankajChaudhary5], [pull/227]** [PankajChaudhary5]: https://github.com/PankajChaudhary5 [pull/227]: https://github.com/ashleygwilliams/cargo-generate/pull/227 - **`rust-cli-template`: a template that lets you create easily a CLI with interesting features in it ([color_eyre](https://docs.rs/color_eyre), [tracing](https://docs.rs/tracing), in addition to benchmarking and testing boilerplate) - [9999years], [pull/239]** [9999years]: https://github.com/9999years [pull/239]: https://github.com/ashleygwilliams/cargo-generate/pull/239 - **`mongodb-service-template`: a template that lets you create a GraphQL service with MongoDB as backing storage - [bdbmammoth], [pull/243]** [bdbmammoth]: https://github.com/bdbmammoth [pull/243]: https://github.com/ashleygwilliams/cargo-generate/pull/243 - ### 🛠️ Maintenance - **Support for `owner/repo` abbreviation for git URL format - [9999years], [pull/242]** [9999years]: https://github.com/9999years [pull/242]: https://github.com/ashleygwilliams/cargo-generate/pull/242 - **Usage of default git branch instead of `master` - [9999years], [pull/241]** [9999years]: https://github.com/9999years [pull/241]: https://github.com/ashleygwilliams/cargo-generate/pull/241 - **Updated `cargo-generate` to the latest and greatest in the Rust ecosystem - [Veetaha], [pull/237]** - Update all dependencies versions to latest ones - Replace `rustfmt-preview` with `rustfmt` - Replace `failure` with `anyhow` - Remove `quicli` completely - Update cargo authors copied code to latest cargo master - Fix clippy lints: - Replace &PathBuf to &Path in code - Remove bare `use crate_name` entires - Replace unexported `pub` with `pub(crate)` - Apply some cosmetic impl refactorings [Veetaha]: https://github.com/Veetaha [pull/237]: https://github.com/ashleygwilliams/cargo-generate/pull/237 - **Code refactoring - [SirWindfield], [pull/233]** [SirWindfield]: https://github.com/SirWindfield [pull/233]: https://github.com/ashleygwilliams/cargo-generate/pull/233 - **Support all `liquid` filters - [sassman], [pull/225]** - Upgrade `liquid` to v0.20 - Enables all `liquid` default filters - Fix some findings of clippy [sassman]: https://github.com/sassman [pull/225]: https://github.com/ashleygwilliams/cargo-generate/pull/225 - **Typo fixes in CONTRIBUTING.md - [Darrenmeehan], [pull/222]** [Darrenmeehan]: https://github.com/Darrenmeehan [pull/222]: https://github.com/ashleygwilliams/cargo-generate/pull/222 ## 🧟‍♀️ 0.5.0 - ### ✨ Features - **Add a verbose flag for printing excluded files - [EverlastingBugstopper], [pull/199]** cargo-generate can now be run with a `--verbose` flag that will print the list of files/directories that it is ignoring. This means that by default the output for templates that exclude files will appear no differently from templates that do exclude files. [EverlastingBugstopper]: https://github.com/EverlastingBugstopper [pull/199]: https://github.com/ashleygwilliams/cargo-generate/pull/199 - ### 🤕 Fixes - **Update two failure scenarios to exit with code 1 - [EverlastingBugstopper], [pull/198]** When cargo-generate fails due to an issue with git or if a target directory already exists, it will now fail with an exit code of 1. [EverlastingBugstopper]: https://github.com/EverlastingBugstopper [pull/198]: https://github.com/ashleygwilliams/cargo-generate/pull/198 - **Fix path display on Windows - [tommyshem], [issue/192] [pull/195]** Changes Windows file output from `"C:\\Users\\Me\\src\\example-com\\.genignore"` to `"C:\Users\Me\src\example-com\.genignore"` [tommyshem]: https://github.com/tommyshem [pull/195]: https://github.com/ashleygwilliams/cargo-generate/pull/195 [issue/192]: https://github.com/ashleygwilliams/cargo-generate/issues/192 - **Don't remove .github directory when only .git should be removed - [softprops], [issue/190] [pull/191]** When generating a new project, cargo-generate will remove the `.git` directory and initialize a new git tree. In doing so, it would remove any file or directory containing `.git`, including `.github`. This release fixes that bug! [softprops]: https://github.com/softprops [pull/191]: https://github.com/ashleygwilliams/cargo-generate/pull/191 [issue/190]: https://github.com/ashleygwilliams/cargo-generate/issues/190 - ### 🛠️ Maintenance - **Fix a dead link in TEMPLATES.md - [yaahc], [pull/186]** [yaahc]: https://github.com/yaahc [pull/186]: https://github.com/ashleygwilliams/cargo-generate/pull/186 - **Use Cargo.lock when compiling binary - [xortive], [pull/188]** [xortive]: https://github.com/xortive [pull/188]: https://github.com/ashleygwilliams/cargo-generate/pull/188 ## 🍕 0.4.0 - ### ✨ Features - **Add config file for configuring include / exclude of files to template - [xortive], [pull/174]** Adds support for the [cargo-generate.toml](https://github.com/ashleygwilliams/cargo-generate/blob/main/README.md#include--exclude) file, which allows templates to configure which files should be processed, either using a whitelist method (`include`), or a blacklist method (`exclude`). When both `include` and `exclude` are present, `include` will be preferred. This mirrors [similar `include`/`exclude` behavior in `cargo`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields-optional) , and uses some of the same code. #### Include List ```toml [template] include = ["Cargo.toml", "src/lib.rs"] # Only search for and replace template tags in Cargo.toml and src/lib.rs ``` #### Exclude List ```toml [template] exclude = ["public/image.js"] # Don't look for template tags in public/image.js ``` #### Invalid Configuration ```toml [template] # This is an "invalid" configuration, so cargo-generate takes the "more specific" include option # and will only search for and replace template tags in Cargo.toml. include = ["Cargo.toml"] exclude = ["public/image.js"] ``` [xortive]: https://github.com/xortive [pull/174]: https://github.com/ashleygwilliams/cargo-generate/pull/174 - ### 🤕 Fixes - **Respect default branch name of template - [RotationMatrix], [pull/166]** The `--branch` flag will now work as intended and set the initial HEAD to the specified branch name. For example, running `cargo generate --git --branch gh-pages` will set your generated project's default branch to `gh-pages`. [RotationMatrix]: https://github.com/RotationMatrix [pull/166]: https://github.com/ashleygwilliams/cargo-generate/pull/166 - ### 🛠️ Maintenance - **Cleanup of lingering clippy / rustfmt warnings - [ashleygwilliams], [pull/175]** [ashleygwilliams]: https://github.com/ashleygwilliams [pull/175]: https://github.com/ashleygwilliams/cargo-generate/pull/175 - **Fix assert! macro usage - [rasendubi], [pull/157]** [rasendubi]: https://github.com/rasendubi [pull/157]: https://github.com/ashleygwilliams/cargo-generate/pull/157 ## 🛠 0.3.1 - ### 🤕 Fixes - **Fix messages related to rename behavior - [xortive], [pull/162]** `--force` would stop `cargo-generate` renaming your project, but we would still message that the rename was happening. Not anymore! [xortive]: https://github.com/xortive [pull/162]: https://github.com/ashleygwilliams/cargo-generate/pull/162 - **Use Vendored OpenSSL for macOS - [xortive], [pull/169]** Our prebuilt binaries for macOS were using dynamically linked OpenSSL, and our CI was dynamically linking to a version of OpenSSL not installed by default on most macs. Now, the macOS release build of `cargo-generate` will work out of the box utilizing staticly linked, vendored OpenSSL. [xortive]: https://github.com/xortive [pull/169]: https://github.com/ashleygwilliams/cargo-generate/pull/169 - ### 👯 New Templates - **`bluepill` stm32 microcontroller board template - [mendelt], [pull/156]** [mendelt]: https://github.com/mendelt [pull/156]: https://github.com/ashleygwilliams/cargo-generate/pull/156 - **`cmdr` commandline appliction template - [mendelt], [pull/156]** [mendelt]: https://github.com/mendelt [pull/156]: https://github.com/ashleygwilliams/cargo-generate/pull/156 - **`ggez` rust gamedev template - [cyclowns], [pull/167]** [cyclowns]: https://github.com/cyclowns [pull/167]: https://github.com/ashleygwilliams/cargo-generate/pull/167 - ### 🛠️ Maintenance - **Update to liquid 0.19 - [epage], [pull/165]** [epage]: https://github.com/epage [pull/165]: https://github.com/ashleygwilliams/cargo-generate/pull/165 ## ⭐ 0.3.0 - ### ✨ Features - **Support case filters in templates - [epage], [issue/117] [pull/140]** Because we leverage `liquid` as a templating engine under the hood, we can add some specific filters to our substitutions to add a little more awesome. This feature adds 4 filters: - `capitalize` - `pascal_case` - `kebab_case` - `snake_case` Now we can tame any set of letters with any type of capitalization or dash! Give them a try and let us know what other types of features you'd like to see. [issue/117]: https://github.com/ashleygwilliams/cargo-generate/issues/117 [pull/140]: https://github.com/ashleygwilliams/cargo-generate/pull/140 - ### 🤕 Fixes - **Windows releases on Appveyor - [jaysonsantos], [issue/145] [pull/146]** Thanks to a new tool, [`wrangler`], that uses `cargo-generate` as a dependency, it was discovered that we were shipping broken Windows binaries. We've fixed that now! [`wrangler`]: https://github.com/ashleygwilliams/cargo-generate [jaysonsantos]: https://github.com/jaysonsantos [issue/145]: https://github.com/ashleygwilliams/cargo-generate/issues/145 [pull/146]: https://github.com/ashleygwilliams/cargo-generate/pull/146 - ### 👯 New Templates - **`procmacro-quickstart` template - [eupn], [pull/141]** [eupn]: https://github.com/eupn [pull/141]: https://github.com/ashleygwilliams/cargo-generate/pull/141 - ### 🛠️ Maintenance - **Update to 2018 Edition - [ashleygwilliams], [issue/131] [pull/147]** This was a fun one and additionally involved upgrading us to `quicli` 0.4! Welcome to 2018, `cargo-generate`. [issue/131]: https://github.com/ashleygwilliams/cargo-generate/issues/131 [pull/147]: https://github.com/ashleygwilliams/cargo-generate/pull/147 - **Shallow `main` refactor - [DD5HT], [pull/115]** [pull/115]: https://github.com/ashleygwilliams/cargo-generate/pull/115 - **Update `liquid` - [epage], [pull/139]** [epage]: https://github.com/epage [pull/139]: https://github.com/ashleygwilliams/cargo-generate/pull/139 ## 🌟 0.2.2 - ### 🤕 Fixes - **fix relative paths to templates - [DD5HT], [issue/128] [pull/129]** When we previously merged the PR in 0.2.0 that leveraged `cargo` to clone the templates, enabling folks to work with private repositories- we introduced a `GitConfig::new` function (replacing work done previously by `libgit2`). This function works great- but did not support relative paths. We didn't catch this because we weren't testing the relative paths usecase! With this PR, [DD5HT] has restored the relative path functionality- and added a test to prevent further regressions of this function! [issue/128]: https://github.com/ashleygwilliams/cargo-generate/issues/128 [pull/129]: https://github.com/ashleygwilliams/cargo-generate/pull/129 - ### 🛠️ Maintenance - **cargo update/cargo fmt - [ashleygwilliams], [pull/134] [pull/133]** [pull/133]: https://github.com/ashleygwilliams/cargo-generate/pull/133 [pull/134]: https://github.com/ashleygwilliams/cargo-generate/pull/134 ## 🌠 0.2.1 - ### 🤕 Fixes - **don't error on missing `.genignore` file - [DD5HT], [issue/116] [pull/120]** With 0.2.0 we introduced the idea of a `.genignore` file, however, we didn't account the situation where one would not be present. Thanks for filing [an issue][issue/116] [Diggsey] and thanks for the quick fix [DD5HT]! [issue/116]: https://github.com/ashleygwilliams/cargo-generate/issues/116 [pull/120]: https://github.com/ashleygwilliams/cargo-generate/pull/120 [Diggsey]: https://github.com/Diggsey - **enable use on private repositories- [ChristopherMacGown], [pull/119]** This PR leveraged `cargo` to enable the ability to pull authenticated repos. As this project grows into something we'd like to integrate into `cargo`, this gives us greater functionality and also moves us closer to `cargo`'s codebase. Yay! [ChristopherMacGown]: https://github.com/ChristopherMacGown [pull/119]: https://github.com/ashleygwilliams/cargo-generate/pull/119 - **exclude submodules git metadata - [ChristopherMacGown], [pull/119]** Two bugs, one PR! Adding a test found that git metadata wasn't being excluded from submodules- now it is! Thanks so much! - ### 👯 New Templates - **`actix-tera` template - [antweiss], [pull/123]** - **`samp rust sdk` template - [Sreyas-Sreelal], [pull/121]** [antweiss]: https://github.com/antweiss [pull/123]: https://github.com/ashleygwilliams/cargo-generate/pull/123 [Sreyas-Sreelal]: https://github.com/Sreyas-Sreelal [pull/121]: https://github.com/ashleygwilliams/cargo-generate/pull/121 ## 💫 0.2.0 - ### ✨ Features - **Support templates that use git submodules - [k0pernicus], [issue/83] [pull/104]** We now support templates that use git submodules! Yay! [k0pernicus]: https://github.com/k0pernicus [issue/83]: https://github.com/ashleygwilliams/cargo-generate/issues/83 [pull/104]: https://github.com/ashleygwilliams/cargo-generate/pull/104 - **Binary Releases for Linux, MacOS, and Windows - [ashleygwilliams], [issue/99] [pull/111] [pull/112]** Motivated by a desire to more easily distributed the project - we now build binaries for our releases. No more waiting for compilation! You can just download and go! [issue/99]: https://github.com/ashleygwilliams/cargo-generate/issues/99 [pull/111]: https://github.com/ashleygwilliams/cargo-generate/pull/111 [pull/112]: https://github.com/ashleygwilliams/cargo-generate/pull/112 - **Allow Liquid Templating `date` filter - [ashleygwilliams], [issue/70] [pull/106]** By request, we've turned on the `date` filter for our templates. Now you can add nicely formatted dates to your projects! For more information, check out the [Liquid `date` filter documentation]. [Liquid `date` filter documentation]: https://shopify.github.io/liquid/filters/date/ [issue/70]: https://github.com/ashleygwilliams/cargo-generate/issues/70 [pull/106]: https://github.com/ashleygwilliams/cargo-generate/pull/106 - **Add `.genignore`, ability to ignore files - [DD5HT], [issue/82] [pull/96]** You can now add a `.genignore` file to your template. This file will specify the files to be "cleaned up" or " removed" from the template once it has been cloned to the user's local machine. [issue/82]: https://github.com/ashleygwilliams/cargo-generate/issues/82 [pull/96]: https://github.com/ashleygwilliams/cargo-generate/pull/96 - **Add `--branch` for specifying a branch - [posborne], [issue/71] [pull/94]** We originally had no way to specify a git template on a per branch basis, opting to only support the primary branch. Now you can specify a branch: ``` cargo generate --git --branch ``` [posborne]: https://github.com/posborne [issue/71]: https://github.com/ashleygwilliams/cargo-generate/issues/71 [pull/94]: https://github.com/ashleygwilliams/cargo-generate/pull/94 - **Warn user if we change project name casing - [k0pernicus], [issue/65] [pull/84]** `cargo-generate` will automagically "fix" the casing of your project name to match Cargo standards. If we end up changing the name you provide- we'll warn to let you know! [k0pernicus]: https://github.com/k0pernicus [issue/65]: https://github.com/ashleygwilliams/cargo-generate/issues/65 [pull/84]: https://github.com/ashleygwilliams/cargo-generate/pull/84 - **Add `--force` flag to skip casing check on project name - [toVersus], [issue/66] [pull/69]** `cargo-generate` will automagically "fix" the casing of your project name to match Cargo standards. If you'd like to skip that, you can add `--force`. [toVersus]: https://github.com/toVersus [issue/66]: https://github.com/ashleygwilliams/cargo-generate/issues/66 [pull/69]: https://github.com/ashleygwilliams/cargo-generate/pull/69 - **Add short flag `-n` for `--name` - [DD5HT], [issue/73] [pull/77]** [issue/73]: https://github.com/ashleygwilliams/cargo-generate/issues/73 [pull/77]: https://github.com/ashleygwilliams/cargo-generate/pull/77 - **List of available templates - [ashleygwilliams], [issue/74] [issue/50] [pull/75]** We are now keeping a running list of templates that are available to use with `cargo-generate`. Please add more! [issue/74]: https://github.com/ashleygwilliams/cargo-generate/issues/74 [issue/50]: https://github.com/ashleygwilliams/cargo-generate/issues/50 [pull/75]: https://github.com/ashleygwilliams/cargo-generate/pull/75 - **Add short command `cargo gen` - [DD5HT], [issue/53] [pull/72]** You can now use `cargo gen` as a short command for `cargo generate`. [DD5HT]: https://github.com/DD5HT [issue/53]: https://github.com/ashleygwilliams/cargo-generate/issues/53 [pull/72]: https://github.com/ashleygwilliams/cargo-generate/pull/72 - ### 🛠️ Maintenance - **Fixed some clippy warnings - [4tm4j33tk4ur], [pull/109]** [4tm4j33tk4ur]: https://github.com/4tm4j33tk4ur [pull/109]: https://github.com/ashleygwilliams/cargo-generate/pull/109 - **Test safety of `.genignore` - [ashleygwilliams], [issue/97] [pull/98]** [issue/97]: https://github.com/ashleygwilliams/cargo-generate/issues/97 [pull/98]: https://github.com/ashleygwilliams/cargo-generate/pull/98 - **`cargo update` and update `cargo fmt` call - [ashleygwilliams], [issue/86] [pull/88]** [issue/86]: https://github.com/ashleygwilliams/cargo-generate/issues/86 [pull/88]: https://github.com/ashleygwilliams/cargo-generate/pull/88 - **Test project name casing - [ashleygwilliams], [issue/63] [pull/64]** [issue/63]: https://github.com/ashleygwilliams/cargo-generate/issues/63 [pull/64]: https://github.com/ashleygwilliams/cargo-generate/pull/64 - **Move from `ident_case` to `heck` - [csmoe], [issue/57] [pull/62]** [issue/57]: https://github.com/ashleygwilliams/cargo-generate/issues/57 [pull/62]: https://github.com/ashleygwilliams/cargo-generate/pull/62 ## 💥 0.1.1 - ### 🤕 Fixes - **Fix command to work properly as a cargo command - [csmoe], [issue/39] [pull/44]** Previous to this commit, `cargo-generate` was a CLI tool that was invoked by the command `cargo-generate` (note the dash). However, this tool intends to be a cargo subcommand! This commit changes how you invoke the tool- no more dash! ``` cargo generate --git https://github.com/username/project --name look-ma-no-dash ``` [csmoe]: https://github.com/csmoe [issue/39]: https://github.com/ashleygwilliams/cargo-generate/issues/39 [pull/44]: https://github.com/ashleygwilliams/cargo-generate/pull/44 - **Fix casing on `crate_name` substitution - [ashleygwilliams], [issue/41] [pull/56]** `crate_name` substitution is supposed to be a convenience, converting the given project's name to a name that you could use with `extern crate` or in other *in-code* situations. Just one problem- before this commit, it didn't change the case! Now it will. Thanks so much to [fitzgen] for filing this issue (and a bunch of others)! [ashleygwilliams]: https://github.com/ashleygwilliams [issue/41]: https://github.com/ashleygwilliams/cargo-generate/issues/41 [pull/56]: https://github.com/ashleygwilliams/cargo-generate/pull/56 [fitzgen]: https://github.com/fitzgen - ### 📖 Documentation - **Document build and runtime dependencies - [migerh], [issue/42] [pull/45]** There are a few dependencies for the project that we hadn't documented. Many folks have these already installed, but some don't- so it's great that they are now well documented in the `README`. [migerh]: https://github.com/migerh [issue/42]: https://github.com/ashleygwilliams/cargo-generate/issues/42 [pull/45]: https://github.com/ashleygwilliams/cargo-generate/pull/45 - **Update README and demo.gif to address The Dash - [ashleygwilliams], [pull/60]** [pull/60]: https://github.com/ashleygwilliams/cargo-generate/pull/60 - **Typo Fix - [rahulthakoor], [pull/36]** [rahulthakoor]: https://github.com/rahul-thakoor [pull/36]: https://github.com/ashleygwilliams/cargo-generate/pull/36 - ### 🛠️ Maintenance - **Test substitutions - [ashleygwilliams], [issue/34] [pull/56]** We had features we weren't testing. This PR now adds test coverage for: - substitution of `crate_name` - correct casing change of `crate_name` - substitution in files beyond `Cargo.toml` We still don't have full coverage but at least it's improving! [issue/34]: https://github.com/ashleygwilliams/cargo-generate/issues/34 - **Split test helpers into files - [ashleygwilliams], [issue/33] [pull/35]** "i like small files and i cannot lie" [ashleygwilliams]: https://github.com/ashleygwilliams [issue/33]: https://github.com/ashleygwilliams/cargo-generate/issues/33 [pull/35]: https://github.com/ashleygwilliams/cargo-generate/pull/35 ## 🌌 0.1.0 - First release! [0.10.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.9.0...v0.10.0 [0.9.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.8.0...v0.9.0 [0.8.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.7.2...v0.8.0 [0.7.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.7.1...v0.7.2 [0.7.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.7.0...v0.7.1 [0.7.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.6.1...v0.7.0 [0.6.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.6.0...v0.6.1 [0.6.0]: https://github.com/cargo-generate/cargo-generate/compare/v0.6.0-alpha.2...v0.6.0 [0.6.0-alpha.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.6.0-alpha.1...v0.6.0-alpha.2 [0.6.0-alpha.1]: https://github.com/cargo-generate/cargo-generate/compare/v0.5.3...v0.6.0-alpha.1 [0.5.3]: https://github.com/cargo-generate/cargo-generate/compare/v0.5.2...v0.5.3 [0.5.2]: https://github.com/cargo-generate/cargo-generate/compare/v0.5.1...v0.5.2