Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: facebook/react
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.14.7
Choose a base ref
...
head repository: facebook/react
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.14.8
Choose a head ref

Commits on Jan 28, 2016

  1. Update website for 0.14.7

    graue committed Jan 28, 2016
    Copy the full SHA
    e48343b View commit details

Commits on Feb 8, 2016

  1. Merge pull request #5911 from Mathieuu/patch-1

    Fix broken guide example in "Motivation: Separation of Concerns"
    (cherry picked from commit 4b2b7b0)
    zpao committed Feb 8, 2016
    Copy the full SHA
    4226ee5 View commit details
  2. Merge pull request #5923 from puppybits/patch-1

    Update 12-context.md
    (cherry picked from commit 9c3f595)
    zpao committed Feb 8, 2016
    Copy the full SHA
    3888b47 View commit details
  3. Merge pull request #5992 from pra85/patch-1

    [docs] Fix typo in blog
    (cherry picked from commit 725a723)
    jimfb authored and zpao committed Feb 8, 2016
    Copy the full SHA
    5730bec View commit details
  4. Merge pull request #4437 from gajus/patch-1

    Improve definition of the controlled and uncontrolled input
    (cherry picked from commit 220b4b6)
    jimfb authored and zpao committed Feb 8, 2016
    Copy the full SHA
    200dcda View commit details

Commits on Feb 12, 2016

  1. Add thanks for the react org

    vjeux authored and sophiebits committed Feb 12, 2016
    Copy the full SHA
    2152045 View commit details

Commits on Feb 16, 2016

  1. Merge pull request #5955 from pekeq/patch-docs-1

    Add note in "Fetching from the server" section.
    (cherry picked from commit 823966e)
    jimfb authored and zpao committed Feb 16, 2016
    Copy the full SHA
    84e099c View commit details
  2. Merge pull request #6004 from TheBlasfem/sri-links

    Included SRI hashes for fb.me links on download page
    (cherry picked from commit bd39799)
    zpao committed Feb 16, 2016
    Copy the full SHA
    cd65448 View commit details
  3. Merge pull request #5909 from rajatsehgal/patch-1

    Use const instead of var (ES6 best practices)
    (cherry picked from commit b560fea)
    zpao committed Feb 16, 2016
    Copy the full SHA
    c585396 View commit details
  4. Merge pull request #6044 from bellanchor/master

    Fix typo in Chinese tutorial
    (cherry picked from commit ee64241)
    jimfb authored and zpao committed Feb 16, 2016
    Copy the full SHA
    9e821ee View commit details
  5. Merge pull request #6017 from zpao/docs-sri-task

    Generate SRI hashes for docs
    (cherry picked from commit 41dea65)
    zpao committed Feb 16, 2016
    Copy the full SHA
    9479256 View commit details
  6. Merge pull request #6048 from mxstbr/update-tutorial-versions

    Update jQuery and marked versions in tutorial docs
    (cherry picked from commit 356fa4e)
    jimfb authored and zpao committed Feb 16, 2016
    Copy the full SHA
    d68bead View commit details
  7. Merge pull request #6039 from mxstbr/convert-docs-to-stateless

    Update documentation to stateless components
    (cherry picked from commit 73ad445)
    jimfb authored and zpao committed Feb 16, 2016
    Copy the full SHA
    9ce4be4 View commit details

Commits on Feb 19, 2016

  1. Versioning Blog Post

    sebmarkbage committed Feb 19, 2016
    Copy the full SHA
    4bba420 View commit details
  2. Hashrockets

    (cherry picked from commit 628a16c)
    sophiebits committed Feb 19, 2016
    Copy the full SHA
    e01bac8 View commit details
  3. Clarify what the current version scheme is

    In case you don't remember what version we're currently on.
    
    Also, clarify that this is semver and that v1.0 comes with preconceived
    notions.
    sebmarkbage committed Feb 19, 2016
    Copy the full SHA
    23b1f97 View commit details

