# Changelog Proposals before 2025 are NOT listed in here, because this process was introduced later. (We could back fill those later though.) The process that populates this file is described in `rs/nervous_system/changelog_process.md`. In general though, the entries you see here were moved from the adjacent `unreleased_changelog.md` file. INSERT NEW RELEASES HERE # 2026-10-02: Proposal 144200 http://dashboard.internetcomputer.org/proposal/144200 ## Added * Added a new `NnsFunction` variant `MergeSubnets`, which proposes to merge a subnet into another subnet: in the routing table, reassigns all canister ranges hosted by the source subnet to the destination subnet. The source subnet is not deleted. # 2026-09-01: Proposal 143761 http://dashboard.internetcomputer.org/proposal/143761 ## Added * `UpdateCanisterSettings` and `CreateCanisterAndInstallCode` proposals can now set `reserved_cycles_limit`, the upper bound on the cycles a canister may hold in reserved cycles. # 2026-08-21: Proposal 143660 https://dashboard.internetcomputer.org/proposal/143660 ## Changed * Relaxed requirements on replica versions used in UpdateStandardEngineReplicaVersion. The motivation is just to facilitate testing. Previously, 40 character hexadecimal was required. Now, whatever ReplicaVersion::try_from accepts is accepted. # 2026-08-14: Proposal 143577 http://dashboard.internetcomputer.org/proposal/143577 ## Fixed * `validate_assign_noid_payload` no longer panics when a node provider has `id = None`. It now skips such providers safely, preventing all `AddNodeOperator` proposal submissions from being blocked. # 2026-08-07: Proposal 143410 http://dashboard.internetcomputer.org/proposal/143410 ## Added * Added a new proposal type: `UpdateStandardEngineReplicaVersion`. Change what replica version(s) are run by Cloud Engines. * Added support for upgrade options to `InstallCode` proposals. # 2026-07-17: Proposal 142936 http://dashboard.internetcomputer.org/proposal/142936 ## Fixed * Corrected the `DeleteSubnet` proposal description: dropped the outdated "Currently limited to CloudEngine subnets" clause, added that the subnet is also removed from the subnet list, and noted that system subnets cannot be deleted. # 2026-07-03: Proposal 142679 http://dashboard.internetcomputer.org/proposal/142679 ## Fixed * Delete zombie neuron during claim_neuron when Ledger is unavailable. # 2026-05-17: Proposal 142447 http://dashboard.internetcomputer.org/proposal/142447 ## Added * Added a new field to GuestLaunchMeasurementMetadata to identify the VCPU type. * Added a new `NnsFunction` variant `SetDefaultInitialDkgSubnet`, which proposes to set or unset the default subnet to which `SetupInitialDKG` management canister calls are routed when no subnet is specified explicitly in the request. # 2026-05-17: Proposal 141779 http://dashboard.internetcomputer.org/proposal/141779 ## Changed * Neuron spawning and maturity disbursement finalization now read the locally computed Mission 70 maturity modulation (derived from the XRC-backed price history) instead of the CMC-polled `cached_daily_maturity_modulation_basis_points`. # 2026-05-13: Proposal 141771 http://dashboard.internetcomputer.org/proposal/141771 ## Fixed * Tolerate XRC failures when updating maturity modulation: compute the average over available days using last-observation-carried-forward, and advance past days where XRC returns no rate so that a single persistent gap no longer stalls maturity modulation updates. # 2026-05-08: Proposal 141738 http://dashboard.internetcomputer.org/proposal/141738 ## Added * Daily timer task that fetches ICP/XDR rates from the Exchange Rate Canister, maintains a 365-day price history in Governance state, and computes Mission 70 maturity modulation locally. The computed value is not yet consumed by spawning or disbursement; that switchover will happen in a follow-up PR. * `get_maturity_modulation` query endpoint that returns the current Mission 70 maturity modulation value, including `current_value_permyriad` and `updated_at_timestamp_seconds`. * Expose `staked_maturity_e8s_equivalent` on `NeuronInfo`, so external callers can read staked maturity from `get_neuron_info` / `list_neurons` responses. ## Changed * The first Mission 70 maturity modulation calculation skips the daily speed limit, so the initial value reflects the target directly (subject to global bounds) instead of being clamped to a tiny step away from zero. # 2026-04-25: Proposal 141565 http://dashboard.internetcomputer.org/proposal/141565 ## Added * `TakeCanisterSnapshot` proposals now store the new snapshot ID in the `success_value` field. ## Changed * Relax eight year gang membership requirement(s): Instead of needing to have dissolve delay >= 8 * 365.25 days (8 "years"), which is exactly 252_460_800 seconds, a second round of induction requires only that neurons had dissolve delay >= 8 * 365 days, which is exactly 252_288_000 seconds. This is less than a 0.07% difference. Additionally, to avoid bonusing newly staked ICP, the neuron must currently be aging since before March 30 (midnight UTC). (Furthermore, neurons that are already members will not have their eight year gang bonus base re-assessed.) # 2026-04-17: Proposal 141441 http://dashboard.internetcomputer.org/proposal/141441 ## Added * Enabled CreateCanisterAndInstallCode proposals. ## Changed * The minimum dissolve delay required to submit non-manage-neuron proposals is now a fixed 6 months, decoupled from the voting eligibility threshold which can be lower. * Enable Mission 70 voting rewards changes. This includes the following: 1. Reduce max dissolve delay from 8 years to 2 years. This includes capping existing neurons via data migration. 2. Reduce voting rewards pool by approximately 36.71% (equivalently, scale by 0.6329 times). 3. Dissolve delay bonus: quadratic instead of linear, with a maximum of 3x instead of 2x. 4. Reduce the minimum dissolve delay needed to vote to 2 weeks instead of 6 months. 5. 8 year gang 10% bonus. # 2026-04-14: Proposal 141380 http://dashboard.internetcomputer.org/proposal/141380 ## Fixed * When result in `get_node_providers_rewards_cached` is `Err`, release INFLIGHT (i.e. set it to `false`). # 2026-04-11: Proposal 141331 http://dashboard.internetcomputer.org/proposal/141331 Maintenance release. New code is disabled by flags. # 2026-04-06: Proposal 141242 http://dashboard.internetcomputer.org/proposal/141242 ## Added - Proposal type `DeleteSubnet`, currently limited to CloudEngine subnets. - Tag neurons that have the maximum dissolve delay of 8 years with their bonus base (`eight_year_gang_bonus_base_e8s`), in preparation for the dissolve delay bonus grandfathering when the maximum dissolve delay is reduced to 2 years. - Expose data that will be used to determine the bonus that "8 year gang" neurons will receive, starting in the near future. This data consists of the staked amount in neurons with 8 year dissolve delay at the beginning of Mission 70. This will be used in the near future to determine voting power (and consequently, voting rewards), once other aspects of voting power/rewards are in production. # 2026-03-27: Proposal 141090 http://dashboard.internetcomputer.org/proposal/141090 ## Added - Support for `snapshot_visibility` in `UpdateCanisterSettings` proposals. - Tag neurons that have the maximum dissolve delay of 8 years with their bonus base (`eight_year_gang_bonus_base_e8s`), in preparation for the dissolve delay bonus grandfathering when the maximum dissolve delay is reduced to 2 years. # 2026-03-20: Proposal 140958 http://dashboard.internetcomputer.org/proposal/140958 ## Changed - `CreateServiceNervousSystem` proposals no longer reject SNS configurations where the sum of developer-allocated tokens exceeds `swap_distribution.total_e8s`. With the Neurons' Fund discontinued, this validation is no longer needed. # 2026-03-13: Proposal 140859 http://dashboard.internetcomputer.org/proposal/140859 ## Added * Add a `total_maturity_disbursements_in_progress_e8s_equivalent` metric (calculated daily). * Added a new `do_split_subnet` method interface, the implementation of the method will be done in the next PR. * Added `cup_type` field to `CatchUpPackageContents` denoting the type of a `CUP`. # 2026-03-07: Proposal 140776 http://dashboard.internetcomputer.org/proposal/140776 ### Fixed * Fix a bug in create_neuron where a neuron cannot be created with exactly minimum stake. # 2026-02-27: Proposal 140597 http://dashboard.internetcomputer.org/proposal/140597 ## Added * A `create_neuron` method to create neurons through staking ICPs using the ICRC2 standard. ## Changed * Lowered the maximum page size of list_neurons to 50. The vast majority (> 95%) have no more than 50 neurons, so for them, this has no noticeable impact. ## Fixed * The Bitcoin and Dogecoin Watchdog canisters are now considered "protocol" canisters; thus, proposals to upgrade these canisters now fall into the "Protocol Canister Management" topic, instead of the "Application Canister Management" topic. # 2026-02-20: Proposal 140509 http://dashboard.internetcomputer.org/proposal/140509 * Populate the new subnet_admins field in SubnetRecord when creating a rented subnet. # 2026-02-10: Proposal 140314 http://dashboard.internetcomputer.org/proposal/140314 ## Added * Enabled BlessAlternativeGuestOsVersion, which would generally be used to recover a subnet where a) orchestrator is not working for whatever reason, and b) SEV is enabled and/or there is no DFINITY node in the subnet. * Proposal types for taking and loading a snapshot of a canister controlled by the NNS Root canister. * Enabled self-describing proposals: - A `self_describing_action` field is added to `Proposal` when it's created, to describe the proposal in a generic way, which can be parsed by a client without having to constantly adapt to the new proposal types. - APIs like `get_proposal_info`, `list_proposals` and `get_pending_proposals` returns this new field (`list_proposals` and `get_pending_proposals` require passing an additional boolean flag in order to get this new behavior). - This field is backfilled for existing proposals. ## Changed - Change the minimum requirement for maturity disbursement from ~1.06 to 1 (ICP equivalent). # 2026-01-23: Proposal 140099 http://dashboard.internetcomputer.org/proposal/140099 ## Added * Enabled BlessAlternativeGuestOsVersion, which would generally be used to recover a subnet where a) orchestrator is not working for whatever reason, and b) SEV is enabled and/or there is no DFINITY node in the subnet. * Proposal types for taking and loading a snapshot of a canister controlled by the NNS Root canister. ## Changed * Allow creating a service nervous system with up to 100 dapp canisters, instead of just 25. # 2026-01-16: Proposal 140012 http://dashboard.internetcomputer.org/proposal/140012 A "maintenance" release. That is, new code for upcoming features, but no new (enabled) behaviors. # 2026-01-05: Proposal 139940 http://dashboard.internetcomputer.org/proposal/139940 Just a maintenance release. That is, no new features, and no bug fixes. Just newer code, much of which is inactive now, but will be active later. # 2026-01-05: Proposal 139922 http://dashboard.internetcomputer.org/proposal/139922 ## Added * Enabled performance-based node provider rewards. See the motion proposal [NNS Proposal 135054](https://dashboard.internetcomputer.org/proposal/135054) for details about how the performance-based algorithm works. More details can also be found in the forum post [Performance Based Node Rewards](https://forum.dfinity.org/t/performance-based-node-rewards/35208) # 2025-12-05: Proposal 139678 http://dashboard.internetcomputer.org/proposal/139678 ## Fixed - Typo in error message about obsolete proposal type SetDefaultFollowees. # 2025-11-28: Proposal 139575 http://dashboard.internetcomputer.org/proposal/139575 ## Fixed - Add default case for start_date fetching in Performance Based Rewards. This is done to ensure that a valid start date is always returned, even when no previous rewards exist. - Added `algorithm_version` field to node provider rewards. # 2025-11-07: Proposal 139313 http://dashboard.internetcomputer.org/proposal/139313 ## Fixed * Previously, a lock was released only in the happy case (during minting node provider rewards). Now, it is released no matter how the function returns. # 2025-10-24: Proposal 139086 http://dashboard.internetcomputer.org/proposal/139086 ## Added * New proposal types: * `PauseCanisterMigrations` & `UnpauseCanisterMigrations` * `SetSubnetOperationalLevel` * Mainly, this sets the `is_halted` field in `SubnetRecord`. * This also sets a couple other things: * `ssh_readonly_access` - Also in `SubnetRecord`. * `ssh_node_state_write_access` - In `NodeRecord` (not `SubnetRecord`!). * Motivation: This will be used in a slightly enhanced subnet recovery procedure. This is needed before we can fully enable SEV. * A new API function `get_neuron_index` is added. It accepts an exclusive lower bound on the neuron ID and a page size, and returns all neurons whose IDs are greater than the specified lower bound. # 2025-10-17: Proposal 138991 https://dashboard.internetcomputer.org/proposal/138991 ## Added * `PauseCanisterMigrations` & `UnpauseCanisterMigrations` ## Changed * Following private neurons is now generally disallowed. There are some exceptions to this though: * A private neuron P can be followed by another neuron N, if either they share a controller or N's controller is listed as P's hotkey. * Following private neurons on the topic `NeuronManagement` is not a subject of this limitation. Furthermore, following public neurons is always allowed. * Following non-existing Neuron IDs is disallowed as well. # 2025-10-10: Proposal 138913 http://dashboard.internetcomputer.org/proposal/138913 ## Added * Record votes by known neurons before clearing ballots. * Allow updating known neuron through RegisterKnownNeuron without having to change its name. * Added `committed_topics` to the `KnownNeuronData` that can be submitted as part of the `RegisterKnownNeuron` proposal. * Add an API to list neuron votes given a specific neuron id. In the short term it only works for known neurons as only known neuron votes are recorded. * Enable 2 features - (1) recording known enuron voting history and (2) proposal type to deregister known neurons. See [the forum post](https://forum.dfinity.org/t/better-known-neurons/55747) for more details. ## Changed * Stop exposing known neuron data in list_neurons so that it's less likely to exceed message size limit. * The Dogecoin canister (ID begins with gordg-) is considered a "protocol" canister. This affects proposal topics. ## Deprecated * The `StopOrStartCanister` NNS Function is now obsolete (Use `Action::StopOrStartCanister` instead). # 2025-09-19: Proposal 138583 https://dashboard.internetcomputer.org/proposal/138583 ## Added * Added links to the `KnownNeuronData` that can be submitted as part of the `RegisterKnownNeuron` proposal. # 2025-09-12: Proposal 138475 https://dashboard.internetcomputer.org/proposal/138475 ## Added * Added a new proposal type `DeregisterKnownNeuron` without enabling it (behind feature flag). * Enable FulfillSubnetRentalRequest proposals. The main effect of such proposals is the creation of an EXCLUSIVE subnet, meaning that only ONE principal is allowed to create canisters in the subnet. For details, see https://forum.dfinity.org/t/subnet-rental-canister-work-on-next-phase-has-started/52803 (This is also discussed under the heading "Swiss subnet".) # 2025-09-05: Proposal 138369 http://dashboard.internetcomputer.org/proposal/138369 ## Added * The neuron `Split` command accepts an optional `memo` field that can be used to derive the neuron subaccount, rather than generating a random one. ## Changed * The protobuf-encoded `Storable` implementations are changed to `Unbounded`. ## Removed * The `IcpXdrConversionRate` proposal is now obsolete and cannot be submitted. # 2025-07-25: Proposal 137582 http://dashboard.internetcomputer.org/proposal/137582 ## Added * Minor improvement on voting power spike detection mechanism - the mechanism is kept in place even when the voting power snapshot is not full. ## Changed * `AddOrRemoveNodeProvider` and `update_node_provider` now require 32-byte account-identifiers, which are equivalent to the 28-byte identifiers except with the checksum. This is a breaking change for the API. * `NodeProvider.reward_account` always returns the 32-byte account identifier, even if the node provider was created with a 28-byte identifier. This is to ensure consistency in the API and to make it easier to use the reward account in other contexts, such as looking up the account in the ledger. All clients needed to support the 32-byte address already, so this is not a breaking change for the API. # 2025-07-18: Proposal 137499 http://dashboard.internetcomputer.org/proposal/137499 ## Added * Minor improvements on voting power spike detection mechanism. # 2025-07-11: Proposal 137346 http://dashboard.internetcomputer.org/proposal/137346 ## Added * Add new unreleased proposal type. # 2025-07-06: Proposal 137252 http://dashboard.internetcomputer.org/proposal/137252 ## Added * Add a metric for the nubmer of spawning neurons. * Use a previous voting power snapshot to create ballots if a voting power spike is detected. ## Changed * Rename a metric related to voting power spike according to convention. # 2025-06-20: Proposal 137080 http://dashboard.internetcomputer.org/proposal/137080 ## Added * Neurons can now perform SetFollowing to configure their following on multiple topics at once. Whereas, before, they would have to perform multiple Follow operations, one for each topic. This brings NNS into alignment with SNS. # 2025-06-13: Proposal 136987 http://dashboard.internetcomputer.org/proposal/136987 ## Changed * Task execution metrics are added for `neuron_data_validation` and `unstake_maturity_of_dissolved_neurons` timer tasks. ## Fixed * The `account_identifier_to_disburse_to` in the maturity disbursement now contains a 32-byte address rather than the 28-byte one without checksum. # 2025-06-06: Proposal 136890 http://dashboard.internetcomputer.org/proposal/136890 ## Added * Support disbursing maturity to an account identifier, in addition to icrc1 account. # 2025-05-31: Proposal 136795 http://dashboard.internetcomputer.org/proposal/136795 ## Added * Expose a new metric `voting_power_snapshots_latest_snapshot_is_spike`. * Enabling `DisburseMaturity` neuron management proposals. ## Changed * `MAX_NEURON_CREATION_SPIKE` is increased from 120 to 300. # 2025-05-16: Proposal 136693 http://dashboard.internetcomputer.org/proposal/136693 ## Added * The `DisburseMaturity` neuron command is enabled. See https://forum.dfinity.org/t/disburse-maturity-in-nns/43228 for more details. ## Changed * Proposal topics are persisted throughout its lifecycle instead of being recomputed every time. ## Removed * The `IcpXdrConversionRate` proposal is now obsolete and cannot be submitted. ## Security Enforce a lower bound for `min_participant_icp_e8s` of `1_000_000`. # 2025-05-10: Proposal 136580 http://dashboard.internetcomputer.org/proposal/136580 ## Removed * The `governance_heap_neuron_count` metric is removed as there are no neurons in the heap anymore. # 2025-05-02: Proposal 136427 http://dashboard.internetcomputer.org/proposal/136427 ## Changed * The Governance canister will fetch rewards from the new Node Rewards Canister instead of from Registry. ## Removed * All the `_pb` methods are removed as they already always panic, as well as decoding the init arg as protobuf. # 2025-04-25: Proposal 136370 http://dashboard.internetcomputer.org/proposal/136370 ## Fixed * Use `StableBTreeMap::init` instead of `::new` for voting power snapshots. # 2025-04-15: Proposal 136285 http://dashboard.internetcomputer.org/proposal/136285 ## Added * A timer task is added to take daily snapshots of voting power for standard proposals. ## Fixed * Turned off `DisburseMaturity` that was incorrectly turned on before. # 2025-04-11: Proposal 136224 http://dashboard.internetcomputer.org/proposal/136224 ## Added * Governance now gets node provider rewards from the Node Reward Canister in test builds. ## Changed * The `_pb` methods now always panic. # 2025-04-05: Proposal 136071 http://dashboard.internetcomputer.org/proposal/136071 ## Changed * Disable Neuron's Funds for ongoing SNSs, as approved in proposal [135970](https://dashboard.internetcomputer.org/proposal/135970). ## Removed * The `topic_followee_index` in the heap is removed, along with the flag `USE_STABLE_MEMORY_FOLLOWING_INDEX` that was set to true in the proposal 135063. # 2025-03-28: Proposal 136006 http://dashboard.internetcomputer.org/proposal/136006 ## Added * The `init` method now supports candid decoding in addition to protobuf. Protobuf decoding will be removed in the future, giving clients time to migrate. ## Changed * Increased the probability of failure from 70% to 90% for the deprecated _pb methods. * Increase the neurons limit to 500K now that neurons are stored in stable memory. # 2025-03-25: Proposal 135955 https://dashboard.internetcomputer.org/proposal/135955 ## Security * Prevent large manage neuron proposals by making sure their proposal payloads are bounded, and lower the maximum number of open manage neuron proposals. More details can be seen here: https://forum.dfinity.org/t/nns-updates-2025-03-25-nns-governance-security-hotfix/42978. # 2025-03-21: Proposal 135933 http://dashboard.internetcomputer.org/proposal/135933 ## Changed * Refactor `prune_following` task to use the `timer_task` library, and therefore enables metrics to be collected about its execution. # 2025-03-17: Proposal 135847 https://dashboard.internetcomputer.org/proposal/135847 ## Added * Added `NetworkEconomics.voting_power_economics.neuron_minimum_dissolve_delay_to_vote_seconds`. ## Removed * Removed a migration mechanism previously used for data migrations through heartbeat. # 2025-03-08: Proposal 135702 http://dashboard.internetcomputer.org/proposal/135702 ## Added * Collect metrics about timer tasks defined using ic_nervous_system_timer_task library. * Re-enable neuron migration to stable memory: * Setting `MIGRATE_ACTIVE_NEURONS_TO_STABLE_MEMORY` to true, which will cause active neurons to be continously moved from heap memory to stable memory. * Compared to the last time it was enabled, several improvements were made: * Distribute rewards is moved to timer, and has a mechanism to distribute in batches in multiple messages. * Unstaking maturity task has a limit of 100 neurons per message, which prevents it from exceeding instruction limit. * The execution of `ApproveGenesisKyc` proposals have a limit of 1000 neurons, above which the proposal will fail. * More benchmarks were added. * Enable timer task metrics for better observability. ## Changed * Voting Rewards will be scheduled by a timer instead of by heartbeats. * Unstaking maturity task will be processing up to 100 neurons in a single message, to avoid exceeding the instruction limit in a single execution. * Voting Rewards will be distributed asynchronously in the background after being calculated. * This will allow rewards to be compatible with neurons being stored in Stable Memory. * Ramp up the failure rate of _pb method to 0.7 again. ## Fixed * Avoid applying `approve_genesis_kyc` to an unbounded number of neurons, but at most 1000 neurons. # 2025-03-01: Proposal 135613 http://dashboard.internetcomputer.org/proposal/135613 ## Added * Define API for disburse maturity. While disburse maturity is not yet enabled, clients may already start preparing for this new NNS neuron operation. ## Deprecated * NnsCanisterUpgrade/NnsRootUpgrade NNS funtions are made obsolete. # 2025-02-21: Proposal 135436 http://dashboard.internetcomputer.org/proposal/135436 ## Changed * ManageNetworkEconomics proposals can now modify deep fields one at a time. Previously, this was only possible for top level fields. * Added validation for ManageNetworkEconomics proposals. Previously, there was none. The result must have all the following properties: * All "optional" fields are actually set. * `maximum_icp_xdr_rate >= minimum_icp_xdr_rate` * Decimal fields have parsable `human_readable` values. * `one_third_participation_milestone_xdr < full_participation_milestone_xdr` # 2025-02-11: Proposal 135265 https://dashboard.internetcomputer.org/proposal/135265 ## Removed * Neuron migration (`migrate_active_neurons_to_stable_memory`) is rolled back due to issues with reward distribution. It has already been rolled back with a hotfix ([proposal 135265](https://dashboard.internetcomputer.org/proposal/135265)) # 2025-02-07: Proposal 135206 http://dashboard.internetcomputer.org/proposal/135206 ## Added ### List Neurons API Change: Query by Subaccount The `list_neurons` API now supports querying by neuron subaccount. This is useful for neuron holders who have many neurons and want to list only the neurons associated with a particular subaccount. A new field `neuron_subaccounts` is added to the request, which is a list of subaccounts to query for. If this field is present, any neurons found will be added to the response. If duplicate neurons are found between this field and others, they will be deduplicated before returning the value. This new field works in the same way that the existing `neuron_ids` field works. ### Migrating Active Neurons to Stable Memory In this release, we turn on the feature to migrate active neurons to stable memory: `migrate_active_neurons_to_stable_memory`. After the feature is turned on, a timer task will gradually move active neurons from the heap to stable memory. Clients should not expect any functional behavior changes, since no APIs rely on where the neurons are stored. ## Changed * The limit of the number of neurons is increased from 380K to 400K. # 2025-02-03: Proposal 135063 http://dashboard.internetcomputer.org/proposal/135063 ## Added ### Migrating Active Neurons to Stable Memory In this relesae, we turn on 2 features related to migrating active neurons to stable memory: 1. `allow_active_neurons_in_stable_memory`: this allows the canister to look for active neurons in stable memory, while previously the canister always assumes active neurons are always in the heap. 2. `use_stable_memory_following_index`: this lets the canister use the neuron following index in the stable memory, instead of the one in the heap. No neurons are actually migrated yet. ## Changed * The `list_neurons` behavior is slightly changed: the `include_empty_neurons_readable_by_caller` was default to true before, and now it's default to true. More details can be found at: https://forum.dfinity.org/t/listneurons-api-change-empty-neurons/40311 # 2021-01-27: Proposal 134988 https://dashboard.internetcomputer.org/proposal/134988 ## Added ### List Neurons Paging Two new fields are added to the request, and one to the response. The request now supports `page_size` and `page_number`. If `page_size` is greater than `MAX_LIST_NEURONS_RESULTS` (currently 500), the API will treat it as `MAX_LIST_NEURONS_RESULTS`, and continue procesisng the request. If `page_number` is None, the API will treat it as Some(0) In the response, a field `total_pages_available` is available to tell the user how many additional requests need to be made. This will only affect neuron holders with more than 500 neurons, which is a small minority. This allows neuron holders with many neurons to list all of their neurons, whereas before, responses could be too large to be sent by the protocol. ## Changed * `InstallCode` proposal payload hashes are now computed when making the proposal instead of when listing proposal. Hashes for existing proposals are backfilled. # 2025-01-13: Proposal 134777 http://dashboard.internetcomputer.org/proposal/134777 ### Periodic Confirmation Enabled voting power adjustment and follow pruning. #### Prior Work This section describes related changes in previous releases. We already started recording how long it's been since neurons have confirmed their following (aka refreshed voting power). Neurons were also given the ability to confirm their following. Those who have never confirmed are considered as having refreshed on Sep 1, 2024. This feature was proposed and approved in motion [proposal 132411]. [proposal 132411]: https://dashboard.internetcomputer.org/proposal/132411 #### New Behavior(s) (In This Release) With this enablement, not refreshing for more than 6 months will start to affect the neuron. More precisely, 1. If a neuron has not refreshed in 6 months, then votes have less influence on the outcome of proposals. 2. If a neuron has not refreshed in 7 months, a. It stops following other neurons (except on the NeuronManagement topic; those followees are retained). b. Its influence on proposals goes to 0. END