Releases: junobuild/juno-js
v247
Summary
The @junobuild/functions/canisters arguments and results have been migrated to the Juno type system and zod, which is more comprehensive than the infamous Candid IDL pain.
What's Changed
- feat(functions): expose cycles ledger by @peterpeterparker in #888
- feat(functions): update latest did by @peterpeterparker in #889
- feat(functions)!: replace candid idl with j and zod by @peterpeterparker in #890
- feat(functions): support for icrc2_approve by @peterpeterparker in #891
Full Changelog: v246...v247
v246
What's Changed
- fix(schema): handle enum and default schema types in idl by @peterpeterparker in #887
Full Changelog: v245...v246
v245
What's Changed
- fix(functions-tools): forward needsJsonData when wrapping composite type in opt by @peterpeterparker in #885
Full Changelog: v244...v245
v244
What's Changed
- fix(schema): camel to snake case in schema from and to IDL by @peterpeterparker in #884
Full Changelog: v243...v244
v243
Summary
With this release, the goal is to initiate bringing some consistency into the juno.config by grouping deployment-related options under a dedicated hosting key within the satellite configuration.
Note
This is a backwards-compatible change. Existing configurations continue to work as before.
We used to have
export default defineConfig({
satellite: {
ids: {
development: 'atbka-rp777-77775-aaaaq-cai',
production: 'ck4tp-3iaaa-aaaal-ab7da-cai'
},
source: 'build',
predeploy: ['npm run build'],
precompress: [
{
pattern: '**/*.+(js|mjs|css)',
algorithm: 'brotli',
mode: 'replace'
},
{
pattern: '**/*.html',
algorithm: 'brotli',
mode: 'both'
}
],
assertions: {
heapMemory: 800_000_000n
},
collections
}
});
And the new structure will be
export default defineConfig({
satellite: {
ids: {
development: 'atbka-rp777-77775-aaaaq-cai',
production: 'ck4tp-3iaaa-aaaal-ab7da-cai'
},
hosting: {
source: 'build',
predeploy: ['npm run build'],
precompress: [
{
pattern: '**/*.+(js|mjs|css)',
algorithm: 'brotli',
mode: 'replace'
},
{
pattern: '**/*.html',
algorithm: 'brotli',
mode: 'both'
}
]
},
assertions: {
heapMemory: 800_000_000n
},
collections
}
});
What's Changed
- feat(core): remove . in ./workers/auth.worker.js default path by @peterpeterparker in #878
- feat(config): deprecate flat config and move to hosting options by @peterpeterparker in #876
- build(workspace): bump dev dependencies by @peterpeterparker in #879
- build(workspace): npm audit fix by @peterpeterparker in #880
- build(e2e): bump dependencies in demo by @peterpeterparker in #881
- build(cdn): rm unused config dependency by @peterpeterparker in #882
Full Changelog: v242...v243
v242
What's Changed
- feat(functions): optional http request headers by @peterpeterparker in #875
Full Changelog: v241...v242
v241
What's Changed
- feat(functions-tools): generate api with ts-nocheck by @peterpeterparker in #871
- feat(functions-tools): do not generate empty export functions by @peterpeterparker in #872
- feat(functions-tools): trim generated functions module by @peterpeterparker in #873
Full Changelog: v240...v241
v240
Summary
Because @icp-sdk/core wasn't marked as external in @junobuild/[email protected], the functions bundler (esbuild) ended up duplicating the Principal class. As a result, reviving encoded data mismatched references and wasn't able to deserialize data correctly. This was caught by the test suite before release (see job) and therefore, should not impact any developer.
What's Changed
- fix(utils): mark icp-sdk/core as external by @peterpeterparker in #870
Full Changelog: v239...v240
v239
What's Changed
- feat(workspace): disable eslint remove comments by @peterpeterparker in #869
- chore(workspace): release with esbuild v0.27.4 by @peterpeterparker in #868
Full Changelog: v238...v239
v238
What's Changed
- build(workspace,cli-tools): downgrade back esbuild v0.27 by @peterpeterparker in #867
Full Changelog: v237...v238