Releases: dfinity/sdk
Releases · dfinity/sdk
0.5.2
🎁 What's new?
- Support for nesting of option values.
- Option type in Javascript now expects a singleton array as value. A
none
value is represented as[]
;some value
is represented as[value]
. - You can use the
dfx bootstrap
command to start the bootstrap web server defined in thedfx.json
configuration file or specified using command-line options. - You can use the
--c
or--compute-allocation
flag fordfx canister install
command to specify a canister’s compute allocation as a percentage.
This is essentially the equivalent of setting CPU allocation for canister execution. In a development environment, you might use this option for testing purposes if you have applications that require multiple canisters.
🛠 Issues fixed in this release:
- The nodemanager process has been removed.
- Bug fix for
slebEncode
.
0.5.0 - Bronze Release
🎁 What's new?
- Module imports no longer require
.mo
file extensions.
For example,import List "mo:stdlib/list.mo";
now becomesimport List "mo:stdlib/list";
- All functionality required for LinkedUp to compile is included in this version.
The LinkedUp repo can be accessed here. - What was previously referred to as the Internet Computer client is being renamed to replica.
Documentation is in the process of being updated to reflect this change. - New tutorials have been added to provide additional guidance to new developers and include more sample code.
A front-end tutorial is now available here!
🛠 Issues fixed in this release:
Main.js
is no longer hardcoded.- Improved error messages when using
--client
flag incorrectly. - Improved syntax error messages for Motoko compiler.
0.4.13
🎁 What's new?
- Inter-canister calls are now supported.
This release includes multiple backend enhancements to both the SDK and Motoko as scaffolding to support inter-canister calls. Inter-canister calls enable you to build applications in which canisters make calls to each other. Some of the backend changes introduced to support inter-canister calls include the ability to (1) identify a canister using a caller id and (2) import canister function by a caller id or alias. - New
dfx canister call --query
and--update
flags for you to explicitly specify whether you are making a query call or an update call when accessing a canister’s methods. - New
dfx canister --client
option that enables you to specify the client host name or IP address and port to connect to. This option enables you to override the client setting specified in thedfx
configuration file. - Improvements to the handling of front-end static assets so they can be deployed as part of a canister or served from a bootstrap web server.
- Cross-Origin Resource Sharing (CORS) support added for the webserver.
Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional HTTP headers to tell browsers to give a web application running at one origin access to selected resources from a different origin. With this added support, you can have the client runningdfx start
on a server and connect to it from a static bootstrap server.
🛠 Issues fixed in this release:
- Fixes include added stability for
dfx canister call
and several minor fixes to improve front-end experience.
0.4.11
🎁 What's new?
- Basic support for front-end development using node.js and webpack module bundler.
New projects now include webpack configuration and additional files, if either node is installed or --frontend is used. Node dependencies will automatically be installed. dfx build will run npm run build if a package.json file is present. Note that this feature is still experimental and additional functionality and documentation will be added soon. - A new
dfx upgrade
command checks for the latest version and upgrades yourdfx
installation if a newer version ofdfx
is found. - Creating a new project with
dfx new
will create a directory and folders with the corresponding name.
Previously, you had to rename all of your source and canister directories from hello to your project name. - You can specify the format of the configuration file output as json or text, with json being the default, using
--format
option withdfx config
. - Project naming restrictions have been added to ensure that project names are valid when used in JavaScript, Motoko, and other contexts.
The most notable change you will find is there is no longer support for dashes-
. All projects within the tutorials have been changed to use an underscore_
. - Motoko now supports pattern matching with type-annotated object fields.
Pattern matching with type-annotated object fields is useful if you are writing a function that takes a record as input and the record fields so that you want to use the field names as bindings (local variable names). However, because type inference is not possible in this case, you must provide types for the fields. - New tutorials have been added to provide additional guidance to new developers and include more sample code.
0.4.10
🎁 What's new?
- Basic support for front-end development using node.js and webpack module bundler.
New projects now include webpack configuration and additional files, if either node is installed or --frontend is used. Node dependencies will automatically be installed. dfx build will run npm run build if a package.json file is present. Note that this feature is still experimental and additional functionality and documentation will be added soon. - A new
dfx upgrade
command checks for the latest version and upgrades yourdfx
installation if a newer version ofdfx
is found. - Creating a new project with
dfx new
will create a directory and folders with the corresponding name.
Previously, you had to rename all of your source and canister directories from hello to your project name. - You can specify the format of the configuration file output as json or text, with json being the default, using
--format
option withdfx config
. - Project naming restrictions have been added to ensure that project names are valid when used in JavaScript, Motoko, and other contexts.
The most notable change you will find is there is no longer support for dashes-
. All projects within the tutorials have been changed to use an underscore_
. - Motoko now supports pattern matching with type-annotated object fields.
Pattern matching with type-annotated object fields is useful if you are writing a function that takes a record as input and the record fields so that you want to use the field names as bindings (local variable names). However, because type inference is not possible in this case, you must provide types for the fields. - New tutorials have been added to provide additional guidance to new developers and include more sample code.
0.4.9
🎁 What's new?
- Query command will be deprecated, but can still be used in this release.
- Added cache subcommand and can defer
dfx
to cached version.
The following cache subcommands are now available:
ManageCache: Manages the dfx version cache
CacheDelete: Delete a specific versioned cache of dfx
CacheUnpack: Force unpacking the cache from current version
CacheList: List installed and used version
- Support variant for IDL deserialization
- You can now deserialize variant type to an abstract value type like IDLValue.
🛠 Issues fixed in this release:
- Query command will be deprecated, but can still be used in this release.
dfx ide
command renamed to _language-service
Following release ofdfx ide
in V0.4.7, this command has been renamed to better reflect its intended use. This command command is meant to be run by editors to start a language service and will most likely not be used in a terminal. If desired, you can pass the--force-tty
flag.- Security flags fixed when installing
dfx
You will now be prompted to use TLS 1.3 if available, but--insecure
flag can be used as a workaround. - Support added for unknown read response to
request-status
.
Previously an error was provided when requesting status and the client did not process the message.
0.4.7
🎁 What's new?
- You can now start the Motoko language services using
dfx ide
. - Better support for IDL canister arguments, including:
(1) Support for unicode escape, e.g.\u{10ffff}\0a
(2) Number can be either decimal or hex with 0x prefix. Can insert_
in between digits, e.g.1_000_000
(3) Short-hand: omit null for variant; omit label for record. - Oneway awaits. Previously, oneway shared functions could not await/try/throw from within their bodies.
- NEW colored logo! Try on a dark background for maximum pizzazz.
0.4.4
🎁 What's new?
- Wait flag has been removed: Default behavior is now to wait for a response and a new
--async
option enables you to get a request identifier and check on the results of your request later. dfx stop
to stop dfx if it’s running in the background: It will stop the processes whether the client processes are running in the terminal or the background.- Developer can refer to canister by name: Install or call by using the name defined for the canister in the project
dfx.json
file. - Add support for argument to
dfx build
: Ignored in previous versions.
🛠 Issues fixed in this release:
- Failed build fixed for MacOS and Linux.
- Updated path in installer.
- Memory leak resolved.
0.4.1 (Test of stable release branch)
See changelog [to come] for notes. Bug fixes mainly.
0.4.0 (Alpha Launch)
See sdk.dfinity.org for full release notes.