update dead jsx link to point to an extant page

syntax.html no longer exists, so point people at the in depth article instead.
put closing paren in correct place
remove dead link

the event handling doc page no longer exists
Call callbacks from setState in component context

This is way more useful than the alternative.
Merge pull request #224 from spicyj/cb-context

Call callbacks from setState in component context
Cleanup 2nd param to ReactEventEmitter.ensureListening

It was removed, so these callsites aren't actually doing anything.
Delete `throwIf`

Deletes `throwIf()` in favor of having one way to throw errors: `invariant()`
Batch Child Markup Generation

Setting `innerHTML` is slow: http://jsperf.com/react-child-creation/2

This reduces the number of times we set `innerHTML` by batching markup generation in a component tree.

As usual, I cleaned up the `ReactMultiChild` module significantly.

== Children Reconciliation ==

When a `ReactNativeComponent` reconciles, it compares currently rendered children, `prevChildren`, with the new children, `nextChildren`. It figures out the shortest series of updates required to render `nextChildren` where each update is one of:

 - Create nodes for a new child and insert it at an index.
 - Update an existing node and, if necessary, move it to an index.
 - Remove an existing node.

This serializable series of updates is sent to `ReactDOMIDOperations` where the actions are actually acted on.

== Problem ==

There are two problems:

 # When a `ReactNativeComponent` renders new children, it sets `innerHTML` once for each contiguous set of children.
 # Each `ReactNativeComponent` renders its children in isolation, so two components that both render new children will do so separately.

For example, consider the following update:

  React.renderComponent(<div><p><span /></p><p><span /></p></div>, ...);
  React.renderComponent(<div><p><img /><span /><img /></p><p><img /><span /><img /></p></div>, ...);

This will trigger setting `innerHTML` four times.

== Solution ==

Instead of enqueuing the series of updates per component, this diff changes `ReactMultiChild` to enqueue updates per component tree (which works by counting recursive calls to `updateChildren`). Once all updates in the tree are accounted for, we render all markup using a single `innerHTML` set.
Send branch info from travis for continuous builds
Updated Changelog for 0.4.1
Blog post for v0.4.1
Updated Readme for 0.4.1
Change `ReactMultiChild` test to check for `innerHTML` descriptor.

Not all testing environments will support setting the `innerHTML` descriptor. For example, PhantomJS initializes the `innerHTML` property as not configurable.
Fix `Danger` test failures.

The original tests were flawed because the `Danger` module exploits the fact that all React-generated markup has at least one attribute. This allows the module to extract node names from markup strings faster.

However, the tests were passing in strings of markup with no attributes.

Also, this fixes a test failure due to the test trying to set text content into a `<tr>` which is typically disallowed by browsers (and PhantomJS). This changes it to use `<td>` instead.
Merge pull request #237 from yungsters/master

Fix Test Failures
Merge pull request #207 from thisishugo/patch-1

update dead jsx link to point to an extant page
Fix incorrect port of standard Python server

/ht @zpao
Merge pull request #241 from gasi/master

Fix incorrect port of standard Python server
Fix Reconciling Components to Content

This fixes a reconciliation bug introduced by adffa9b0f4128ca4832ddd03fdeca2c9fe434689.

The new unit test case exhibits the bug. When a component that has rendered child components is updated to render inline text, we usually:

 # Unmount and remove all child components.
 # Set the new inline text content.

However, with batched child operations, we do not **remove all child components** until later. The current implementation will set the inline text content and blow away those nodes, causing a fatal when `ReactMultiChild` later tries to find and remove those nodes.

This fixes the bug by ensuring that text content changes are also enqueued.
react-rails blog post