Skip to content

Releases: dfinity/sdk

SDK 0.5.4

17 May 22:02
fe5d013
Compare
Choose a tag to compare
Release: 0.5.4

0.5.3

21 Mar 19:04
b09e715
Compare
Choose a tag to compare

🎁 What's new?

  • Web interface for testing canisters.
    To access, with the default dfx.json setup, you can access 127.0.0.1:8000/candid?canisterId=ic:your_canister_id.
  • Bootstrap server shows error messages for a non-existent canister ID.
  • The replica will now use a random port.
    Previously, you could set the port of the web server with a fixed port for replica. The replica is now set to a random port so that you can run two dfx start in separate projects without a clash.

🛠 Issues fixed in this release:

  • Fix the single return value type on query function in Javascript userlib.
  • The canister list when running dfx build will no longer be randomized.

0.5.2

21 Mar 19:04
44db26f
Compare
Choose a tag to compare

🎁 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 the dfx.json configuration file or specified using command-line options.
  • You can use the --c or --compute-allocation flag for dfx 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

21 Mar 19:03
c744a7b
Compare
Choose a tag to compare

🎁 What's new?

  • Module imports no longer require .mo file extensions.
    For example, import List "mo:stdlib/list.mo"; now becomes import 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

21 Mar 19:03
Compare
Choose a tag to compare

🎁 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 the dfx 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 running dfx 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

17 Jan 23:29
Compare
Choose a tag to compare

🎁 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 your dfx installation if a newer version of dfx 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 with dfx 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

17 Jan 23:27
Compare
Choose a tag to compare

🎁 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 your dfx installation if a newer version of dfx 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 with dfx 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

20 Mar 18:33
aec023c
Compare
Choose a tag to compare

🎁 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 of dfx 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

21 Mar 19:04
Compare
Choose a tag to compare

🎁 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

21 Mar 19:04
Compare
Choose a tag to compare

🎁 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.