diff --git a/roadmap/roadmap.d.ts b/roadmap/roadmap.d.ts deleted file mode 100644 index 52d69e4449..0000000000 --- a/roadmap/roadmap.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -interface RootObject { - name: string; - description: string; - milestones: Milestone[]; -} - -interface Milestone { - name?: string | string; - milestone_id: string; - description: string; - eta: null | string | string; - status?: string; - elements: Element[]; -} - -interface Element { - title: string; - overview: string; - forum: string; - proposal: string; - docs: string; - eta?: string; - status: string; - is_community?: boolean; - in_beta?: boolean; - milestone_id?: string; - imported?: boolean; - description?: string; -} diff --git a/roadmap/roadmap.json b/roadmap/roadmap.json deleted file mode 100644 index 2e5284cbe1..0000000000 --- a/roadmap/roadmap.json +++ /dev/null @@ -1,4330 +0,0 @@ -[ - { - "name": "Compute Platform", - "description": "Blockchain Singularity — all computations of the world can run on ICP. ICP is a decentralized compute platform operating as an extension of the Internet, offering cost effective compute and storage services, with infrastructure provided by independent entities around the globe. The platform allows anyone to deploy canister smart contracts on the Internet and run them in a decentralized manner.", - "milestones": [ - { - "name": "Increase scalability and compute capacity", - "milestone_id": "Flux", - "description": "ICP subnets can handle even more compute load, by better handling many distinct canisters and by using more CPU threads. When a subnet's load grows even beyond that, this milestone introduces canister migration, which enables better load balancing between subnets, ensuring all ICP subnets are well utilized.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Asynchronous Checkpointing", - "overview": "Replicas currently persist the replicated state to disk every couple hundreds of rounds in a process called checkpointing. Currently some parts of checkpointing are done synchronously, which leads to drops in the execution rate in the checkpointing rounds and users have to wait longer for their responses during these rounds. The goal of this feature is to make more checkpointing steps run asynchronously in the background to make the IC's performance more consistent and predictable.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Flux" - }, - { - "title": "Canister migration", - "overview": "Migrating canisters between subnets. Important for balancing subnet utilization and scaling the IC.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Flux" - } - ] - }, - { - "name": "Reduced End-to-end Latency", - "milestone_id": "Tokamak", - "description": "This milestone marks a significant reduction of user-perceived end-to-end latency for processing ingress messages. It is achieved by multiple concerted measures at different levels of the protocol stack and brings the user experience of Web3 closer to Web2.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "QUIC-based transport and P2P layer for consensus", - "overview": "A QUIC-based implementation of the transport and P2P layer for consensus that cuts down latency and increases throughput.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Tokamak" - }, - { - "title": "Synchronous message submission endpoint", - "overview": "Providing a synchronous ingress submission endpoint in addition to the current asynchronous endpoint to reduce perceived end-to-end client-observed latency.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Tokamak" - }, - { - "title": "Latency-aware ingress routing", - "overview": "Boundary nodes route ingress messages to subnet nodes with lower network distance in terms of latency instead of random nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Tokamak" - } - ] - }, - { - "name": "Increased Storage Capacity and Throughput", - "milestone_id": "Stellarator", - "description": "Increased storage capacity of ICP subnets, storage per canister smart contract, and message throughput between subnets. Those improvements lead to each subnet being able to host larger workloads and better utilization of ICP’s hardware resources. The world's largest smart contracts can now grow even larger, far surpassing smart contracts on any other chain.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "Increase Stable Memory Limit to 500GiB", - "overview": "Increasing the stable memory limit of a canister to 500GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - }, - { - "title": "Log-structured merge tree (LSMT) storage layer", - "overview": "Rewrite the storage layer to rely on log-structured merge trees (LSMTs) instead of XFS reflinking. This will give more fine-grained control over what happens during checkpointing and thus enable further, more targeted, performance improvements.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - }, - { - "title": "Support 1TB of replicated storage", - "overview": "Protocol improvements and optimizations of on-disk access and for syncing to reach 1TB of replicated state.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true, - "milestone_id": "Stellarator" - }, - { - "title": "Improved consensus throughput and latency", - "overview": "Improved consensus throughput and latency by better, and less bursty, node bandwidth use. Achieved through not including full messages, but only their hashes and other metadata, in blocks.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - }, - { - "title": "Motoko orthogonal persistence", - "overview": "Offering simple and scalable persistence across upgrades without needing to use stable memory in Motoko.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Configurable Wasm memory limit", - "overview": "Introduce an explicitly configurable Wasm heap limit. Exceeding the limit alerts the developer instead of bricking the canister when hitting the 4GiB limit.", - "forum": "https://forum.dfinity.org/t/proposal-configurable-wasm-heap-limit/17794", - "proposal": "https://dashboard.internetcomputer.org/proposal/105322", - "docs": "", - "eta": "2024", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Canister control audit trail", - "overview": "Seamless audit trail of management actions on canisters (creation, update, deletion). Allows to trace the sequence of installed canister versions to source code through a Wasm hash.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Query call metrics", - "overview": "Metrics about query calls executed for a canister during a time period. Requirement for a fair charging of cycles for query calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "Increase Stable Memory Limit to 32GiB", - "overview": "Increasing the stable memory limit of a canister from 8GiB to 32 GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "October 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "HTTPS Outcalls from Canisters", - "overview": "Enables canisters to make calls to HTTP(S)-based servers. Trustless integration with Web2.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-general-integration-proposal/9383", - "proposal": "https://dashboard.internetcomputer.org/proposal/35639", - "docs": "https://internetcomputer.org/https-outcalls", - "eta": "2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Support 450GB replicated storage", - "overview": "Enhance replicated storage further to 450GB per subnet. Requires protocol improvements and optimizations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Wasm-native stable memory", - "overview": "Letting stable read and write operations directly access replicated memory, similar to how Wasm load and store operations access the the heap.", - "forum": "https://forum.dfinity.org/t/proposal-wasm-native-stable-memory/15966", - "proposal": "https://dashboard.internetcomputer.org/proposal/88812", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Increase Stable Memory Limit to 48GiB", - "overview": "Increasing the stable memory limit of a canister from 32GiB to 48 GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase Stable Memory Limit to 96GiB", - "overview": "Increasing the stable memory limit of a canister from 48GiB to 96GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "Jan 2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Bazel-based Build System", - "overview": "Reducing build and testing times through a Bazel-based build system. More aggressive caching. Only perform necessary steps.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "July 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Support 750GB replicated storage", - "overview": "Enhance replicated storage further to 750GB per subnet. Requires protocol improvements and optimizations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Locally timing out canister requests", - "overview": "Timing out canister-to-canister messages during high load.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-scalability-proposal/9387", - "proposal": "", - "docs": "", - "eta": "December 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "High-replication Subnets", - "overview": "Subnets with higher replication factor than app subnets. Initially ~30 nodes. For highly security-critical dapps such as financial applications.", - "forum": "https://forum.dfinity.org/t/introducing-the-first-fiduciary-subnet/17594", - "proposal": "", - "docs": "", - "eta": "December 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Composite queries", - "overview": "Making queries composable so that a query can call other queries. Supported within a subnet initially.", - "forum": "https://forum.dfinity.org/t/proposal-composite-queries/15979", - "proposal": "https://dashboard.internetcomputer.org/proposal/87599", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Canister Timers", - "overview": "Timer API to schedule tasks to be run on a canister. Improves on heartbeat API by configuring the frequency.", - "forum": "https://forum.dfinity.org/t/heartbeat-improvements-timers-community-consideration/14201/", - "proposal": "https://dashboard.internetcomputer.org/proposal/88293", - "docs": "", - "eta": "Q1 2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Network Scalability: State Sync, Certification, and XNet", - "overview": "Improving network scalability in terms of state sync, certification, and XNet calls", - "forum": "https://forum.dfinity.org/t/long-term-r-d-scalability-proposal/9387/3", - "proposal": "https://dashboard.internetcomputer.org/proposal/35648", - "docs": "", - "eta": "February 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Subnet Splitting MVP", - "overview": "Subnet splitting allows a subnet and its canisters and state to be split into two subnets with minimal interruption of canisters on the subnet.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-subnet-splitting-proposal/9402/4", - "proposal": "https://dashboard.internetcomputer.org/proposal/35672", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Deterministic Time Slicing", - "overview": "A single message execution can span multiple IC rounds. Important for canister upgrades or inherently long-lasting computations.", - "forum": "https://forum.dfinity.org/t/deterministic-time-slicing/10635", - "proposal": "", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": false, - "in_beta": true, - "imported": true - }, - { - "title": "A subnet can support 100K+ canisters", - "overview": "Addressing the biggest bottlenecks that prevent 100K+ canisters per subnet. Important for dapps that have a canister per user.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Improved I/O Handling in State Manager", - "overview": "Improvements of interaction with the disk in the state manager. This includes reducing the number of interactions or taking them out of the state machine loop.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-scalability-proposal/9387", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Larger Wasms", - "overview": "Allow devs to deploy and update Wasm files larger than the current 2 MB limit resulting from the ingress size limit. Achieved by chunking large Wasms and reassembling fragments before installation or update.", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "status": "deployed", - "forum": "https://forum.dfinity.org/t/allow-installation-of-large-wasm-modules/17372", - "eta": "Q1 24" - }, - { - "title": "Replica-signed queries", - "overview": "With this feature replicas will start signing query responses. This allows users to verify that intermediaries, e.g., boundary nodes, did not tamper with the response.", - "forum": "https://forum.dfinity.org/t/feature-discussion-replica-signed-queries/21793", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Reassigning Nodes to Different Subnets", - "overview": "Allowing nodes to be reassigned from one subnet to another subnet through NNS proposals, without redeploying.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "March 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Observability Solution for Nodes", - "overview": "Consensus-verified onchain data of node behaviour. Enables monitoring availability of nodes and penalizing non-performing nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Reduction of P2P latency", - "overview": "Latency improvements of P2P messaging through improved protocol and implementation. Reduces the latency of the consensus protocol and thus improves overall performance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Best-effort messaging", - "overview": "Extend canister messaging by an additional message type that enables more scalable and responsive dApps.", - "status": "in_progress", - "forum": "https://forum.dfinity.org/t/scalable-messaging-model/26920", - "proposal": "https://dashboard.internetcomputer.org/proposal/127668", - "docs": "", - "eta": "2024", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Small guaranteed-response messages", - "overview": "Extend canister messaging by an additional message type with the same guarantees as current messages with a tighter upper bound on the message size to allow for more messages that can be in flight at the same time.", - "status": "future", - "forum": "https://forum.dfinity.org/t/scalable-messaging-model/26920", - "proposal": "https://dashboard.internetcomputer.org/proposal/127668", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Charging for query calls", - "overview": "Charge a fair price in cycles for executed query calls. Currently query calls are free and only update calls are charged for.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Increasing instruction limits for query and update calls", - "overview": "Raising instruction limits of query and update calls. They have limitations of a few billion instructions currently.", - "eta": "", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Dapp-level metrics", - "overview": "Dapp-level metrics allow for obtaining insights into statistics of dapps, e.g., the daily / weekly / monthly active users of a dapp.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Wallet apps (\"Wapps\")", - "overview": "Wapps are the next evolutionary step of apps: Install your personal apps directly on the blockchain and keep control over your data.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Support of 1M canisters per subnet", - "overview": "Allowing up to 1 million canisters on a subnet, up from the current 100K canisters.", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "forum": "https://forum.dfinity.org/t/what-do-you-need-from-icp-in-2024/25726/9", - "milestone_id": "" - }, - { - "title": "Support multiple TB of replicated storage", - "overview": "Enhance replicated storage further to multiple terabytes per subnet. Requires protocol improvements and optimizations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "", - "imported": true - }, - { - "title": "Improved state certification", - "overview": "The protocol requires certifying parts of the replicated state every round, which includes hashing the respective parts of the state. The faster this is, the more time can be spent on other things during the round. This feature is about optimizing certification times.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Messages to specified canister version", - "overview": "Messages to canisters can be required to be only executed by a specific version of the call target to help guarantee that the intended (e.g., audited) version of the code is running.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Capabilities", - "overview": "Capabilities — untamperable self-contained permission tokens — allow users or canisters to perform actions with canisters. Authority can be delegated by delegating a capability to another entity.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Canister groups", - "overview": "Guarantee collocation of canisters on the same subnet by adding them to canister groups. Groups of canisters are always moved together between subnets.", - "forum": "https://forum.dfinity.org/t/canister-groups/16015", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Secure XNet cycles protocol", - "overview": "Securely sending cycles from a less-trusted subnet, e.g., a UTOPIA subnet, rented subnet, or low-replication subnet, to a regular ICP subnet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Messaging model enhancements", - "overview": "Enhancing canister messaging by means such as named callbacks and one-shot messages.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Queries at specified block height", - "overview": "Execute a query at a specified block height. Prerequisite for use cases like replicating queries on multiple replicas, XNet queries or databases.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Hyper-scalable inter-subnet message routing", - "overview": "Hyper-scalable XNet messaging protocol and implementation supporting a practically unlimited number of subnets. The current implementation works well up to a reasonably large number of subnets.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Subnet deletion", - "overview": "Enable subnets to be deleted via NNS proposals.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "in_beta": false - }, - { - "title": "Libraries for large data transfers", - "overview": "Provide more generalized abstractions to overcome message size limits and make them invisible to developers.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Wasm deduplication", - "overview": "Deduplicating Wasm code for running many instances of the same Wasm as is done in a-canister-per-user architectures.", - "forum": "https://forum.dfinity.org/t/what-do-you-need-from-icp-in-2024/25726/9", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "WASI V2 support", - "overview": "WASI V2 is the upcoming standard for running Wasm programs outside of browser environments. It is expected to become the de-facto standard and be targeted by many libraries and thus should be supported by ICP.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "HTTPS outcalls V2", - "overview": "Additional feature for HTTPS outcalls: IPv4 support, single-node outcalls, and fire & forget outcalls. Allows for reduced latencies and reduced cycle costs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "HTTPS outcalls V3", - "overview": "Support HTTPS outcalls also for queries, instead of only update calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "XNet composite queries", - "overview": "Extending composite queries to work also across subnets, which gives full power to composite queries and simplifies building large-scale decentralized systems.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Capacity reservations for system calls", - "overview": "Allowing canisters to reserve capacity for certain crucial system calls such as chain-key signing or HTTPS outcalls. Reserved capacity is guaranteed to be available to the canister.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Replica key lifecycle V2 — Proactive security", - "overview": "Apply key rotation or resharing to a broader range of keys managed by the replica. Improved security against temporarily compromised replicas.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Resilience against slow nodes", - "overview": "Punishing ICP nodes that are constantly not performing to specification, i.e., failing too frequently to produce a block successfully when requested or being off-line for considerable time.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "User-paid messages", - "overview": "Using the regular gas model for specific settings: The caller, instead of the canister, pays for update and query calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Subnet splitting V2", - "overview": "An enhanced version of subnet splitting where all the heavy lifting is done by the protocol.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Blob storage", - "overview": "Storage of large amounts of data in a subnet using a new blob storage architecture with the cost of around 2x the SSD cost. More efficient and cheaper compared to regular storage on ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Blob streaming (download)", - "overview": "High-throughput download of data from a subnet's blob storage. The implementation of this can have the bulk data bypass consensus when being read by a user.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Blob streaming (upload)", - "overview": "High-throughput upload of data to a subnet's blob storage. An optimized implementation of this can have the bulk data bypass consensus, if uploaded by a user.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Eternal storage", - "overview": "A storage tier on ICP for which a one-off payment for an unlimited storage duration instead of periodic rent is paid.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Structured data storage", - "overview": "Library for structured data storage in stable memory to enable more powerful and convenient out-of-the-box data storage and querying.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Inter-subnet messaging across trust zones", - "overview": "Sovereign subnets are typically more centralized than ICP mainnet. Thus, messaging between subnets needs to consider the trust zones the subnets are in to maintain overall security.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Using cycles across trust zones", - "overview": "Transferring cycles from a sovereign network to ICP mainnet or subnets in different trust zones can, because of their weaker decentralization properties, not rely on directly sending cycles.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Decentralized AI", - "description": "Today, users have to blindly trust AI models running on centralized servers with no visibility into how data is used and how AI models produce responses. Decentralized AI solves this problem by bringing the trustworthiness, security, verifiability, and resilience of smart contracts to AI applications.", - "milestones": [ - { - "milestone_id": "Ignition", - "description": "In order to perform AI inference and training of larger models on chain, canister smart contracts need to run more compute- and memory-intensive workloads. This milestone expands the compute and memory capabilities of canisters and paves the way for future GPU hardware acceleration. A special focus is being placed on the developer experience by building tools to simplify writing AI applications.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "API for AI computations", - "overview": "API for smart contracts that allows them to run hardware-accelerated AI computations. Initially, hardware acceleration will rely on the CPU, paving the way for GPU hardware acceleration in the future.", - "description": "AI computations are typically a graph of a large number of floating-point operations. Abstracting those operations into an API streamlines the development of AI applications, and paves the way to introduce optiizations to these specialized workload.", - "status": "in_progress", - "milestone_id": "Ignition", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Wasm64 execution environment", - "overview": "The execution environment is lifted to Wasm64 with the benefit of a 64-bit address space and its much larger addressable memory, allowing developers to load larger models in main memory.", - "description": "The execution environment is lifted to Wasm64 with the benefit of a 64-bit address space and its much larger addressable memory.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Ignition" - }, - { - "title": "Tooling and libraries for developing AI smart contracts", - "overview": "Providing developer tooling and libraries for building AI smart contracts on ICP, reusing existing AI ecosystem tools wherever possible.", - "description": "Developers need tooling and libraries to implement AI smart contracts. Ideally, the existing AI ecosystem is reused as much as possible, but specialized tools and libraries might be needed for developing onchain AI applications.", - "status": "", - "milestone_id": "Ignition", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "Onchain AI Inference", - "milestone_id": "Cyclotron", - "description": "Allow smart contracts to run inference using AI models with millions of parameters fully on chain. The focus of this milestone is performance. There are performance optimizations that can be implemented both in the WebAssembly engine and the AI inference engine. The expected speedup is 10x and more.", - "eta": "July 15, 2024", - "status": "deployed", - "elements": [ - { - "title": "Faster deterministic floating-point operations", - "overview": "Accelerating deterministic floating-point computations in the Wasm engine.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://medium.com/@dfinity/the-next-step-for-deai-on-chain-inference-enabling-face-recognition-589183203fc2", - "is_community": false, - "in_beta": false, - "milestone_id": "Cyclotron" - }, - { - "title": "Wasm SIMD instructions", - "overview": "Deterministic SIMD (Single Instruction, Multiple Data) support in the Wasm execution engine for better performance of AI inference.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://medium.com/@dfinity/the-next-step-for-deai-on-chain-inference-enabling-face-recognition-589183203fc2", - "is_community": false, - "in_beta": false, - "milestone_id": "Cyclotron" - }, - { - "title": "Optimizing AI inference engine", - "overview": "This feature brings SIMD support to the open source inference engine used on ICP to leverage the upcoming support of SIMD operations in Wasm.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://medium.com/@dfinity/the-next-step-for-deai-on-chain-inference-enabling-face-recognition-589183203fc2", - "is_community": false, - "in_beta": false, - "milestone_id": "Cyclotron" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Increase the message instruction limit to 40 billion instructions", - "overview": "Increasing the message limit from 20 to 40 billion instructions to facilitate longer-running computations, which is crucial for AI inference.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "" - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Public specification for GPU-enabled nodes", - "overview": "The ICP community needs to agree and adopt the hardware specification for replica nodes with GPUs.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "AI-specialized subnets with GPU-enabled nodes", - "overview": "AI-specialized subnets are created from nodes with GPUs and host AI smart contracts for training and inference of large models.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase the instruction limit in queries from 5 billion instructions to 40 billion instructions.", - "overview": "The goal of this feature is to bring the instruction limit of queries on par with that of update calls by introducing a way for canisters to opt in into query charging.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Chain Fusion", - "description": "Chain Fusion technology enables blockchains like Bitcoin, Ethereum, and Solana to be \"fused\" together with ICP to create a seamless single-chain end-user experience for multi-chain dapps. Canister smart contracts on ICP orchestrate, augment, and interact with smart contracts on other chains using advanced chain-key technology and enhance those smart contracts with ICP's special capabilities and its superior compute and storage capacity and throughput.", - "milestones": [ - { - "name": "Chain Fusion Supports Solana", - "milestone_id": "Helium", - "description": "This milestone enables Chain Fusion for the Solana network, bringing Solana and ICP closer together, combining the powers of the two networks. Dapps leveraging the capabilities of both networks look and feel like single-network dapps.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Threshold EdDSA signing", - "overview": "Threshold EdDSA support using cryptographic multiparty computation (MPC). Enables trustless integrations with all chains using EdDSA on the Ed25519 curve like Solana or Cardano.", - "status": "deployed", - "eta": "2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Helium" - }, - { - "title": "Solana RPC canister", - "overview": "RPC canister connecting to Solana RPC providers to integrate with the Solana network. Enables two-way communication with the Solana network.", - "forum": "", - "proposal": "", - "docs": "https://github.com/mfactory-lab/ic-solana", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "milestone_id": "Helium" - } - ] - }, - { - "name": "Chain Fusion Supports EVM Chains", - "milestone_id": "Tritium", - "description": "ICP’s Chain Fusion technology has full support for Ethereum and other EVM chains. ICP smart contracts can read from and write to EVM chains using a decentralized approach as well as sign transactions in a trustless manner using threshold ECDSA signing. This allows ICP smart contracts to augment EVM-based smart contracts with additional functionality through ICP's superpowers, transfer tokens on other chains, and call smart contracts on EVM chains.", - "eta": "May 23, 2024", - "status": "deployed", - "elements": [ - { - "title": "RPC canister for Ethereum & EVM integration", - "overview": "Integration of ICP with EVM blockchains via a canister that accesses JSON RPC providers through HTTPS outcalls. Works for Ethereum and other EVM chains with RPC providers.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Tritium" - }, - { - "title": "Threshold ECDSA signing latency & throughput improvements", - "overview": "Reducing the latency of threshold ECDSA signing operations by reducing the number of required consensus rounds through protocol improvements. Also results in a throughput improvement.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Tritium" - }, - { - "title": "Chain-key ERC20 (ckERC20) tokens & ckUSDC", - "overview": "A subset of Ethereum's ERC20 tokens on ICP in the form of \"twin tokens\" called ckERC20 (chain-key ERC20). ckUSDC is to be among the first ckERC20 tokens.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Tritium", - "imported": true - } - ] - }, - { - "name": "Chain Fusion Supports Bitcoin ordinals and runes", - "milestone_id": "Deuterium", - "description": "ICP’s Chain Fusion technology has full support for Bitcoin protocols such as BRC20 and Runes. So far, ICP’s fully-onchain capabilities have been largely applied to use cases where Bitcoin is used as a means of value transfer, its original purpose. This milestone provides additional functionality that enables smart contracts to index and issue prominent types of Bitcoin inscriptions in a completely decentralized manner for the first time, thereby putting ICP into a unique position among all chains.", - "eta": "August 13, 2024", - "status": "deployed", - "elements": [ - { - "title": "Threshold Schnorr signing", - "overview": "Threshold Schnorr signing support based on multiparty computation (MPC). Enables trustless integrations with the Bitcoin network using Schnorr-BIP340 for supporting inscriptions.", - "status": "deployed", - "eta": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Deuterium" - }, - { - "title": "Onchain Bitcoin block headers", - "overview": "Exposing an onchain API to access all Bitcoin block headers to enable dapps to trustlessly access the full Bitcoin block content.", - "status": "deployed", - "eta": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Deuterium" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Direct Bitcoin Integration", - "overview": "Native integration with the Bitcoin blockchain. Trustless reading from and writing to the Bitcoin network from canister smart contracts.", - "forum": "https://forum.dfinity.org/t/direct-integration-with-bitcoin/6147", - "proposal": "https://dashboard.internetcomputer.org/proposal/20586", - "docs": "https://internetcomputer.org/bitcoin-integration", - "eta": "2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Threshold ECDSA Signatures (a.k.a. Chain-key ECDSA)", - "overview": "Threshold ECDSA protocol suite based on multi-party computation (MPC). Enables trustless integrations with ECDSA-based chains.", - "forum": "https://forum.dfinity.org/t/threshold-ecdsa-signatures/6152", - "proposal": "https://dashboard.internetcomputer.org/proposal/21340", - "docs": "https://internetcomputer.org/docs/current/developer-docs/integrations/t-ecdsa/", - "eta": "2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "ECDSA key rotation and resharing", - "overview": "Periodic key rotation and resharing to improve resilience against adaptive attacks against the threshold ECDSA protocol.", - "forum": "https://forum.dfinity.org/t/threshold-ecdsa-signatures/6152/245", - "proposal": "", - "docs": "", - "eta": "2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Chain-key Bitcoin (ckBTC) token", - "overview": "Twin token of Bitcoin on ICP, realized with the native Bitcoin integration and threshold ECDSA. Fast, low-fee Bitcoin transfers on ICP.", - "forum": "https://forum.dfinity.org/t/chain-key-bitcoin-ckbtc-bitcoin-wrapped-by-a-smart-contract/17606/", - "proposal": "https://dashboard.internetcomputer.org/proposal/50135", - "docs": "", - "eta": "April 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "X-chain token minter V1 (ERC20-ICP)", - "overview": "First version of the X-chain token minter bringing the ICP token to Ethereum.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "2023-09-23", - "is_community": true, - "in_beta": false - }, - { - "title": "Chain-key Ether (ckETH) token", - "overview": "Ethereum's Ether token on ICP in the form of a \"twin token\" called ckETH (chain-key ETH).", - "forum": "https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "EVM in a canister", - "overview": "An low-fee, high-performance EVM implemented as set of canisters on ICP with trustless integration with the Bitcoin network.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Threshold ECDSA — Throughput improvements", - "overview": "Improving throughput of chain-key ECDSA via multiple protocol improvements such as batching, parallel processing of crypto operations, and cryptographic protocol improvements.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Chain-key SOL (ckSOL) token", - "overview": "Solana's SOL token on ICP in the form of a \"twin token\" called ckSOL (chain-key SOL).", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Oracles with signed responses", - "overview": "Adding exchange rate oracles that threshold sign their responses. Required for adoption of ICP's trustless oracles in other blockchain ecosystems.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Chain-Key BRC20 (ckBRC20) tokens", - "overview": "A generic chain-key variant of BRC20 tokens on ICP to support ordinals.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Direct Ethereum integration", - "overview": "Direct integration of the Internet Computer with the Ethereum blockchain enables canisters to call smart contracts on Ethereum and vice versa in a trustless manner.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382/6", - "proposal": "https://dashboard.internetcomputer.org/proposal/35635", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Onchain Bitcoin explorer", - "overview": "Fully onchain Bitcoin explorer running on ICP. Adds a missing piece of decentralized infrastructure to the Bitcoin ecosystem.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Onchain Ethereum block explorer", - "overview": "Ethereum block explorer running fully on chain on ICP. Adding a missing piece of decentralized infrastructure to the Ethereum ecosystem.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Larger threshold for threshold signing and key backup", - "overview": "Increasing the threshold of the ECDSA signing and key backup schemes from 1/3 towards up to 1/2 by giving up some availability for stronger security.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Threshold signing with substantially increased throughput", - "overview": "Considerably improving threshold signing throughput for threshold Schnorr & threshold EdDSA, based on a new cryptographic protocol architecture.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "X-chain token minter V2 (ERC20-ICRC)", - "overview": "Enhanced version of the X-chain token minter, generalizing the approach from ICP only to ICRC-1 tokens to be brought to Ethereum.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "X-chain token minter V3", - "overview": "A further enhanced version of the X-chain token minter, bringing ICP and ICRC-1 tokens to other blockchain networks such as Ethereum L2s and Solana.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-1 interface for native BTC, ERC20 and others", - "overview": "Exposing an ICRC-1 interface to tokens of token standards from other networks, such as BTC or ERC20. This will make X-chain tokens on ICP more easy to use.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Ethereum and Bitcoin optimistic logging and settlement", - "overview": "Settling a fingerprint of a canister's state to ultra-high-replication blockchains such as the Bitcoin or Ethereum networks. The first version is optimistic in that the settled value cannot be publicly verified.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Native USDC integration through CCTP", - "overview": "Bringing USD Coin (USDC) natively to ICP via integration with Circle's CCTP (Cross-Chain Transfer Protocol).", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "BTC ordinals indexer and inscriber", - "overview": "BTC ordinals indexer and inscriber running fully on chain on ICP. Adding a missing decentralized piece of infrastructure to the Bitcoin ecosystem to help it become more decentralized.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Privacy", - "description": "Canister smart contracts can be used to implement privacy-preserving dapps that give users full control over their data. Leveraging cryptographic protocols, ICP enables developers to build dapps where users store and share encrypted data onchain. Advanced cryptographic protocols will eventually allow computations on encrypted data.", - "milestones": [ - { - "name": "vetKeys for Decentralized Key Management", - "milestone_id": "Niobium", - "description": "vetKeys technology realizes a decentralized key management service, allowing users to derive cryptographic keys on demand, in a fully decentralized way. This allows developers to build dapps where users’ data is encrypted, addressing privacy needs on a public blockchain.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "ICP integrates the vetKeys protocol", - "overview": "Implementing threshold key derivation to allow for threshold decryption and other use cases. Canisters can store end-to-end-encrypted user data.", - "forum": "https://forum.dfinity.org/t/threshold-key-derivation-privacy-on-the-ic/16560", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/integrations/vetkeys/technology-overview", - "eta": "Q2 2025", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Niobium", - "imported": true - }, - { - "title": "User-space libraries and example dapps for vetKeys", - "overview": "Implementation of libraries and examples that make it easier for users and developers to use vetKeys technology and improve the security and privacy of dapps.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2025", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Niobium", - "imported": false - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "vetKeys API mock implementation", - "overview": "For facilitating the community discussions regarding the API of vetKeys, a mock implementation has been provided in a canister and used to converge to the final API.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "" - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Disaster recovery for SEV-SNP-enabled subnets", - "overview": "SEV-SNP raises the level of security, but also makes disaster recovery harder. SEV-SNP-enabled subnets need to be made recoverable, e.g., by securely escrowing its secure enclave key material on the NNS.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "SEV Support for Replica Nodes", - "overview": "Enabling the SEV-SNP trusted computing technology for the Replica VM to protect sensitive data from unauthorized access.", - "forum": "https://forum.dfinity.org/t/amd-sev-virtual-machine-support/6156", - "proposal": "https://forum.dfinity.org/t/long-term-r-d-tee-enhanced-ic-proposal/9384/4", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SEV-SNP-enabled ECDSA subnet", - "overview": "The threshold ECDSA signing and backup subnets are enabled with SEV-SNP to raise the protection level against data exfiltration attacks by entities with access to the nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "SEV-SNP for app subnets", - "overview": "Regular app subnets receive SEV-SNP protection to make them harder to tamper with and to enable attestation of running the correct software image.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Fully-homomorphic encryption (FHE)", - "overview": "Fully-homomorphic encryption (FHE) allows for arbitrary computations on encrypted data and only authorized parties to decrypt the result. Blockchain data privacy.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Cryptographic multi-party computation (MPC)", - "overview": "Running MPC on the blockchain nodes allow for privacy-preserving arbitrary computations to be made, with only authorized parties learning the results.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Platform Decentralization", - "description": "The security of ICP is based on the elimination of central points of control. A user interacting with ICP shall not need to rely on a single party. Besides architectural aspects, such as the edge infrastructure, this also encompasses operational aspects, complementing the DAO-based governance of ICP.", - "milestones": [ - { - "name": "Edge Infrastructure is Fully Decentralized", - "milestone_id": "Solenoid", - "description": "ICP is accessible through a decentralized edge infrastructure, which is split into NNS-controlled API Boundary Nodes and HTTP Gateways. The NNS will appoint node machines to run API Boundary Nodes and anyone will be able to run HTTP Gateways, enabling a much more decentralized ICP edge infrastructure with a diverse set of service providers.", - "eta": "January 2025", - "status": "in_progress", - "elements": [ - { - "title": "HTTP Gateways", - "overview": "The HTTP Gateway becomes a standalone component as part of the new Boundary Node architecture.", - "forum": "https://forum.dfinity.org/t/boundary-node-roadmap/15562", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid", - "imported": true - }, - { - "title": "Incident Handling under the New Boundary Node Architecture", - "overview": "To protect the core of the Internet Computer, processes must be established to configure temporary rate limits at API boundary nodes during incidents.", - "forum": "https://forum.dfinity.org/t/incident-handling-with-the-new-boundary-node-architecture/36390", - "proposal": "https://dashboard.internetcomputer.org/proposal/134031", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid", - "imported": true - }, - { - "title": "Community-owned HTTP Gateways", - "overview": "As part of the new boundary-node architecture, the HTTP gateway is turned into a standalone service, which is easily deployable by anyone, including end users.", - "forum": "https://forum.dfinity.org/t/boundary-node-roadmap/15562", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "https://github.com/dfinity/ic-gateway", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid" - }, - { - "title": "API Boundary Nodes (NNS controlled)", - "overview": "In the new boundary-node architecture, API boundary nodes are placed under the full control of the NNS and function as the edge of the IC.", - "status": "deployed", - "forum": "https://forum.dfinity.org/t/boundary-node-roadmap/15562", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "https://github.com/dfinity/ic/tree/master/rs/boundary_node/ic_boundary", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid" - } - ] - }, - { - "name": "Decentralized access logs and metrics", - "milestone_id": "Levitron", - "description": "This milestone establishes visibility into the Internet Computer's edge infrastructure by making aggregated API boundary node access logs publicly accessible. This provides developers with valuable insights into their dapps' usage patterns and facilitates the generation of user statistics, offering key information on traffic sources. To guarantee the integrity of these logs, the milestone focuses on leveraging trusted execution environments, specifically AMD SEV-SNP.", - "eta": null, - "status": "future", - "elements": [ - { - "title": "SEV-SNP-protected API Boundary Nodes", - "overview": "Security for API boundary nodes is improved using trusted execution (AMD SEV-SNP), enabling anyone to attest that the correct software is running.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-boundary-nodes-proposal/9401", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "milestone_id": "Levitron", - "status": "upcoming", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Public API Boundary Node logs and metrics", - "overview": "Anyone can analyze the API boundary node access logs to gain insights into app usage patterns etc.", - "forum": "", - "proposal": "", - "milestone_id": "Levitron", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Gen 2 Replica Node Hardware Specification", - "overview": "Specification of the Gen 2 hardware for ICP nodes. Vendor independent. Includes new features such as SEV-SNP CPUs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "January 2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "HostOS upgrades", - "overview": "NNS-controlled HostOS upgrades enable also the HostOS to be kept up-to-date and security patched via the NNS.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Feb 2024", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "ICOS Boundary Nodes", - "overview": "Porting the boundary node to the replica's IC OS to simplify operations.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-boundary-nodes-proposal/9401", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "August 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Canister SEO", - "overview": "Enables dapps on ICP to be index by search engines and previewed on social media. Boundary nodes redirect requests from crawlers and bots to raw in order to avoid loading the service worker.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "September 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Canister Deny-listing on Boundary Nodes", - "overview": "Node providers can deny-list canisters to comply with local regulations and orders. Decentralized content blocking.", - "forum": "https://forum.dfinity.org/t/path-forward-on-leveraging-boundary-nodes-for-content-filtering/10911", - "proposal": "", - "docs": "", - "eta": "October 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Custom Domain Names", - "overview": "Custom domain names for canisters on ICP. DNS entry of domain redirects to boundary nodes.", - "forum": "https://forum.dfinity.org/t/custom-domains-for-ic0-app-community-consideration/6162", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "https://internetcomputer.org/docs/current/developer-docs/production/custom-domain/", - "eta": "February 2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "WebSocket support for canisters", - "overview": "WebSocket-based communication with canister smart contracts through an IC WebSocket gateway. Enables the canister to push messages to the client.", - "forum": "https://forum.dfinity.org/t/23872", - "proposal": "", - "docs": "https://github.com/omnia-network/ic-websocket-gateway", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Certified Headers", - "overview": "Flexible certification of canister-defined response headers besides the response body.", - "forum": "https://forum.dfinity.org/t/announcing-response-verification-v2/19135/1", - "proposal": "", - "docs": "", - "eta": "March 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Secure access to ICP without service worker", - "overview": "Relying on local and remote HTTP gateways to securely access ICP dapps from the browser.", - "forum": "https://forum.dfinity.org/t/deprecating-the-service-worker/23401", - "proposal": "", - "docs": "", - "eta": "Q4 2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Replica Node Storage Upgrade", - "overview": "Upgrading the storage of existing replica nodes to 32 TB of NVME SSD.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Alerting of Node Providers in case of Node Failure", - "overview": "Alert Node Providers if one of their nodes starts misbehaving or underperforming.", - "forum": "", - "proposal": "", - "docs": "https://wiki.internetcomputer.org/wiki/Node_Provider_Alerting_Options", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Public access to a subset of node metrics", - "overview": "Giving node providers access to a subset of node metrics to help them find out in a fully decentralized manner whether nodes are behaving well, and to roughly compare node performance.", - "forum": "https://forum.dfinity.org/t/public-internet-computer-ic-node-metrics-available-now/32961", - "proposal": "", - "docs": "https://github.com/dfinity/ic-observability-stack", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Tooling for node provider self onboarding", - "overview": "Node provider onboarding through improved tooling and a GUI. Better UX for node provider onboarding than using the command line.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false - }, - { - "title": "Subnet rental", - "overview": "Anyone can rent subnets created with possibly different decentralization properties than mainnet, and have full control over the subnet's resources.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "Certification libraries", - "overview": "The libraries assist developers in managing certification at the appropriate level of abstraction, addressing the complexity of securely interacting with the IC.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/response-verification", - "is_community": false, - "in_beta": false - }, - { - "title": "Off-chain observability stack for Node Providers", - "overview": "Observability solution for Node Providers to enable them to independently triage node health and take corrective action in case of problems.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Performance-based node provider rewards", - "overview": "Node rewards are awarded according to the node's contributions to the protocol, based on trustworthy node metrics, which are provided and signed by the IC network itself. This creates a cryptoeconomic incentive to encourage honest node provider behaviour.", - "forum": "https://forum.dfinity.org/t/performance-based-node-rewards/35208", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false - }, - { - "title": "HTTP Asset Caching", - "overview": "Building on response verification v2, HTTP gateways support caching of static assets such as HTML pages, JavaScript code, and images.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-boundary-nodes-proposal/9401", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Certified queries", - "overview": "Enable certified queries by having boundary nodes send a query to multiple replicas and aggregating the signed responses. Better efficiency than fully-replicated calls, and comparable security.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "upcoming", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SEV-SNP-protected HTTP Gateway", - "overview": "Trusted execution (AMD SEV-SNP) enables trustless HTTP gateways, empowering users to remotely attest that the correct software image is running.", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "status": "upcoming" - }, - { - "title": "CDN canisters on edge infrastructure", - "overview": "Read-only canisters run on the ICP edge infrastructure in a non-replicated manner, bringing read-heavy data closer to the edge, analogous to CDNs.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Chain Name System (CNS)", - "overview": "A decentralized naming system built into the ICP that allows translating user-friendly domains into various records (e.g., A records as used in DNS or wallet addresses), while ensuring verifiability and reliability.", - "forum": "https://forum.dfinity.org/t/technical-working-group-naming-system/21236", - "proposal": "", - "docs": "https://github.com/dfinity/cns", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Node Provider Remuneration V3", - "overview": "Improves the V2 remuneration model by considering things like different multipliers per region, nodes per data center, penalties, or remuneration based on metrics such as cycles burnt.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Strengthened node provider checks and audits", - "overview": "Strengthening the checks of entities intending to join ICP as node providers. May also include node provider audits.", - "forum": "https://forum.dfinity.org/t/technical-working-group-node-providers/30255", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Autonomous capacity management", - "overview": "Making capacity management of the ICP network more decentralized and autonomous, driven by community proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Community can run system tests", - "overview": "Enabling the community to run system tests for the ICP codebase, using Kubernetes as container orchestrator.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Decentralized backup and recovery", - "overview": "Enabling decentralized backup and recovery of canisters. Recovered canisters are guaranteed to not have been tampered with.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Public contributions to IC repository", - "overview": "Allowing for contributions by the public to the IC source code repository.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Gen 3 Replica Node Hardware Specification", - "overview": "Specification of the Gen 3 hardware for the third generation of ICP nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Rewards-driven DRE", - "overview": "Rewards-driven decentralized reliability (DRE) and capacity management on ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Identity", - "description": "An identity solution that is privacy-preserving, self-sovereign, and user-friendly is a fundamental building block for web3 adoption. Internet Identity provides a robust authentication solution based on passkeys, with easy onboarding and support for identity attributes while protecting the users’ privacy.", - "milestones": [ - { - "name": "Signer standards in use by ICP dapps and wallets", - "milestone_id": "Synchrotron", - "description": "With Synchrotron, ICP finally acquires the capability to create a vibrant and diverse ecosystem of signers, dapps and canisters that can interact with each other, without having to specifically integrate with any particular component.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Identity signer standards", - "overview": "Standards that enable an untrusted relying party (e.g., canister or web app) to request a signer to sign a transaction for ICP after user approval. Alternative to II's delegation model for high-security use cases or when stable identities are required with different canisters.", - "description": "Users will be able to use a single wallet address across many different applications, making wallets built on the Internet Computer and relying on Internet Identity for key management to be portable. This way, users can bring their digital assets with them across applications and services while relying on Internet Identity for key management.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": true, - "milestone_id": "Synchrotron" - }, - { - "title": "Transaction approval on Ledger's ICP app", - "overview": "Signer standards are coming to the Ledger HW ICP app. Specifically, the Leger ICP app will acquire the ability to interact with dapps that support signer standards and display ICRC-21 compatible messages to the user.", - "description": "Ledger users will be able to confirm and authorize a digital currency transaction initiated through a compatible dapp. The Ledger device will first validate the BLS-signed incoming message and after the user reviews the transaction details, e.g., recipient address, amount, and any associated fees, the Ledger device will digitally signing and send the transaction.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": true, - "milestone_id": "Synchrotron" - }, - { - "title": "Support II authentication to Web2 services", - "overview": "Secure, privacy-enhancing authentication for Web2 by bringing ICP's II authentication to Web2 services.", - "description": "Secure, privacy-enhancing authentication for Web2 by bringing ICP's II authentication to Web2 services.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": true, - "milestone_id": "Synchrotron" - } - ] - }, - { - "name": "Verifiable Credentials Platform is Live", - "milestone_id": "Separatrix", - "description": "With this milestone, ICP offers the infrastructure and tooling to issue, share, and consume credentials in a privacy-preserving fashion. Users are in control of their credentials, giving them a self-sovereign digital identity. At the same time, new credential issuers, such as a KYC service, go live on ICP and will enable new use cases such as security tokens subject to financial regulations.", - "eta": "June 18, 2024", - "status": "deployed", - "elements": [ - { - "title": "Verifiable credentials", - "overview": "Verifiable credentials are digital representations of data (qualifications, achievements, or attributes) that are cryptographically secured and portable, enabling efficient and trustworthy sharing of personal data while maintaining privacy and control.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Separatrix" - }, - { - "title": "SSI SDK for Relying Parties", - "overview": "We will be providing tooling, libraries and standards so that relying parties looking to integrate to ICPs VC platform can do so correctly and efficiently.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": true, - "milestone_id": "Separatrix" - }, - { - "title": "Verifiable credentials playground", - "overview": "A dapp that introduces the concepts of verifiable credentials to prospective identity issuers and relying parties with the aim to facilitate adoption.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": true, - "milestone_id": "Separatrix" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Device registration via QR code", - "overview": "Registering another device for an internet identity and linking it to an existing device via scanning a QR code.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Recovery phrase verification", - "overview": "Requiring the user to confirm a few random elements of a new recovery phrase to assure they have a copy of the phrase.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Protected recovery phrase", - "overview": "Requiring knowledge of the previous recovery phrase in order to remove or replace it. Avoids accidental deletion / replacement of the recovery phrase, or through compromised WebAuthn key.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II stable memory migration", - "overview": "Moving identities from heap storage to stable memory data structures. Massively increases available storage for identities and reduces risks of bricking the canister during updates.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II archive canister", - "overview": "Archive canister for recording any changes to identities managed by II. Provides full traceability regarding IIs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II canister subnet migration", - "overview": "Migration of the II canister from the NNS governance subnet to another high-replication subnet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "DoS protection based on Captchas", - "overview": "Captchas are employed to protect the creation of an unlimited amount of IIs by single entities.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Identity creation rate limiting", - "overview": "Enforing rate limits on the number of new IIs that can be created per time interval to avoid filling up storage of the II canister.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II metrics", - "overview": "Providing II-related metrics for the dashboard. Shows the authentication means users have to authenticate to II.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II Temporary Keys", - "overview": "Social dapps requested that users can onboard to Internet Identity without creating passkeys to reduce friction during onboarding.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Streamlined II onboarding", - "overview": "Streamlined onboarding experience for obtaining a new II. Crucial for bringing more end users into the ICP ecosystem.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Alternative origins", - "overview": "Alternative origins enable domain migration for services users authenticate with. Multiple alternative origins can represent a service and users will have the same principal for those.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Login security in stages", - "overview": "Fast onboarding to Internet Identity and deferred handling of recovery factors such as seed phrases and additional devices.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed" - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Resident passkeys", - "overview": "Explore the potential of resident passkeys to remove the requirement for users to remember their identity numbers.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "ICP DID (Decentralised Identifier) method", - "overview": "Specify a canonical ICP DID method for DID creation, resolution, update, delegation and deletion.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Verifiable Credentials protocol extension", - "overview": "Extension of the Verifiable Credentials protocol to allow the VC issuer frontend to participate in credentials sharing.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Verifiable Credentials Billing", - "overview": "Billing for provisioning of verifiable credentials. Enables a business model for identity providers.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "External services authentication to canisters", - "overview": "Allowing users to authenticate to canisters via Web2-based authentication services. True Web2-Web3-X-SSO.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Usernames instead of Anchors", - "overview": "Usernames are easier to remember and better reflect what users are used to from Web2 to identify to services.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Decentralized KYC", - "overview": "Decentralized onchain KYC system that provides a real-world identity backbone to ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Social recovery", - "overview": "Recovery of an identity in case the device or credentials are lost by recovering the underlying key from the user's social circle who hold key shares.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Configurable II", - "overview": "Dapps can customize their configuration of II to meet the needs of their users and their product.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Root domain name independence", - "overview": "Make internet identities independent of the domain II was executing in when the II has been created. Important to ensure II anchors remain accessible even if II's root domain needs to be switched.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Identity management", - "overview": "Bringing comprehensive identity management features to II: Giving users a 360° view on their identities, such as their open sessions, credential sharing history, or pseudonyms used with parties.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "ZK-II (Zero-knowledge II)", - "overview": "Cryptographically privacy-preserving II, based on vetKeys, that unconditionally prevents linkability of identities.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Digital Assets", - "description": "DeFi protocols, real-word asset tokenization, and other digital asset solutions are strong drivers of web3 adoption. ICP’s Chain Fusion capabilities, unparalleled scalability, and the ability to serve web assets from chain opens up novel digital asset classes. Moreover, it makes ICP an attractive platform to build multi chain custody solutions and wallets.", - "milestones": [ - { - "name": "OISY Wallet v1.0 - The official Launch", - "milestone_id": "Helios", - "description": "With the Helios release, officially named v1.0, OISY will step out of the beta status into its first production version. This includes functional coverage of all key features like buy, receive, send, swap, and convert from and to chain-key tokens, and with several major blockchains integrated, also a true multi-chain nature. Behind the scenes, it also includes setting up proper processes for product improvement, marketing, automated testing, and setting up a user friendly support process.", - "eta": "January 2025", - "status": "in_progress", - "elements": [ - { - "title": "Solana Integration", - "overview": "OISY widens its multi-chain reach beyond Bitcoin and Ethereum, and will integrate with the most important networks. Solana is the first one to be implemented, a crucial step forward in our mission to deliver a true multi-chain wallet for decentralized finance (DeFi) users.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Helios" - }, - { - "title": "In-Wallet Swaps", - "overview": "Introducing in-wallet swaps, this release will enhance flexibility for managing assets, allowing users to seamlessly change their asset allocation directly in OISY using DEX liquidity, mitigating risk or aiming for a higher yield.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Helios" - }, - { - "title": "Promote Chain-Key Tokens", - "overview": "With improved screens, flows, and helper texts for chain fusion conversions, OISY will provide users with the right information at the right places to make informed decisions to easily convert native tokens into their chain fusion twins or vice versa.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Helios" - } - ] - }, - { - "name": "The Orbit Multi-Custody Asset Framework", - "milestone_id": "Poloidal", - "description": "Orbit is a comprehensive digital assets framework, enabling simple to advanced rules over user digital assets. Initially tailored for token management, it provides robust support for 1-out-of-M to complex approval policies for financial transactions. It also supports secure management of infrastructure like canister installations and upgrades. Teams and businesses can confidently handle ICP, ckETH, and compatible tokens using Orbit's advanced security features, vital for those seeking a stable and reliable management over their treasury.", - "eta": "February 2025", - "status": "in_progress", - "elements": [ - { - "title": "Orbit Multi custody wallet for ICP", - "overview": "Users can securely share ownership of the ICP token with a fully onchain wallet. From simple 1-out-of-2 configurations to sophisticated approval policy rules, Orbit provides comprehensive support for secure financial transactions with a flexible user-role-based system.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Poloidal" - }, - { - "title": "Secure canister management", - "overview": "Teams building their product vision require secure shared access to dapp control. Orbit's rule engine enables policies specifying how many users are needed to approve canister management operations like upgrades and installations, preventing a single member from seizing control.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Poloidal" - }, - { - "title": "Orbit supports ICRC-1", - "overview": "Users can manage non-ICP tokens like ckBTC and ckETH with confidence using Orbit's advanced security features, ensuring secure multi-token management.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Poloidal" - } - ] - }, - { - "name": "Oisy, a Multi-chain Wallet Powered by Chain Fusion", - "milestone_id": "Toroidal", - "description": "Oisy is a wallet with a unique combination of properties. It is the first smart contract wallet that is self-custodial, multi-chain and uses passkeys for authentication, while being fully accessible through the browser. Oisy supports ICP-based dapps through ICRC-21, EVM-based dapps through WalletConnect, and easily converts between native Ethereum tokens and their ck twins.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "Oisy ownership model", - "overview": "Shift Oisy's ownership model to a canister-per-user model. Under this change, the digital assets for each Oisy user will reside in a user-controlled canister.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Toroidal" - }, - { - "title": "Oisy Beta Launch", - "overview": "Make the Oisy wallet accessible to external users.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://oisy.com/", - "is_community": false, - "in_beta": true, - "milestone_id": "Toroidal" - }, - { - "title": "Signer standards in Oisy", - "overview": "Oisy is upgraded to support the signer standards to foster a vibrant and diverse ecosystem of signers and relying parties. Users can then safely transact with digital assets using their Oisy wallet and signer standards compatible dApps.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Toroidal" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "ICRC-1: Fungible tokens on ICP", - "overview": "Fungible token standard for the Internet Computer, improving on the ICP token standard. Accounts using principal-subaccount pairs instead of hashed addresses.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "ICRC-2: Approve and transfer_from for ICRC-1 tokens", - "overview": "Extending ICRC-1 with ERC-20-stlye approve / transfer_from functionality, but enhanced for the IC.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Oisy", - "overview": "Network custodial wallet for EVM blockchains. Naming derived from Open-Internet-Services-like (OISy).", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "ICRC-3: transaction log for ICRC ledgers standard", - "overview": "Standard for the transaction log format for ICRC ledgers. Prerequisite for unified integration of ICRC tokens with centralized exchanges.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "March 2024", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "On-ramp for ICP and other tokens", - "overview": "On-ramping for ICP and further tokens to simplify the onboarding experience", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "ICRC-7: Basic non-fungible token (NFT) standard", - "overview": "Basic non-fungible token (NFT) standard for the Internet Computer featuring batch APIs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-37: Approve / transfer_from extension for ICRC-7.", - "overview": "Approve / transfer_from extension for the ICRC-7 basic NFT standard for the Internet Computer. Simplifies many scenarios by avoiding error scenarios of regular transfers.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-3 implementation for ICRC-1 ledgers", - "overview": "Implementation of the ICRC-3 transaction log standard for the ICRC-1 ledger implementation and rollout to SNS, ckBTC, and ckETH ledger deployments.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Rosetta for ICRC ledgers", - "overview": "Implement the Rosetta standard for ICRC-based ledgers. Enables ICRC tokens to be handled by centralized exchanges.", - "status": "in_progress", - "eta": "2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Trust Wallet integration", - "overview": "Integrating ICP with the widely-used Trust Wallet project to facilitate adoption of ICP beyond the current audience.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-4: Batch transfers for fungible tokens standard", - "overview": "Extension standard for ICRC-1 defining batch transfers for ICRC-1 tokens. Batching transactions improves throughput and can reduce cost.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-21 canister call consent messages", - "overview": "Standard for a protocol for obtaining human-readable consent messages for canister calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-22 payment request formats", - "overview": "Standard for expressing payment requests for tokens on ICP as URLs and thus also QR codes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "Implement ICRC-21 in Ledger devices", - "overview": "The implmentation of ICRC-21 in Ledger devices will allow us to support generic transactions.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Chain-key token (ck token) support in the ICP wallet", - "overview": "Support for chain-key tokens (ck tokens) in the ICP wallet.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Ledger Live staking integration", - "overview": "Ledger live acquires the ability to stake ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-7/-37 NFT standard in mobile wallets", - "overview": "Bringing the ICRC-7 and ICRC-37 standards for NFTs on ICP to mobile wallets.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Institutional custody integration for custody & staking of ICP and ICRC tokens", - "overview": "An integration of the Internet Computer blockchain with institutional custody providers to support custody and staking for ICP and ICRC tokens.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Ledger metrics", - "overview": "This feature collects and exposes certain metrics of ledgers on the Internet Computer. Both the ICP ledger as well as ICRC-1/-2/-3 ledgers receive metrics support.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Governance & Tokenomics", - "description": "The ICP has two kinds of built-in governance systems. The NNS is the DAO governing the ICP protocol. The SNS framework is a toolbox for creating DAOs that govern individual dapps. Both are open for everyone to participate and facilitate decentralized decision making. Tokenomics incentivise voting participation and ensure that DAO decisions are aligned with the long-term interests of the ICP and the governed dapps.", - "milestones": [ - { - "name": "Active Liquid Democracy", - "milestone_id": "Plasma", - "description": "The NNS and SNS DAOs facilitate active liquid democracies by lowering the entry barrier for participation and providing better inputs for well-informed decisions. This includes direct voting as well as delegating some voting decisions to others. As a result, more users stake tokens and participate in DAOs to form lively communities. The resulting network effects foster additional adoption and growth.", - "eta": "January 2025", - "status": "in_progress", - "elements": [ - { - "title": "Neurons table design", - "overview": "The neurons table view provides several improvements over the grid layout from the initial design, making it easier for users to quickly get an overview of their neurons.", - "description": "There are two interconnected tables in the proposed design. The projects table shows an overview of all projects a user holds neurons in, while the neurons table provides a detailed overview of neurons a user holds within one DAO.", - "forum": "https://forum.dfinity.org/t/nns-dapp-feature-proposal-neurons-table-view/30750", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Actionable proposals", - "overview": "Show users which DAOs have proposals they can still vote on, so that users don't need to manually check every day", - "description": "It can be easy to miss proposals from DAOs that users don't check frequently. To ensure that DAO participants never miss proposals, show users which DAOs have proposals they can vote on.", - "forum": "https://forum.dfinity.org/t/showing-actionable-proposals-in-the-nns-dapp/28241", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "SNS name/logo change via proposal", - "overview": "Several SNS DAOs have grown and evolved since they became SNS's. These communities should be able to rebrand themselves by chaning their name, logo, and more via proposals.", - "description": "Several SNS DAOs have grown and evolved since they became SNS's. These communities should be able to rebrand themselves by chaning their name, logo, and more via proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Allow canisters to control neurons", - "overview": "Some SNS DAOs are looking to use parts of their ICP treasury to stake in the NNS and participate in ICP's governance. This feature will allow SNS DAOs to stake in the NNS.", - "description": "Some SNS DAOs are looking to use parts of their ICP treasury to stake in the NNS and participate in ICP's governance. This feature will allow SNS DAOs to stake in the NNS", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Encourage active governance participation", - "overview": "The NNS is at the heart of ICP constantly evolving the network. It is therefore crucial that developer teams and other members of the ICP community take an active role in verifying and voting on NNS proposals.", - "description": "The NNS is at the heart of ICP constantly evolving the network. It is therefore crucial that developer teams and other members of the ICP community take an active role in verifying and voting on NNS proposals.", - "forum": "https://forum.dfinity.org/t/grants-for-voting-neurons/32721", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "ICRC-1 token imports", - "overview": "One of the most requested community features is to allow users of the NNS dapp to import any token that supports ICRC-1 to store in their account.", - "description": "One of the most requested community features is to allow users of the NNS dapp to import any token that supports ICRC-1 to store in their account.", - "forum": "https://forum.dfinity.org/t/feature-proposal-importing-tokens-to-the-nns-dapp/31230", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Private & public neurons", - "overview": "Introduce public and private neurons to enable creating a neuron index. Public neurons would expose additional information about themselves including their ballots.", - "description": "Public neurons provide more transparency to followers, while private neurons keep ballots confidential. This introduces more transparency by revealing all neurons’ IDs and their stake", - "forum": "", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/daos/nns/concepts/neurons/neuron-management", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Improved SNS upgrades", - "overview": "Upgrading SNS canisters is crucial for SNS DAOs to receive the latest features and security updates. These updates are not straightforward and may require multiple proposals. This feature is about simplifying SNS upgrades.", - "description": "Upgrading SNS canisters is crucial for SNS DAOs to receive the latest features and security updates. These updates are not straightforward and may require multiple proposals. This feature is about simplifying SNS upgrades.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - } - ] - }, - { - "name": "Prepare for Scaling", - "milestone_id": "Neon", - "description": "As both the number of SNS DAOs and the number of DAO participants grow within them, it is crucial to have a robust system that can handle the ever-growing communities. Preparing for growth means not only improving the underlying infrustucture to handle increased load, but also enhancing the user experience at all levels (from developers to end users), so when new people come to the ICP ecosystem, they will have a frictionless onboarding.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Periodic Followee Confirmation", - "overview": "Require neuron owners to confirm their neurons’ following settings periodically.", - "description": "This roadmap item is based on the community proposal 55651. Caveat: A periodic reconfirmation of neuron following would presumably (at least initially) result in an active voting power of below 50% for non-governance topics. Thus, even if all voters voted, the system would have to wait for the end of the voting period, which is problematic in case of urgent updates (e.g. update of a subnet). This limitation needs to be mitigated.", - "forum": "https://forum.dfinity.org/t/periodic-confirmation-design/34215", - "proposal": "https://dashboard.internetcomputer.org/proposal/55651", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "imported": true, - "milestone_id": "Neon" - }, - { - "title": "Stable memory for governance", - "overview": "Utilizing stable memory in different parts of the NNS and SNS framework will allow ICP's governance to handle a larger number of participants, preparing it for continued growth.", - "description": "Utilizing stable memory in different parts of the NNS and SNS framework will allow ICP's governance to handle a larger number of participants, preparing it for continued growth.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Improved neuron following experience", - "overview": "Neuron following is a key component of ICP's liquid democracy. Improvements to following include grouped SNS proposal topics, simplified staking user flow, and more.", - "description": "Today, it is quite cumbersome to set up several neurons at the same time, especially in cases where a user intends to follow a more diverse set of neurons based on the proposal topic. This is because neuron followees are saved each time they are set for a topic. A potential solution would be to allow the user to create a followee setup, and save it once they are happy with it, or even do batch neuron actions. Another goal is to improve the NNS dapp so that special cases for proposal following become intuitively visible, for example if some proposals are not covered by the “catch-all” following or are categorized as critical.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Notifications in the NNS dapp", - "overview": "The NNS is constantly evolving. This feature will let users know of new features, if they are required to take actionm or alert them if they are missing voting rewards.", - "description": "The NNS is constantly evolving. This feature will let users know of new features, if they are required to take actionm or alert them if they are missing voting rewards.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Disburse maturity for NNS neurons", - "overview": "Unlike SNS neurons, NNS neurons spawn maturity into a newly created neurons. This feature will move to a flow where NNS neurons would also disburse maturity.", - "description": "In its current implementation, NNS neurons spawn maturity into a new neuron, whereas SNS DAOs disburse maturity directly into the user's account, which greatly simplifies the flow and reduces the new neurons created.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "SNS communities portal", - "overview": "Introduce a landing page for each SNS DAO to the NNS dapp to foster the DAO communities.", - "description": "This feature has the goal of improving the experience on the NNS dapp to create a sense of community for the individual SNS DAOs and make all information concerning one DAO more readily accessible. To achieve this, one could introduce a new landing page for each SNS DAO which includes a summary of the DAO, for example the name and a description, but also summarizes the actionable proposals where a logged-in user can still vote on and links to the user’s neurons in that SNS.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Named SNS neurons", - "overview": "Increase and facilitate active participation in SNS DAOs by introducing an easy way to find experts and follow them.", - "description": "Unlike the NNS, there is currently no notion of named neurons in the SNSs. Therefore it is harder for users to find actively voting neurons that they can follow. The goal of this feature is to change this and make it easier for actively voting neurons to identify themselves and for other users to find and follow them.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "SNS treasury management", - "overview": "As SNS DAOs evolve, there is a need to manage their treasuries in more sophisticated ways. This roadmap item aims to extend what SNS DAOs can do with their treasury, including holding other ICRC-1 tokens and SNS neurons, direct interaction with DEXs, and more.", - "description": "As SNS DAOs evolve, there is a need to manage their treasuries in more sophisticated ways. This roadmap item aims to extend what SNS DAOs can do with their treasury, including holding other ICRC-1 tokens and SNS neurons, direct interaction with DEXs, and more.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "ICRC-2 support", - "overview": "Certain parts of the NNS require complex logic to function properly as they were designed before ICRC-2. This roadmap item aims to reduce this complexity, and potential problems by implementing ICRC-2", - "description": "Certain parts of the NNS require complex logic to function properly as they were designed before ICRC-2. This roadmap item aims to reduce this complexity, and potential problems by implementing ICRC-2", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - } - ] - }, - { - "name": "Focus on User Experience", - "milestone_id": "Nucleon", - "description": "All ICP governance milestones have aspects that focus on the end user, as all of ICP's technological innvations must in the end support the user. Nucleon doubles down on the user experience and aims to present ICP's governance systems in ways that are easier to understand and interact with regardless of one's technical skills.", - "eta": null, - "status": "future", - "elements": [ - { - "title": "Improve staking user experience", - "overview": "Simplify ICP/SNS staking process in the NNS dapp to eliminate barriers of entry for first-time users. Allow new users to quickly set up several neurons with the following strategy of their choosing.", - "description": "Simplify ICP/SNS staking process in the NNS dapp to eliminate barriers of entry for first-time users. Allow new users to quickly set up several neurons with the following strategy of their choosing.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": false, - "milestone_id": "Nucleon" - }, - { - "title": "Launchpad redesign", - "overview": "Launchpad is one of the central places where newcomers may find SNS DAOs. This roadmap item aims to show more interesting statistics about DAOs on ICP, and allow SNS DAOs to show more information about themselves, and send users to relevant places.", - "description": "Launchpad is one of the central places where newcomers may find SNS DAOs. This roadmap item aims to show more interesting statistics about DAOs on ICP, and allow SNS DAOs to show more information about themselves, and send users to relevant places.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "User participation in SNS DAOs", - "overview": "Writing code, creating proposals and voting on proposals from others are just a few ways of participating in SNS DAOs. This roadmap item aims to extend how users can participate, including no-code options like topping up SNS canisters, creating upgrade proposals, and more.", - "description": "Writing code, creating proposals and voting on proposals from others are just a few ways of participating in SNS DAOs. This roadmap item aims to extend how users can participate, including no-code options like topping up SNS canisters, creating upgrade proposals, and more.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "Fiat values in the NNS dapp", - "overview": "It's hard to get a glance on one's SNS/ICP portfolio by only seeing the number of tokens held. This feature aims to show USD values of tokens, which also makes ordering more meaningful.", - "description": "It's hard to get a glance on one's SNS/ICP portfolio by only seeing the number of tokens held. This feature aims to show USD values of tokens, which also makes ordering more meaningful.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "NNS overview page", - "overview": "A homepage for everything NNS. Once the user signs in, they are presented with an NNS homepage that shows their neurons, tokens, actionable proposals all in one page.", - "description": "A homepage for everything NNS. Once the user signs in, they are presented with an NNS homepage that shows their neurons, tokens, actionable proposals all in one page.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "Incentivise active participation", - "overview": "All ICP governance participants are rewarded equally whether they vote manually or follow other neurons, even if the former takes significantly more effort. This roadmap item aims to expore ways to find a better balance.", - "description": "All ICP governance participants are rewarded equally whether they vote manually or follow other neurons, even if the former takes significantly more effort. This roadmap item aims to expore ways to find a better balance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "Error messages for failed proposals", - "overview": "If an SNS proposal fails to execute, users of the NNS dapp do not see the reason for why this happened. This feature introduces user-readable error messages across the NNS dapp.", - "description": "If an SNS proposal fails to execute, users of the NNS dapp do not see the reason for why this happened. This feature introduces user-readable error messages across the NNS dapp.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "NNS FE Dapp Re-write", - "overview": "Replacing Flutter with Svelte for the NNS Frontend dapp. Significant speed and UX improvements expected.", - "description": "The NNS FE dapp introduced at genesis was built on Flutter with mediocre usability. This feature replaces Flutter with Svelte — a technology stack better suited for the Internet Computer. The replacement led to significant improvements in dapp speed and user interface.", - "forum": "https://forum.dfinity.org/t/nns-dapp-towards-new-ui-ux-including-test-link/13952", - "proposal": "", - "docs": "", - "eta": "July 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "NNS spam protection (remove financial incentive)", - "overview": "Protecting the NNS against proposal spam by removing the financial incentive for such spam by allocating voting rewards differently.", - "description": "This roadmap item is based on the community proposal 80970. In the current voting reward set-up, there is a financial incentive for spam because the overall reward pot is always handed out and by submitting governance spam propoals you can skew the voting reward allocation. This change removes this incentive by allocating voting rewards under the assumption that every neuron voted on everything. This change also includes moving the governance weight back to 20 and the tracking of allocated vs not allocated voting rewards.", - "forum": "https://forum.dfinity.org/t/reproposal-spam-prevention-convert-from-system-based-rewards-to-voter-based-rewards/15352/1", - "proposal": "https://dashboard.internetcomputer.org/proposal/80970", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Carbon Footprint and Sustainability Policy", - "overview": "Conducting a carbon footprint / environmental impact assessment of ICP. Footprint of a subnet, source of electricity, total environmental cost of a tx on ICP.", - "description": "This roadmap item is based on the community proposal 55487. Step 1: Conduct a carbon footprint / environmental impact assessment — either through internal resources or hiring an external consultant to answer basic questions about what the carbon footprint of running an IC Subnet is, where that electricity is sourced, and what the total cost per transaction is on the IC blockchain. Based on the learnings define more activities. Update: The Internet Computer Footprint Report is now available [here](https://assets.carboncrowd.io/reports/ICF.pdf). Step 2: “Energy consumption” reporting panel to the IC Network Status dashboard. Update: Power/Energy consumption is now reported in real time on the IC Dashboard homepage, as well as individually for given nodes, see example node [here](https://dashboard.internetcomputer.org/node/25p5a-3yzir-ifqqt-5lggj-g4nxg-v2qe2-vxw57-qkxtd-wjohn-kfbfp-bqe). Carbon Crowd also launched a [Sustainability Dashboard](https://app.carboncrowd.io/).", - "forum": "https://forum.dfinity.org/t/sustainability-nns-proposal/11976", - "proposal": "https://dashboard.internetcomputer.org/proposal/55487", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Service Nervous System (SNS)", - "overview": "A DAO factory that allows for proposal-based no-code creation of a DAO, including an initial decentralization swap. Available as part of the ICP governance framework.", - "description": "This SNS rollout will include several features: **1.** SNSs that are provided as a protocol function (deployed on an SNS subnet and facilitating maintainable upgrades), **2.** A first version of voting rewards for SNSs that can be further customised in the future, **3.** Decentralization swaps that decentralize a dapp, where participants provide ICP tokens in exchange for SNS tokens. **4.** A NNS frontend dapp extension that allows end users to participate in the decentralization swap. **5.** Tooling to help users initialize an SNS.", - "forum": "", - "proposal": "https://dashboard.internetcomputer.org/proposal/65132", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Community Fund", - "overview": "A first version of a community fund that provides means for the NNS community to have a \"treasury\" to invest in projects on ICP.", - "description": "This feature implements a first version of a community fund that provides means for the NNS community to have a \"treasury\" to invest in projects on the Internet Computer. In this first version neurons which have enabled the “community fund” feature may expose their maturity to the decisions of the NNS to invest in SNS decentalization swaps. Note: This feature has been renamed to “Neuron's Fund” later.", - "forum": "https://forum.dfinity.org/t/community-fund-revised-design-proposal/14691", - "proposal": "https://dashboard.internetcomputer.org/proposal/74820", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Restriction for SNS swap participation", - "overview": "Constraining participation in decentralization swaps of SNSs based on geographic location. Includes custom disclaimers to be confirmed by users before participating.", - "description": "When an SNS is launched, it goes through a decentralization swap. During the swap, participants provide ICP and in return receive a share of the SNS DAO’s governance power in the form of SNS neurons. In the current design, swaps are open for anyone to participate. Different projects in the community have requested a feature that allows SNSs to restrict participation in the swap by geographic location. In addition, this feature enables swap participants to be presented with a custom confirmation text that they need to confirm before being allowed to participate.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "One-proposal SNS initialization", - "overview": "Simplifying decentralization of a dapp from two NNS proposals plus manual steps to a single proposal.", - "description": "Currently, the process of decentralizing a dapp through the SNS platform requires two NNS proposals plus a few manual steps. Once this feature is implemented, the creation of a SNS will be done by a single proposal which the NNS community votes on.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Neurons' Fund Enhancements: Matched Funding", - "overview": "Enhancing the Neuron's Fund, e.g., to scale with swap participation by the community or having a 10% cap on participation.", - "description": "Based on collected experience and community feedback from recent SNS launches and forum discussions, we propose four enhancements to the Community Fund framework: Introduction of a ‘Matched Funding’ scheme: Instead of a fixed ICP amount, the fund’s contribution to SNS swaps should scale in line with direct participation, i.e., match the funding of the Neuron's Fund with the organic funding received during the SNS launch, allowing for a more accurate reflection of market signals. Implementation of a 10% Participation Cap: To streamline adjustments when neurons opt out during SNS proposal voting, we suggest a cap in relationship to the totals funds available. This ensures the fund’s contribution to a single SNS never exceeds 10% of the total available funds at the proposal execution time. Consequently, this automatically adjusts the fund’s participation if neurons opt out. Renaming of the ‘Community Fund’ to ‘Neurons’ Fund’: This change aims to clarify misconceptions about the fund. It emphasizes that the fund comprises neurons owned by private individuals who are exposing their maturity to promising SNS DAOs. It is suggested to release this cosmetic change next week. Reduction of the Maximum Swap Duration: A potential fund contribution is tied up and cannot be utilized for other SNS launches for the duration of the swap. To prevent a potentially unsuccessful swap from blocking a fund contribution for an extended period, we propose shortening the maximum swap duration from the current 90 days to 14 days.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "December 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Ability to mint SNS tokens and revised thresholds for voting", - "overview": "", - "description": "Some SNS projects have requested SNS token minting functionality to fine tune the DAO's tokenomics. This feature implements token minting for SNS projects. In addition, this feature defines some of the SNS proposals as critical and increases their voting thresholds. See the forum link for the details.", - "forum": "https://forum.dfinity.org/t/new-sns-ability-to-mint-sns-tokens-revised-thresholds-for-voting/23382", - "proposal": "", - "docs": "", - "eta": "Q1 24", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Node Provider Remuneration V2", - "overview": "The remuneration scheme v2 improves on the original v1 scheme by reducing remuneration for regions having already many nodes and reducing also for additional nodes of a node provider.", - "description": "For the further growth of the IC network, the NNS agreed on a new replica hardware specification. The new specification is generic, i.e. not vendor specific. It is ready for upcoming ICP improvements. For example, it supports VM memory encryption and attestation which will further increase the security of dapps running on ICP. The new specification results in different captical expenses for the independent node providers running replica nodes. Consequently, a new NP reward structure (remuneration) is required. Based on feedback and discussion within the community, this remuneration is based on: — Higher rewards for the first nodes of a new NP in order to attract more NPs in an effort to improve ownership decentralization. — More refined rewards for nodes in new geographies, like South America, Africa, Asia and Australia, to stimulate further geographical decentralization. IC wiki: https://wiki.internetcomputer.org/wiki/Node_Provider_Remuneration", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Enable ICRC-2 for SNS ledgers", - "overview": "Update the SNS framework to enable the rollout of ICRC-2 on the SNSs’ ledger canisters.", - "description": "", - "status": "deployed", - "eta": "Q1 2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Safeguards for critical SNS proposals, including the SNS treasury", - "overview": "Additional safeguards for transferring funds from an SNS treasury.", - "description": "Some SNS proposals are more critical than others in that they have a big impact. This feature introduces additional measures to make it harder for them to be adopted, such as requiring a higher approval threshold. In addition, this feature introduces limits for treasury and minting proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Update of SNS ledger parameters", - "overview": "Enables parameters of SNS ledgers, such as the SNS token name, to be updated through SNS upgrade proposals.", - "description": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase reward for SNS launch proposals to 20", - "overview": "Increase the reward weight of NNS proposals of topic \"SNS & Neuron’s Fund\" to 20 to incentivize more active voting and have the same rules as for proposals of topic \"Governance\"", - "description": "", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "NNS FE Dapp Re-write", - "overview": "Replacing Flutter with Svelte for the NNS Frontend dapp. Significant speed and UX improvements expected.", - "forum": "https://forum.dfinity.org/t/nns-dapp-towards-new-ui-ux-including-test-link/13952", - "proposal": "", - "docs": "", - "eta": "July 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "NNS spam protection (remove financial incentive)", - "overview": "Protecting the NNS against proposal spam by removing the financial incentive for such spam by allocating voting rewards differently.", - "forum": "https://forum.dfinity.org/t/reproposal-spam-prevention-convert-from-system-based-rewards-to-voter-based-rewards/15352/1", - "proposal": "https://dashboard.internetcomputer.org/proposal/80970", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Carbon Footprint and Sustainability Policy", - "overview": "Conducting a carbon footprint / environmental impact assessment of ICP. Footprint of a subnet, source of electricity, total environmental cost of a tx on ICP.", - "forum": "https://forum.dfinity.org/t/sustainability-nns-proposal/11976", - "proposal": "https://dashboard.internetcomputer.org/proposal/55487", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Service Nervous System (SNS)", - "overview": "A DAO factory that allows for proposal-based no-code creation of a DAO, including an initial decentralization swap. Available as part of the ICP governance framework.", - "forum": "", - "proposal": "https://dashboard.internetcomputer.org/proposal/65132", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Community Fund", - "overview": "A first version of a community fund that provides means for the NNS community to have a \"treasury\" to invest in projects on ICP.", - "forum": "https://forum.dfinity.org/t/community-fund-revised-design-proposal/14691", - "proposal": "https://dashboard.internetcomputer.org/proposal/74820", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Restriction for SNS swap participation", - "overview": "Constraining participation in decentralization swaps of SNSs based on geographic location. Includes custom disclaimers to be confirmed by users before participating.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "One-proposal SNS initialization", - "overview": "Simplifying decentralization of a dapp from two NNS proposals plus manual steps to a single proposal.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Neurons' Fund Enhancements: Matched Funding", - "overview": "Enhancing the Neuron's Fund, e.g., to scale with swap participation by the community or having a 10% cap on participation.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "December 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Ability to mint SNS tokens and revised thresholds for voting", - "overview": "", - "forum": "https://forum.dfinity.org/t/new-sns-ability-to-mint-sns-tokens-revised-thresholds-for-voting/23382", - "proposal": "", - "docs": "", - "eta": "Q1 24", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Node Provider Remuneration V2", - "overview": "The remuneration scheme v2 improves on the original v1 scheme by reducing remuneration for regions having already many nodes and reducing also for additional nodes of a node provider.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Enable ICRC-2 for SNS ledgers", - "overview": "Update the SNS framework to enable the rollout of ICRC-2 on the SNSs’ ledger canisters.", - "status": "deployed", - "eta": "Q1 2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Safeguards for critical SNS proposals, including the SNS treasury", - "overview": "Additional safeguards for transferring funds from an SNS treasury.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Update of SNS ledger parameters", - "overview": "Enables parameters of SNS ledgers, such as the SNS token name, to be updated through SNS upgrade proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase reward for SNS launch proposals to 20", - "overview": "Increase the reward weight of NNS proposals of topic \"SNS & Neuron’s Fund\" to 20 to incentivize more active voting and have the same rules as for proposals of topic \"Governance\"", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Reduce min dissolve delay to 3 months", - "overview": "To lower the barrier of entry for new stakers and make liquid staking protocols more viable, the community adopted a motion proposal to reduce min dissovle delay to 3 months.", - "description": "To lower the barrier of entry for new stakers and make liquid staking protocols more viable, the community adopted a motion proposal to reduce min dissovle delay to 3 months.", - "forum": "https://forum.dfinity.org/t/reducing-the-minimum-dissolve-delay-to-3-months/32714", - "proposal": "https://dashboard.internetcomputer.org/proposal/131010", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Ledger support for SNS tokens", - "overview": "Allow users to hold and control SNS tokens and neurons using their Ledger hardware wallet.", - "description": "Allow users to hold and control SNS tokens and neurons using their Ledger hardware wallet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Earn badges for activities", - "overview": "Depending on different activities, reward users with badges in the NNS dapp such as #8YearGang.", - "description": "Depending on different activities, reward users with badges in the NNS dapp such as #8YearGang.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "NNS landing page", - "overview": "The NNS dapp provides a simple user interface to interact with ICP's different governance systems. The NNS landing page would give newcomers an introduction of what the NNS is, host documentation, and a release log. Everything that is outside of the NNS dapp itself.", - "description": "The NNS dapp provides a simple user interface to interact with ICP's different governance systems. The NNS landing page would give newcomers an introduction of what the NNS is, host documentation, and a release log. Everything that is outside of the NNS dapp itself.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Governance portfolio reporting capabilities", - "overview": "Reporting functionality that allows users to obtain summary information about their neurons.", - "description": "Currently, it is difficult for users to obtain detailed historic information on received voting rewards and the neuron spawning history. In practice, users need to manually track their actions periodically or use third-party canisters to obtain this information. This feature enables ICP to provide reports to users regarding voting rewards and neurons", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Allow ecosystem wallets to connect to the NNS dapp", - "overview": "Allow ecosystem wallets to control tokens and governance neurons in the NNS dapp to foster an interoperable ICP ecosystem.", - "description": "The ICRC signer standards are being developed in collaboration with the ICP community to enable secure, and standardized communication between canisters. Adopting ICRC signer standards will foster an ecosystem of ICP dapps where the end-user has full control over their tokens, while managing them across dapps is much simplified. The NNS dapp will open up and provide an example implementation using these standards to allow ecosystem wallets to control assets in the NNS dapp. ICP wallets and dapps are encouraged to follow suit and together create an interoperable ICP ecosystem.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Simplification of NNS neurons", - "overview": "NNS neurons have different properties, such as dissolve delay and age. Some of these properties must be in a certain relation at all times. This feature is to abstract away more of these details from the users so that neurons are easier to understand.", - "description": "NNS neurons have different properties, such as dissolve delay and age. Some of these properties must be in a certain relation at all times. This feature is to abstract away more of these details from the users so that neurons are easier to understand.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Manual overwriting of following-triggered votes", - "overview": "This feature enables manual (overwrite) voting throughout the entire voting period of governance proposals even when a neuron is following another neuron.", - "description": "This feature enables manual (overwrite) voting throughout the entire voting period of governance proposals even when a neuron is following another neuron. This roadmap item is based on the community proposal 38985.", - "forum": "https://forum.dfinity.org/t/proposal-to-enable-manual-voting-throughout-the-entire-voting-period-of-governance-proposals/9815", - "proposal": "https://dashboard.internetcomputer.org/proposal/38985", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Archiving of NNS proposals", - "overview": "Storing NNS proposals long term instead of deleting them after a defined time period as done currently to increase transparency and accountability of governance.", - "description": "Currently, NNS proposals are only kept for a limited time and are then deleted. This feature intends to archive governance proposals to enhance transparency and accountability of the governance system.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Maintain neurons’ voting history", - "overview": "Keeping the voting history of all neurons for better transparency and accountability of ICP governance.", - "description": "Keeping the voting history of all neurons for better transparency and accountability of ICP governance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Private voting", - "overview": "Private voting of neuron holders. This helps prevent leakage of information on how neurons voted to ensure that neuron holders can vote freely without fearing consequences.", - "description": "Private voting of neuron holders. This helps prevent leakage of information on how neurons voted to ensure that neuron holders can vote freely without fearing consequences.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "SNS cycles management", - "overview": "Support better automation of top-up of cycles for SNS and SNS-managed canisters for better usability.", - "description": "Support better automation of top-up of cycles for SNS and SNS-managed canisters for better usability.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "SNS swap participation with additional tokens", - "overview": "Allow users to participate in SNS decentralization swaps with different tokens than ICP, e.g., ckBTC or ckETH. Also a combination of tokens may be applicable.", - "description": "Allow users to participate in SNS decentralization swaps with different tokens than ICP, e.g., ckBTC or ckETH. Also a combination of tokens may be applicable.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Neurons' Fund phase II", - "overview": "Addresses the end-of-investment phase of the Neuron's Fund.", - "description": "Addresses the end-of-investment phase of the Neuron's Fund.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Developer Experience", - "description": "Developer experience is an essential ingredient for developer adoption. This includes low-friction canister development and operations, expressive smart contract languages, testing frameworks, and a rich set of libraries. Beyond canister development, developer experience also encompasses an inclusive and quality-preserving protocol development.", - "milestones": [ - { - "name": "Canister DevOps", - "milestone_id": "Beryllium", - "description": "This milestone provides substantial simplifications and improvements for the developer lifecycle of canisters, particularly regarding their development and operations. Snapshotting capabilities, a powerful logging infrastructure and improved error handling as well as push of relevant events brings canisters closer to Web2 services in terms of DevOps.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "Canister snapshots", - "overview": "Allow for canister snapshots to be created on chain. Snapshots can be exported to and imported from off-chain storage.", - "status": "deployed", - "forum": "https://forum.dfinity.org/t/canister-backup-and-restore-community-consideration/22597", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium" - }, - { - "title": "Canister logging", - "overview": "New APIs for writing and reading canister runtime logs. The logs survive upgrades and traps and ensure developers are able to record key error data.", - "forum": "https://forum.dfinity.org/t/canister-logging/21300", - "proposal": "", - "docs": "", - "eta": "2024-08-28", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium", - "imported": true - }, - { - "title": "Standardized canister response codes", - "overview": "Standardize canister response codes, particularly error codes, to enable better composability of services from canister smart contracts.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium" - }, - { - "title": "Actionable error messages and backtraces", - "overview": "Improve error messages by providing more actionable information to developers such as backtraces, error codes, and links to the documentation explaining how to fix the error.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium" - } - ] - }, - { - "name": "Code Authoring and Development Workflows", - "milestone_id": "Coulomb", - "description": "This milestone introduces new products that make building on ICP fast, fun, and educational.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "ICP Ninja BETA", - "overview": "ICP Ninja is your go-to online platform for developing and deploying smart contracts on the Internet Computer (ICP).", - "status": "deployed", - "forum": "https://forum.dfinity.org/t/announcing-icp-ninja/36396", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/developer-tools/ide/icp-ninja", - "is_community": false, - "in_beta": true, - "milestone_id": "Coulomb" - }, - { - "title": "ICP Ninja User Experience Enhancements", - "overview": "ICP Ninja will receive a number of new user experience enhancements, such as dark mode and the ability to modify the file tree.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": true, - "milestone_id": "Coulomb" - }, - { - "title": "ICP Ninja Developer Productivity Enhancements", - "overview": "ICP Ninja will get additional features that improve developer productivity, such as the ability to view logs and see live compilation feedback.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": true, - "milestone_id": "Coulomb" - }, - { - "title": "Revamped Onboarding", - "overview": "The developer documentation will receive a number of updates focused on improving the onboarding journey for first time ICP developers.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Coulomb" - } - ] - }, - { - "name": "Canister Resource Management", - "milestone_id": "Thorium", - "description": "This milestone improves the cycles management experience on ICP through the introduction of the Cycles Ledger. End users can hold cycles seamlessly and can more easily manage their canisters cycles balance. Furthermore, with the exposure of a key set of metrics, getting insights into your canisters’ operations has been greatly improved, especially with the ability to see a breakdown of your cycles usage and which endpoints are the most expensive ones to call.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Canister lifecycle hooks", - "overview": "Push model for canisters receiving notifications from the ICP, e.g., when they are low on cycles. More resource efficient than periodic pulling.", - "forum": "https://forum.dfinity.org/t/canister-lifecycle-hooks/17089", - "proposal": "https://dashboard.internetcomputer.org/proposal/106146", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium", - "imported": true - }, - { - "title": "Cycles and instruction insights", - "overview": "Give canister controllers insights on cycles consumption of their canisters to help them optimize cycles consumption.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "upcoming", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium", - "imported": true - }, - { - "title": "Cycles Ledger", - "overview": "The Cycles Ledger replaces the cycles wallet as the recommended solution for managing cycles across projects.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium", - "imported": true - }, - { - "title": "Live canister metrics", - "overview": "Expose key canister metrics in realtime that can be queried, such as a breakdown of its memory usage (heap vs. stable) or received calls per second.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Bitcoin Integration with DFX", - "overview": "Configure and run a Bitcoin adapter on the dev machine supporting the development with the native Bitcoin integration.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "August 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "dfx Deps", - "overview": "Enable canister developers to pull third party canisters into their local environment in order to build integrations that would otherwise require building code from source.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "DFX Quickstart", - "overview": "New command that guides the developer through the steps necessary to ensure a successful deployment to mainnet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Asset Caching", - "overview": "Enable caching of assets served by the asset canister by giving it time-to-live information.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SNS Quill", - "overview": "Provides all the commands developers need to build and interact with an SNS. Based on the original Quill project.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "August 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "System-wide DFX", - "overview": "Allows for running dfx as a system-wide process instead of being project specific. Makes it easier to start and stop canisters, run tests, and develop integrations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "November 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "DFX keyring integration", - "overview": "This feature integrates DFX with the OS keyring for seamless decryption of password-protected identities.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SNS Tooling", - "overview": "Enhance dfx for developing testing dapps for SNS-based decentralization. Code and test a swap locally, simulate it on mainnet, and manage a dapp after launch.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "PocketIC", - "overview": "The PocketIC is a canister testing system that allows to run a \"pocket version\" of ICP, including multiple subnets. This is the preferred way of testing dapps.", - "forum": "https://forum.dfinity.org/t/pocketic-testing-canisters-in-python/22490", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/setup/pocket-ic", - "eta": "Dec 2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Improved Unit Testing for Motoko", - "overview": "Brings a number of enhancements to unit testing in Motoko: Support for watch mode, VSCode extension GUI, and more.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "React Native Starter Template", - "overview": "A starter project template for React Native comprising Agent-JS for an integration with ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Base Library Enhancements", - "overview": "Community-requested data structures and functionality for the Motoko Base Library.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Incremental Garbage Collector", - "overview": "Blazing fast new garbage collector (GC) for Motoko, based on incremental GC.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Formatter & VSCode Extension", - "overview": "Better dev UX for Motoko in VSCode. Motoko formatter, prettier integration, and other VSCode extensions.", - "forum": "https://forum.dfinity.org/t/we-heard-you-motoko-vs-code-extension-improvements/15933", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko let-else Binding", - "overview": "A let-else binding allows a failure block to be run in case of a binding failure. Avoid deeply nested switch statements and have more readable code.", - "forum": "https://forum.dfinity.org/t/solution-in-moc-0-8-3-let-else-match-and-take-in-motoko-do-for-variants-was-when/13427/6", - "proposal": "", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Dev Server", - "overview": "Live-reload environment for Motoko projects that allows for rapid prototyping and a friction-free development experience.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "New project builder and templates", - "overview": "More powerful workflows for creating new projects using dfx new.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Stable Regions", - "overview": "Run-time-based stable memory data structures allocating memory in multiple different regions. Improves Motoko's stable memory support towards towards composable use cases.", - "forum": "", - "proposal": "https://github.com/dfinity/motoko/blob/113f9c72edf4ff36bcc6dacc892fdb2f454ac81d/design/StableRegions-20230209.md", - "docs": "", - "eta": "Q3 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Chunked upload of large Wasm files in dfx", - "overview": "DFX support for uploading large Wasm files in chunks to meet message size limits. Complements replica support for large Wasm files.", - "forum": "https://forum.dfinity.org/t/allow-installation-of-large-wasm-modules/17372", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "Higher-level stable memory libraries", - "overview": "Create more friendly, higher-level libraries that abstract away the complexity of working with the Stable Memory API.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "dfx Version Manager", - "overview": "The dfx version manager installs and manages versions of dfx.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "2024-02-08", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "dfx extensions", - "overview": "Plugin architecture for integrating 3rd-party functionality directly into DFX.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 2024", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "dfx ergonomics", - "overview": "Better developer experience when using the ICP SDK.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Tutorials", - "overview": "More and improved tutorials for faster successful onboarding of devs into the ICP ecosystem.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Streaming support for the Asset Canister", - "overview": "Streaming specific byte ranges of large files hosted by the Asset Canister.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 2024", - "status": "upcoming", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Trait-Bound canister development using Candid", - "overview": "A new way to synchronize Candid interface definitions with Rust source code that leverages the capabilities of macros and Rust's strong type system.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 2024", - "status": "upcoming", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "IC agents for additional languages", - "overview": "Releasing IC agents for additional languages to broaden the support for languages that can interoperate with ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Mobile app IC agents", - "overview": "IC agents for the Android and iOS mobile app platforms. Simplifies building native Android and iOS apps talking to canisters.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Specify placement subnet for new canisters", - "overview": "When creating a new canister, the subnet on which it should be placed can be specified.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Verifiable canisters", - "overview": "Tools for devs, such as TLA+, to help them verify the correctness of their canisters.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "dfx for macOS ARM arch", - "overview": "The dfx toolchain is becoming native to the Mac's ARM-based architecture. This is necessary because the Rosetta 2 emulation layer is expected to be removed in the future.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "PocketIC shipped and bundled with dfx", - "overview": "PocketIC, the new recommended standard tool for testing of dapps, is shipped and packaged with the dfx SDK.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Candid presentation-layer configuration", - "overview": "Candid configuration abstraction enabling type mapping from source language to destination language.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Protocol Interface Specification evolution", - "overview": "Improving version interoperability between different versions of the Internet Computer Protocol Specification.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Ingress deduplication", - "overview": "Enhancing ingress deduplication to use a larger 24-hour deduplication window for ingress messages compared to the current 5-minute window. Provides stronger guarantees, e.g., for financial applications.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Easy asset creation", - "overview": "Easy and streamlined creation of digital assets (both fungible and non-fungible) through out-of-the-box-deployable ledgers. For example, the creation of a new token through a proposal, without needing to manually deploy (and manage) the corresponding canisters.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "REST- & JSON-centric interfaces", - "overview": "REST and JSON-centric philosophy of interacting with ICP. Makes it easier for Web2 devs to onboard the ICP ecosystem.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Regulatory compliance support", - "overview": "Making it easier to write regulatory compliant dapps.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Automatic canister top-up using Web2 payment rails", - "overview": "Allowing canisters to be topped up automatically via Web2 payment systems, e.g., credit card transfers.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Bring Actix to the IC", - "overview": "Bring Actix, one of the most powerful Web frameworks in Rust, to the IC. We should not be rebuilding this every time we do a dapp.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "A file system on ICP", - "overview": "A file system on ICP, to avoid building or emulating one whenever needed by a dapp.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Easily upload files to ICP", - "overview": "Upload files to the IC with a few lines of code.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Motoko-written interactive Web UIs running in Wasm", - "overview": "Implementing interactive Web UIs with Motoko, executing in the browser in Wasm. Analogous to .NET's Blazor.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Motoko editor support V2", - "overview": "Improved Motoko support in VSCode, e.g., outline view, unused declaration warnings, organizing imports, Prettier 3 support, and AI-driven coding assistance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Motoko package manager shipped with dfx", - "overview": "Integrating the Mops package manager with dfx to improve DX.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "More Motoko libraries", - "overview": "Implementing, or funding the implementation of, additional Motoko libraries of frequently requested functionality.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Language-interoperability support in Motoko", - "overview": "Allowing the integration of libraries from other languages in Motoko (with some limitations).", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Support of popular languages", - "overview": "Supporting additional popular languages such as Dart, Java, C#, Go, or Swift, to implement canisters. Helping a broader range of devs to onboard ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - } -] \ No newline at end of file