The state of Plone Volto and Plone Aurora

published Sep 23, 2026

Presentation by Víctor Fernández de Alba and Piero Nicolli at Plone Conference 2026

One team, one goal, two projects. We have Plone Volto and Plone Aurora.

Plone Volto is Volto 19 and future ahead. Modernized, up to date dependencies, stable, batle tested.

Plone Aurora is bleeding edge, alpha. Based and leaning on Volto foundations, a simplified stack, standard based, and developer experience friendly.

First the state of Volto 19. This was 19 months of work, released earlier this year. We are at Volto 19.4 meanwhile. We modernized the foundation, build system, test stack, overhauled the dependencies. It became more stable, which is what we want from Volto.

Also new features.

  • You can deploy it under a sub path of your domain: https://demo.plone.org/next
  • Auto-save: if you close your tab, or connection goes down and you get back, you get the chance to restore the auto-saved contents.
  • A Blocks control panel: how many times is which block used?

Thanks as lot to Wesley who is maintaining things in sync between Volto 19 and 18, fixing things and backporting fixes.

There were 70+ contributors to the Volto 19.x line. 203 features and bigfixes shipped. 38 alpha releases before the final.

Volto 19 is stable and supported. Today: Volto 19 is Plone 6.2, and should be your choice if you start a project today. What's next: bug fix and security support, new features. We welcome contributions. We will continue as we have done before.

There is no Volto 20 alpha yet. Why? Because we still have no breaking changes. As soon as we have that, we will make a 20 alpha.

Why would you support both Volto and Aurora, are you nuts? Yes we are. But the foundation for both is the same. The projects cross-pollinate. The basis is libraries like plone/registry. We make it easier there to register a new block, and this is used by both Volto and Aurora.

How was Aurora born, and why? React 19 is stable, server and client data fetching is solved, and tooling matured, also a new React Router version. It is built on today's practices. We answered the question: if I would rebuild Volto today, how would that look? We are striving to not make this a big migration.

We wanted a different repository to make things technically easier for us, and enabling development of the two projects at the same time. The name Aurora was chosen at the Beethovensprint this year.

Work happened during 14 sprints the past two years. If you haven't been to a sprint yet, please do. This is where a lot of development happens. But also people, good food, old and new friends, maybe karaoke.

The demo is here: https://aurora.demo.plone.org Documentation: https://plone-aurora.readthedocs.io

What is the tech foundation?

  • Rendering: React 19.2, React Router 8.2 in framework mode, Vite 8
  • State and data: no more Redux, as we did not need it anymore. React Router loaders/actions, shared app sate using Jotai, plone/client library
  • Type-script native
  • The backend API is not exposed. @plone/client talks to Plone server-side. The browser never knows where the backend lives.
  • Modular monorepo
  • Standards-based CSS

The game changer is the Plone Aurora editor. This is a modern block-based layer editor built on Plate.js, which itself is built upon Slate.js. We let Plate handle all blocks. We are considering plugins, like for adding comments, suggestions, collaborative editing.

The road to 1.0.0:

  • Working on the theming story
  • Polish the CMSUI views
  • Complete the missing blocks
  • i18n

Please try it, read it, break it, build it with us. Come to the next sprint. Issues are open: https://github.com/plone/aurora/issues

Questions:

What about Semantic UI? In Aurora we don't use it. In Volto 19 we still have it, but we don't use it for new things.