# Defining structs like \`RoleData\` is not yet supported

**URL:** <https://forum.openzeppelin.com/t/defining-structs-like-roledata-is-not-yet-supported/5236>\
**Category:** Upgrades\
**Created:** [December 25, 2020, 3:51am UTC](https://forum.openzeppelin.com/t/defining-structs-like-roledata-is-not-yet-supported/5236 "2020-12-25T03:51:02Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![frangio](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/frangio/32/15251_2.png) [@frangio](https://forum.openzeppelin.com/u/frangio)\
**Post date:** [January 27, 2021, 6:50pm UTC](https://forum.openzeppelin.com/t/defining-structs-like-roledata-is-not-yet-supported/5236/3 "2021-01-27T18:50:05Z")

</div>

Hi @platocrat. It took a bit longer than a week, sorry about that, but the latest release of the upgrades plugin supports structs fully and automatically checks that upgrades are safe. Take a look at the announcement below!

> [@Upgrades with Peace of Mind: "Structs" Edition](https://forum.openzeppelin.com/t/upgrades-with-peace-of-mind-structs-edition/5526):
>
> Last year we launched the OpenZeppelin Upgrades Plugins for Hardhat and Truffle, a new tool that is focused solely on providing security and peace of mind around smart contract upgrades, integrated into your existing development workflow. For a deep dive on the topic of upgrades see [The State of Smart Contract Upgrades](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/). We achieve this goal through the automated analysis of your contract, initially ensuring it is apt for an upgradeable proxy deployment, protecting from a situation lik…

---

_[View the full topic](https://forum.openzeppelin.com/t/defining-structs-like-roledata-is-not-yet-supported/5236)._
