v0.34.0
Thanks to 87 contributors who put 201 commits into this release!
Special thanks to @charpeni for writing these release notes!
General
Bugfixes
- Fix handling of bad utf16 passed out of JS (ccdc57d) - @cjhopman
- Incremental: Fix require of performanceNow (b01feb4) - @rigdern
- Fix memory leak in MessageQueue (5d748b2) - @rigdern
- Fix and add tests for cssedge priority (e5aa29c) - @emilsjolander
- Fix sizing of absolutely positioned nodes inside overflow:hidden parent (6897f40) - @rigdern
- Add more profiling, fix existing profiling, perf fix (3940f06) - @mhorowitz
- Re-enable and fix tests (13994d5) - @davidaurelio
- Fix NativeAnimated event listener bug (64009b6) - @jmurzy
- Fix _processAssetsRequest when url contains non-latin letter (8d013c2) - @wusuopu
- Fix dimensions on orientation change (8451585) - @andreicoman11
- Fix(packager): support node-haste browser and react-native replacements on Windows (4647b62) - @rozele
- Fix bad type specification in animated (3ff4ee9)
- Fix typo in new ModuleCache args (29febb9) - @aleclarson
- Do not reset layout state if they are the same in NavigationTransitioner (dadfe40)
New features and enhancements
- Add logging level for RNPM previous linking (85a2d6a) - @GantMan
- Add AnimatedDiffClamp node (cd1d652) - @janicduplessis
- Add pre/postunlink (e7521a1) - @geof90
- Add missing KeyboardAvoidingView documentation (0a1d728) - @skv-headless
- Add values to JSC heap capture visualizaion (c06c1e1) - @cwdick
- Add support for extrapolation (6d978c3) - @janicduplessis
- Add support for DiffClamp node (e26c135) - @janicduplessis
- Check bundle file exists for release builds (ea7b2ef) - @alexanderjarvis
- Allow the disabling of navigation gestures. (0cf9505) - @rmevans9
- Remove legacy bridge config conversion (61b21bc) - @lexs
- Remove unnecessary indirection (50b0943) - @emilsjolander
- Use const where possible (25f2a26) - @emilsjolander
- Further RNPM integration (0af640b) - @grabbou
- Remove terrible ReadableNativeArray::getMap() hack (9a5d3ba) - @cjhopman
- Use -std=c++1y for lambda capture initializers (1557325) - @cjhopman
- Added way to not launch packager during CI build, as it hangs CI builds (8fd2d7d) - @BretJohnson
- Improvements to the Activity API (11488d0)
- High resolution timers (20c80e4)
- Allow finding the rootTag of any reactTag inside UIManager (35e7a26) - @fkgozali
- Attach origin of a 3rd party command (ab8c00e) - @grabbou
- Even less deep copying of flags (2cd9939) - @adamjernst
- Expose flexGrow, flexShrink, and flexBasis properties (899adf5) - @emilsjolander
- Text component: Pass event object to onPress and onLongPress handlers (158a73b) - @rigdern
- Fix polyfill for BackAndroid (150fe7c) - @fkgozali
- Configure glog sink for custom jsc (7db93a3) - @bnham
- _getText defaults to blank string when no default value set (61832b4) - @m3vaz
- Use mergeFast in a hotspot (5d7227a) - @rigdern
- Improve swipable row gestures to feel more natural (1e5d52b)
- Telemetry for update bundle event (46e47aa)
- Don't use the same throw for calling into JSC, and calling into native modules (1d571c5) - @mhorowitz
- Change how values are captured in JSC heap snapshots (a0f55c9) - @cwdick
- Update to Jest 15 (d7fdc44) - @cpojer
- 'silent' option for Activity events (2ea65ec)
- Include CSSLayout.h consistently with other project includes (6e216d2) - @rh389
- Deploy v0.32.0 (85a6f01) - @gabelevi
- Introduce Batchinator (5eaef1c) - @sahrens
- Enable RTL layout by default for all apps (96de161) - @fkgozali
- Flow-ify and cleanup JSTimers (66ce129) - @javache
- Log timer identifiers in systrace (a1f31d1) - @javache
- Remove the unnecessary 'var' in
runVerbose
(f799fa1) - @dragonwong - Use Batchinator in WindowedListView (6fb1495) - @sahrens
- Disables munging in animated to make dynamic dispatch work for private methods (3eb4bae)
- Exit with error code 11 when port is taken (7398780) - @frantic
- Updating Websocket readyState in case of websocketFailed event (6b42d5c) - @tepamid
- Check if this._navBar has immediatelyRefresh method (7b18b2c) - @andrewgrewell
- Remove 'new' keyword before Promise.race() (8cfa734) - @aleclarson
Android
Bugfixes
- Fix code example: NSNumber should be marked
nonnull
for compatibility with Android (a02c238) - @arian - Fix timestamps on android touch events to use milliseconds, to be (79f3950) - @andreicoman11
- Fix Text incorrect line height (483953d) - @andreicoman11
- Fix gradle clean task (e6de198) - @rigdern
- Fix race condition in EventDispatcher (fd34844) - @rigdern
- Fix bug in timer clean up (06e52f8) - @rigdern
- Fix TextInput contentSize (7c268b3) - @andreicoman11
- Fix
requestDisallowInterceptTouchEvent
for nested react native views (dea6b0e) - @andreicoman11 - Fix rounding resulting in choppy timing animations (40baf6a) - @foghina
- Make RN background drawable respect bounds (38a14ff) - @lexs
- Fixes paths to robolectric when they are downloaded from maven into buck-out (b59fde8) - @bestander
- Fixes empty lines added in strings.xml by RNPM (107fc72) - @grabbou
- On Android
geolocationError
return PositionError object. (99d742c) - @leeight
New features and enhancements
- Add "npm i --save react" to Android docs (6729df3)
- Add TextInput controlled selection prop on Android (3c1b69c) - @janicduplessis
- Android: Add support for having borders on & components (28ba749) - @rigdern
- Add onContentSizeChange prop to WebView (22de655)
- Add performance tracking for rendering (16f76d4)
- Add annotation processor to create static ReactModule infos (605a0a6) - @AaaChiuuu
- Add separate JSBunldeLoader for assets (0c2fdf4) - @michalgr
- Bring back missing android command (993cfa1) - @grabbou
- Implement flex properties in java version as well (e63a7ea) - @emilsjolander
- Remove all @ReactModule runtime annotation processing (2889343) - @AaaChiuuu
- Don't clear queue in ProxyExecutor (b4999fc) - @lexs
- Update gradle version and android gradle plugin version (6bfabee) - @felipecsl
- Make Spacing.release() public (1eddd01)
- Codemod away buck_flags in Libraries/FBR* (708efcf) - @adamjernst
- Clean up fresco cache clearing code (d3282e3) - @foghina
- Expose image cache interrogation to JS (69c8898) - @foghina
- Cleanup FBReactKit BUCK paths (7430820) - @javache
- Include image dimensions & url in Image's onLoad callback (bcf48e7) - @rigdern
- Improve ReactRootView's onMeasure error message (00d6587)
- Convert CoreModulesPackage to use @ReactModuleList (367c712) - @AaaChiuuu
- Improve loading error handling on Android WebView (5ba40fe)
- Improve ellipsizeMode prop (cd1a86d) - @rigdern
- Listen to device orientation changes (f07ca31) - @andreicoman11
- Smart textinput scroll (372d001) - @andreicoman11
- Remove ReactRootView's MeasureSpec assertion (300cb03)
- Evacuate part of optimized bundle logic from react code (d323856) - @michalgr
- Enable developers to force Fresco to resize an image (b6735f3) - @rigdern
- Allow UnpackingJSBundleLoader's client to queue action to perform after unpacking (2618ba2) - @michalgr
- Rename native event
timeStamp
totimestamp
(8aeeb4d) - @andreicoman11 - Show a redbox when scripts fail to load (bbd1e45)
- Brings accessibilityLabel into PickerAndroid (efd8b10) - @isnifer
- Use the c.f.react.bridge.ReactMarker (e70d1db) - @AaaChiuuu
- break down production startup with more markers (cc30d2f) - @AaaChiuuu
- Android package name validator consistent with docs (9289e4f) - @radko93
- Actually close packager websocket connection when destroying instance (588f0b8) - @foghina
iOS
Bugfixes
- Fix crash in RCTJSStackFrame (ea3bb35) - @javache
- Remove guard that we used in iOS 7 to avoid a JS crash (ad24bcf) - @ide
- Fix setImage clownyness (3fb7669) - @javache
- Fix some unsafe thread behavior (a8cf12a) - @mhorowitz
- Fix images not reloading after memory warning (3efe95d) - @javache
- Make bridge logger thread-safe and fix noisy in bridge core time (a31a291) - @alexeylang
- Don't use ios border rendering if we use default black color (a686816) - @majak
- RefreshControl Position Bug (dcdf16a) - @GantMan
- Registration error event (4f89fa9) - @nevir
New features and enhancements
- Add TextInput controlled selection prop on iOS (f0a3c56) - @janicduplessis
- Send down image source to RCTImageView onLoad callback on iOS (84f68c3) - @javache
- Rename RCTImageView source to imageSources (bfa01f0) - @javache
- Remove deprecated RCTImageSource method (a718f14) - @javache
- Allow
<Modal />
to be configured with a custom presentation/dismissal block (d8b2bab) - @mmmulani - Ios: complete iOS vibration pattern supports (js) (2cfe774) - @zxcpoiu
- Support RCTNetworking#clearCookies on iOS (63931b1) - @nevir
- Avoid sending out multiple requests for the same image (86fbf23) - @javache
- Avoid reloading images that are already the source size (6f7898e) - @javache
- Verify exported modules only once to support dynamic context in DEBUG-mode (101190f) - @kasper
- Display React Native Modals with transparent background (029f568) - @mmmulani
- Expose overflow prop to layout engine (4178d21) - @rigdern
- Clean up NSClassFromString in Libraries/ (8a8ac77) - @swolchok
- Modulo node (82dba51) - @ryangomba
- Only initialize FrescoModule once (c0de1a7) - @oprisnik
- Support bundle argument for image loading (46b54fd) - @javache
- Update React Native minimum OS version to iOS8 (07553d0) - @javache
- Use NSURLComponents.queryItems instead of parsing query strings (6abacc8) - @javache
- Remove -RCTJSExecutor errorForJSError: - @indragiek
- Support sync method calls in the objc bridge (dda3c5f) - @javache
- Remove last arg from RCTProfileEnd, make macro's function-like (1a7c231) - @javache
- For file uploads, don't stomp on developer's Content-Type header (9304df3) - @rigdern
- ActionSheetIOS - Pass URL, not file contents to UIActivityViewController for file URLs. (4f004fa) - @sheparddw
- Improve (RCTJSErrorFromCodeMessageAndNSError) (d31756b)
- CLI run-ios on device (48ab5eb) - @LearningDave
- NavigatorIOS System Icon Support (9e6e573) - @jacobp100
- Allow
<Modal />
to be presented in different orientations (de3457f) - @mmmulani - Revert "Remove RCTLog from prod builds" (4b86889) - @javache
- Enable versionning in xcode project (ad0c8e6) - @callmephilip
- Scope RCTReloadNotification to one bridge (afde9da) - @terribleben
- Start measuring RCTPLBridgeStartup and RCTPLTTI early (532751f) - @alexeylang
- Guard against possible race conditions in RCTAllocationTests (f1c158e) - @frantic
- Allow PhotoKit to download photos from iCloud (b0c13eb) - @ronaldheft