PicJS Finds a New Home, Gets a Fresh Set of Tools

PicJS, the JavaScript and TypeScript testing library for Internet Computer canisters, has officially moved into the DFINITY GitHub organisation. It’s a change that brings the package under the direct stewardship of DFINITY’s SDK team, and with that, a notable shift in how the library will evolve from here.

The migration sees a clear handover in both digital address and development responsibility. Where once it was found at hadronous/pic-js on GitHub, it’s now located at dfinity/pic-js. Similarly, the npm package has shifted from @hadronous/pic to @dfinity/pic, a move designed to streamline updates and align it more closely with the wider suite of DFINITY tools. The documentation has also followed suit, now hosted under the dfinity.github.io umbrella.

For developers using the library, the recommendation is simple: switch to the new repository and install the package fresh to keep in sync with ongoing development. The process is as straightforward as a new install command—npm install @dfinity/pic—but the benefits are likely to extend well beyond mere maintenance.

The first release to mark this transition, v0.12.0, is already live. It introduces compatibility with the latest version of the pocketic server, alongside a handful of new features and technical improvements. Two key additions stand out. First is support for the set_certified_time endpoint, enabling more granular control over testing environments through three methods—setCertifiedTime(), resetCertifiedTime(), and advanceCertifiedTime(). These allow testers to manipulate the certified time used in canister execution, a powerful tool for simulating various states and behaviours.

Second is the inclusion of a get_controllers() method, which offers insight into the controlling principals of a canister. This is particularly useful for debugging permissions, testing governance logic, or simply checking expected configurations.

Some of the existing methods have also been updated to run asynchronously, including getTopology(), getBitcoinSubnet(), getFiduciarySubnet(), and several others related to different subnet types. This shift makes sense given the nature of network interactions and will help prevent blocking behaviour during larger, more complex test scenarios. It’s a subtle change on the surface, but one that reflects the SDK team’s commitment to building with modern development practices in mind.

Looking ahead, the DFINITY team has already mapped out a few areas of focus for future updates. A notable one is “Live Mode”, which aims to support test agents—such as agent-js—and make it possible to use tools like Playwright for browser-based testing. The potential here is significant, especially for developers working on frontend interfaces that interact with canisters. With browser automation, real-world scenarios can be mimicked more accurately, catching edge cases and verifying behaviour across environments.

Another upcoming feature revolves around “state folders”, which would allow developers to spin up subnets based on predefined snapshots. Whether created by pic-js itself or through DFX with pocketic enabled, this would add a new dimension to reproducible test setups. It could mean far quicker iteration loops, fewer surprises between local and deployment environments, and more reliable debugging overall.

All of this is indicative of a deeper integration effort by DFINITY. By bringing pic-js under its roof, the SDK team gains tighter control over the compatibility layer between testing frameworks and the rest of the Internet Computer ecosystem. It also lowers the maintenance burden for community contributors while giving users more assurance that the tool will stay current alongside its Rust and Python counterparts.

The project’s origins as a community-led initiative under the Hadronous GitHub organisation won’t be forgotten, but the move to DFINITY’s official space suggests a new chapter. One where the SDK team is able to align feature development with the evolving architecture of the Internet Computer itself, ensuring that developers can test against the most accurate and up-to-date representations of the network.

It’s a small shift, visually speaking—a repo name change, a new install path, an updated doc site. But for those working deep within the ecosystem, it clears the way for faster development cycles, more robust tests, and a deeper set of tools to simulate everything from canister upgrades to time-sensitive behaviours.

There’s also a strong community angle that continues to shape the library’s future. The team behind pic-js has encouraged developers to share feedback, open issues, and engage in ongoing discussions. Whether it’s through GitHub threads or direct contributions, there’s a sense that this isn’t just a one-way street. The SDK team may now hold the reins, but the direction is still community-informed.

This approach mirrors a wider ethos within the DFINITY ecosystem—where decentralisation applies not only to technology but to collaboration. By embracing tools that make development smoother, faster, and more transparent, projects like pic-js are helping shift the entire developer experience forward.

All told, pic-js isn’t standing still. It’s being polished, expanded, and carefully integrated into a broader tooling landscape that continues to grow in both depth and sophistication. With the SDK team now at the helm, the library’s future looks more stable, more responsive to user needs, and better aligned with the tools and patterns developers rely on every day.

As pic-js settles into its new home, the focus moves quickly to what’s next—Live Mode, state folders, tighter integration with browser testing, and whatever else the community dreams up. It’s not about fixing what was broken, but making what works even better. This shift isn’t flashy, and it doesn’t need to be. It’s practical, well-timed, and geared toward the people who build, test, and improve the software that runs on the Internet Computer.

And sometimes, that’s exactly what progress looks like.

Subscribe

Related articles

Blocks Can’t Forget – EU Nudges Blockchain Towards Privacy-Lite Future

European privacy regulators have issued fresh guidance that’s bound...

Everyone Pays the Same: DailyBid Flattens the DEX Playing Field

A fresh entry in the decentralised finance space is...

Oisy Gets a Bit Niftier with Fresh Wallet Tweaks

Oisy’s latest update is now live, and version 1.4...

Sonic Speeds Up Solana Token Launches with Fresh Integration

Sonic is about to make launching tokens on Solana...

Alice vs the Whale: ICP Proposal Stirs DAO Debate

A new proposal to transfer 8,805 ICP to the...
Maria Irene
Maria Irenehttp://ledgerlife.io/
Maria Irene is a multi-faceted journalist with a focus on various domains including Cryptocurrency, NFTs, Real Estate, Energy, and Macroeconomics. With over a year of experience, she has produced an array of video content, news stories, and in-depth analyses. Her journalistic endeavours also involve a detailed exploration of the Australia-India partnership, pinpointing avenues for mutual collaboration. In addition to her work in journalism, Maria crafts easily digestible financial content for a specialised platform, demystifying complex economic theories for the layperson. She holds a strong belief that journalism should go beyond mere reporting; it should instigate meaningful discussions and effect change by spotlighting vital global issues. Committed to enriching public discourse, Maria aims to keep her audience not just well-informed, but also actively engaged across various platforms, encouraging them to partake in crucial global conversations.

LEAVE A REPLY

Please enter your comment!
Please enter your name here