Litho (By Facebook) v0.27.0 Release Notes

  • 2019-06-24

    • Breaking: Change in PerfEvents:
      • Remove FrameworkLogEvents.EVENT_CREATE_LAYOUT, FrameworkLogEvents.EVENT_CSS_LAYOUT, and FrameworkLogEvents.EVENT_COLLECT_RESULTS: these are replaced by the sub-spans "start_create_layout"/"end_create_layout", "start_measure"/"end_measure", and "start_collect_results"/"end_collect_results" under the existing top-level EVENT_CALCULATE_LAYOUT_STATE event. The PerfEvent.markerPoint() API can be used to log these sub-spans. (b859605)
      • Remove FrameworkLogEvents.PREPARE_MOUNT without replacement: this didn't provide much value. (4917370)
      • Remove FrameworkLogEvents.DRAW without replacement: this was not free to maintain and didn't provide much value. (9e548cb)
    • Breaking: The Default Range Ratio for Sections/RecyclerBinder is changed from 4 screens worth of content in either direction to 2. This should improve resource usage with minimal effects on scroll performance. (9b4fe95)
    • Breaking: ComponentsSystrace.provide(): ComponentsSystrace now assumes an implementation will be provided before any other Litho operations occur. (457a20f)
    • New: ComponentsLogger implementations can now return null for event types they don't care about. (4075eb7)
    • New: Add RecyclerCollectionEventsController.requestScrollBy(). (0146857)
    • New: Add preliminary Robolectric v4 support. (4c2f657, etc.)
    • New: More efficient code generation for state updates in Components and Sections. (8c5c7e3, etc.)
    • Fix: Remove usage of API 19+ Objects class in cached value API. (aabb24a)
    • Fix: Unset Components scope when creating a new ComponentContext in ComponentTree. (05f11a7)
    • Fix: Fix perf logging for dirty mounts. (3ad8bfb)
    • Fix: Don't crash when @OnCalculateCachedValue takes no args. (2a0f524)
    • Fix: Reduce number of systrace markers in collectResults: these were skewing the perceived size of LayoutState.collectResults in production and weren't actionable. (3107467)

    For more details, see the full diff.