ICP JavaScript SDK v4.0.0 Launches with Unified Package and Developer Tools

The latest release of the ICP JavaScript SDK marks a shift towards a cleaner and more efficient developer experience. Version 4.0.0 introduces a unified core package, @icp-sdk/core, bringing together several previously separate modules into a single structure.
Instead of juggling multiple imports like @dfinity/agent, @dfinity/candid, or @dfinity/identity, developers can now access these through clearly defined submodules under one namespace. This change aims to simplify project setup and reduce unnecessary package weight during builds, offering better tree-shaking and a tidier development process overall.
To make the transition as smooth as possible, the team has released an automatic migration tool that updates existing imports and dependencies with a single command. For developers already familiar with the earlier version, the shift requires minimal effort, as no other code-level changes were introduced in this release.
Alongside the SDK update, a unified documentation portal has gone live. It brings all ICP JavaScript packages into one place, providing a consistent format for guides, references and updates. Each module will now have its own space within the new portal, making it easier to find what’s needed without bouncing between different sources.
One deprecated package, @dfinity/use-auth-client, is no longer being maintained, and developers are encouraged to move to newer, better-supported alternatives. Additional packages are expected to follow the same rebranding approach in future releases, with more tools migrating into the @icp-sdk namespace.
Although this version doesn’t introduce new features in functionality, it signals a clear focus on reducing fragmentation, improving clarity and supporting a better onboarding experience for developers building on Internet Computer. The update is aimed at keeping the tooling current with modern standards, while laying the groundwork for a more connected and community-driven ecosystem.