Releases: facebook/litho
Version 0.9.0
This isn't the most exciting release, sorry. The Play Store version of the release notes would be "Bug fixes & performance improvements".
- Upgrade to Yoga 1.7.0. The previous release should be compatible.
- Text styling is supported again.
Version 0.8.0
Declarative Data Handling with Sections
We are all very excited about this release! It includes our new Sections API for declarative data handling for lists. In order to use it, you need to include the three new modules litho-sections-core
, litho-sections-annotations
and litho-sections-processor
.
Read more about Sections in Mihaela's announcement post, watch the announcement talk from Droidcon UK or jump straight into the Sections Tutorial.
New APIs for Sub-Component Testing
We have a brand new set of fluid APIs on top of AssertJ and Hamcrest to help you verify that components build the sub-components you expect. Check out the documentation!
Litho <3 Kotlin
We've made a bunch of smaller changes that make writing Component Specs in Kotlin easier. Most things should Just Work, but you can refer to our meta issue to learn about some remaining necessary workarounds.
There is also a full sample app written in Kotlin for you to check out, as well as updated getting started instructions for Kotlin.
Version 0.7.1
In typical social media app fashion, this release is mostly "bug fixes and performance improvements".
We have also made some improvements to the code generator for Kotlin specs. While we don't officially support Kotlin specs yet, we'd be super interested in your feedback!
Version 0.7.0
It's been 295 commits since the last release! Here are some of the highlights:
withLayout
is now deprecated! Read more in the announcement. Breaking change: This means that certain prop-names that were previously allowed can no longer be used in custom component specs.- Various Yoga properties now accept floats as values.
- The published javadoc JARs now contain 100% more javadoc.
- A preview of our new sub-component testing APIs. Check out the sample app for examples. But be aware that these are likely going to change!
- Some quality of life fixes for Kotlin component generation. Watch this space!
- Separate left and right padding settings for Recycler.
Version 0.6.1
Well this was a lot faster this time, wasn't it?
Features
This release features one significant long-awaited change: Support for SnapHelper
in Recycler
.
(46eb25a)
This means that you can finally implement any kind of snapping behavior by just passing a SnapHelper
to a Recycler
component as a Prop. Check out 150d3e4 for an example of how we use this in our sample App.
Leave your feedback about this in our community group: https://www.facebook.com/groups/litho.android/permalink/111049929590158/
Version 0.6.0
It's been a while! Litho v0.6.0 brings 184 new commits since the last release.
Breaking Changes
- 8452635 changes the way aspect ratios are handled in Yoga. Learn more about how this affects you in Emil's post.
- d539cf7 lays the groundwork for requiring unique keys in the 0.7.0 release. Learn how to future-proof your app in Mihaela's post.
- 45bb991:
ComponentInfo
was renamedRenderInfo
.
Other changes
- Changes to visibility handlers: db2b90b, 264ca5f
litho-fresco
now works with Fresco 1.5.0: 63499e5- The Sample app builds with BUCK again. 😌
Thanks
Thanks to our external contributors this release: @jollycopper and @AllanWang!
Version 0.5.0
Sorry to disappoint, but this release doesn't bring any major changes. :(
Yoga had a big release, however, and got bumped to 1.6.0, which is why we're going up by one minor version as well. You can find the Yoga release notes on their GitHub page.
Version 0.4.1
Bugfixes
- Fixes an issue with the released POM files that didn't include any transitive dependencies.
Highlights
- The sample application now uses Activities and should be closer to what you would expect from a standard Android application.
Version 0.4.0
Version 0.3.1
Highlights
Prop Defaults from Resources
Prop defaults now also support default values from Resources via setting a resType
and resId
.
@PropDefault(resType = ResType.DIMEN_SIZE, resId = R.dimen.default_spacing)
static float prop3;
Massive kudos to @pavlospt for implementing this! 🍰 🎉