1.0.0 (2022-10-06)
New Features
- Introducing our brand new re-architected VSCode extension (README)
- All of our tools (REPL, LSP, Clarinet) are now directly derived from the canonical Clarity VM (#512, #535, #544)
- Ability to trigger chainhooks from unit tests (#564)
- Deno integration upgraded and revisited (#511)
- Ability to specify Deno import maps (#511)
- Ability to specify TS config files (#555)
- Ability to cache Deno libraries locally (a2c2ded3)
- Bitcoin deployment plans now supports transfers to P2WPKH addresses (c50a4c27)
- Ability to detect outdated deployment plans and display diffs (#365)
Bug Fixes
A myriad of issues were addressed in this new version, the most notable being:
- Cannot make http request from within clarinet test (#566)
- Clarinet CPU usage spiking to 100% when using clarinet integrate (#545)
- Clarinet console crashes when it errors (#541)
- Unhandled Division By Zero exception (#525)
- Handle errors from callReadOnlyFn in tests (#407)
- Arithmetic underflow crashes clarity-repl instead of displaying error (#471)
- Improve debugability of chain.mine_block() (#91)
Documentation
- Added new example - How to use Chainhooks for indexing data (cdeca648)
- Added OpenAPI spec for Chainhooks (01e8979c)
Compatibility Issue
Clarinet v1.0.0 is not currently backwards-compatible with older versions of the Clarinet deno library. If you are upgrading Clarinet to Clarinet v1.0.0
, you will need to enter the following import command in your test files to perform this update.
import { … } from 'https://deno.land/x/clarinet@v1.0.2/index.ts';
Note The v1.0.0
library is not compatible with Clarinet versions <= 0.33.0
. Prior versions of the library also will not be compatible with versions >= 1.0.0
of Clarinet because the layer in charge of the communication between Typescript and Rust was upgraded.
If you are using Clarinet in a Github Action, and using the tag latest
(now pointing to v1.0.0
), the tests will fail if the import upgrade task is not performed. If you do not want to upgrade, this is possible; however, you will need to specify the docker tag v0.33.0
, instead of latest
.