Commits on Feb 25, 2016

  1. Merge pull request #6059 from jimfb/tutorial-children-callback

    Clearify callback text in the tutorial
    (cherry picked from commit efa8624)
    jimfb authored and zpao committed Feb 25, 2016
    Copy the full SHA
    103074f View commit details
  2. Merge pull request #6071 from nakazye/fix_highlight

    fix sample code highlight
    (cherry picked from commit 5ebb784)
    jimfb authored and zpao committed Feb 25, 2016
    Copy the full SHA
    1e065c8 View commit details
  3. Merge pull request #6089 from chromakey/bb-fix-htmltojsx-script-link

    Fix script source HTTPS error in html-jsx.md doc
    (cherry picked from commit 5652c71)
    zpao committed Feb 25, 2016
    Copy the full SHA
    6bde147 View commit details
  4. Merge pull request #6092 from dpercy/patch-2

    Fix inverted definition of Controlled component
    (cherry picked from commit de09e0a)
    jimfb authored and zpao committed Feb 25, 2016
    Copy the full SHA
    1b2286e View commit details

Commits on Mar 2, 2016

  1. Register null component IDs at componentDidMount

    This pushes registering of null component IDs to componentDidMount.
    The result that null component IDs are never registered during
    server-side rendering, which fixes a memory leak with null component
    IDs never being cleaned up server-side.
    iancmyers committed Mar 2, 2016
    Copy the full SHA
    c03a057 View commit details

Commits on Mar 7, 2016

  1. Merge pull request #6123 from changhw01/patch-1

    Clarify a step in the quick start
    (cherry picked from commit e2866ae)
    zpao committed Mar 7, 2016
    Copy the full SHA
    95d310c View commit details
  2. Merge pull request #6140 from NogsMPLS/removeBabelBrowser

    [Docs] Remove babel-browser link
    (cherry picked from commit a026b35)
    zpao committed Mar 7, 2016
    Copy the full SHA
    3ff62fa View commit details
  3. Merge pull request #6090 from joecritch/docs-external-link-icon

    [Docs] Added icon for external links in nav
    (cherry picked from commit 8f2b7d8)
    jimfb authored and zpao committed Mar 7, 2016
    Copy the full SHA
    5f7f9b1 View commit details
  4. Merge pull request #6151 from zpao/docs-external-sidebar-followup

    Docs external sidebar followup
    (cherry picked from commit 4da7e7e)
    zpao committed Mar 7, 2016
    Copy the full SHA
    25fdaf9 View commit details
  5. Merge pull request #6152 from jimfb/fix-blog-code-fragment

    Updated code fragment for correctness.
    (cherry picked from commit 56c423a)
    jimfb authored and zpao committed Mar 7, 2016
    Copy the full SHA
    b17b2ea View commit details
  6. Merge pull request #6183 from jimfb/rec-update

    Fixed typo in reconciliation docs.
    (cherry picked from commit 25c2bfc)
    jimfb authored and zpao committed Mar 7, 2016
    Copy the full SHA
    4c4bfba View commit details
  7. Merge pull request #6180 from camjc/master

    Update PureRenderMixin docs, adding ES6 example
    (cherry picked from commit 1dc705a)
    jimfb authored and zpao committed Mar 7, 2016
    Copy the full SHA
    d824d0d View commit details

Commits on Mar 8, 2016

  1. v15.0 rc1 blog post

    zpao committed Mar 8, 2016
    Copy the full SHA
    dad9991 View commit details
  2. Merge pull request #6207 from zpao/15rc-blog-post-corrections

    Remove a couple old updates from blog post
    (cherry picked from commit bb96294)
    zpao committed Mar 8, 2016
    Copy the full SHA
    1995378 View commit details

Commits on Mar 9, 2016

  1. Fix style= formatting in v15 rc blog post

    (cherry picked from commit 8c57fd9)
    zpao committed Mar 9, 2016
    Copy the full SHA
    c0993bf View commit details
  2. Merge pull request #6208 from JinxiuLee/patch-2

    Missed parentheses for matchMeida parameter
    (cherry picked from commit f646357)
    jimfb authored and zpao committed Mar 9, 2016
    Copy the full SHA
    5bed1f3 View commit details
  3. Merge pull request #6214 from koba04/patch-6

    Fix a mixin name in a blog post
    (cherry picked from commit 11b5523)
    jimfb authored and zpao committed Mar 9, 2016
    Copy the full SHA
    c3b7f93 View commit details

