When I rerender a component with "defaultChecked" or "defaultValue" react fails to update the "value" and "checked" attribute accordingly.

Before you say "use a controlled input" I would argue that this is a bug as it basically disallows uncontrolled forms with "reset" buttons. (It will always reset to whatever the initial default value was).

var el = originalCreateElement.apply(this, arguments);
      if (type === 'input') {
        Object.defineProperty(el, 'value', {
          get: function() {},
          set: function() {
            log.push('set value');
          },
        });
        spyOn(el, 'setAttribute').andCallFake(function(name, value) {
          log.push('set ' + name);
        });
      }
      return el;
    });
    ReactTestUtils.renderIntoDocument(<input value="hi" type="radio" />);
    
    expect(log).toEqual([
      'set data-reactroot',
      'set type',
      'set value',
    ]);
  });
  it('sets value properly with type coming later in props', function() {
    var input = ReactTestUtils.renderIntoDocument(
      <input value="hi" type="radio" />
    );
    expect(input.value).toBe('hi');
  });
});