Skip to content

Releases: dfinity/sdk

SDK 0.5.8

17 May 22:06
1c47872

Choose a tag to compare

Release: 0.5.8

SDK 0.5.7

17 May 22:06
9b8985f

Choose a tag to compare

Release: 0.5.7

SDK 0.5.6

17 May 22:06
1174cfb

Choose a tag to compare

Release: 0.5.6

SDK 0.5.5

17 May 22:04
568a6e1

Choose a tag to compare

Release: 0.5.5

SDK 0.5.4

17 May 22:02
fe5d013

Choose a tag to compare

Release: 0.5.4

0.5.3

21 Mar 19:04
b09e715

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

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

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

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

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.