Skip to content

0.33.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Aug 14:00
· 303 commits to main since this release
ae6b26e

Features

  • All of the @dfinity JavaScript agent npm package dependencies have been updated to v3.x.x. IDL can now be imported from multiple locations in the file system without issue.
  • setTimer will now automatically clean up the associated global JavaScript timer callback even in cases of a trap in the timer callback's execution.
  • The npx azle dev audit command has been created to automatically run all of Azle's core dependency-related security checks (npm audit, cargo audit, cargo audit bin, and cargo deny).
  • jsonStringify and jsonParse now have dedicated property tests.
  • Azle now has an official security disclosure policy.
  • Azle's CI/CD process now:
    • includes npm audit, cargo audit, and cargo deny security checks.
    • supports WSL and Mac testing environments.
    • uses npm OIDC for more secure publishing.
    • no longer uses Personal Access Tokens.

Breaking Changes

  • setTimer no longer has the final optional parameter asyncCleanup. This parameter is now obsolete, as cleanup will be handled automatically under-the-hood even in cases of a timer callback trap. It is very unlikely that this parameter was used by developers outside of Azle's own implementation.
  • The deprecated Canister functionality has been deleted
    1. All of the deprecated Canister and Candid type objects from azle/experimental have been removed. Please use the equivalent functionality from the azle module.
    2. ic.acceptMessage from azle/experimental has been removed. Use @inspectMessage from azle which uses a boolean return value for acceptance or denial of incoming calls.
    3. The "candid_gen": "http" property of the "custom" property in the canister configuration in the dfx.json has been removed. The Candid file will be automatically generated for canisters that previously had "candid_gen": "http". Errors may occur during Candid file generation. You can use the globalThis._azleIcpReplicaWasmEnvironment or globalThis._azleNodejsWasmEnvironment variables to conditionally not execute code during Candid file generation, which occurs in the Node.js Wasm environment.
    4. HTTP Server canisters no longer have support for experimental decorators. Azle has no official workaround for this.
    5. HTTP Server hybrid canisters should now be created by a canister class inheriting from the Server base class. Here is an example that shows how to create hybrid canisters.
  • All OpenValueSharing functionality has been removed from Azle's experimental mode. We have decided not to pursue the idea within Azle or the ICP community for the foreseeable future.
  • globalDependencies in the package.json is no longer updated automatically during the npx azle dev template command. Instead update the dependencies manually and then run npx azle dev setup.
  • Azle's experimental mode now targets es2021 instead of es2024. This may introduce breaking changes if there are es2024 or es2023 JavaScript language features or APIs that cannot be compiled into es2021. You may need to provide your own polyfills if you need any of the now missing APIs. We plan to unify Azle's experimental and stable mode compilation in the future, which will resolve this problem.

