---
title: 'ReactJS.NET 4.0'
layout: post
author: Dustin Masters
---

It's been under development for a while now, but ReactJS.NET 4.0 is finally released! 🎉🎈

This release brings a few new features:

-   Updated bundled version of React to 16.7 (you can always provide your own version of React if you need a newer version)
-   This library is now [MIT licensed](https://github.com/reactjs/React.NET/blob/master/LICENSE)
-   Javascript engines are no longer automatically registered. See the getting started pages on [.NET Framework](https://reactjs.net/getting-started/aspnet.html) and [.NET Core](https://reactjs.net/getting-started/aspnetcore.html) for more information about how to register a specific Javascript engine in your app.
    -   JavaScriptEngineSwitcher and JSPool have been updated as a part of this change.
    -   Further reading for JavaScriptEngineSwitcher: [How to upgrade applications to version 3.X](https://github.com/Taritsyn/JavaScriptEngineSwitcher/wiki/How-to-upgrade-applications-to-version-3.X)
-   Support for faster Javascript engine initialization via the [`AllowJavaScriptPrecompilation`](https://github.com/reactjs/React.NET/commit/4ff0fad26557817ffdf31e4de7ba98bccd1645ac) setting
-   Server side rendering support for
    -   [React Router](https://reactjs.net/features/react-router.html)
    -   [React Helmet](https://reactjs.net/features/react-helmet.html)
    -   [CSS-in-JS libraries](https://reactjs.net/features/css-in-js.html)
    -   The API is also publicly extendable, so you can write a custom integration without requesting a change to this library by [implementing this interface](https://github.com/reactjs/React.NET/blob/b8521d954c5ad7c6c943c65234aa7cf93f13455a/src/React.Core/IRenderFunctions.cs)
-   Lots of contributions from the community. Thanks to:
    -   [@Taritsyn](https://github.com/reactjs/React.NET/commits?author=Taritsyn) for optimizations to JavaScriptEngineSwitcher and adding script precompilation
    -   [@kpkozak](https://github.com/reactjs/React.NET/commits?author=kpkozak), [@saranshkataria](https://github.com/reactjs/React.NET/commits?author=saranshkataria), [@ariefabubakar](https://github.com/reactjs/React.NET/commits?author=ariefabubakar), [@awayken](https://github.com/reactjs/React.NET/commits?author=awayken), [@ssaroiu](https://github.com/reactjs/React.NET/commits?author=ssaroiu), [@teimaj](https://github.com/reactjs/React.NET/commits?author=teimaj), and [@JoshuaKGoldberg](https://github.com/reactjs/React.NET/commits?author=JoshuaKGoldberg) for contributing fixes and documentation updates!

If there are things you'd like to see added, please send feedback via [Github Issues](https://github.com/reactjs/React.NET/issues). We're a limited team and may not be able to implement what you'd like to see, but still want to hear how this project is being used and where it could be improved.

Cheers!

-   [@dustinsoftware](https://twitter.com/dustinsoftware) and [@Daniel15](https://twitter.com/daniel15)
