Litho (By Facebook) v0.27.0 Release Notes
-
2019-06-24
- Breaking: Change in PerfEvents:
- Remove
FrameworkLogEvents.EVENT_CREATE_LAYOUT
,FrameworkLogEvents.EVENT_CSS_LAYOUT
, andFrameworkLogEvents.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-levelEVENT_CALCULATE_LAYOUT_STATE
event. ThePerfEvent.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)
- Remove
- 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
inComponentTree
. (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 ofLayoutState.collectResults
in production and weren't actionable. (3107467)
For more details, see the full diff.
- Breaking: Change in PerfEvents: