Skip to content

Releases: makerdao/governance-portal-v2

v0.5.0 - Sadie (Blue Duck — (Hymenolaimus malacorhynchos)

01 Jun 11:28
Compare
Choose a tag to compare
  • Release Name: Sadie (Blue Duck — (Hymenolaimus malacorhynchos)
  • Version: v0.5.0
  • Release Date: June 1st 2022

v0.5.0: Handling Complexity

DUX team is happy to ship another update to the Governance Portal! This particular release is focussed on dealing with complexity as Maker governance becomes more complex (ie. more delegates, an ever-growing number of polls, etc.)

We've made significant improvements to how governance metadata (ie. poll and delegate metadata such as category labels and value tags) are handled, added search bars, and made improvements to page filters. This should make it easier to quickly find what you're looking for and deal with the growing complexity of Maker governance. More importantly; the new governance metadata system enables a whole range of new features that use the metadata.

This update also includes a few other new features, lots of optimisations to data fetching, and some bug fixes. Refer to the full changelog below.

Featured Changes

New Governance Metadata System

As mentioned above, this version of the Governance Portal introduces a new governance metadata system. DUX team has collaborated with GovAlpha CU on this system, aiming to bring richer metadata to governance polls and delegate profiles, but also making it easier for GovAlpha to work with governance metadata. The new system is based on a data model for governance metadata files that reside on MakerDAO's community GitHub repository. The metadata is partially coupled to the actual governance files (ie. poll files and delegate profile markdown files) and partially decoupled from these files (ie. separate jsons with a mapping to the governance files). In the next release we'll roll out another part of this larger feature.

As a user of the Governance Portal you'll see new & richer poll category tags, and 'core value' tags on recognized delegates' profiles. GovAlpha has asked the Recognized Delegates to pick their core values from a predefined list, which should help understanding the priorities and visions of the various Maker delegates at a glance. A final note on governance metadata; it's iterative. Expect the metadata to change over time as Maker's context changes, and expect more features to be built on top of the metadata (eg. 'find my delegate')

Search Bar for Polls & Delegates

We've added a search bar to the poling and delegates pages to more easily deal with the ever-growing number of governance polls and delegates. Thanks to user tbone specifically for requesting this recently!

Improvements to Filtering

The aforementioned features have pushed us to rework the filtering system throughout the app. Page filters are now more advanced, more granular and more consistent throughout the Governance Portal!

Custom Spell Voting page

We have added a new feature to the Governance Portal for voting on custom executive spells. Recent events have shown us that we need infrastructure for dealing with emergencies, and an atypical executive spell is one of the main weapons Maker governance can use to deal with them. This new page allows for users to vote on any executive spell by manually entering the contract address, even if the spell does not show up on the executives page due to missing markdown. Using the 'fetch spell details' button, users can learn more about the on-chain characteristics of the governance spell before voting on it. NOTE: This feature should only be used in case of emergencies. We expect this feature will only be used by delegates in close collaboration with GovAlpha Core Unit and/or Protocol Engineering Core Unit. Find the page in the sidebar of the executives page, or navigate to https://vote.makerdao.com/custom-spell/

Full Release Notes

  • New governance metadata system for poll category tags and delegate value tags
  • Added search bar to polls and delegates
  • Reworked poll filters
  • Reworked delegate filters
  • Added custom spell voting page
  • New delegate card design
  • Add sorting to vote breakdown tab on poll detail page
  • Refactoring graphql of poll filters and queries
  • Store comments and display a pending state if the transaction has not been completed
  • Use infura on the e2e test suite
  • Various optimisations to data fetching
  • Smaller bug fixes and typo corrections

Buddy Blue (Winged Teal — Anas Discors)

28 Apr 19:12
Compare
Choose a tag to compare

Governance Portal Release v0.4.2 - April 28th


  • Release Name: Buddy Blue (Winged Teal — Anas Discors)
  • Version: v0.4.2
  • Release Date: April 28th 2022

v0.4.2: A Fresh New Look

It's here. We have been working on a redesign for the Governance Portal for a while now, in parallel to our more technical work. The initiative started out as a rearrangement of the landing page since it had some obvious improvement points. Whilst working on this we ran into some obvious improvement points for the landing page style, which turned into a more holistic redesign of the landing page, which then seeped throughout the whole application.

The end result is a more relevant and useful landing page, which serves both as the first touchpoint for users that are new to MakerDAO governance, and serves as a dashboard for existing users. We have more ideas for the landing page (eg. customisation based on the connected wallet) but we decided not to prioritise them for now.

This release also includes various smaller improvements. Refer to the full changelog below.

Featured Changes

Landing Page Redesign

We redesigned the Governance Portal landing page to make it more useful (...and more beautiful!) The landing page now serves as the first touchpoint for users that are new to MakerDAO governance, providing them with basic explainers and curated resources. The new landing page will also be more useful to existing MakerDAO governance participants by acting as a rich overview and dashboard for MakerDAO governance—important information and quick actions can be found without having to further dig into the application.

Design Refresh for Common Components

Besides the new landing page we've also applied the new styling to common components throughout the Governance Portal. Buttons, filters, cards, headers and footers are now styled in alignment with the new landing page—overall the portal should feel fresher now!

Improvements to Commenting

We've made some improvements to poll & executive proposal comments. We've added 'MKR weight' as the default sorting option and added some well-considered restrictions to comment markdown as a means to decrease the optical difference between regular comments and comments that excessively use markdown.

Improved tally caching

Due to some improvements we've made related to caching you should experience less loading time when viewing executive and/or poll vote data.

Full Release Notes

  • Landing page redesign
    • New governance stats added
    • Improved loading states
    • New mini menu in header
    • Landing page exec voting
    • Poll category links
    • Improved resource section
    • New forum post section
    • New governance stats added
  • Design refresh for common components
  • Improved tally caching
  • Fix Uniswap v3 MKR liquidity data
  • Add 'sort by MKR' for comments
  • Change markdown logic for comments
  • Various bug fixes

What's Changed

Full Changelog: v0.4.1...v0.4.2

Hotfix - Delegates API

16 Mar 09:04
Compare
Choose a tag to compare

Hotfix to reduce load time on delegates API response.

v0.3.0 - Sir Dillard (Harlequin Duck — Histrionicus histrionicus)

15 Mar 15:45
Compare
Choose a tag to compare

Governance Portal Release v0.3.0 - March 15th


  • Release Name: Sir Dillard (Harlequin Duck — Histrionicus histrionicus)
  • Version: v0.3.0
  • Release Date: March 14th 2022

v0.3.0: The Big Refactor

That's right, GitHub. This release is HUGE, and likely the largest single release the DUX team will ever ship. It has been the result of months of work, with a tangible outcome of ~450 files and over 50k lines of code changed in the Governance Portal codebase.🤯

For this release we took the opportunity to refactor the codebase in order to replace some key dependencies on deprecated Javascript libraries, most notably dai.js. This was by far the biggest chunk of technical debt we had on our backlog, and a big win for our engineering team. Removing these dependencies required a lot of technical research, architecture design and code refactoring in order to make sure all functionalities were covered. It also inspired further optimisations and improvements on how the application fetches and handles data.

In light of the growing number of (recognized) delegates, this release also features improvements related to how delegate profiles are displayed throughout the application.

In addition, this is the first release that passed through our new end-to-end integration testing suite, built using Cypress. Last year we acknowledged the need for improved automated testing practices as the application and governance proposals becomes more complex—we plan to continue improving on this front, but this is a huge step in the right direction.

Lastly, the release includes a large amount of bug fixes, UX optimisations, and security improvements. Refer to the full changelog below.

We strongly believe that this code refactor has resulted in a more stable and secure application, which is also more future-proof (eg. multi—chain features, data-intensive features) and easier to maintain and further develop. It lays the groundwork for more exciting and complex features which we have been working on in parallel.

Featured Changes

Replace deprecated dependencies

As mentioned above, in this release we are removing dependencies on certain deprecated javascript libraries, in favour of more popular open-source alternatives. Most notable is dai.js, a Javascript library once started by the Maker Foundation that DUX team has been maintaining thus far. Over the course of 2021 our engineering team attained the belief that dai.js is deprecated, added significant engineering overhead to our work on the Governance Portal, and is technically inferior to open-source alternatives such as ethers.js. Other dependencies we are removing in this release are testchain.js (in favour of HardHat), and currency.js.

Improvements to delegate profiles

These past few months we have seen many new delegates enter the stage, which has been great to see! We believe vote delegation is an effective mechanism for capturing more MKR into the MakerDAO governance system. This recent spike inspired us to make some improvements to how we view (shadow) delegate profiles on the Governance Portal.

From now on, we are displaying indicators for account types. This makes it easier to distinguish shadow/recognized delegate accounts from regular users. This also enabled us to bring more customisation options to shadow delegates, in the form of improved ENS address resolving and ENS avatar support.

New testing suite

As the Governance Portal grows more complex and feature-rich, we have learned that we needed better automated testing practices in our team. This release is the first one to have passed through our new end-to-end integration testing suite, built with Cypress. It helps us test the most critical user flows in various scenarios—something that would take ages manually. A lot of research has been going into this work and we're very happy with the current setup. We will continue to add more tests and we are exploring a collaboration with the TechOps team regarding testing.

Improved error handling

The Governance Portal is now more resilient to app crashes due to individual components failing or APIs being unavailable. Through error boundaries such events should no longer be able to crash the application and make critical user flows unusable, which has happened in the past. Instead, it will display a user-friendly fallback UI component and logs data that will be useful for us to find & fix the error.

Full Release Notes

  • Remove dai.js dependency (https://github.com/makerdao/dai.js) in favour of ethers.js
  • Remove testchain dependency (https://github.com/makerdao/testchain) in favour of Hardhat network forking
  • Remove currency dependency (https://github.com/makerdao/currency)
  • Loading contract types / abis through eth-sdk (https://github.com/dethcrypto/eth-sdk)
  • Refactor data fetching mechanisms that were dependant on dai.js: spock queries, web3 queries.
  • Added component to switch between networks (Goerli and Mainnet), with future thoughts on multilayer governance
  • Increased E2E test suite and use of cypress through the app
  • Fix security headers
  • Fix security vulnerability for comments api
  • Fix security vulnerability on API-docs
  • Added error boundaries to wrap errors on certain components and avoid error propagation through the app
  • Created "Account" page for people to visualize their own votes, can be accessed by clicking on the account modal.
  • Added support for ENS avatars
  • New Delegates icons
  • UI upgrades in the delegates pictures components through the app
  • Added pagination for fetching executives
  • Fix date calculation for Delegated MKR
  • Remove "Abstain" option from ranked choice voting if any other option has been selected

Last Tag pre refactor

15 Mar 15:32
Compare
Choose a tag to compare

This is the version deployed on vote.makerdao.com until 15/03/2022.

Used for historical reference and for fallbacks

v0.2.7

18 Jan 22:05
43b0156
Compare
Choose a tag to compare

With hotfixes

Mrs. Featherby (Ringed Teal — Callonetta leucophrys)

17 Dec 00:37
Compare
Choose a tag to compare

Governance Portal Release v0.2.6 - December 16th


  • Release Name: Mrs. Featherby (Ringed Teal — Callonetta leucophrys)
  • Version: v0.2.6
  • Release Date: December 16th 2021

v0.2.6: Polling Vote Comments

As we move closer to the year's end, DUX team is happy to release one more update to the Governance Portal before we go on a short break. We are happy to present vote comments for governance polls—a feature that has been requested multiple times over the past few months. In addition to that, this release mainly consists of many bug fixes (especially on mobile), performance improvements, UI tweaks and preparations for soon-to-be-released features (eg. the return of the on-chain spell effects module and EIP-1559 related optimizations).

This release felt like 'wrapping up' in various ways; it's the last sprint of 2021 but it's also the last sprint that we dedicate to some larger roadmap themes that we committed to a few months back during our Launch Pod presentation, hosted by SES CU. Early next year we'll host a Roadmap Spotlight presentation in which we'll look back on our work these past three months and also the prioritized themes for the first quarter of 2022 and some team updates. We're looking forward to the next year since we have some exciting roadmap work and larger Maker-wide initiatives planned. Stay tuned for more info on the DUX Roadmap Spotlight presentation!

We'll be taking a short break from December 20th, to January 2nd. However, each day we'll have two team members on duty in case any any issues arise. As always, please join the conversation on our Discord server, or share product feedback and Maker governance UX ideas at https://makergovernance.canny.io/

Featured Changes

Vote comments for polling

By popular request we have implemented vote comments for governance polls! It works similar to the current commenting flow for Executive proposals—one minor difference is that the comment fields have been implemented into the ballot review page. This way a voter can add comments to multiple poll votes without added steps and transactions.

We have also improved the UX of signing comments before submitting the actual vote transactions, as seen below.

Ending with a roadmap teaser✨ This feature marks the start of our focus on 'interactivity' as a feature focus. Over the next three months we'll explore ways to make the Governance Portal more integrated with other governance tools and enable more interactivity.

More transparency tweaks to Delegate profile pages

We have added some small UI tweaks to the Delegate profile pages to more easily find relevant info at a glance, such as the total MKR voting power, the number of delegators and the address (ENS-resolved if applicable!) that created the delegate contract.

What's Changed

Full Changelog: v0.2.4...v0.2.6

Alphonso Hartlaub's Duck — (Pteronetta hartlaubii)

06 Dec 23:39
Compare
Choose a tag to compare

  • Release Name: Alphonso Hartlaub's Duck — (Pteronetta hartlaubii)
  • Version: v0.2.5
  • Release Date: December 6th 2021

v0.2.5: Improving Discoverability

This past sprint the DUX team had only 50% of its usual development capacity available for work on the Governance portal (due to holidays and some maintenance work on another Maker UI). Nevertheless we're proud to release yet another coherent release of the Governance Portal! This release contains some smaller but useful improvements and additions related to discoverability. As the number of governance polls, delegate contracts and historic transactions within Maker Governance continues to grow we want to make sure the Governance Portal remains the easiest way for users to find what they are looking for. This release also marks the penultimate version of the Governance Portal of 2021—there will be one more release before we take a small break for the December holidays. We are preparing a roadmap spotlight presentation for early January in which we'll reflect on the past three months and also zoom into our priorities for the upcoming quarter.

Many of these features evolved from talking to members of the community, or suggestions on our idea board, so please join the conversation on Discord, or provide feedback at https://makergovernance.canny.io/

Featured Changes

Filtering and sorting for delegates

With a recent healthy influx of new delegates and some large deviations in MKR voting weight we have made some improvements to the Delegates overview page by adding filters and sorting. These should make it easier to quickly find the delegate contract you are looking for—whether it is a recognized delegate or a shadow delegate. We have more ideas for making it easier to pick a suitable delegate to delegate your MKR voting power to, so stay tuned there.

Delegation breakdown

Based on popular request we have added a delegation breakdown view to delegate profile pages and account pages. On delegate profile pages we show a list of account that delegated MKR to that address, and also reference the exact transactions—you can even manually verify these transactions on Etherscan! On the account pages we show something similar, except we show the delegation actions of that particular address, which might include multiple delegates.

Improved governance poll filters

After introducing filters for governance polls earlier this year we have made some UX improvements based on user feedback. The filters now indicate the number of results and it should be easier to interact with the long dropdown list of poll types. We have also improved the date filter behaviour by making sure it filters on poll expiry date vs creation date. Lastly, we also made these filter labels more explanatory.

Added "How to Vote" video

All credits to Maker's Content Production Core Unit here! They have been working on a slick video tutorial for the Governance Portal's critical user flows and we were happy to include the video on the homepage. We have some very exciting plans for the Governance Portal landing page so expect more on that front.

What's Changed

Full Changelog: v0.2.4...v0.2.5

Peanut Common Goldeneye — (Bucephala clangula)

23 Nov 19:36
3712e9f
Compare
Choose a tag to compare

  • Release Name: Peanut Common Goldeneye — (Bucephala clangula)
  • Version: v0.2.4
  • Release Date: November 23rd 2021

v0.2.4: At A Glance

DUX core unit is proud to ship yet another iteration of the Governance Portal! Although we had less capacity than usual*, we were able to deliver some minor features and improvements that contribute to our goals of bringing transparency, verifiability, neutrality, and security to Maker governance. This release makes it easier for users of the Governance Portal to find relevant information at a glance, whilst still having the option to dig in deep and find all the data they need. Examples would be ENS resolving throughout the application, an indicator for passive delegate contracts and an improved design for poll cards on their overview page.

Many of these features evolved from talking to members of the community, or suggestions on our idea board, so please join the conversation on Discord, or provide feedback at https://makergovernance.canny.io/

*In parallel to our work on the Governance Portal we also worked on more critical updates to the Liquidations Portal UI and the Migrations Portal UI. These frontends are not necessarily within our CU mandate but have been temporarily orphaned and therefore required some work to keep them functional. In consultation with SES and PE CU we decided that we had to prioritize this over the Governance Portal backlog.

Featured Changes

Improved polling card design

We have implemented an improved card design on the polling overview page. This new design incorporates more relevant data at a glance, such as a visual vote breakdown, an indication of the current winning vote option and the category tags. It will also indicate any special attributes of the poll, such as a 10k MKR threshold that applies to some poll types.

ENS resolving

This one was in high-demand: Adding a full implementation of ENS resolving throughout the Governance Portal. ENS domains are great for making addresses human-readable and create long-term associations with a person or entity. In this release we'll automatically resolve addresses to their respective ENS domains if they are set up. This also works with ENS subdomains (shoutout to ultraschuppi for using ENS subdomains for his delegate contract!)

'Last Voted' badge for delegates

We wanted to make it easier for users to spot inactive (or abandoned) delegate addresses and we came up with an implementation that does not require a centralized list of some sorts. This new feature checks the latest poll that the delegate contract participated in and adds a simple indicator on the delegate overview page and profile pages. The colour of the indicator changes based on how long ago the last voting activity was recorded on the blockchain. This feature is enabled both for recognized and shadow delegates and hopefully leads to less MKR tokens being dormant in governance.

ethers.js library upgrade to better handle EIP-1559 txs

Last but not least, this release also contains some more boring but important improvements to how the Governance Portal works. Ethers.js is an important Javascript library that we use for interfacing with smart contracts, and we have upgraded it to its latest versions—this also required some changes in how we use this package throughout the Governance Portal.

What's Changed

Full Changelog: v0.2.3...v0.2.4

Charlie Torrent Duck — (Merganetta armata)

09 Nov 01:01
Compare
Choose a tag to compare

  • Release Name: Charlie Torrent Duck — (Merganetta armata)
  • Version: v0.2.3
  • Release Date: November 8th 2021

v0.2.3: Shine a Light

We have a lot of great new features going into our latest release and we're happy to share them with the community! Each of these enhancements serves to increase the visibility of some aspect of governance, which we hope will increase engagement as well as improve the experience for existing users. Whether it's shining a light on critical pieces of information or helping to identify signal from noise, our aim is to bring the state of Maker governance ever forward! Many of these features evolved from talking to members of the community, or suggestions on our idea board, so please join the conversation on Discord, or provide feedback at https://makergovernance.canny.io/

Featured Changes

Delegate Voting Weight Chart

Starting off, we have a highly requested feature that we're really excited to bring to the delegates page! In an effort to support our mission of making governance more transparent, we've added a chart displaying the amount of MKR a delegate has had delegated to them over time. This will help visualize the flows of MKR moving to and from delegates in order for users to make more informed decisions about which delegate to choose. The drop-down filter allows users to focus on an interval of the past week, month, or year.

Badges for Poll Categories

We want to help users find what they're looking for as quickly as possible. To that end, we've added more improvements to how users can manage the way they filter and view polls. The filter drop-down now shows you the number of filters you have applied. More importantly, the poll cards now display colored badges for the categories the poll is associated with. Clicking one of these tags on the card will also add that category to your list of current filters. Clicking "Clear filters" will of course revert back to the default view. As the number of active polls continues to grow, this will be invaluable to reduce noise and help users focus on the particular governance categories they are most interested in.

Show MKR Needed to Pass an Executive Vote

Another highly requested feature, the amount of MKR needed to pass is now displayed more prominently on the executive card. While this data has always been displayed in the system info pane, this upgrade now makes it visible when viewing the details of an executive vote.

Unique Avatars For Shadow Delegates

Until now, it has been hard to differentiate shadow delegates from one another. So we added a unique avatar for each shadow delegate derived from their address. Using the popular Jazzicon library, we are able to pass an address which then generates deterministic images to use as an avatar. No more accidentally delegating to the wrong shadowy super-coder!

Owner Badge Displayed on Delegate Cards

Our default sorting of delegates is intended to remove any advantage that consistently being presented at the top of the page might provide to a delegate by randomizing the sort order. But for delegates, that can make it difficult to locate your own delegate card. To make it more clear, we now always display your delegate card at the top of the list. We've also added a badge next to the name indicating you are the "Owner" of this delegate profile, as well as darkening the border of the card. We hope these enhancements will make it easier to locate your delegate profile while navigating the page.

Display MKR Amount Locked in Chief

The system info pane on the right side of the page is there to provide fast data about the protocol, and it changes dynamically based on the current page. Now, when on the executive page, the system info pane displays the amount of MKR currently locked in chief. This allows users to quickly process the state of security of the voting system**.**

Dai.js SDK Rewritten in TypeScript

Last but not least, this is a long time upgrade that we're extremely happy to include. Dai.js, our in-house SDK that powers the Governance Portal has been rewritten in typescript. This update is part of our initiative to improve the QA process around development and deployment of the portal. It enhances security by making the layer between the Maker protocol and the UI more transparent and easier to use for developers. Additionally, it makes development more efficient by helping devs write safer code.

What's Changed

New Contributors

Full Changelog: v0.2.2...v0.2.3