Releases: TezosTaqueria/taqueria
v0.16.0
What's Changed
- Simple view of Sandbox state by @AlirezaHaghshenas in #1121
- 1200 taq api for dapp jcc by @jchenche in #1224
- Fix failing tests after TVsCE feature merge by @AlirezaHaghshenas in #1227
- Doc for ligo taquito and toolkit by @jchenche in #1228
- Document fix after 0.14 release by @sinapsist in #1225
- Update originate command to select contract file by @AlirezaHaghshenas in #1231
Full Changelog: v0.14.2...v0.16.0
v0.14.4
Full Changelog: v0.14.3...v0.14.4
What's Changed
- Add updated deno-lock.json file by @hu3man in #1081
- Nft scaffold initial docs by @hu3man in #1035
- 528 help menu not aware of new tasks jcc by @jchenche in #1049
- Display separate artifacts tree view with originate button by @MichalLytek in #1058
- Format JSON responses from CLI as Table by @AlirezaHaghshenas in #1079
- Task Documentation by @hu3man in #1056
- Update Docusaurus by @hu3man in #986
- avoid calling taq testFromVsCode before all commands by @AlirezaHaghshenas in #1096
- Add generate types command to the GUI by @AlirezaHaghshenas in #1094
- added logging for docker container stopping by @alexzbusko in #1097
- Fix add & remove contract command orders in Contracts tree view by @AlirezaHaghshenas in #1093
- Add node version check to system health check by @AlirezaHaghshenas in #1091
- remove strange characters from jest output by @AlirezaHaghshenas in #1095
- updated tests that use ligo contract to register them first by @alexzbusko in #989
- updated scaffolding tests to now work with updates to scaffolds by @alexzbusko in #1032
- fix artifacts treeView for smartpy by @AlirezaHaghshenas in #1099
- Fix table formatting, remove bad characters for WSL by @AlirezaHaghshenas in #1108
- Add compile and originate commands to explorer by @AlirezaHaghshenas in #1105
- moving runners to only use 2 processes by @alexzbusko in #1100
- chore: add workflow to delete old workflows by @GImbrailo in #1114
- added wait after running docker stop command to ensure error in clean up isn't triggered by @alexzbusko in #1115
- Change format of storage so that the value is a filename, which contains the actual storage value, in Michelson expression by @jchenche in #1119
- 885 tezos client test file split by @alexzbusko in #1132
- Improved Github Issue Templates and PR Template by @hu3man in #1141
- Automate adding issues to projects by @hu3man in #1145
- made version 0.3.0 for issue automation by @alexzbusko in #1152
- Fix issue automation & add pr automation by @hu3man in #1151
- Alex pinning issue automation by @hu3man in #1155
- 🏗️ ➾ Improve Issues, Templates, and Automations by @hu3man in #1161
- 🏗️ ➾ Fix issues with automations and templates by @hu3man in #1171
- refactor(ci): automate release workflows by @GImbrailo in #1146
- 🏗️ PR ➾ LIGO improvements part 1 (compile storage and parameter) by @jchenche in #1185
- 🏗️ ➾ Houston add idea issue template by @hu3man in #1175
- Update build dependency documentation by @hu3man in #1158
- 1113 Fix contract types sub dir by @ricklove in #1140
- 🏗️ ➾Re-enable Contract Types Plugin Publishing by @hu3man in #1184
- Metadata Plugin - Contract & Project Metadata by @ricklove in #1045
- 🏗️ PR ➾ Fix lig-plugin and cli-permission tests by @sinapsist in #1190
- Fixed problem with ts-jest missing after plugin installation by @mweichert in #1202
- refactor(ci): Only store the latest binary generated by a PR by @GImbrailo in #1205
- Implement pin task by @ricklove in #1143
- Metadata Plugin: Change task command to 'generate-metadata' by @ricklove in #1204
- 🛠️ PR ➾ Add fix heading type to PR template by @hu3man in #1193
- Add aliasing in deployment by @jchenche in #1196
- fix(ci): fixed deploy script packages and prerelease tag by @GImbrailo in #1212
v0.12.0
What's Changed
- Improvements to TVsCE 02 by @AlirezaHaghshenas in #1034
- docs: fix/update version on installation doc page by @jevonearth in #1054
- Updates to workflows for build versions by @hu3man in #1073
- implement a welcome UX by @AlirezaHaghshenas in #1070
- Taqueria v0.12.0 release by @hu3man in #1076
Full Changelog: v0.10.0...v0.12.0
v0.10.0
What's Changed
- Use types from protocol in VsX by @AlirezaHaghshenas in #786
- Documentation Updates by @hu3man in #975
- Fixes #876, limits the number of task outputs which are persisted by @mweichert in #882
- Testing by @ricklove in #1016
- Doc refactor for 0.8.0 by @hu3man in #1027
- Improvements to TVsCE 01 by @AlirezaHaghshenas in #1012
- Unique port and name for sandboxes by @jchenche in #1028
- Updates to website docs from review by @alexzbusko in #1015
- Add logos and adjust hero text by @russellmorton in #1026
- Update index Title by @russellmorton in #1041
- chore: fix website documentation by @GImbrailo in #1040
- Typescript testing generation by @ricklove in #818
- Fixes #572, adds jest test stubs by @mweichert in #852
- allowing latest 16 node version in pipeline by @alexzbusko in #918
- Catch error right after parsing JSON and pass back correct JSON values from tezos-client to CLI by @jchenche in #1037
- Adjusted pre-commit hook to only generate Deno lock file CLI source has changed by @mweichert in #1043
- Disable publish step for contract-types plugin by @mweichert in #1044
- Return JSON response from CLI by @MichalLytek in #1031
- Alex quickstart readme investigation by @alexzbusko in #1038
- chore: removed vscode workflow on windows by @GImbrailo in #1048
Full Changelog: v0.8.0...v0.10.0
v0.8.0
What's Changed
- Updating tests to make sure npm package.json is available in all test projects by @alexzbusko in #899
- Implement missing functionality in TVsCE by @AlirezaHaghshenas in #947
- adding An to the allowlist for the CLA check by @alexzbusko in #952
- fix: changed partition's config file to use relative path and updated e2e test accordingly by @hui-an-yang in #951
- added test for all michelson types and have taqueria point to taquito 13.0.1 by @alexzbusko in #919
- Refactor scaffold task to use setup script by @hu3man in #953
- Alex refactor cli commands into separate files by @alexzbusko in #909
- Show error for all contracts that lack storage by @AlirezaHaghshenas in #950
- Enable all commands when config cannot be loaded by @AlirezaHaghshenas in #955
- change extension type to workspace by @AlirezaHaghshenas in #971
- Fixes #906, Added ability to register contracts by @mweichert in #908
- Fixes #915, adds template construct by @mweichert in #946
- Ipfs Pinata Plugin by @ricklove in #938
- FIX taq runtime bug by @ricklove in #983
- Adjust compiler plugins to use registered contracts by @mweichert in #981
- Refactor Scaffold Task by @hu3man in #966
- Add contract template for Archetype by @jchenche in #984
- Call scaffold.json's postInit script when setting up scaffold by @mweichert in #993
- refactor: remove testing from release creation workflows by @GImbrailo in #992
- chore: add deno-lock and deno package caching by @GImbrailo in #982
- Skip running test that uses esm modules by @mweichert in #994
- Adjust jest plugin to return appropriate exit code by @mweichert in #995
- Don't look for scaffold.json file in .taq folder by @mweichert in #996
- Fix scaffold verbosity by @mweichert in #1001
- Lock parcel to v2.6.1 by @mweichert in #1007
- implement a GUI by @AlirezaHaghshenas in #972
- SDK's getContracts method not honoring regex pattern by @mweichert in #1011
- Taqueria v0.8.0 by @hu3man in #999
New Contributors
- @hui-an-yang made their first contribution in #951
Full Changelog: v0.6.5...v0.8.0
v0.6.5
Taqueria v0.6.5
Details | |
---|---|
Release Date | June 30, 2022 |
Release Type | Minor |
Release Page | v0.6.5 |
Summary of Impactful Changes
- The Taqueria VS Code Extension now dynamically shows and hides available tasks based on project context
- Optional usage analytics added to the CLI
- Added support for more plugins and supported tasks in the VS Code Extension
Bug Fixes
- Fixed a docker image permission issue
- Fixed the failing assertion when test project initialized
- Fixed issue where config.json content would be trimmed
Other Improvements
- Logging for the VS Code Extension
- Support for provisioning stateful operations added under the hood
- Migrated automated tests to use ghostnet
v0.4.2
v0.4.0
Taqueria v0.4.0
Details | |
---|---|
Release Date | June 6, 2022 |
Release Type | Major |
Release Page | v0.4.0 |
Summary of Impactful Changes
- Taqueria State functionality
- A new JS/TS library
@taqueria/state
to interact with Taqueria State (access data persisted to state and reference accounts by name) - A new plugin
@taqueria/plugin-jest
that allows you to test your smart contracts and dapps with Jest in creative and powerful ways - Implicit accounts and desired balances are declared at the root of the config.json file Note: Breaking Change!
- Robust data integrity checks following the "parse; don't validate" practice
- @taqueria/plugin-taquito - The
originate
task is now stateful and persists the contract address - @taqueria/plugin-tezos-client - Added support for invoking endpoints by annotation
New features
Taqueria State
Message from the Taqueria team:
We've made many under-the-hood changes to give Taqueria a wide array of capabilities when it comes to persisting the state of your project. Although they're not visible on the surface, you'll soon have the ability to provision on-chain and off-chain operations which produce outputs that persist across the project lifecycle and environments These operations can link to and depend on one-another.
Internally they are represented as a directed acyclic graph (DAG) which will ultimately provide much flexibility and powerful capabilities. We don't want to spoil this for you, but just know that we've put all the things in place to start making this visible very shortly!
Taqueria now keeps a record of the stateful tasks and operations executed, along with the values in the resulting state
In the initial implementation, @taqueria/plugin-taquito
has been refactored so the taq originate
task is now stateful. When run, a record is created which includes the deployed contract address
This data is stored in a new auto-generated file named development-state.json
. This file is JSON encoded and is stored in the ./.taq
directory of the project
Note: This file is not generated until the first time you run a supported task or operation. Currently, this will occur the first time you run
taq originate
in the project
Records follow the format shown below:
"@taqueria/plugin-taquito.deploy.1654212273655": {
"time": 1654212273655,
"output": [
{
"contract": "test.tz",
"address": "KT1ShFinJPuXqdAUXomKAB8t6s3q6JGjAN2G",
"destination": "local"
}
]
}
Note: At this time, only the
originate
task is supported but full support for operations and additional plugin tasks is coming soon!
The @taqueria/state
Library
Included in this release is a new NPM package @taqueria/state
. This is an abstraction library which provides an easy way to interact with Taqueria State
To install the library on your project, run:
taq install @taqueria/state
To use the package in your front end code or tests, you can import it into any JS or TS file:
import loadProject from "@taqueria/state"
Once imported, you can retrieve the list of originations like this:
const {getOriginations} = await loadProject()
const results = getOriginations("increment.tz")
console.log(results)
To retrieve the most recently deployed version of a contract and the address:
const [latest] = getOriginations("increment.tz")
To retrieve a list of all contracts deployed to the sandbox local
:
const results = getOriginations()
.filter(contract => contract.destination === "local")
Jest Plugin
pluginName: @taqueria/plugin-jest
Note: The Taqueria team is excited to include the first version of the Jest plugin
@taqueria/plugin-jest
in this release. This plugin allows you to partition your tests in powerful and flexible ways while easing the burden of managing Jest configuration files. The next feature already under active development is automatic test stub generation from Michelson files using generated types
The @taqueria/plugin-jest
plugin provides the taq test
task which provides a means to instantiate test directories and run Jest tests
Installation
To install the Jest plugin on a Taqueria project, run:
taq install @taqueria/plugin-jest
Usage
The Jest plugin will automatically initialize a Jest test directory when you run taq test <test-directory>
The easiest way to start using the plugin is to:
- Create a new directory in the root of your project
/tests
- Add one or more tests to the directory
- Run
taq test tests
Initializing Partitions
The Jest plugin uses partitions. These are just directories with their own JEST config but allow you to group and manage your tests with great flexibility. This allows you to segment and run tests in different buckets such as:
- By type (unit tests, integration tests, acceptance tests, e2e tests)
- Structural (dapp, smart contract, serverless functions)
To create a new partition (initialized test directory), run:
taq test --init
This will do several things:
- Create a new directory (in this case it uses the default directory
/tests
) - Create a Jest configuration in the directory
- Create a global Jest configuration file in
./.taq/jest.config.js
Note: You can create any number of partitions. By default there are no partitions
To create additional partitions, simply run:
taq test [partitionName]`
Running Jest tests
The taq test [partitionName]
task will run the Jest tests associated with a particular partition
Create tests in that folder tests/example.spec.ts
Jest Configuration
A Global Config for Jest is created in the project's Taq directory: ./.taq/jest.config.js
Each partition will have it's own Jest configuration file (./tests/jest.config.js
)
The Jest configurations cascade down from the global config. If you want to override a value in the global config, simply define it in the partition config. The partition config will override the global config
Note: The default root directory for Jest can be overridden by setting
"jestTestsRootDir"
intaqueria.config.js
Implicit accounts
WARNING: This release makes a breaking change to the schema of
config.json
. If you use Taqueria v0.4.0 on an existing project, you will need to make minor adjustments to yourconfig.json
file
Taqueria now allows you to be declarative when naming your implicit accounts and the desired balance for each. These accounts are declared at the root level in config.json
. Previously, accounts were defined in each sandbox configuration
The default configuration for Taqueria projects includes five pre-defined accounts as shown here:
{
"language": "en",
"plugins": [ ],
"contractsDir": "contracts",
"testsDir": "tests",
"artifactsDir": "artifacts",
"environment": {
"default": "development",
"development": {
"networks": [],
"sandboxes": [
"local"
],
}
},
"sandbox": {
"local": {
"label": "Local Tezos Sandbox",
"protocol": "Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",
"rpcUrl": "http://localhost:20000"
}
},
"network": {},
"accounts": {
"bob": "3_000_000_000",
"alice": "3_000_000_000",
"john": "3_000_000_000",
"jane": "3_000_000_000",
"joe": "3_000_000_000"
}
}
You may define as many accounts as you need. Taqueria imposes no limits on how many accounts you would like to reference in your project
These accounts will be created and funded automatically when a sandbox starts. After starting a sandbox, you will see the defined accounts appear in the configuration:
{
"sandbox": {
"local": {
"accounts": {
"bob": {
"encryptedKey": "edpkurPsQ8eUApnLUJ9ZPDvu98E8VNj4KtJa1aZr16Cr5ow5VHKnz4",
"publicKeyHash": "tz1aSkwEot3L2kmUvcoxzjMomb9mvBNuzFK6",
"secretKey": "unencrypted:edsk3RFfvaFaxbHx8BMtEW1rKQcPtDML3LXjNqMNLCzC3wLC1bWbAt"
},
"alice": {
"encryptedKey": "edpkvGfYw3LyB1UcCahKQk4rF2tvbMUk8GFiTuMjL75uGXrpvKXhjn",
"publicKeyHash": "tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb",
"secretKey": "unencrypted:edsk3QoqBuvdamxouPhin7swCvkQNgq4jP5KZPbwWNnwdZpSpJiEbq"
}
},
"label": "Local Tezos Sandbox",
"protocol": "Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",
"rpcUrl": "http://localhost:20000"
}
},
"network": {},
"accounts": {
"bob": "3_000_000_000",
"alice": "3_000_000_000"
}
}
Note: Future improvements will extend implicit account provisioning to testnets
To set a default account for a sandbox, you must now define it explicitly in the sandbox config:
"sandbox": {
"local": {
"accounts": {
"default": "bob",
"bob": {
"encryptedKey": "edpkurPsQ8eUApnLUJ9ZPDvu98E8VNj4KtJa1aZr16Cr5ow5VHKnz4",
"publicKeyHash": "tz1aSkwEot3L2kmUvcoxzjMomb9mvBNuzFK6",
"secretKey": "unencrypted:edsk3RFfvaFaxbHx8BMtEW1rKQcPtDML3LXjNqMNLCzC3wLC1bWbAt"
},
"alice": {
"encr...
v0.3.1
May 13, 2022
Taqueria
CLI
To download and see our installation instructions, please click here
VS Code
To download and install, please search for Taqueria in the Visual Studio Marketplace.
- Version dump
SDKs
Node SDK
To download and install please run
npm install @taqueria/node-sdk@latest
- (#712, #714, #715) - Fixed MacOS M1 architecture detection (@mweichert)
Plugins
Contract Types plugin
To download and install, please run
taq install @taqueria/plugin-contract-types@latest
Ligo plugin
To download and install, please run
taq install @taqueria/plugin-ligo@latest
- Adjusted to use the latest version of the Taqueria Node SDK
SmartPy plugin
To download and install, please run
taq install @taqueria/plugin-smartpy@latest
- Adjusted to use the latest version of the Taqueria Node SDK
Archetype plugin
To download and install, please run
taq install @taqueria/plugin-archetype@latest
- Adjusted to use the latest version of the Taqueria Node SDK
Taquito plugin
To download and install, please run
taq install @taqueria/plugin-taquito@latest
- Adjusted to use the latest version of the Taqueria Node SDK
Flextesa Plugin
To download and install, please run
taq install @taqueria/plugin-flextesa@latest
- Adjusted to use the latest version of the Taqueria Node SDK
Tezos Client Plugin
To download and install, please run
taq install @taqueria/plugin-flextesa@latest
- Adjusted to use the latest version of the Taqueria Node SDK
Full Changelog: v0.3.0...v0.3.1
v0.2.1
Apr 20, 2022
Taqueria
CLI
To download and see our installation instructions, please click here
- (#390, #580) - Remove .git directory from scaffold output (@mweichert)
VS Code
To download and install, please search for Taqueria in the Visual Studio Marketplace.
SDKs
Node SDK
To download and install please run
npm install @taqueria/node-sdk@latest
- Version bump
Plugins
Contract Types plugin
To download and install, please run
taq install @taqueria/plugin-contract-types@latest
- (#479) - Updated to use v0.2.0 of the Taqueria SDK
- (#398) - Added documentation (@hu3man)
- (#472, #520) - Fixed bug related to integer parameters (@ricklove)
Ligo plugin
To download and install, please run
taq install @taqueria/plugin-ligo@latest
- Version bump
SmartPy plugin
To download and install, please run
taq install @taqueria/plugin-smartpy@latest
- Version bump
Archetype plugin
To download and install, please run
taq install @taqueria/plugin-archetype@latest
- (#363, #581) Initial version (@mweichert, @guillaumeduhamel)
Taquito plugin
To download and install, please run
taq install @taqueria/plugin-taquito@latest
- Version bump
Flextesa Plugin
To download and install, please run
taq install @taqueria/plugin-flextesa@latest
- Version bump
New Contributors
Full Changelog: v0.2.0...v0.2.1