All Versions
13
Latest Version
Avg Release Cycle
103 days
Latest Release
72 days ago

Changelog History
Page 1

  • v2.0.1

    January 17, 2020

    🐛 Bug fix release

    • Flexline width exceeds container width (#521)
    • Take CompoundButtons drawables min size into account during measurements (#528)
  • v2.0.0

    November 22, 2019

    🐎 Performance improvements by avoiding child views are measured more than twice #46

    🐎 The version 2.0.0 improves the performance significantly especially FlexboxLayout is deeply nested.
    As described in #514, there were unnecessary measure calls even if any Flexitems in a FlexLine didn't have any flexGrow or flexShrink attributes set.
    0️⃣ Similarly, the default values for alignItems and alignContent for FlexboxLayout has changed from stretch to flex_start starting from 2.0.0 because setting stretch for alignItems turned out to be expensive. Setting the default value as stretch might increase the unnecessary measure calls.

    🚀 This is a major version release because the change may break the existing apps.

  • v1.1.1

    September 20, 2019

    🐛 Bug fixes

    • 🛠 Fixes the wrong positioning (#470)
    • ➕ Add JustifyContent.SPACE_EVENLY to IntDef (#489)
    • canScrollHorizontally() throws NPE if the RecyclerView is not attached to the Window (#490)
    • ⚡️ Update the API level to 29 (#509)
  • v1.1.0

    September 25, 2018

    👍 AndroidX support!

    From 1.1.0 moving forward, the library is going to depend on the androidx artifacts.
    No API changes from the flexbox library point of view.

  • v1.1.0-beta1

    July 19, 2018

    👌 Support AndroidX.
    🚀 AndroidX libraries are still in beta versions, so this release is not from the master branch.
    🔀 Once AndroidX becomes stable, we'll merge the androidx branch to master.

  • v1.0.0

    May 17, 2018

    Semantic versioning

    🚀 Start to follow the semantic versioning. flexbox-layout has been considered as stable for a while, but the version wasn't updated to 1.x. From this release on, the library starts to follow the semantic versioning.

    🆕 New features

    • ➕ Added "space-evenly" support as one of the justifyContent values. #284
    • ➕ Added maxLine attribute support, that specifies the maximum number of flex lines #156

    🐛 Bug fixes

    • Crash in using DiffUtil #425
    • 🔄 Change proguard rule to keep FlexboxLayoutManager to keepnames to avoid FlexboxLayoutManager is left even if it's not used #426
  • v0.3.2

    January 05, 2018
    • Raised the targetSdkVersion to 27
    • 👍 Made the support library dependencies as compileOnly instead of api not to force the dependent of the flexbox-layout projects to use the specific version of the support libraries (or explicitly exclude them). (#395)
  • v0.3.1

    September 27, 2017

    Backward incompatible changes

    • Raised minSdkVersion from 9 to 14.

    🐛 Bug fixes

    • Dividers stop being displayed between all visible items once you set visibility as "gone" of one of those items (#357)
    • Flexbox not respecting children margins added programmatically (#356)
    • Horizontal margins are ignored on devices with API level < 17 for the calculation to judge is a wrapping is required (#353)
    • 🛠 Fix the baseline calculation above API Level 24+ (#341)
  • v0.3.0

    June 28, 2017

    🚀 Stable release including RecyclerView integration!

    🆕 New features

    • FlexboxLayoutManager is now stable. #2
    • FlexboxLayoutManager can now scroll both directions #215

    horizontal_scroll

    🐛 Bug fixes

    • no need to measure child when it is GONE #170
    • ✂ Removed the set of methods from FlexLine to retrieve the positions of it. #244
    • Layout becomes invisible if the first item is gone and the first line only contains the invisible view. #283
    • 🛠 Fixes the issue that the index of the view becomes inconsistent #311
    • Horizontal scroll isn't handled correctly when layout direction is RTL and flex direction is row or row_reverse #318
    • Scroll direction is broken when flexDirection is column or column_reverse and layout direction is RTL #319

    Backward incompatible changes

    FlexboxLayout can be used in the same manner as the 0.2.x versions, but Flexbox specific constants are now defined in each individual class such as:
    🚚 (including other values (such as FLEX_END, STRETCH) are now moved to each individual class.)

    • FlexboxLayout.FLEX_DIRECTION_ROW -> FlexDirection.ROW
    • FlexboxLayout.FLEX_WRAP_WRAP -> FlexWrap.WRAP
    • FlexboxLayout.JUSTIFY_CONTENT_FLEX_START -> JustifyContent.FLEX_START
    • FlexboxLayout.ALIGN_ITEMS_FLEX_START -> AlignItems.FLEX_START

    - FlexboxLayout.ALIGN_CONTENT_FLEX_START -> AlignContent.FLEX_START

    Attributes in FlexboxLayout.LayoutParams are now accessible through getter/setter methods instead of accessing to the instance fields directly. For example changing the wrapBefore attribute can be done in a following manner:

    FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams(); lp.setWrapBefore(true);
    
  • v0.3.0-alpha4

    June 16, 2017

    🆕 New features for FlexboxLayoutManager

    • ➕ Add a set of find*Position (find(First|Last)(Completely)?VisibleItemPosition) methods to retrieve the positions of the visible view. #217
    • ➕ Add support for scrollBars #249
    • ➕ Add support for smoothScrollToPosition #264

    🐛 Bug fixes

    • Child views are not measured properly when they are not visible #262
    • 🛠 Fixes the issue the FlexboxItemDecoration is misplaced upon scrolling #285
    • Nested RecyclerView with FlexboxLayoutManager shows only one line #290
    • 🛰 FlexboxLayoutManager doesn't work with payloads #297
    • 🛠 Fixes the issue that the items becoms invisible on the condition as follows #303
      • the first item's visibility is gone
      • the rest of the items (e.g. three in total) have layout_flexGrow attribute set.
      • the second view has layout_wrapBefore attribute set (no items are
        ➕ added to the flex line where the gone view is included)

    API Changes

    • The constructor of FlexboxLayoutManager now requires a Context.

      FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(context);