Issue 1:
Hello! I've scoured through other issues and can't figure out why the warning is still around because it feels like I've done everything. Here's the setup:

Build scripts

"heroku-postbuild": "npm run build:prod",
"build:webpack": "webpack --progress --display-error-details --bail",
"build:dev": "npm run build:webpack -- --config config/webpack/development.config.js",
"build:prod": "NODE_ENV=production npm run build:webpack -- --config config/webpack/production.config.js",

base.config.js:

config.plugins = [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.DefinePlugin({
//sets up some other constants on process.env
}),
];

production.config.js:

var config = extend({}, baseConfig);

config.plugins.push(
new webpack.DefinePlugin({
"process.env.NODE_ENV": JSON.stringify("production"),
}),
new webpack.optimize.UglifyJsPlugin({
mangle: true,
compress: { warnings: false },
output: { comments: false },
exclude: [/\.min\.js$/gi]
}),
new webpack.optimize.DedupePlugin(),
//some more plugins

Using React v15.4.2 and Webpack v1.14.0. I'm not sure what I'm missing -- DefinePlugin and UglifyJsPlugin seem to be declared properly, and the NODE_ENV is set to production up in the script. Any help would be greatly appreciated! Thank you!

Issue 2:
I ran into a strange problem when transitioning to React 0.14.0.

I use a promisified API internally in my application, and for various reasons I need a handle to the mounted instance of an element. No big deal, this is how I get a handle to that instance after react has finished its non-deterministic render:

// some renderer service
return new Promise(function (resolve, reject) {
React.render(reactElement, node, function () {
resolve(this)
})
})

// someone using the renderer service
return renderer(element, someNode)
.then(function (mountedElement) {
...
})

When I update to 0.14.0, I should be able to just swap out implementations without a thought, right?

return new Promise(function (resolve, reject) {
ReactDOM.render(reactElement, node, function () {
resolve(this)
})
})

Well, apparently not :(.

I'm getting an error message correlating to this help wiki...

Uncaught Error: Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).

I have scraped through the app looking for some "invalid usage of refs", but there aren't any. I also can't see a case where I have more than one React on the page (unless there's some shenanigans caused by including react-dom/server in a browser, but I have removed it and checked against that case too: same problem)?

Loading React (browserify):

let React = require('react')
let ReactDOM = require('react-dom')
let Server = require('react-dom/server')

package.json

"dependencies": {
"react": "0.14.0",
"react-dom": "0.14.0"
}

npm ls | grep react

│ │ ├── babel-plugin-react-constant-elements@1.0.3
│ │ ├── babel-plugin-react-display-name@1.0.3
│ │ ├── babel-plugin-react-constant-elements@1.0.3
│ │ ├── babel-plugin-react-display-name@1.0.3
├─┬ react@0.14.0
├─┬ react-dom@0.14.0
│ └─┬ react@0.14.0