What's Changed

  • Os_tests_pr_fixes by @bdemann in #3141
  • deps(dev): bump jest from 30.0.2 to 30.0.3 in the jest group by @dependabot[bot] in #3172
  • Release 0.32.0 by @lastmjs in #3173
  • attempt to run the fuzz tests with call delay .1 and time limit 300 m… by @lastmjs in #3176
  • add property tests for jsonStringify and jsonParse by @bdemann in #3177
  • deps: bump cuzz from 0.0.9 to 0.0.10 by @dependabot[bot] in #3181
  • deps(dev): bump prettier from 3.6.0 to 3.6.1 by @dependabot[bot] in #3182
  • deps: bump the ic-dependencies group with 2 updates by @dependabot[bot] in #3183
  • feat: setTimer now cleans up its global JavaScript state in the case of a timer callback trap (breaking changes) by @lastmjs in #3184
  • implement automated security checks with npm audit, cargo audit, and cargo deny by @bdemann in #3180
  • update fuzz cron workflow to execute multiple different kinds of fuzzing by @lastmjs in #3192
  • add GitHub workflow support for running tests on WSL and Mac by @bdemann in #3178
  • add operating-system to fuzz tests to run_tests by @lastmjs in #3195
  • update the cycles conversion and USD costs used in benchmark calculations by @lastmjs in #3194
  • only run mac and wsl on release and merges into main by @bdemann in #3198
  • fix cargo security issues by @lastmjs in #3205
  • deps(dev): bump puppeteer from 24.10.2 to 24.11.1 by @dependabot[bot] in #3200
  • deps(dev): bump prettier from 3.6.1 to 3.6.2 by @dependabot[bot] in #3201
  • deps(dev): bump the eslint group across 1 directory with 5 updates by @dependabot[bot] in #3210
  • better handling of the workspace package-lock by @bdemann in #3206
  • Example/test maintenance: update dependencies, formatting, and linting by @lastmjs in #3211
  • improve global state and memory state checks in tests by removing nested describe.each by @lastmjs in #3199
  • delete deprecated Canister functionality (breaking changes) by @lastmjs in #3203
  • deps(dev): bump the eslint group with 2 updates by @dependabot[bot] in #3215
  • deps(dev): bump puppeteer from 24.11.1 to 24.11.2 by @dependabot[bot] in #3216
  • run azle CLI tests on mac and wsl-ubuntu by @bdemann in #3208
  • skip broken internet identity examples by @bdemann in #3230
  • deps(dev): bump jest from 30.0.3 to 30.0.4 in the jest group by @dependabot[bot] in #3220
  • remove functional Canister API from prop tests by @bdemann in #3228
  • global cargo dependencies now have a cargo audit bin security check by @lastmjs in #3221
  • fix missing parameters on fuzz workflows by @lastmjs in #3232
  • deps(dev): bump fast-check from 4.1.1 to 4.2.0 by @dependabot[bot] in #3223
  • remove all traces of code for OpenValueSharing (breaking changes) by @lastmjs in #3235
  • install cargo auditable when installing global dependencies by @bdemann in #3238
  • add workflow dispatch to build template workflow by @bdemann in #3242
  • feat: create npx azle dev audit command by @lastmjs in #3240
  • remove logGlobalDependencies (breaking changes) by @bdemann in #3241
  • deps(dev): bump the eslint group with 3 updates by @dependabot[bot] in #3225
  • create Azle security disclosure policy in SECURITY.md by @lastmjs in #3249
  • deps: bump esbuild from 0.25.5 to 0.25.6 by @dependabot[bot] in #3224
  • deps(dev): bump puppeteer from 24.11.2 to 24.12.1 by @dependabot[bot] in #3231
  • deps: bump cuzz from 0.0.10 to 0.0.11 by @dependabot[bot] in #3256
  • deps(dev): bump the eslint group with 2 updates by @dependabot[bot] in #3255
  • deps(dev): bump the eslint group with 3 updates by @dependabot[bot] in #3259
  • deps(dev): bump puppeteer from 24.12.1 to 24.13.0 by @dependabot[bot] in #3263
  • deps: bump cuzz from 0.0.11 to 0.0.14 by @dependabot[bot] in #3264
  • add temporary fix for the calc Int/Nat issue by @lastmjs in #3266
  • deps(dev): bump puppeteer from 24.13.0 to 24.14.0 by @dependabot[bot] in #3268
  • parallelize cli tests by @bdemann in #3236
  • Bump multer, @nestjs/core and @nestjs/platform-express in /examples/experimental/test/end_to_end/http_server/nest by @dependabot[bot] in #3277
  • update plugin kit version by @bdemann in #3282
  • deps: bump esbuild from 0.25.6 to 0.25.8 by @dependabot[bot] in #3281
  • deps: bump rand from 0.9.1 to 0.9.2 by @dependabot[bot] in #3278
  • deps: bump serde_json from 1.0.140 to 1.0.141 in the serde group by @dependabot[bot] in #3279
  • run benchmarks by @bdemann in #3274
  • run example tests outside of the azle monorepo creating on release and merge from release by @bdemann in #3207
  • update global dependencies (dfx, node, and rust) by @lastmjs in #3248
  • remove security checks from jest by @lastmjs in #3286
  • deps(dev): bump the eslint group across 1 directory with 4 updates by @dependabot[bot] in #3283
  • deps(dev): bump jest from 30.0.4 to 30.0.5 in the jest group by @dependabot[bot] in #3291
  • deps: bump wasmi from 0.47.0 to 0.48.0 by @dependabot[bot] in #3290
  • ensure stronger software license compliance by @lastmjs in #3289
  • deps(dev): bump puppeteer from 24.14.0 to 24.15.0 by @dependabot[bot] in #3296
  • deps(dev): bump the eslint group with 2 updates by @dependabot[bot] in #3305
  • minimize GITHUB_TOKEN permissions in our workflows by @bdemann in #3273
  • fix executable_resolution example to work outside azle mono repo by @bdemann in #3308
  • update @dfinity npm dependencies to 3.1.0 (breaking changes) by @lastmjs in #3294
  • fix failing tests for release by @bdemann in #3319
  • cuzz update to the latest default expected errors by @lastmjs in #3325
  • updating cuzz to have the latest default expected errors by @lastmjs in #3330
  • remove Personal Access Token dependencies from GitHub workflows by @bdemann in #3311
  • add second azle bot for content changes by @bdemann in #3360
  • restore checkout by @bdemann in #3361
  • add azle auto merge bot by @bdemann in #3368
  • deps: bump serde_json from 1.0.141 to 1.0.142 in the serde group by @dependabot[bot] in #3340
  • deps(dev): bump ts-jest from 29.4.0 to 29.4.1 in the jest group by @dependabot[bot] in #3356
  • deps(dev): bump the eslint group with 3 updates by @dependabot[bot] in #3362
  • deps(dev): bump lint-staged from 16.1.2 to 16.1.4 by @dependabot[bot] in #3357
  • deps: bump typescript from 5.8.3 to 5.9.2 by @dependabot[bot] in #3363
  • deps(dev): bump puppeteer from 24.15.0 to 24.16.0 by @dependabot[bot] in #3369
  • Example/test maintenance: update dependencies, formatting, and linting by @azle-pr-bot[bot] in #3370
  • deps(dev): bump cuzz from 0.0.19 to 0.0.21 by @dependabot[bot] in #3378
  • adding the id-token permissions for npm oidc by @lastmjs in #3371
  • get rid of ETHEREUM_URL secret by @bdemann in #3383
  • deps(dev): bump lint-staged from 16.1.4 to 16.1.5 by @dependabot[bot] in #3380
  • deps(dev): bump the eslint group across 1 directory with 5 updates by @dependabot[bot] in #3387
  • deps: bump slab from 0.4.10 to 0.4.11 by @dependabot[bot] in #3390
  • deps: bump tsx from 4.20.3 to 4.20.4 by @dependabot[bot] in #3392
  • deps: bump esbuild from 0.25.8 to 0.25.9 by @dependabot[bot] in #3391
  • deps(dev): bump puppeteer from 24.16.0 to 24.16.1 by @dependabot[bot] in #3389
  • deps: bump anyhow from 1.0.98 to 1.0.99 by @dependabot[bot] in #3388
  • deps: bump wasmi from 0.48.0 to 0.49.0 by @dependabot[bot] in #3372
  • Example/test maintenance: update dependencies, formatting, and linting by @azle-pr-bot[bot] in #3396
  • update dfinity packages to 3.2.1 by @bdemann in #3394
  • fix diff check and add @dfinity/identity-secp256k1 dependencies by @bdemann in #3398
  • deps(dev): bump puppeteer from 24.16.1 to 24.16.2 by @dependabot[bot] in #3401

Full Changelog: 0.32.0...0.33.0