React Native v0.11.0-rc and v0.10.0 released
v0.11.0-rc on GitHub (npm, CocoaPods) Release note:
0.11.0-rc has been published to npm and CocoaPods:
Breaking Changes
- Rename RCTReachability to RCTNetInfo: for consistency with Android. The device event that is triggered has also been renamed from
reachabilityDidChange
tonetworkDidChange
. - Internal functions on Animated marked as protected: if you use attach, detach, getAnimatedValue, addChild, removeChild, or getChildren on your Animated components, you will need to update the code to be compatible. This change is in preparation for future optimizations. 059e605
Known Issues
- Packager does not support symlinks: Symlinks under node_modules, for example, are ignored (#637)
- ScrollView sometimes errs with "Cannot find view with tag #XXX": #1941
- Numbers in bridged method names crash at launch: #2469
New Features
- Add support for transparent modal backgrounds: toggle this by using the new
transparent
prop of Modal. - Add support for HSL/HSLA colors
- Built-in support for handling Keyboard events: you can now add listeners to DeviceEventEmitter for keyboardWillShow, keyboardDidShow, keyboardWillHide, keyboardDidHide, keyboardWillChangeFrame and keyboardDidChangeFrame. (9aefd6b)
- Built-in support for handling status bar change events: you can now add listeners to DeviceEventEmitter for statusBarFrameDidChange and statusBarFrameWillChange events (eg: if you receive a phonecall, the status bar becomes taller - this allows you to respond accordingly).
- Touchable handlers now receive event objects:
onPressIn
etc - these event objects were already initialized so it was just a matter of threading them through.
JavaScript
- Use GLOBAL.process instead of overwriting: respect any existing
process
value hanging off of the global object, and only set theenv
property of it. a4e6419
iOS
- Pass props when creating a view with RCTViewManager: native module authors will understand that previously it was awkward to set initial properties on a view because props were not available in
init
and there was no guaranteed order that they would be set in. RCTViewManager classes can now implementviewWithProps:props
to better control this. - CameraRoll Image Orientation fix: use ALAssetOrientationUp for consistent, predictable orientation.
- Implemented lazy parsing of method signatures to improve TTI (Time to Interact): a5e9f83
- Post to NSNotificationCenter when root views are added or removed: notifications are named
RCTUIManagerDidRegisterRootViewNotification
andRCTUIManagerDidRemoveRootViewNotification
- Modernized Objective C syntax: 88e0bbc
Packager
- Started adding support for System.import (in progress): this is the first step to add support for being able to split JS into multiple bundles. More details: cfcf604
- Transformer now shows progress bar: The transform step in currently the longest one in the bundling process. This adds a progress bar to track the transform progress. eb248e0
- More detail on fs log messages: ever wonder why there were two fs event steps in the packager log? f3a165d
Other
- RCTProfile API now compatible with systrace: 81fdf3e
Bug Fixes
- Fix TabBarItemIOS image scale: TabBarItemIOS supports setting the scale for base64-encoded images using an optional scale parameter, however this was broken due to the JS code only passing the uri, not the whole source object, to the native side.
- RedBox now rotates properly: 4382c0e
v0.10.0 on GitHub (npm, CocoaPods) Release note:
react-native 0.10.0 has been published to npm and CocoaPods. Fixes from 0.10-rc include:
- A bug in css-layout that would cause 100% CPU usage with a specific combination of flex properties has been fixed
- Removing native event listeners during reconcilation has been fixed
- The podspec has been fixed to allow you to use both the RCTImage and RCTNetwork subspecs
- Multiline TextInput components keep their text and cursor within their bounds
- ReactART has been fixed
- The
shouldRasterizeIOS
prop has been fixed to use the screen scale for crisper rendering