All notable changes to the NNS Dapp will be documented in this file.
The format is based on Keep a Changelog.
The NNS Dapp is released through proposals in the Network Nervous System. Therefore, each proposal is documented below, following the relevant changes.
Unreleased changes are added to CHANGELOG-Nns-Dapp-unreleased.md
and moved
here after a successful release.
- Add a link to the ICP Dashboard in the project detail page.
- Add collapse-all functionality to json tree view.
- Read schema version from stable memory.
- Show canister title in details when user is not the controller.
- Use ICRC-2 for BTC withdrawal when
ENABLE_CKBTC_ICRC2
is enabled.
- Cron job to update proposal types.
- Enable dependabot for Rust updates.
- Workflow to get the latest NNS and SNS canister candid files.
- Try to prevent calls to global.fetch in unit tests.
- Update
ic-wasm
to the latest version. - Factor out the
snsdemo
installation. - Add
prod
andaggregator-prod
to the list of public releases.
- No longer update rust bindings when NNS canister interfaces are updated.
- Specified the preferred storage schema as an argument.
- Added provenance information to .did files and derived rust code.
- Add
UpdateElectedHostosVersions
andUpdateNodesHostosVersion
proposals support. - Show the maximum participation of the Neurons' Fund when present.
- A list of exceptional (not-rendered, zero value) transactions.
- Stable structures updated to
0.6.0
. - Dapp upgraded to Svelte
v4
. - New Proposal Card.
- Change the slider in dissolve delay for a read-only progress bar.
- Redesign the proposal payload and action.
- Switch the flag to use redesigned proposal detail page sections by default.
- Redesign the proposal voting section.
- Beautify the proposal cards look & feel.
- Removed debounce on deriving Network from ckBTC send address.
- Remove robots meta tag to allow search engines to crawl NNS Dapp.
- Fix i18n key in merge neurons summary screen.
- Display
TransferFrom
as a normal receive instead of failing to load transactions. - Fix issue with setting max dissolve delay when max is not a whole day.
- Added
retrieveBtcWithApproval
in ckbtc-minter API. - Render Approve transactions in transaction list.
- Add feature flag
ENABLE_CKBTC_ICRC2
.
- Import candid for NNS ledger.
- Formatting for
Cargo.toml
files. - Add test to check that the nns-dapp cargo and npm versions match.
- Script to deploy nns-dapp on
DevEnv
.
- Install
dfx
by means of the dedicated GitHub action. - Stop updating candid files when updating the test environment.
- Join npm audit URLs with spaces instead of commas.
- Add traits with a dedicated command rather than with patch files.
- Use snsdemo snapshot with Internet Identity version 2023-10-27.
- Delete nightly
GitHub
job to update II used in tests; we now use the II that comes withsnsdemo
.
- Fix issue with transactions not appearing in the Wallet page.
- Update proposal info icons position to improve the UX.
- Improve the indicator of the minimum commitment in the project status.
- Add "Finalizing" status in projects of the Launchpad.
- Fix UI bug when commitment was very low.
- Added
approveTransfer
in icrc-ledger API. - New feature flag
ENABLE_MY_TOKENS
. - Detailed values of the Neurons' Fund and direct participation in the project detail page.
- Documentation for the proposals payload renderer.
- E2E test for ckBTC.
- Fix erroneous failures in the
tip
tagging workflow when a PR is closed without merging. - Add --host flag to dfx-snapshot-start.
- Migrate the Jest unit test suite to Vitest.
- Get BTC button to use the mock bitcoin canister to test ckBTC.
- Update the schemas for the governance, registry and SNS Wasm canisters, used for proposal rendering.
- Get the governance, registry and SNS Wasm schemas direcly from
.did
files rather than importing the canisters. - Improve security by escaping additional images in the proposal summary markdown.
- Internal change: remove unused snsQueryStore.
- New Tag style. Used in followees topic and project status.
- New header UI in the wallet pages.
- Integrated library
marked
within dependencies instead of shipping it as a static asset.
- Separators in project page appearing without data inside.
- Cycles displayed as T Cycles on canister detail page.
- Put unreleased changes in
CHANGELOG-Nns-Dapp-unreleased.md
to avoid bad merges.
- Remove npm script
update:next
.
- New feature flag
ENABLE_FULL_WIDTH_PROPOSAL
.
- Make a histogram of transactions per account, used to optimize the new account storage.
- Include a copy of the
nns-governance
candid file in thenns-dapp
repository. - Update the IC commit in the
proposals
crate torelease-2023-08-01_23-01
. - Separate proposals backend into a separate crate.
- Improve spacings in the page headings.
- Improve the skeletons while loading in the neuron details page.
- Review the chunking strategy to enhance the dapp's loading time and prevent random, rare flashes of unstyled content (FOUC).
- New header UI in the canister detail page.
- New labels for min and max participation.
- Remove
ENABLE_DISBURSE_MATURITY
feature flag. - Remove
ENABLE_SNS_AGGREGATOR_STORE
feature flag.
- Change inconsistency in the name of an NNS topic.
- Rename
memo
on the ICRC-1 interface of the ICP ledger API toicrc1Memo
and add a warning about thememo
andicrc1Memo
being unrelated.
- New UI to better explain the commitment of Neurons' Fund and direct participation.
- Run several script tests on macos as well as ubuntu.
- Extend the release SOP script up to submitting the proposal.
- Check spelling in Rust documentation as part of CI.
- Factor out the core of
did2rs
for wider use. - Reduce the manual changes needed for
did2rs
by automating more. - Use
clap
argument parsing indid2rs
. - Populate the PR description of the
didc
updater. - Update the
snsdemo
test environment,dfx
and the IC commit of the NNS canisters. - Update the snsdemo commit & automate further updates.
- Cron job to update
snsdemo
weekly. - Update data for the Launchpad Prod test.
- Comment and skip dfx-nns-proposal-args.test.
- Select destination when disbursing maturity.
- Use ICRC-1 transfer on ICP ledger canister instead of generic ICRC-1 ledger canister.
- Allow
get_histogram
(an unstable API) only as a query call. - Set
ENABLE_SNS_AGGREGATOR_STORE
true for production. - Use custom button label for disburse maturity flow.
- Fix CSS on canister cards to show tooltip and name correctly.
- Use ICRC-1 transfer when staking a neuron, behind a feature flag.
- Fix the
release-sop
command that setorigin/main
as the upstream. - Specify the version of
binstall
indfx.json
. - Fix the proposal matching pattern in
nns-dapp/split-changelog
that used to match aggregator proposals as well. - Fix the rust-update action.
- Add the amount of maturity related to a selected percentage.
- Disburse maturity of sns neurons.
- Show the token selector also when not signed in.
- Use consistent positioning for the copy icon in the Hash component.
- Allow setting a dissolve delay that's shorter than what's required for voting power.
- Improve contrast of token selector's logo in light theme.
- Remove the "Project" leading word in the SNS Project card.
- Fixed issues with SetDissolveDelay component.
- Fix sent transaction icon background color dark theme.
- Improve text color of total value locked's label.
- Make duration rendering consistent.
- Improve Tooltip location when container hides part of it.
- Specify the
snsdemo
version indfx.json
. - Make the file list stats accessible in logs and as a file in the release artefacts.
- Support using the nns-dapp downgrade-upgrade test with Wasms other than prod.
- Fix build script by pinning cargo-binstall version.
- Make NNS Dapp accessible via wallet.ic0.app and wallet.internetcomputer.org.
- Add a database abstraction layer, preparing for migration.
- Put common accountsdb tests in a macro and call that rather than copying the list of tests.
- Change accounts storage heap structure from
HashMap
toBTreeMap
. - Made disburse neuron flow more consistent with other transaction flows.
- New colors in NNS Dapp.
- Make the format of
get_toy_account()
, used in testing, compatible withget_account()
. - Make a histogram of account sizes, used to optimize the new account storage.
- Remove unused components after new neuron details page.
- Add "Filter proposals by Votable only" e2e test.
--import-from-index-html
flag onscripts/canister_ids
to get canister IDs from an existing (testnet) release.- A dictionary for spell-checking.
- New "finalizing" status in SNS project detail page.
- Set
ENABLE_SNS_AGGREGATOR_STORE
true in unit tests.
- Bigger icon and description first on Sns project page.
- Remove ENABLE_NEURON_SETTINGS feature flag.
- Header in accounts, canisters and neurons was not visible after user came back from logging in.
- Address issue with displayed SNS balances on quickly switching between SNSes.
- Update dependency of @adobe/css-tools because of https://github.com/advisories/GHSA-hpx4-r86g-5jrg
- Disburse maturity of sns neurons.
- Add a command to increment the package versions.
- Use the upstream notification action directly, rather than using a local copy.
- Support comments in proposal titles. Example:
Proposal 1111 (cherry-pick)
- New tag for NNS neurons: "Hardware Wallet".
- New derived state store for SNS projects.
- Identify swap participation ICP transactions.
- Improve error messaging on payload size limit in proposals list page.
- New lifecycle store for SNS projects.
- New feature flag ENABLE_SNS_AGGREGATOR_STORE.
- Introduce an option to collapse or expand the application's menu on large screen.
- Remove some unused fields from the aggregator converted type.
- Display active sns neuron maturity disbursements.
- Access accounts only by getter and setter; do not assume that in-place modifications are possible.
- Defined an account data store interface, to allow account storage migrations.
- Update SNS Swap types to match the latest canister interface.
- Hide by default the proposal summary in ballots.
- Review checkboxes vertical alignment, border contrast on dark mode and remove hover background colors
- Launchpad proposal requests only Open proposals of the SNS topic.
- When reusing cached agents, use the current identity instead of the one in the cached agent.
- New landing pages for Accounts, Neurons, Canister and Settings when not logged in.
- Remove login page and redirect to accounts instead.
- Remove ENABLE_SIMULATE_MERGE_NEURONS flag.
- Fix wrong "ICP Staked" message in SNS neurons.
- Use new stores as source of data instead of snsQueryStore.
- Format markdown files, such as
README.md
, except changelogs and frontend markdown files. - Improve the rust document generation.
- Fix shellcheck issues.
- Make it easy to skip the CI build step for quick testing.
- Screenshot e2e tests.
- Allow specifying a test_filter to the e2e CI action.
- New test util to set SNS projects for testing.
- Make scripts/past-changelog-test check again the previous commit when run on main.
- Unit tests for the detailed
min_participant_icp_e8s
rendering.
- Moved e2e-tests/scripts/ to scripts/e2e-tests/ (but deleted update-chromedriver).
- Moved e2e-tests/scripts/ to scripts/e2e-tests/.
- Change some unit tests to set a system time and not rely on actual time.
- Remove compressed
.wasm
files from releases. Please use.wasm.gz
instead. - Remove
frontend/jest-spy.ts
. - Remove e2e-tests/
- Avoid SIGPIPE in scripts/past-changelog-test which caused flakiness.
- Fixed some tests that depended on execution order.
- CVE-2023-38497: Update Rust from version
1.71.0
to1.71.1
.
- Detailed
min_participant_icp_e8s
rendering hack for Modclub SNS. - Disable HW from participating in swaps.
- Don't display proposal navigation on launch-pad page.
- Update SNS Aggregator response type and related converters.
- Implement the standard accounts dropdown selector in canisters' features.
- Review and optimize the number of steps and the UI of the canisters' related modals.
- Hotkeys can now manage Neurons' Fund participation as long as the neuron is not controlled by a hardware wallet.
- Hardware Wallet users need to sign transactions only once. Except for staking a neuron.
- New NNS and SNS neuron details page layout.
- Remove fallback to load SNSes directly from SNS canisters.
- Remove ENABLE_SNS_AGGREGATOR flag.
- Remove relying on the swap raw metrics to get the number of buyers of a Swap.
- Fix missing referrer path on subpages.
- Fix some type discrepancies with SNS aggregator data.
- Do not show unnecessary scrollbar in notifications.
- Fix error when getting an SNS Aggregator page fails.
- Maintain text color in hyperlinks card when hovered.
- Prevent default behavior of copy button to avoid unintentional navigation when used in hyperlinks cards.
- Prevent the submission of cycles for top-up review unless an amount has been entered first.
- Proposal details e2e test.
- Automatically populate the change log section in the release proposal.
- Remove empty section headings in scripts/nns-dapp/split-changelog.
- Make it easy to skip the CI build step for quick testing
- Update candid interface for NNS governance to improve 1-proposal support.
- Rename deleted workflows to start with "ZZZ".
- past-changelog-test compares lines numbers correctly.
- Ignore SIGPIPE in scripts/past-changelog-test which caused flakiness.
- Enable merge neurons preview.
- Display page title in browser's tab.
- Refactor storage to prepare for schema migration.
- Enhance user experience by rendering hyperlinks for the cards displayed on the Accounts, Neurons, Proposals, Launchpad, and Canister pages instead of buttons
- Bump agent-js
v0.18.1
. - Clarify Ledger app version error message.
- Increase the displayed size of the projects logo on the "Launchpad".
- Do not display the "Vote on Proposals" title in the page's header on wide screens to align the behavior with pages that support multiple projects.
- New icon for dissolving neuron state.
- Keep menu open and visible on large screen (not only on extra large screen).
- Use tar format
gnu
instead ofustar
to archive the frontend assets, to keep reproducibility between GNU tar versions 1.34 and 1.35.
- Show the current dissolve Delay in the modal to increase a dissolving SNS neuron.
- Avoid repeating queries to canister status if the principal is not a controller, and avoid long-lasting display of skeletons.
- Correctly set the referrer on the detail page to go back to the effective previous page. Useful for the proposal detail page that can be opened from either from the "Proposals" or "Launchpage" pages.
- Fix incorrect error message when the user tries to set a lower sns dissolve delay than current.
- New NNS and SNS neuron details page layout.
- A separate build of nns-dapp for testing. See: https://github.com/dfinity/nns-dapp/releases/tag/dev-build-test-tag
- A test that state is preserved in downgrade-upgrade tests.
- Support SNS neuron permission in fake SNS governance API.
- Support selective pausing and resuming in API fakes.
- Create the
noassets
build using rust feature flags, for consistency, instead of with a separate build stage. - Updated the downgrade-upgrade test summary.
- Increased the size of the persistent state in downgrade-upgrade tests.
- Moved the downgrade-upgrade test into a dedicated job.
- Faster formatting of shell and yaml files, by operating only on named or changed files.
- Updated the calls to
docker-build
to use the--network
flag. - Upgraded to Playwright 1.36.
- Deploy.sh script
- Improve sns governance e2e test.
- Support for ICP transactions with Icrc addresses as the destination.
- Improve visibility of proposal summary headers.
- Improve copy in button to set or increase dissolve delay of a neuron.
- Install
ic-wasm
as part of the setup command. - Better visibility of upgrade cycle consumption, wasm size and memory usage.
- Check that release-sop is the newest version when it's run.
- Compile end-to-end tests to catch type errors.
- Use faster GitHub runners for e2e tests.
- Replace
ic-cdk-optimizer
withic-wasm shrink
. - Migrate some e2e tests from wdio to playwright.
- Revert display of TVL in various currencies to USD only
- Removed
OWN_CANISTER_URL
. - Setting Dissolve Delay supports 888 years.
- Improve responsiveness in proposal filter modals.
- Only Locked neurons are mergeable.
- Add copy button to sns proposal proposer id.
- New neuron state icons.
- Destroy sns neuron component and page after disburse.
- Changed
OWN_CANISTER_URL
to'self'
in the CSP. These are equivalent but'self'
does not depend on the deployment config.
- Nns voting e2e test.
- Added CI workflows to update rust and didc automatically, by cron job or button click.
- Script to reorganize CHANGELOG-Nns-Dapp.md after a release.
- Test that no new change log entries are added to existing releases.
- New feature flag "ENABLE_NEURON_SETTINGS".
- Playwright connects to PLAYWRIGHT_BASE_URL if specified in the environment.
- release-sop.test now has a flag to update golden files.
- Updated
didc
to the latest release. - Migrated some end-to-end tests from Wdio to Playwright.
- Use the newest snsdemo snapshot with the sns_aggregator preloaded.
- Split Playwright e2e test on CI into 2 shards.
- Duplicate
ic-cdk-optimizer
version field.
- Render SNS neuron voting power in neuron detail page.
- Users can now add names to canisters to easily identify them within NNS Dapp only.
- Periodically check for new transactions and updated balances of the ckBTC tokens/accounts.
- Simplify rust cache expiry with
pop_first()
. - Updated
bitcoin-canister
revision for proposal payload support. - Improve proposal action rendering.
- Fix bug with newly created canisters where the name was ovewritten to empty string.
- Progress on merge neurons preview, behind a flag.
- CreateServiceNervousSystem proposal support.
- Base64 image support for payload rendering.
scripts/canister_ids
can now remove canisters fromcanister_ids.json
.- Added a script to perform part of the release SOP.
- Consolidated the config tests.
- Set a custom URL for
internet_identity
onic
rather than using the default. - Improve Canister Detail tests by mocking the api layer instead of services.
- Copied the newest version of clap.bash from snsdemo.
- ci-link script uses correct workflow name.
- Periodically check for new transactions and updated balances of the SNS tokens/accounts.
- Decode the payment (amount) from the QR code reader.
- Add "Select All" and "Clear" selection in proposal filters.
- Add vesting information in SNS neuron detail.
- Render SNS neuron voting power in neuron detail page.
- Disable functionality buttons while SNS neuron is vesting.
- Ignore sign-in "error"
UserInterrupt
.
- Web Workers have been migrated to ES modules, which means that Firefox users using versions prior to v114 won't be able to read certain data in the UI, such as TVL and canisters' cycles, unless they upgrade their browser to a more recent release.
- Title of Ledger device transaction when staking two neurons on a row.
- Enable voting for proposals that are decided but still accepting votes.
- Misplaced tooltip for disabled SNS neuron split button.
- Added a command line tool to get the arguments of a canister upgrade proposal, for verification purposes.
- Publish the arguments used in every release.
- A script to download the WASM from GitHub CI build.
- A script to get the WASM hash from the GitHub CI build log.
- Instructions to verify canister args in proposal.
- Added a command to inspect canister upgrade proposals. (See: scripts/dfx-nns-proposal-args)
- More test for the release-sop script.
- Refactored CI tests to reduce network load related failures.
- Fix coreutils installation issues on M1 apple laptops.
- Made per-network configuration in dfx.json optional.
- Consolidated the
docker-build
andaggregator
GitHub workflows into thebuild
workflow, to reuse the build artefacts and so reduce network load on the runners. - Increased timeout on end-to-end tests running on CI.
- Deleted the now empty
docker-build
andaggregator
GitHub workflows.
- Render the SNS Neuron age.
- Fix navigation issue from SNS proposal to the Launchpad.
- Use the count of participants from the derived state instead of using the
- SNS governance raw metrics.
- TVL in various currencies.
- Improvement in NNS proposal filters.
- New field minimum participants in project detail page.
- Mobile experience improvements.
- Use minter info to retrieve ckBTC parameters (retrieve min amount, kit fee and number of confirmations).
- Fix for Dragginz SNS metrics.
- Improve Apple install to home screen look and feel.
- Enable sns-voting.
- Add a call to "update_balance" for ckBTC during the withdrawal account check process.
- Improve participation UI.
- Fix UI warning duplicate form field id in the same form.
- Minor fixes.
- Improve ICRC accounts loading performance.
- Improve loading state UX.
- Update (fav)icons.
- Upgrade libraries.
- Minor fixes and text changes.
- Swap conditions.
- Parameters loading optimisation.
- Libraries loading optimisation.
- Minor bugfixes and improvements.
- Feat reload account and transactions regardless of ckBTC update balance success or error.
- Fix ckBTC transfer status visibility.
- Improve ckBTC transactions reload.
- Improve participation UX.
- Simplifications to reduce stress on the system during upcoming SNS swaps.
- Fix metrics API.
- Fix number formatting on max button click.
- Minor fixes and UI improvements.
- UI improvements.
- Minor bugfixes.
- Receive BTC.
- Convert ckBTC to BTC.
- Minor bugfixes.
- Performance optimization (accounts).
- Minor fixes and UI improvements.
- Add BitcoinSetConfig proposal payload support.
- Minor fixes and UI improvements.
- UI fixes.
- Testing improvements.
- Minor configuration clean up.
- Fix bug when filtering proposals.
- Upgrade dependencies to IC to prepare for new NNS Proposal Action.
- Improve modal width.
- Some copy changes.
- Display info text for Last Distribution.
- Add new field to NNS payload to show arguments as hex string.
- Accessibility improvement: colors and proposal payload/summary contrast.
- Performance improvements (neuron caching).
- Redesign and review of transaction confirmation step.
- Narrowed modal design.
- Modal wizard animation.
- Make followees modal UI more compact.
- Minor style fixes.
- Fix settings title glitch.
- Label updates.
- Minor fixes.
- Fix back to detail from "Settings" page.
- UX improvements:
- Transaction edit submit form with "Enter".
- Back button from SNS Proposal Detail page keeps universe.
- Minor bugfixes.
- Select send and receive address by scanning a QR code.
- "Receive" action added to main screen and "Add account" action moved as a card.
- New settings page which displays user principal and session duration
- New proposal payload.
- New data in the project detail.
- Better validations in address inputs.
- Remove unnecessary calls when updating accounts after an action.
- Remove button to increase stake for CF SNS neurons.
- Improve validations in address inputs.
- Upgrade agent-js.
- Bugfixes and minor improvements.
- Stake maturity for SNS neurons.
- Reenable update calls.
- Optimize project calls.
- Minor text updates and fixes.
- Fix bug after voting.
- Upgrade Sveltekit.
- Clean up unused state.
- "high-load" warning fix.
- SNS participation progress screen.
- SNS aggregator improvements.
- Network "high load" notification.
- Polling and request optimization.
- Minor UI and text updates
- Enable SNS aggregator.
- Switch to TVL canister.
- Sale process improvement.
- Minor fixes and improvements.
- Performance improvements by delaying requests when needed.
- Setup caching layer for neurons.
- Payment flow upgrade.
- SNS Aggregator improvements.
- Derived state api.
- Fixes and UI improvements.
- Migration to nns.internetcomputer.org
- Launch ckBTC wallet functionality!
- Fix bug in transactions list.
- Introduce GZIP encoding for assets.
- Fetch data with "query" for not logged in users.
- Remove dashboard routing fallback.
- Login screen minor changes.
- Extended dissolve delay input.
- Payload rendering fix.
- Text and style updates.
- Fix bug encoding and decoding ICRC-1 subaccounts.
- Auto-stake for non-controlled neurons.
- Enable Merge HW controlled neurons.
- Add "created at" parameter in transactions.
- Poll and display canister status (cycles, memory and status).
- Use new library "dfinity/ledger".
- Update proposal rendering (new types).
- Minor fixes and improvements.
- Split layout and new token selector for "Accounts" and "Neurons".
- Display TVL (total value locked) in USD.
- Remove badge "new" next to menu entry "Launchpad".
- Fixes and UI improvements.
- Increase sns neuron stake.
- Split sns neuron.
- Permission update for sns hotkeys.
- UX changes:
- Theme switcher on login screen.
- Improve proposal payment and summary rendering.
- Bugfixes.
- Fix disburse button in SNS neurons
- Fix rounding error in sns transactions
- Gzip wasm for proposal payload
- Staking sns neuron.
- Main “Login” page.
- Update main menu entries.
- Dependencies upgrade.
- Minor bugfixes and UI improvements.
- Enable stake maturity for HW.
- Hide vote pane from detail page if proposal reward status has settled.
- Update tcycles fee description.
- Keep track of http agent (optimisation).
- Label updates and bugfixes.
- fix sns minimum dissolve delay description calculation
- fix sns hotkeys permissions
- minor styling and label update
- Followees and dissolve delay in SNS neurons.
- Improvements in rendering proposal payload.
- Unspecific topic in sns.
- Documentation update.
- Tag releases in GitHub automatically.
- Bugfixes.
- UI Improvements in Wallet page.
- UI Improvements in Neuron detail page.
- UI Improvements in Canister detail page.
- Show "undefined" properties in proposal payload.
- Parse bytes from candid payloads and show them as hash.
- UI improvements when showing the payload as JSON.
- Change order of NNS topics when adding new followees.
- Change in some colors.
- Improved title in wallet and sns neuron detail page.
- Fix calculation with voting power in dissolbe delay modal.
- Use absolute path in meta image tag.
- Fix issue with rounding of the amount in transactions.
- Remove redirection in Launchpad page.
- Enable Launchpad and SNS Sale pages.
- Fix bug in voting power calculation.
- UI improvements.
- Fix bug on proposals public page.
- Improvements in wording.
- Improve error message on canister detail page.
- UI improvements in neuron detail page.
- UI redistribution in Neuron details.
- New cards for neurons and accounts.
- Proposals list and proposal details are now public.
- UI improvements on automatic logout.
- New design colors, spacing and layout
- Link to sub-pages on main login screen
- UI/UX fixes
- Stake SNS neuron functionality
- Improve Participate Button
- New routing.
- New login.
- New public page for each tab.
- UI improvements.
- Fonts and font size update.
- Fix bug in topics filter.
- Text improvements in Maturity card.
- Two new NNS Proposal topics.
- Two new nnsFunctions.
- Fix backwards compatibility of the CSP policy for older Android devices.
- Support for new payload type.
- Support for new proposal topic.
- UI Improvements in Stake Maturity.
- Reduce bundle by removing imported test script.
- Enable Stake Maturity for II neurons.
- Fix CSP 'strict-dynamic' issue on Firefox.
- UI fixes for Modal in small devices.
- Fix Buffer polyfill race condition.
- SvelteKit implementation (without routing changes).
- New Modal UI.
- Bump agent-js to v0.14.0
- New flow to top up neurons.
- Fix overflow in proposal details.
- New login page.
- Minor UI improvements.
- Clean unused code.
- Upgrade nns-js, sns-js and utils-js.
- Refactor to support multiple tokens in Accounts.
- Extract CMC functionality to its own library cmc-js.
- Add new proposal types.
- UI fixes on iPad.
- Add sitemap and robots.txt.
- New Voting screens:
- refreshed design (new cards, new buttons’ color, etc.)
- information structure modified to present firstly “system information”
- better use of the space for a quicker and better overview
- ability to navigate from previous or to next proposal
- quicker access to voting actions notably on mobile devices thanks to a sticky bottom sheet
- CSP fallback for old devices
- New transaction flow.
- Fix android issues with modal.
- Add pending transaction state in canister.
- Persist proposal filters in local storage
- Upgrade agent-js v0.13.x (uses indexeddb instead of localstorage)
- Upgrade nns-js
- Improve CSP rules and script loader
- Infinite scrolling observer modified to handle list of cards
- Governance labels and descriptions reviewed
- Console output moves to debug information
- Fix android issues with modal.
- Add pending transaction state in canister.
- sanitize proposal title and account identifier for placeholders
- Optimistic voting update
- Toast redesign
- Update nns-js, sns-js, agent-js (0.12.2) and integrate utils-js
- bump IC to the latest version
- extract some ui components and integrate gix-components
- replace .ttf with .woff2 fonts
- add org package.json "name" field
- various improvements in build scripts
- light cleanup of README.md
- Update on maturity text info.
- Upgrade sns-js
- Maturity is displayed without %.
- Fix a bug when adding cycles to a canister.
- Fix a bug in the transaction list.
- Various improvements in the deployment pipeline.
- Changes in font colors.
- Disable agent-js idle observer
- Fix: Update the proposal schema to match the governance canister
- Maturity modulation when spawning a new neuron.
- UI improvements in the modals.
- Add new SNS Proposal topic.
- Make voting for proposals available till duration expires
- Scope proposal detail data load to improve UX navigation between proposals
- e2e tests: Update the way SNS is deployed to the current standard, which is via the wasm canister.
- Update dfx to version 0.11.0-beta.1
- User can leave community fund.
- New Input element.
- New Checkbox element.
- Split "Create or Link Canister" in two buttons.
- Improved error messages when working with hardware wallet.
- Polyfill CSS to support older browsers
- Buttons realignment in Neuron Detail Page
- UI improvements
- Add light theme
- Review dark theme
- Enable theming
- Upgrade agent-js
- Improve signout flow
- Improvements in error management
- No tooltip when not needed. It had problems with Android devices
- Lazy load routes to improve performance
- Update canister payment flow
- New Navigation menu
- Improvements getting the Proposal payload
- Other UI improvements
- Removal of now unused flutter code
- New Canisters Tab built on Svelte
- Fix minor UI issues in the Neurons tab for smaller devices
- Add tooltip to Wallet page to display all ICP
- Fix voting power amount in the Proposal page
- Provide more detailed values for neuron ICP
- Improve support for earlier versions of iPhone
- Truncate ICP per request
- Fix styling of modals on Safari
- Display the svelte version of the accounts and neurons tabs.
- Move the hardware wallet CLI out into a separate repository.
- Improvements to the UI.
- More tests
- Do not offer merging hardware wallet controlled neurons in the UI, as it is currently not supported.
- Add the ability to dump debug info.
- Prepare for more tabs to be released as svelte.
- Improve the infrastructure for third party contributions.
- More tests.
- Update mechanics for creating canisters
- Prepare to release the neuron and accounts tabs in svelte
- Remove slider option for spawning maturity on wallets that don't support it.
- Confirmation screen in Merge Maturity
- Render 32 byte hashes in proposals as strings rather than byte arrays
- New JSON payload renderer
- Refactor the configuration to suport more testing scenarios
- Prepare to render the Neurons tab using svelte
- Fix CSP domains
- Usability and accessibility improvements
- Add a question that reminds title and topic of the proposal before vote on related detail page
- Add titles to my votes icons (a11y improvement)
- Display topic and proposal ID to the proposal detail page
- Update colours
- Better loading skeletons
- Add button titles
- Prevent duplicate hardware wallets from being attached to an account
- Preparations for svelte neurons tab
- Test with NNS canisters running in dfx
- UI fixes:
- Show the ID of followed neurons again
- Proposal filtering
- UI improvements
- More tests
- Fix rendering of large payloads.
- Fix double-voting error message.
- Rate limit API calls to reduce the risk of errors for users with large numbers of neurons.
- Add log messages to help diagnose issues experienced by users.
- Update dfx to 0.9.2
- A filter that excludes all proposals was previously ignored, whereas now such a filter will show no results.
- Preparation for switching more of the UI to svelte.
- UI improvements.
- More tests.
- Display the proposals tab using svelte
- Merge neuron functionality (using quill, not the GUI).
- Updated logo
- UI improvements
- More tests
- Update changelog for the last release
- Remove upgrade code needed for the last release only
- Show new
node_provider_id
field inUpdateNodeOperatorConfigPayload
proposals. - Svelte UI development
- Fix tests
- Update js library dependencies
- Update dependencies and Rust version.
- Enable merge maturity for hardware wallets.
- End to end test for login.
- Update icon when installed as an Android app.
- More svelte front end changes.
- Upgrade agent-js to 0.10.3 (to resolve some issues with proposal rendering)
- Add "Powered by IC" badge to the login page
- Update the "Follow all" description as now this setting causes the neuron to follow for all proposals except governance proposals
- More Svelte changes (WIP)
- Added entries to the whitelist of proposal types where the payload is small and useful enough to display.
- Small improvements to the UI.
- Proposal types RemoveNodeOperatorsPayload and RerouteCanisterRangePayload are now displayed in the UI.
- Proposal type UpdateNodeOperatorConfigPayload has additional fields:
rewardable_nodes
anddc_id
- Small improvements to the UI.
- Resolved reproducibility issue.
- Add custom followees
- Update styling
- Add principal to hardware wallet accounts page
- Security and technical improvements
- Downgrade agent-js back to 0.9.1, as it was breaking hardware wallets
- UI enhancements
- Add a console command to assist with account access
- Replace the svelte routing logic
- Serve the login page as svelte
- Update the flutter login page graphics.
- Fix docker build scripts.
- Update the svelte login page but do not switch it live.
- Fixed an issue where a user's expired session can lead to triggering code related to hardware wallets, even if the user has no hardware wallet accounts.
- Fixed an issue where the "Session expired" dialog didn't redirect to the login page after the user clicked "Ok".
- Removed displaying the user's principal from the Neurons page.
- Switch mainnet to using the HTML renderer for all browsers, rather than only for mobile browsers. This has shown to resolve flickering and rendering issues observed by Monterey and iPads running iOS15. The previous upgrade only switched the renderer in the testnet setup and not production.
- Switch testnet to using the HTML renderer for all browsers, rather than only for mobile browsers. This has shown to resolve flickering and rendering issues observed by Monterey and iPads running iOS15.
- Adds a 'Split Neuron' button which allows users to split a neuron into 2.
- Adds proposal definitions for 3 new NNS functions allowing their payloads to be randered properly.
- Updates the UpdateSubnetPayload definition to include a few new fields.
- Fix bug where pop-up would not automatically close after adding a hardware wallet.
- Allow payload text to be selected.
- Display the payloads of 'Execute NNS Function' proposals
- Allow markdown in proposal summaries
- Display the new 'title' field on proposals
- Add a
metrics
endpoint for creating dashboards on Prometheus. - Fetch accounts, balances, and neurons more securely. Rather than fetching sensitive data (e.g. ledger balances) as query calls, we now fetch the data twice in parallel: once as a query call for UI snappiness, and another as an update call to get a certified response. The certified response overwrites the result of the query.
- Ledger wallet: Allow disbursing neurons to a different account.
- Minor UI enhancements.