Skip to content

Conversation

lastmjs
Copy link
Member

@lastmjs lastmjs commented Sep 18, 2025

Contributor

  • Related issues have been linked and all tasks have been completed or made into separate issues
  • All features are described below in the "Features" section
  • All breaking changes
    • Described below in the "Breaking Changes" section
    • Migration path described
  • PR title:
    • feat: prefix used if functionality should be included in the Features section of the release notes
    • Indicates breaking changes with suffix "(breaking changes)"
    • Described well for release notes
    • Not sentence cased
  • Code quality
    • Declarative
    • Appropriate JSDocs, Rustdocs, or comments
    • Beautiful error handling (no unwraps, expects, etc)
    • Thoroughly tested
  • New documentation enumerated in the release issue
  • AI review requested and addressed

Reviewer

  • Related issues have been linked and all tasks have been completed or made into separate issues
  • All features are described below in the "Features" section
  • All breaking changes
    • Described below in the "Breaking Changes" section
    • Migration path described
  • PR title:
    • feat: prefix used if functionality should be included in the Features section of the release notes
    • Indicates breaking changes with suffix "(breaking changes)"
    • Described well for release notes
    • Not sentence cased
  • Code quality
    • Declarative
    • Appropriate JSDocs, Rustdocs, or comments
    • Beautiful error handling (no unwraps, expects, etc)
    • Thoroughly tested
  • New documentation enumerated in the release issue

Features

  • Azle has been migrated to @icp-sdk/core, removing all uses of @dfinity/* packages besides @dfinity/auth-client.

Breaking Changes

  • The npx azle generate command now imports from @icp-sdk/core instead of @dfinity/*. You may need to install @icp-sdk/core to use the generated code.
  • Azle project's using experimental mode should install the latest azle-experimental-deps: npm install https://github.com/demergent-labs/azle-experimental-deps#0afef5f615bc77fb303c5e95211daf6d7bb73dd3

@lastmjs lastmjs changed the title fixing azle-experimental-deps to use peerDependencies in an attempt t… feat: migrate to @icp-sdk/core Sep 25, 2025
@lastmjs
Copy link
Member Author

lastmjs commented Sep 25, 2025

@codex review

@lastmjs lastmjs requested a review from Copilot September 25, 2025 17:38
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates from the deprecated @dfinity packages to the new @icp-sdk/core package for IC blockchain development. This is a major dependency migration that updates imports across the entire codebase while maintaining the same functionality.

  • Consolidates multiple @dfinity packages (@dfinity/agent, @dfinity/candid, @dfinity/principal, etc.) into the single @icp-sdk/core package
  • Updates all import statements throughout the codebase to use the new package structure
  • Modifies the candid generation process to automatically replace @dfinity/ imports with @icp-sdk/core/ imports

Reviewed Changes

Copilot reviewed 196 out of 226 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Updates main dependency from @dfinity/agent to @icp-sdk/core and removes separate dfinity packages
src/stable/build/commands/generate/index.ts Adds automatic replacement of @dfinity/ with @icp-sdk/core/ in generated code
src/stable/build/commands/new.ts Removes legacy dfinity identity dependency from new project template
src/stable/lib/*.ts Updates all core library imports to use @icp-sdk/core subpaths
src/experimental/*.ts Updates experimental feature imports to new package structure
examples/*/package.json Updates example project dependencies and removes legacy dfinity packages
.github/workflows/*.yml Updates CI workflow dependency installation commands
Files not reviewed (27)
  • examples/experimental/demo/hello_world_http_server/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/apollo_server/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/audio_and_video/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/autoreload/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/ethers/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/ethers_base/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/express/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/fetch_ic/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/file_protocol/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/fs/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/http_outcall_fetch/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/hybrid_canister/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/ic_evm_rpc/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/internet_identity/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/large_files/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/multi_deploy/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/nest/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/tfjs/package-lock.json: Language not supported
  • examples/experimental/test/end_to_end/http_server/web_assembly/package-lock.json: Language not supported
  • examples/package-lock.json: Language not supported
  • examples/stable/test/end_to_end/candid_rpc/motoko_examples/cert-var/package-lock.json: Language not supported
  • examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/package-lock.json: Language not supported
  • examples/stable/test/property/candid_rpc/canister_methods/inspect_message/package-lock.json: Language not supported
  • examples/stable/test/property/ic_api/caller/package-lock.json: Language not supported
  • examples/stable/test/property/ic_api/certified_data/package-lock.json: Language not supported
  • examples/stable/test/property/ic_api/is_controller/package-lock.json: Language not supported
  • package-lock.json: Language not supported

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting

@lastmjs lastmjs marked this pull request as ready for review September 25, 2025 17:49
@lastmjs lastmjs changed the title feat: migrate to @icp-sdk/core feat: migrate to @icp-sdk/core (breaking changes) Sep 25, 2025
@lastmjs lastmjs merged commit c4c8a59 into main Sep 25, 2025
356 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant