Flexbox Layout Versions Save

Flexbox for Android

3.0.0

2 years ago

Artifacts are now hosted on google maven

Starting from 3.0.0 and moving forward, this library is hosted on google maven.

In relation to the change of the hosted server, the groupId of this library was changed from com.google.android to com.google.android.flexbox. Old versions of libraries are still hosted on JCenter as read only mode.

2.0.1

4 years ago

Bug fix release

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

2.0.0

4 years ago

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. 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.

1.1.1

4 years ago

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)

1.1.0

5 years ago

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.

1.1.0-beta1

5 years ago

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.

1.0.0

5 years ago

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

0.3.2

6 years ago
  • 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)

0.3.1

6 years ago

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)

0.3.0

6 years ago

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);