BT

React v15 Released

| by David Iffland Follow 4 Followers on Apr 13, 2016. Estimated reading time: 2 minutes |

Facebook has released the final version of React 15, which cleans up a lot of the DOM clutter, improves performance, and boosts SVG support.

Two major updates to the way React renders HTML is the removal of the data-reactid attributes and the elimination of unnecessary <span> elements on plain text. In prior versions, a rendered DOM element might look like this:

<div data-reactid=".0.0.5">
	<div data-reactid=".0.0.5.0">Hello</div>
</div>

Now, the same HTML fragment would look like this:

<div>
	<div>Hello</div>
</div>

The elimination of <span> tags on certain plain text elements not only cleans up the rendered HTML, but also fixes issues developers may have experienced with unintended CSS behavior.

The new version also has complete support for all SVG attributes, but the way it was done was changed after the Release Candidate was out. In a GitHub commit message, Paul O’Shannessy said they updated their SVG whitelist after a discussion on making React easier for newcomers:

[The RC version] left us in an inconsistent state for our HTML and SVG behaviors. That's not awesome as there are already a number of things that must be learned for React and throwing in another inconsistency doesn't help. So we'll backpedal for now but still continue to provide full SVG support by going back to our previous whitelist and expanding it.

It's interesting to note that O'Shannessy wrote a script that scraped the Mozilla Developer Network in order to find a complete list of SVG attributes.

Because this is a major version release, there are breaking changes. In addition to some of the new DOM rendering changes, all of the deprecations introduced with version 0.14 are now removed.

Upon release of v15.0, those using version 1.8.9 of TypeScript could no longer compile TSX files due to a deprecation that was eliminated. While there was a workaround, Facebook reinstated the React.__spread API and officially deprecated it. Dan Abramov warned that it will be gone in the next major release and any toolsets using it should stop. The TypeScript fix will be in the next release.

As InfoQ reported earlier, this is the first version of React to use the new numbering scheme. Previous versions were numbered like "0.14.7".

Based on new team meeting notes, the community should expect to see more minor and patch releases along with improved changelogs.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT