Skip to content

Commit

Permalink
Dev Weekly Update January 22 2025 (#3971)
Browse files Browse the repository at this point in the history
  • Loading branch information
jessiemongeon1 authored Jan 23, 2025
1 parent f6500cb commit 34fad63
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 5 deletions.
46 changes: 46 additions & 0 deletions blog/news-and-updates/2025-01-22-update.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: Developer weekly update January 22, 2025
description: This week, we have a new release of Motoko, a forum discussion regarding some changes to dfx, and an NNS proposal that adds 17 new API boundary nodes to the network.
tags: [Devs]
image: /img/blog/dev-update-blog-jan-22.jpg
---

# Developer weekly update January 22, 2025

![January 22, 2025](../../static/img/blog/dev-update-blog-jan-22.jpg)

Hello developers, and welcome to this week's developer weekly update! This week, we have a new release of Motoko, a forum discussion regarding some changes to `dfx`, and an NNS proposal that adds 17 new API boundary nodes to the network. Let's get started!

## Motoko v0.13.6

A new version of Motoko has been released! This release includes an important breaking change regarding orthogonal persistence:

- The Wasm persistence modes used internally for canister upgrades now use lowercase names `keep` and `replace` rather than `Keep` and `Replace`. If you are using actor classes with orthogonal persistence, you will need to recompile your code and upgrade it to use the latest `moc` and `dfx`.

This release also includes support for low Wasm memory hooks `system func lowmemory() : async* () { ... } ` and a few bug fixes:

- Mitigations and checks regarding timers.

- Valid upgrades that delete a stable variable previously failed the `--enhanced-orthogonal-persistence` stable compatibility check.

[Read the full release notes](https://github.com/dfinity/motoko/releases/tag/0.13.6).

## Proposed `dfx` changes

A new change has been proposed on the forum for `dfx`: Remove the local replica with PocketIC. PocketIC is a canister testing tool that provides extensive, customizable testing capabilities in the local environment. `dfx` currently uses PocketIC in parallel with the local replica for CI testing without any substantial differences.

Replacing the replica with PocketIC will make `dfx` smaller to download, plus speed up local deployment times.

The SDK team has proposed a plan to remove the replica from `dfx` and replace it with PocketIC. You can read more about this plan on the [developer forum](https://forum.dfinity.org/t/dfx-replacing-the-local-replica-with-pocketic/40167) and contribute to the discussion.

## New API boundary nodes

NNS proposal [134902](https://dashboard.internetcomputer.org/proposal/134902) has been executed, adding 17 new API boundary nodes to the ICP network. Each node was already part of the network but was previously unused before being converted into a boundary node. Nodes were chosen based on geographic location to ensure distribution across different regions.

This is a significant change and an important architecture milestone, as the network previously only had 3 API boundary nodes. With a total of 20 API boundary nodes in various regions across the globe, ICP will now feature a fully NNS-managed edge architecture, enabling clients such as `agent-rs` to connect directly to the network without relying on the traditional boundary node infrastructure.

You can learn more about this network change on [the forum](https://forum.dfinity.org/t/proposal-134902-adding-17-api-boundary-nodes/40199).

That'll wrap up this week. Tune back in next week for more developer updates!

-DFINITY
Binary file added static/img/blog/dev-update-blog-jan-22.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion submodules/internetidentity
Submodule internetidentity updated 30 files
+1 −1 rust-toolchain.toml
+2 −4 src/frontend/generated/internet_identity_idl.js
+1 −2 src/frontend/generated/internet_identity_types.d.ts
+2 −8 src/frontend/src/components/alias/index.ts
+1 −2 src/frontend/src/components/promptUserNumber.ts
+1 −4 src/frontend/src/flows/addDevice/manage/addDevice.ts
+2 −3 src/frontend/src/flows/addDevice/manage/pollForTentativeDevice.ts
+3 −8 src/frontend/src/flows/manage/deviceSettings.ts
+4 −5 src/frontend/src/flows/manage/index.ts
+1 −2 src/frontend/src/flows/recovery/recoverWith/device.ts
+1 −1 src/frontend/src/flows/recovery/recoveryWizard.ts
+0 −76 src/frontend/src/storage/index.test.ts
+0 −104 src/frontend/src/storage/index.ts
+4 −33 src/frontend/src/test-e2e/flows.ts
+1 −54 src/frontend/src/test-e2e/recovery/index.test.ts
+3 −3 src/frontend/src/test-e2e/recovery/protected/reset.test.ts
+5 −49 src/frontend/src/test-e2e/views.ts
+3 −63 src/frontend/src/utils/iiConnection.test.ts
+15 −22 src/frontend/src/utils/iiConnection.ts
+2 −11 src/internet_identity/internet_identity.did
+1 −1 src/internet_identity/src/archive.rs
+14 −15 src/internet_identity/src/main.rs
+3 −5 src/internet_identity/src/openid.rs
+7 −18 src/internet_identity/src/openid/google.rs
+3 −3 src/internet_identity/src/state.rs
+6 −6 src/internet_identity/src/storage/storable_persistent_state.rs
+10 −15 src/internet_identity/tests/integration/config.rs
+4 −4 src/internet_identity/tests/integration/http.rs
+1 −13 src/internet_identity_interface/src/internet_identity/types.rs
+0 −4 src/sig-verifier-js/Cargo.toml
2 changes: 1 addition & 1 deletion submodules/motoko
Submodule motoko updated 49 files
+5 −19 Changelog.md
+2 −3 doc/md/base/Debug.md
+0 −10 doc/md/base/ExperimentalInternetComputer.md
+1 −1 doc/md/base/OrderedMap.md
+1 −1 doc/md/base/OrderedSet.md
+1 −1 doc/md/base/RBTree.md
+0 −58 doc/md/base/Text.md
+0 −26 doc/md/canister-maintenance/memory.md
+13 −2 nix/drun.nix
+10 −10 nix/sources.json
+27 −58 rts/motoko-rts/src/idl.rs
+0 −21 src/codegen/compile_classical.ml
+0 −21 src/codegen/compile_enhanced.ml
+1 −2 src/ir_def/arrange_ir.ml
+2 −8 src/ir_def/check_ir.ml
+0 −7 src/ir_def/construct.ml
+0 −1 src/ir_def/construct.mli
+1 −2 src/ir_def/freevars.ml
+0 −1 src/ir_def/ir.ml
+2 −4 src/ir_def/rename.ml
+2 −4 src/ir_passes/async.ml
+5 −17 src/ir_passes/await.ml
+2 −4 src/ir_passes/const.ml
+2 −6 src/ir_passes/eq.ml
+2 −4 src/ir_passes/erase_typ_field.ml
+2 −6 src/ir_passes/show.ml
+4 −11 src/lowering/desugar.ml
+10 −3 src/mo_frontend/typing.ml
+2 −0 src/mo_frontend/typing.mli
+3 −19 src/mo_types/type.ml
+1 −5 src/mo_types/type.mli
+6 −21 src/prelude/internals.mo
+1 −1 test/bench/ok/region-mem.drun-run.ok
+1 −1 test/bench/ok/region0-mem.drun-run.ok
+1 −1 test/bench/ok/stable-mem.drun-run.ok
+1 −1 test/fail/ok/M0129.tc.ok
+5 −5 test/fail/ok/illegal-await.tc.ok
+2 −2 test/run-drun/actor-class-mgmt-enhanced.mo
+0 −61 test/run-drun/low-memory.mo
+0 −27 test/run-drun/low-memory/low-memory-actor.mo
+2 −2 test/run-drun/map-mixed-upgrades/map0.mo
+2 −2 test/run-drun/map-mixed-upgrades/map1.mo
+2 −2 test/run-drun/migration-paths/new-installer.mo
+2 −2 test/run-drun/migration-paths/old-installer.mo
+0 −6 test/run-drun/ok/low-memory.drun-run.ok
+0 −3 test/run-drun/ok/tmp_upgrade.drun.ok
+0 −3 test/run-drun/tmp_upgrade.drun
+0 −6 test/run-drun/tmp_upgrade/version0.mo
+0 −6 test/run-drun/tmp_upgrade/version1.mo

0 comments on commit 34fad63

Please sign in to comment.