Skip to content

Latest commit

Β 

History

History
1277 lines (814 loc) Β· 57.5 KB

CHANGELOG.md

File metadata and controls

1277 lines (814 loc) Β· 57.5 KB

Changelog

0.13.1 2022-04-11

πŸ› οΈ Maintenance

πŸ€• Fixes

Contributors

0.13.0 2022-02-08

✨ Features

πŸ€• Fixes

πŸ› οΈ Maintenance

Contributors

0.12.0 2022-02-04

πŸ› οΈ Maintenance

✨ Features

Contributors

0.11.1 2021-12-03

πŸ› οΈ Maintenance

Contributors

0.11.0 2021-11-07

✨ Features

πŸ€• Fixes

πŸ› οΈ Maintenance

Contributors

0.10.3 2021-10-11

πŸ› οΈ Maintenance

0.10.2 2021-10-09

πŸ€• Fixes

✨ Features

Contributors

0.10.1 2021-09-23

πŸ€• Fixes

0.10.0 2021-09-19

✨ Features

πŸ› οΈ Maintenance

Contributors

0.9.0 2021-08-24

✨ Features

πŸ› οΈ Maintenance

0.8.0 2021-07-30

0.7.2 2021-07-22

0.7.1 2021-07-18

0.7.0 2021-07-13

Finally, cargo-generate supports git ssh remote urls. Read more in the docs

The typically known environment variables HTTP_PROXY and HTTPS_PROXY are now supported by cargo-generate. Read more in the docs

Similar to cargo init --lib, a crate-type support is now there. Read more in the docs

Contributors

0.6.1 2021-04-01

0.6.0 2021-03-07

0.6.0-alpha.2 2021-02-18 [PRERELEASED]

  • ✨ Features

    • interactive variable leads to default, issue/17, by 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]

0.5.3 2021-02-08

0.5.2 2021-01-25

  • ✨ Features

  • πŸ€• Fixes

    • **fix creates an empty .cargo-ok, by @thomcc, pull/269, issues/259

    • apply rust best practices clippy + fmt + ci/cd pipeline by @sassman , pull/273 issue/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.

  • πŸ› οΈ Maintenance

    • Shrink crate size by @sassman , pull/272

      Applies the suggestions of cargo-diet and hereby helps to reduce the crate size, by ship less irrelevant files.

  • πŸ‘― New Templates

πŸ•΄οΈ 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.

    • 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.

  • πŸ‘― New Templates

    • generust: a template that provides a Rust web server and WASM client with some interesting features - KyleU, pull/203

    • **orbtk: a template that lets you create user interfaces using OrbTk

    • template-rust-backend-with-electron-frontend: a template that lets you write a Rust native cdylib backend with Electron frontend - usagi, pull/218

    • swift-rust-xcode-template: a template that lets you write an iOS app with Swift and Rust - simlay, pull/219

    • Win32: a template that provides an interface to write low-level Win32 applications in Rust - ArmsOfSorrow , pull/220

    • **QuickStart WebAssembly: a template that lets you create a WebAssembly application with Rust

    • rust-cli-template: a template that lets you create easily a CLI with interesting features in it (color_eyre, tracing, in addition to benchmarking and testing boilerplate) - 9999years, pull/239

    • **mongodb-service-template: a template that lets you create a GraphQL service with MongoDB as backing storage

  • πŸ› οΈ Maintenance

    • Support for owner/repo abbreviation for git URL format - 9999years, pull/242

    • Usage of default git branch instead of master - 9999years, 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
    • Code refactoring - SirWindfield, pull/233

    • Support all liquid filters - sassman, pull/225

      • Upgrade liquid to v0.20
      • Enables all liquid default filters
      • Fix some findings of clippy
    • Typo fixes in CONTRIBUTING.md - Darrenmeehan, 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.

  • πŸ€• 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.

    • 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"

    • 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!

  • πŸ› οΈ Maintenance

πŸ• 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 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 , and uses some of the same code.

      Include List

      [template]
      include = ["Cargo.toml", "src/lib.rs"] # Only search for and replace template tags in Cargo.toml and src/lib.rs

      Exclude List

      [template]
      exclude = ["public/image.js"] # Don't look for template tags in public/image.js

      Invalid Configuration

      [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"]
  • πŸ€• 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 <gh pages template> --branch gh-pages will set your generated project's default branch to gh-pages.

  • πŸ› οΈ Maintenance

πŸ›  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!

    • 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.

  • πŸ‘― New Templates

  • πŸ› οΈ Maintenance

⭐ 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.

  • πŸ€• 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!

  • πŸ‘― New Templates

  • πŸ› οΈ Maintenance

🌟 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!

  • πŸ› οΈ Maintenance

🌠 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 Diggsey and thanks for the quick fix DD5HT!

    • 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!

    • 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

πŸ’« 0.2.0

  • ✨ Features

    • Support templates that use git submodules - k0pernicus, issue/83 pull/104

      We now support templates that use git submodules! Yay!

    • 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!

    • 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.

    • 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.

    • 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 <gitURL> --branch <branchname>
      
    • 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!

    • 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.

    • Add short flag -n for --name - DD5HT, issue/73 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!

    • Add short command cargo gen - DD5HT, issue/53 pull/72

      You can now use cargo gen as a short command for cargo generate.

  • πŸ› οΈ Maintenance

πŸ’₯ 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
      
    • 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)!

  • πŸ“– 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.

    • Update README and demo.gif to address The Dash - ashleygwilliams, pull/60

    • Typo Fix - rahulthakoor, 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!

    • Split test helpers into files - ashleygwilliams, issue/33 pull/35

      "i like small files and i cannot lie"

🌌 0.1.0

  • First release!