v1.4.0
- Fixes a bug with scrollbars thanks to @markusressel (#35)
 - Fixes the library manifest thanks to @bkhall (#49)
 - Fixes panning after double taps thanks to @Yundin (#56)
 - Fixes canvas transformations for Android <= 6 thanks to @DennisBlock (#62)
 - Updated dependencies (#59)
 - Moved to AndroidX (#59)
 - More nullability annotations to support Kotlin (#59)
 - Added the 
ZoomEngine.SimpleListenerclass: it extendsZoomEngine.Listener, but instead of a matrix, provides the zoom and pan values. (#59) - Now you can add multiple listeners to 
ZoomEngineusingaddListenerinstead of passing one to the constructor. Old constructor is deprecated. (#59) - 
ZoomEngine.setContentSize(RectF)is deprecated. Please useZoomEngine.setContentSize(float, float). You can optionally pass a boolean to apply the engine transformation. (#59) - 
ZoomEngine.setContainerSize(float, float)lets you override the view container size. Normally you don't need this because the container size is determined using a layout listener. But sometimes you might. (#59) - Added 
setAnimationDurationAPI to set the duration of pan/zoom animations (#59) - Added friction to overscrolls, which gives a more realistic response. (This is still improvable in many ways.) (#59)
 - Fix an annoying issue when overscrolling, sometimes flings would start in the opposite direction. (#59)
 - Other minor improvements.
 
v1.3.0
- Scrollbar support. You can now use all android scrollbar APIs (notably, android:scrollbars) to enable scrollbars in ZoomLayout and ZoomImageView. Thanks to @markusressel (#30)
 - Selective control with app:zoomEnabled, app:verticalPanEnabled and app:horizontalPanEnabled and related Java APIs, thanks to @markusressel (#31)