Existing test organizations deployed on Rinkeby to be deprecated after Oct. 28th.

Since the launch of Aragon Core v0.5 on the Rinkeby testnet this March, the Aragon One development team has been continually improving and battle testing the smart contracts that form the bedrock of over 2500 test organizations. However, as we progress toward a Mainnet launch, it's time to start bringing the latest technology to decentralized organizations.

To do this, on October 29, 2018, we will upgrade Aragon Core to version 0.6 on Rinkeby. This new version will include contracts that are not backwards-compatible with the existing v0.5 organizations. As part of the upgrade, we will also be deploying a new ENS registry that will reset the organization names available on aragonid.eth.

As a result, any existing test organizations deployed on Rinkeby will be deprecated on Oct. 29, 2018.

This change will only affect existing organizations that were created through Aragon Core v0.5 on the Rinkeby testnet. Your old organizations will still be available and remain unstoppable. Yet they will not be receiving upgrades from Aragon after October 29, 2018.

Associated front-ends will also stop being hosted. However, you can download and run Aragon Core v0.5 yourself. Aragon Core v0.5.4 will be the last version compatible with organizations deployed on Rinkeby between March and October 28th.

To support a gradual transition, we will continue hosting Aragon Core v0.5 at https://app-v05.aragon.org until March 29th, 2019. You can access your old Rinkeby organizations there until then.

(https://app-v05.aragon.org will point to http://aragon.aragonpm.com/ until October 29, 2018)

Please contact us in the #feedback channel on Aragon Chat if you would like help migrating your v0.5 organization to v0.6.

Improvements to the Smart Contracts

As part of our continued work securing the smart contracts, we have conducted two in-depth external audits. Responding to those, as well as keeping up to date with numerous new developments from the wildly-paced Ethereum ecosystem, has forced us to make numerous tough decisions as a team.

As with any type of software, especially one as experimental as smart contracts, maintaining backwards compatibility while pushing the boundaries can be extremely challenging.

We've been committed to upgradeability since day one. We're convinced smart contracts will have to be built to allow for upgrades, at least for the foreseeable future. We were among the first pioneers of upgradeability techniques (e.g. see Library Driven Development in Solidity), researching them in collaboration with the wider community.

We maintain that commitment, and one reason for this deprecation is due to improvements in our architecture for smart contract upgradeability. As you might be aware, aragonOS—the underlying smart contract framework powering all organizations of Aragon Core—uses the proxy contract pattern for upgradability. Specifically, aragonOS 3 implemented the "Inherited Storage" pattern. Despite trade-offs, mostly in managing contract storage during upgrades, we had considered this to be the state of the art for contract upgrades at that time.

Over Q2 2018, the Zeppelin team unveiled the "Unstructured Storage" pattern. It blew our socks off! Now proxies wouldn't leak abstraction details into the contracts they were meant to proxy. This meant both contract development and contract upgrades would be a lot easier in the future.

The only shortcoming in adopting this new pattern was that it'd make it impossible for any existing proxies that relied on "Inherited Storage" to be upgraded. This is due to the immutable nature of the EVM and its data storage semantics. While the logic contracts the proxies delegate to are easily swappable and upgradeable, the proxy contracts themselves are either difficult or impossible to manipulate afterwards.

We've since implemented the "Unstructured Storage" pattern in our proxy contracts as part of aragonOS 4. This is the latest version of the smart contract framework and is currently being wrapped up with a refreshed round of audits. This new version of aragonOS will also be powering the new Aragon Core v0.6. More details, including updated documentation and a migration guide for developers, will be coming soon.

On Oct. 29, Aragon Core on Rinkeby will be updated to use these new contracts, amongst a number of other new features. We invite you to recreate your testnet organizations, test the new features, and give us feedback on these improvements! Please do that in our #feedback channel.

Thanks to everyone in the community who contributed to this decision, culminating in AGP24.