Commits on Mar 16, 2016

  1. Add v15 RC2 blog post

    gaearon committed Mar 16, 2016
    Copy the full SHA
    3e1a2f1 View commit details

Commits on Mar 21, 2016

  1. Merge pull request #6202 from vjeux/search

    Introduce search
    (cherry picked from commit 3240c09)
    vjeux authored and zpao committed Mar 21, 2016
    Copy the full SHA
    a732148 View commit details
  2. Merge pull request #6256 from iamchenxin/zh_docs031316

    [DOCS] Update zh-docs to v15-rc.1 (with #3240c09)
    (cherry picked from commit c927cfa)
    jimfb authored and zpao committed Mar 21, 2016
    Copy the full SHA
    82982f6 View commit details
  3. Merge pull request #6258 from iamchenxin/zh_docs031316rest

    [DOCS] Update zh-docs to v15-rc.1 (with #3240c09)
    (cherry picked from commit b8682e0)
    jimfb authored and zpao committed Mar 21, 2016
    Copy the full SHA
    4a9e52e View commit details
  4. Merge pull request #6260 from iawia002/master

    Update 02-displaying-data.zh-CN.md
    (cherry picked from commit 9e1a637)
    jimfb authored and zpao committed Mar 21, 2016
    Copy the full SHA
    4ccf18b View commit details
  5. Merge pull request #6281 from rgarifullin/microfix_docs

    Microfix docs
    (cherry picked from commit 2f24f89)
    jimfb authored and zpao committed Mar 21, 2016
    Copy the full SHA
    6a87954 View commit details
  6. Merge pull request #6313 from jimfb/script-integrity-attribute

    Removed script security attributes, since fb.me isn't setting the proper headers.
    (cherry picked from commit d433c2f)
    zpao committed Mar 21, 2016
    Copy the full SHA
    fe3cfcd View commit details
  7. Merge pull request #6312 from vjeux/fix_docs_jump

    [website] Fix jump on the header
    (cherry picked from commit 39ccdcc)
    zpao committed Mar 21, 2016
    Copy the full SHA
    5d7f398 View commit details
  8. [debug] log npm packages

    zpao committed Mar 21, 2016
    Copy the full SHA
    6a072b3 View commit details

Commits on Mar 22, 2016

  1. Copy the full SHA
    56e9ce8 View commit details

Commits on Mar 29, 2016

  1. Bump version of 0.14.8 dev

    gaearon committed Mar 29, 2016
    Copy the full SHA
    57a4c1d View commit details
  2. Merge remote-tracking branch 'iancmyers/icm/cleanup-react-empty-compo…

    …nent-registry' into 0.14-stable
    gaearon committed Mar 29, 2016
    Copy the full SHA
    89ca6df View commit details
  3. Copy the full SHA
    da0beaf View commit details
  4. v0.14.8

    gaearon committed Mar 29, 2016
    Copy the full SHA
    15a8fc1 View commit details
Showing with 1,636 additions and 567 deletions.
  1. +5 −0 CHANGELOG.md
  2. +3 −3 README.md
  3. +20 −1 docs/Rakefile
  4. +10 −1 docs/_config.yml
  5. +2 −0 docs/_data/nav_docs.yml
  6. +11 −0 docs/_layouts/default.html
  7. +8 −0 docs/_layouts/redirect.html
  8. +8 −1 docs/_plugins/sidebar_item.rb
  9. +1 −1 docs/_posts/2013-09-24-community-roundup-8.md
  10. +10 −7 docs/_posts/2015-12-16-ismounted-antipattern.md
  11. +60 −0 docs/_posts/2016-02-19-new-versioning-scheme.md
  12. +96 −0 docs/_posts/2016-03-07-react-v15-rc1.md
  13. +32 −0 docs/_posts/2016-03-16-react-v15-rc2.md
  14. +5 −1 docs/acknowledgements.md
  15. +86 −1 docs/css/react.scss
  16. +0 −3 docs/docs/01-why-react.zh-CN.md
  17. +1 −1 docs/docs/02-displaying-data.zh-CN.md
  18. +11 −11 docs/docs/04-multiple-components.md
  19. +11 −11 docs/docs/04-multiple-components.zh-CN.md
  20. +1 −1 docs/docs/05-reusable-components.it-IT.md
  21. +1 −1 docs/docs/05-reusable-components.ko-KR.md
  22. +1 −1 docs/docs/05-reusable-components.md
  23. +2 −2 docs/docs/05-reusable-components.zh-CN.md
  24. +47 −57 docs/docs/06-transferring-props.it-IT.md
  25. +47 −57 docs/docs/06-transferring-props.ja-JP.md
  26. +47 −57 docs/docs/06-transferring-props.ko-KR.md
  27. +48 −58 docs/docs/06-transferring-props.md
  28. +48 −58 docs/docs/06-transferring-props.zh-CN.md
  29. +16 −7 docs/docs/07-forms.md
  30. +28 −19 docs/docs/07-forms.zh-CN.md
  31. +1 −1 docs/docs/09-tooling-integration.md
  32. +1 −1 docs/docs/09-tooling-integration.zh-CN.md
  33. +2 −2 docs/docs/10-addons.zh-CN.md
  34. +1 −1 docs/docs/10.2-form-input-binding-sugar.zh-CN.md
  35. +1 −1 docs/docs/10.4-test-utils.it-IT.md
  36. +1 −1 docs/docs/10.4-test-utils.ko-KR.md
  37. +1 −1 docs/docs/10.4-test-utils.md
  38. +244 −0 docs/docs/10.4-test-utils.zh-CN.md
  39. +36 −0 docs/docs/10.5-clone-with-props.zh-CN.md
  40. +75 −0 docs/docs/10.6-create-fragment.zh-CN.md
  41. +102 −0 docs/docs/10.7-update.zh-CN.md
  42. +16 −0 docs/docs/10.8-pure-render-mixin.md
  43. +46 −0 docs/docs/10.8-pure-render-mixin.zh-CN.md
  44. +74 −0 docs/docs/10.9-perf.zh-CN.md
  45. +32 −0 docs/docs/12-context.md
  46. +33 −1 docs/docs/12-context.zh-CN.md
  47. +2 −6 docs/docs/complementary-tools.it-IT.md
  48. +2 −6 docs/docs/complementary-tools.ko-KR.md
  49. +2 −6 docs/docs/complementary-tools.md
  50. +2 −6 docs/docs/complementary-tools.zh-CN.md
  51. +2 −5 docs/docs/examples.it-IT.md
  52. +2 −5 docs/docs/examples.ko-KR.md
  53. +2 −5 docs/docs/examples.md
  54. +2 −5 docs/docs/examples.zh-CN.md
  55. +1 −1 docs/docs/getting-started.md
  56. +11 −1 docs/docs/getting-started.zh-CN.md
  57. +28 −20 docs/docs/ref-04-tags-and-attributes.zh-CN.md
  58. +39 −2 docs/docs/ref-05-events.zh-CN.md
  59. +1 −1 docs/docs/ref-08-reconciliation.md
  60. +3 −3 docs/docs/tutorial.it-IT.md
  61. +13 −8 docs/docs/tutorial.ja-JP.md
  62. +3 −3 docs/docs/tutorial.ko-KR.md
  63. +3 −3 docs/docs/tutorial.md
  64. +130 −62 docs/docs/tutorial.zh-CN.md
  65. BIN docs/downloads/react-0.14.7.zip
  66. +1 −1 docs/html-jsx.md
  67. BIN docs/img/blog/versioning-1.png
  68. BIN docs/img/blog/versioning-2.png
  69. BIN docs/img/blog/versioning-3.png
  70. BIN docs/img/blog/versioning-4.png
  71. BIN docs/img/blog/versioning-5.png
  72. BIN docs/img/blog/versioning-6.png
  73. BIN docs/img/blog/versioning-poll.png
  74. BIN docs/img/external.png
  75. BIN docs/img/external_2x.png
  76. BIN docs/img/search.png
  77. +2 −2 docs/js/react-dom.js
  78. +12 −6 docs/js/react.js
  79. +14 −16 docs/tips/14-communicate-between-components.ko-KR.md
  80. +14 −16 docs/tips/14-communicate-between-components.md
  81. +1 −1 package.json
  82. +2 −2 packages/react-addons/package.json
  83. +2 −2 packages/react-dom/package.json
  84. +1 −1 packages/react/package.json
  85. +1 −1 src/ReactVersion.js
  86. +1 −1 src/package.json
  87. +5 −1 src/renderers/shared/reconciler/ReactEmptyComponent.js
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 0.14.8 (March 29, 2016)

### React
- Fixed memory leak when rendering on the server

## 0.14.7 (January 28, 2016)

### React
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -37,12 +37,12 @@ The fastest way to get started is to serve JavaScript from the CDN (also availab

```html
<!-- The core React library -->
<script src="https://fb.me/react-0.14.7.js"></script>
<script src="https://fb.me/react-0.14.8.js"></script>
<!-- The ReactDOM Library -->
<script src="https://fb.me/react-dom-0.14.7.js"></script>
<script src="https://fb.me/react-dom-0.14.8.js"></script>
```

We've also built a [starter kit](https://facebook.github.io/react/downloads/react-0.14.7.zip) which might be useful if this is your first time using React. It includes a webpage with an example of using React with live code.
We've also built a [starter kit](https://facebook.github.io/react/downloads/react-0.14.8.zip) which might be useful if this is your first time using React. It includes a webpage with an example of using React with live code.

If you'd like to use [bower](http://bower.io), it's as easy as:

21 changes: 20 additions & 1 deletion docs/Rakefile
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ require('yaml')
desc "generate js from jsx"
task :js do
system "cp ../node_modules/babel/node_modules/babel-core/browser.min.js ./js/babel-browser.min.js"
system "../node_modules/.bin/babel _js --out-dir=js"
system "../node_modules/babel/bin/babel.js _js --out-dir=js"
end

desc "watch js"
@@ -24,6 +24,25 @@ task :update_version do
end
end

desc "update SRI hashes"
task :update_hashes do
map = {
'react.js' => 'dev',
'react.min.js' => 'prod',
'react-with-addons.js' => 'addons_dev',
'react-with-addons.min.js' => 'addons_prod',
'react-dom.js' => 'dom_dev',
'react-dom.min.js' => 'dom_prod',
'react-dom-server.js' => 'dom_server_dev',
'react-dom-server.min.js' => 'dom_server_prod'
}
site_config = YAML.load_file('_config.yml')
map.each do |file, key|
site_config['react_hashes'][key] = `openssl dgst -sha384 -binary ../../react-bower/#{file} | openssl base64 -A`
end
File.open('_config.yml', 'w+') { |f| f.write(site_config.to_yaml) }
end

desc "update acknowledgements list"
task :update_acknowledgements do
authors = File.readlines('../AUTHORS').map {|author| author.gsub(/ <.*\n/,'')}
11 changes: 10 additions & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
@@ -36,4 +36,13 @@ sass:
sass_dir: _css
gems:
- jekyll-redirect-from
react_version: 0.14.6
react_version: 0.14.7
react_hashes:
dev: xQae1pUPdAKUe0u0KUTNt09zzdwheX4VSUsV8vatqM+t6X7rta01qOzessL808ox
prod: zTm/dblzLXQNp3CgY+hfaC/WJ6h4XtNrePh2CW2+rO9GPuNiPb9jmthvAL+oI/dQ
addons_dev: I5TF2q2QDmB31aN5lcClArdUo+WJH/Yi3hcH3PBVXFe5DYtYCFh7Jx/dmpba12zn
addons_prod: KPHTQfiYMhtsIRbZcY4ri1lBYZQbj4ePsSdzODR2Bu5L5ts3APVyqwKPBThO5Hgc
dom_dev: A1t0GCrR06cTHvMjaxeSE8XOiz6j7NvWdmxhN/9z748wEvJTVk13Rr8gMzTUnd8G
dom_prod: ntqCsHbLdMxT352UbhPbT7fqjE8xi4jLmQYQa8mYR+ylAapbXRfdsDweueDObf7m
dom_server_dev: 3I5+eGB/ILYa6pQQX+rM9O0SyDltamM40RiZ5JvIijSYEfVGZU0vY4Iwx9a1eYyD
dom_server_prod: Kt9dEqXzv00orFPW2o3H+kxQtSiNO8EqXsXJT3i99rCcp74N/Km98V0kUxAzy44k
2 changes: 2 additions & 0 deletions docs/_data/nav_docs.yml
Original file line number Diff line number Diff line change
@@ -14,8 +14,10 @@
title: Videos
- id: complementary-tools
title: Complementary Tools
href: https://github.com/facebook/react/wiki/Complementary-Tools
- id: examples
title: Examples
href: https://github.com/facebook/react/wiki/Examples
- title: Guides
items:
- id: why-react
11 changes: 11 additions & 0 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@
<link rel="shortcut icon" href="/react/favicon.ico">
<link rel="alternate" type="application/rss+xml" title="{{ site.name }}" href="{{ site.url }}{{ site.baseurl }}/feed.xml">

<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css" />
<link rel="stylesheet" href="/react/css/syntax.css">
<link rel="stylesheet" href="/react/css/codemirror.css">
<link rel="stylesheet" href="/react/css/react.css">
@@ -28,6 +29,7 @@
<script src="/react/js/es5-shim.min.js"></script>
<script src="/react/js/es5-sham.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script>
<script src="/react/js/codemirror.js"></script>
<script src="/react/js/javascript.js"></script>
<script src="/react/js/react.js"></script>
@@ -50,6 +52,9 @@
<li><a href="/react/support.html"{% if page.id == 'support' %} class="active"{% endif %}>Support</a></li>
<li><a href="/react/downloads.html"{% if page.id == 'downloads' %} class="active"{% endif %}>Download</a></li>
<li><a href="/react/blog/"{% if page.sectionid == 'blog' %} class="active"{% endif %}>Blog</a></li>
<li>
<input id="algolia-doc-search" type="text" placeholder="Search docs..." />
</li>
</ul>

<ul class="nav-site nav-site-external">
@@ -107,6 +112,12 @@
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=623268441017527";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

docsearch({
apiKey: '36221914cce388c46d0420343e0bb32e',
indexName: 'react',
inputSelector: '#algolia-doc-search'
});
</script>
</body>
</html>
8 changes: 8 additions & 0 deletions docs/_layouts/redirect.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Redirecting...</title>
<link rel=canonical href="{{ page.dest_url }}">
<meta http-equiv=refresh content="0; url={{ page.dest_url }}">
<h1>Redirecting...</h1>
<a href="{{ page.dest_url }}">Click here if you are not redirected.</a>
<script>location="{{ page.dest_url }}"</script>
9 changes: 8 additions & 1 deletion docs/_plugins/sidebar_item.rb
Original file line number Diff line number Diff line change
@@ -4,7 +4,14 @@ def sidebar_item_link(item)
pageID = @context.registers[:page]["id"]
itemID = item["id"]
href = item["href"] || "/react/docs/#{itemID}.html"
className = pageID == itemID ? ' class="active"' : ''
classes = []
if pageID == itemID
classes.push("active")
end
if item["href"]
classes.push("external")
end
className = classes.size > 0 ? " class=\"#{classes.join(' ')}\"" : ""

return "<a href=\"#{href}\"#{className}>#{item["title"]}</a>"
end
2 changes: 1 addition & 1 deletion docs/_posts/2013-09-24-community-roundup-8.md
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ While this is not going to work for all the attributes since they are camelCased

## Remarkable React

[Stoyan Stefanov](http://www.phpied.com/) gave a talk at [BrazilJS](http://braziljs.com.br/) about React and wrote an article with the content of the presentation. He goes through the difficulties of writting _active apps_ using the DOM API and shows how React handles it.
[Stoyan Stefanov](http://www.phpied.com/) gave a talk at [BrazilJS](http://braziljs.com.br/) about React and wrote an article with the content of the presentation. He goes through the difficulties of writing _active apps_ using the DOM API and shows how React handles it.

> So how does exactly React deal with it internally? Two crazy ideas - virtual DOM and synthetic events.
>
17 changes: 10 additions & 7 deletions docs/_posts/2015-12-16-ismounted-antipattern.md
Original file line number Diff line number Diff line change
@@ -60,14 +60,17 @@ Where `makeCancelable` is [defined by @istarkov](https://github.com/facebook/rea
const makeCancelable = (promise) => {
let hasCanceled_ = false;

const wrappedPromise = new Promise((resolve, reject) => {
promise.then((val) =>
hasCanceled_ ? reject({isCanceled: true}) : resolve(val)
);
promise.catch((error) =>
hasCanceled_ ? reject({isCanceled: true}) : reject(error)
);
});

return {
promise: new Promise(
(resolve, reject) => promise
.then(r => hasCanceled_
? reject({isCanceled: true})
: resolve(r)
)
),
promise: wrappedPromise,
cancel() {
hasCanceled_ = true;
},
60 changes: 60 additions & 0 deletions docs/_posts/2016-02-19-new-versioning-scheme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: "New Versioning Scheme"
author: sebmarkbage
---

Today we're announcing that we're switching to major revisions for React. The current version is 0.14.7. The next release will be: **15.0.0**

This change shouldn't materially affect most of you. Moving to major semver versions simply helps indicate our commitment to stability and gives us the flexibility to add new backwards-compatible features in minor releases. This means we can have fewer major releases and you won't have to wait as long to take advantage of improvements to React. Plus, if you're a component author, this versioning scheme gives you the flexibility to support two major versions of React at the same time so you don't need to leave anyone behind.

The core of the React API has been stable for years. Our business as well as many of yours all depend heavily on the use of React as a core piece of our infrastructure. We're committed to the stability as well as the progress of React going forward.

## Bring Everyone Along

React isn't just a library but an ecosystem. We know that your applications and ours are not just isolated islands of code. It is a network of your own application code, your own open source components and third party libraries that all depend on React.

<img src="/react/img/blog/versioning-1.png" width="403">

Therefore it is important that we don't just upgrade our own codebases but that we bring our whole community with us. We take the upgrade path very seriously - for everyone.

<img src="/react/img/blog/versioning-poll.png" width="596">

## Introducing Minor Releases

Ideally everyone could just depend on the latest version of React all the time.

<img src="/react/img/blog/versioning-2.png" width="463">

We know that in practice that is not possible. In the future, we expect more new additive APIs rather than breakage of existing ones. By moving to major revisions in the semver scheme, we can release new versions without breaking existing ones.

<img src="/react/img/blog/versioning-3.png" width="503">

That means that if one component needs a new API, there is no need for any of the other components to do any further work. They remain compatible.

## What Happened to 1.0.0?

Part of React's growth and popularity is that it is stable and performant in production. People have long asked what React v1.0 will look. Technically some breaking changes are important to avoid stagnating, but we still achieve stability by making it easy to upgrade. If major version numbers indicate API stability and engender trust that it can be used in production, then we got there a long time ago. There are too many preconceived notions of what v1.0 is. We're still following semver. We're just communicating stability by moving the 0 from the beginning to the end.

## Breaking Changes

Minor revision releases will include deprecation warnings and tips for how to upgrade an API or pattern that will be removed or changed in the future.

We will continue to release [codemods](https://www.youtube.com/watch?v=d0pOgY8__JM) for common patterns to make automatic upgrades of your codebase easier.

Once we've reached the end of life for a particular major version, we'll release a new major version where all deprecated APIs have been removed.

## Avoiding The Major Cliff

If you try to upgrade your component to 16.0.0 you might find that your application no longer works if you still have other dependencies. E.g. if Ryan's and Jed's components are only compatible with 15.x.x.

<img src="/react/img/blog/versioning-4.png" width="498">

Worst case, you revert back to 15.1.0 for your application. Since you'll want to use your component, you might also revert that one.

<img src="/react/img/blog/versioning-5.png" width="493">

Of course, Ryan and Jed think the same way. If we're not careful, we can hit a cliff where nobody upgrades. This has happened to many software project ecosystems in the past.

Therefore, we're committed to making it easy for most components and libraries built on top of React to be compatible with two major versions at the same time. We will do this by introducing new APIs before completely removing the old ones, thereby avoiding those cliffs.

<img src="/react/img/blog/versioning-6.png" width="493">
Loading