Frontity v1 Release Candidate shipped!

We are really happy to announce that today we shipped the release candidate for Frontity v1! 🎉

This release brings improvements and bug fixes for issues in our beta release, along with stabilizing the APIs and paving the way for the version 1.0, expected on June 20.

Frontity is an open source framework that allows you to easily build a React frontend for a headless WordPress site, which serves its data via the WordPress REST API. Check out the repository here and the introduction post here!

Improvements

Added code-splitting example in mars-theme list.

Added 404 page in mars-theme.

Added pagination to mars-theme lists.

State from packages is now cloned on each request.

Packages are now allowed to export a function that returns the config.

Added menu to mars-theme.

Added prefetching examples to mars-theme.

Added featured media component in mars-theme.

Added support for images in Webpack.

Added support for author lists in mars-theme.

Added loading components in mars-theme.

Added support for WP align classes in mars-theme.

Expose utils to get path & page from a link and viceversa in source libraries.

Expose util to normalize links in source libraries.

Added autoFetch featured in tiny-router to automatically fetch data on each actions.router.set .

Bug fixes

Fixed bug with some post permalink configurations.

Fixed bug with publicPath final slash in production mode scripts.

Use compat mode in Babel.

Support for React hooks in connected components.

Added fixes to improve accessibility score in LightHouse reports.

Improved TypeScript support of connected components.

Source now removes the domain from links before saving them in the state.

Added custom scheduler to better deal with async events in connected components.

Fixed a bug in taxonomy urls containing searches ( ?s=... ).

Breaking changes

state.source.data() is now state.source.get() .

is . The three main APIs devs need to learn ( actions.router.set , actions.source.fetch & state.source.get ) now only accept a string.

state.router.path is now state.router.link .

state.router.page is gone, use state.router.link instead.

state.source.apiUrl is now state.source.api .

Entry-points now default to index.js if client.js or server.js are not found.

Default mode is now "default" instead of "html" and doesn't need a folder.

Lists now have a data entry for each page instead of having all pages in the same data entry.

state.frontity.initial is now state.frontity.initialLink and it's a string ( like state.router.link ).

No breaking changes are planned from now on.

New and improved documentation

These last few weeks, we have mostly focused our resources on getting the release candidate ready. However, we spent some time on improving our documentation too. One of the most important guides that we recently published is the Learning Frontity docs.

The Learning Frontity docs explain all the concepts around the framework (one by one) to help you understand not only how to get started with Frontity but also how it works. Beside this, we added other new guides and this Deployment section.

Despite these improvements, we know that our documentation is still way smaller than what is needed to understand the concepts and APIs of Frontity and we would like to apologize for that.

Before releasing Frontity 1.0, we will swift more resources to the docs to try to get them up to the task as soon as possible.

In the meantime, please feel free to open a new topic in our forum if you feel that there are concepts missing or something is not clear enough. We’ll be happy to help you out!

Help us test the release candidate!

Obviously, the final 1.0 release is our top priority. We expect to launch it the 20th of June if everything goes as planned. In order to ensure the release is good to go before we finish it, we need your help.

As you begin to test the release candidate, please report any bugs you find so they can be fixed. For those who have already tested the beta, we highly recommend you start over and create a new Frontity project from scratch.

If you have questions or any other feedback, please feel free to share it in our community forum. You can join an existing conversation or open a new topic (thread). Your input and help is highly appreciated. 🙏

For other ways to get involved, take a look at this guide.

Thank you!

Last but not least, big thanks to all the folks who tested the beta version, provided us with feedback, asked questions, or shared any tweets about Frontity. And specially to those who have actively contributed:

Thank you for your support and time. 💙

We can’t wait to hear what you think about the release and see what you build!

Frontity Framework Useful Resources

Originally published at frontity.org/blog.