Releases: r0gue-io/pop-cli
v0.5.0
This release includes integration with the OpenZeppelin EVM template offering robust and audited parachain templates. Additionally, this update includes several bug fixes for improved stability.
What's Changed
- feat: integration openzeppelin evm template by @AlexD10S in #284
- fix: fetch stable version by @AlexD10S in #328
- fix: templates errors by @AlexD10S in #329
- fix: improve contract experience by @AlexD10S in #330
Full Changelog: v0.4.0...v0.5.0
v0.4.0
This release focuses primarily on bug fixes, with a few feature improvements and refactoring for better project structure.
What's Changed
- New pallet template (default) by @tsenovilla in #272
- build(deps): bump zombienet-sdk by @evilrobot-01 in #273
- feat: adding new packages to workspace Cargo.toml automatically by @tsenovilla in #277
- fix: update chain spec and fix fetch_latest_tag by @AlexD10S in #282
- docs: add community section to README by @brunopgalvao in #289
- refactor: move extract_template_files into common crate by @AlexD10S in #283
- feat: improve pallet template generation by @tsenovilla in #261
- fix: remove extra 0x in outputted text when pop up by @AlexD10S in #298
- style: format in ci.yml by @tsenovilla in #287
- fix: limit API calls when generating parachain by @AlexD10S in #299
- chore: bump cargo-contract and subxt versions by @AlexD10S in #307
- ci: add clippy checks by @evilrobot-01 in #281
New Contributors
- @tsenovilla made their first contribution in #272
Full Changelog: v0.3.0...v0.3.1
v0.3.0
We are thrilled to announce the release of pop-cli
version 0.3.0! This update brings significant enhancements, including the parachain builder and deployer, and support for the entire development process of smart contracts using ink!.
With this milestone,pop-cli
now supports creating, building and running parachains, as well as the entire lifecycle of smart contract development.
Summary of New Features
pop build
. The builder has been designed to recognize the type of project the user wants to build. By simply typingpop build
it can determine whether the project is a parachain, contract, or pallet, and proceed with the appropriate build process.pop build spec
. Builds your parachain and generates the necessary files and data required for registering it on a Polkadot network. It has an interactive UI to guide the user in the process.- Spawn a local network using
pop up parachain
,pop
will source all the required binaries for you in seconds. pop up parachain
keeps some artifacts in cache to improve the developer experience and make the development process faster.pop clean cache
allows users to easily clean this cache.- Spin up the Paseo, Kusama or Polkadot Relay Chain with a simple command. (More information here: https://learn.onpop.io/v/appchains/guides/spinning-up-a-polkadot-network/spinning-up-the-polkadot-network)
- Generate a new ink! smart contract from diverses templates with
pop new contract
. pop build
. Builds your ink! smart contract.- Test an ink! smart contract by executing all unit tests with
pop test contract
and e2e tests withpop test contract --e2e
. For e2e tests,pop
will automatically source thesubstrate-contracts-node
binary, making it easier to run these tests. - Deploy an ink! smart contract to a local development or remote parachain node with
pop up contract
. If no specific blockchain is specified by the user, to streamline the development process, the system will automatically run a development contract node for testing purposes. - Interacts with your deployed smart contract with
pop call contract
. - Various bug fixes and user experience (UX) improvements
Community Contributions
We appreciate the valuable contributions from our external community members. Your efforts play a significant role in the success of of pop-cli
. Thank you for your support!
- @hitchhooker for fixing a bug when renaming a binary #241
- @bolajahmad for adding a flag
all
flag topop clean cache
to remove all the artifacts #233
What's Changed
- fix: remove unused dependencies and fix cargo deny by @AlexD10S in #215
- feat(up parachain): faster binary sourcing by @evilrobot-01 in #199
- refactor: standardise commands by @evilrobot-01 in #217
- feat: clean cache by @evilrobot-01 in #216
- feat: add paseo support by @evilrobot-01 in #182
- feat: guide user for contract creation and add 4 contract templates by @AlexD10S in #201
- feat:
dry-run
flag to estimate gas by @AlexD10S in #203 - chore: set
CONTRACTS_NODE_PATH
env variable for e2e tests by @AlexD10S in #209 - refactor(templates): Make templates and providers generic by @peterwht in #226
- refactor: improve ux by @evilrobot-01 in #235
- refactor: upload + instantiate contract by @AlexD10S in #228
- feat: enable building without project type specification by @evilrobot-01 in #222
- docs: consolidate README into Docs by @brunopgalvao in #223
- feat(build parachain): generate specification, wasm and genesis state files by @AlexD10S in #219
- fix: handle IO error if rename fails by @hitchhooker in #241
- fix: readme commands by @AlexD10S in #243
- fix: remove unused folders after download contracts node binary by @AlexD10S in #240
- refactor: ensure the UX for new contracts is consistent with the parachains. by @AlexD10S in #232
- refactor: improve new consistency by @evilrobot-01 in #245
- refactor: improve up ux by @evilrobot-01 in #248
- fix: check if contracts needs to be build before deploy by @AlexD10S in #246
- refactor: default suri by @evilrobot-01 in #250
- test: integration tests, doc tests and improve coverage by @AlexD10S in #242
- feat(contracts): New contract templates by @al3mart in #249
- build(deps): bump openssl from 0.10.64 to 0.10.66 by @dependabot in #259
- feat: add
all
flag topop clean
by @bolajahmad in #233 - feat(contract-e2e): auto-source substrate-contracts-node with e2e tests by @peterwht in #254
- feat: consistency with
pop up parachains
to handle versioning forcontracts-node
by @AlexD10S in #262 - feat: pop build spec by @al3mart in #257
- chore: release 0.3.0 by @AlexD10S in #244
New Contributors
- @hitchhooker made their first contribution in #241
Full Changelog: v0.2.0...v0.3.0
v0.2.0
We are excited to announce that pop-cli version 0.2.0 is now available! This release includes integration with OpenZeppelin templates offering robust and audited parachain templates.
Summary of New Features
- Integration with OpenZeppelin templates.
- Enable the execution of custom scripts after spinning up your network.
- Automatically run a local network for testing when deploying a contract.
- Various bug fixes and user experience (UX) improvements
All Changes
- feat(new): add next steps by @evilrobot-01 in #178
- chore: polkadot v1.10.0 by @Daanvdplas in #171
- fix: invalid .expect when parsing args with intro of pop install command by @peterwht in #187
- feat: check if build exists before deploying contract with pop up by @bolajahmad in #177
- Add the "pop up contracts-node" command by @Moliholy in #185
- docs: add missing documentation comments for
pop_contracts
andpop_parachain
crates by @AlexD10S in #181 - feat: add ability to run a script once network is initialized by @brunopgalvao in #180
- fix: container ux by @evilrobot-01 in #186
- fix: readme link to the documentation by @AlexD10S in #193
- feat(new): ux improvements by @peterwht in #191
- chore: crates.io release by @AlexD10S in #175
- feat: add OpenZeppelin template by @peterwht in #197
- refactor: use the new link for OZ templates after repo name changed by @ozgunozerk in #200
- chore: update links by @brunopgalvao in #205
- feat: allow user to choose build mode: debug (default) or release by @AlexD10S in #202
- refactor: run substrate-contracts-node in
pop up contract
if it does not exist by @AlexD10S in #206 - fix: improve relay command check by @evilrobot-01 in #212
- chore: release 0.2.0 by @AlexD10S in #210
New Contributors
- @bolajahmad made their first contribution in #177
- @Moliholy made their first contribution in #185
- @ozgunozerk made their first contribution in #200
Full Changelog: v0.1.0...v0.2.0
v0.1.0
pop-cli 0.1.0
is now available for early adopters and enthusiasts to explore.
Stable Features
-
Single Command Template Instantiation. Use
pop new parachain
to instantiate a project from a parachain template. -
Generate your parachain from diverse project templates:
- Standard parachain: Minimalist parachain template
- Assets parachain: Implement the NFT template, providing developers with the tools to integrate Non-Fungible Token (NFT) functionality into their parachain.
- Contracts parachain: A parachain that supports Wasm-based contracts such as ink!.
- EVM parachain: Incorporate the Frontier EVM template into a parachain, enabling compatibility with the Ethereum Virtual Machine (EVM).
-
Customization Flags: Use flags to customize your parachain
--symbol DOT --decimals 6 --endowment 1_000_000_000
. -
Environment Setup: Use
pop install
to detect your current environment for Rust, Protobuf, and other essential tools that are required for Polkadot development.
Beta Features
- Build a parachain node with
pop build parachain
- Spawn a local network using
pop up parachain
. - Create a new pallet from a template with
pop new pallet
- Generate a new ink! smart contract from a template with
pop new contract
- Build an ink! smart contract with
pop build contract
- Test an ink! smart contract by executing all unit tests with
pop build contract
. - Deploy an ink! smart contract to a local development or remote parachain node with
pop up contract
.
What's Changed
- feat: guide user for parachain creation by @AlexD10S in #98
- fix: readme link by @AlexD10S in #125
- feat(up parachain): improve build ux by @evilrobot-01 in #123
- feat(help): possible values by @evilrobot-01 in #133
- feat(cli): integrate assets parachain template. by @al3mart in #132
- fix: retrieve templates of provider by @AlexD10S in #139
- test: ensure errors propagated by @evilrobot-01 in #143
- test: relocate integration tests by @evilrobot-01 in #144
- ci: use features when testing by @evilrobot-01 in #146
- chore: update para id by @evilrobot-01 in #151
- fix: update para id by @evilrobot-01 in #152
- build(deps): use git2 vendored-openssl feature by @evilrobot-01 in #153
- fix: error parsing polkadot version from github API by @AlexD10S in #142
- feat(cli): integrate contracts and evm parachain template. by @AlexD10S in #137
- fix: validate endowment input by @AlexD10S in #141
- build(deps): bump zombienet-sdk by @evilrobot-01 in #155
- feat: pop install by @AlexD10S in #149
- docs: improve descriptions by @evilrobot-01 in #156
- feat: add telemetry support by @peterwht in #136
- ci: remove telemetry for ci runs by @evilrobot-01 in #160
- docs: update docs link by @evilrobot-01 in #159
- ci: add code coverage by @evilrobot-01 in #158
- docs(telemetry): readme explaining what and why we collect by @peterwht in #157
- test: add more unit tests by @AlexD10S in #161
- feat(telemetry): support DO_NOT_TRACK and CI env variables to disable telemetry by @peterwht in #162
- chore: licenses by @evilrobot-01 in #165
- test: mock api calls and test functionality calling an API by @AlexD10S in #164
- build(deps): update dependencies by @evilrobot-01 in #169
- fix: licenses by @AlexD10S in #168
- ci: add dependency and license checks by @evilrobot-01 in #170
Full Changelog: 0.1.0-alpha.1...v0.1.0
0.1.0-alpha.1
This is the first alpha release of pop!