30.0.0
Android Client:
- Breaking change: Classes
StandardExoDivPlayerView
andZoomExoDivPlayerView
replaced with commonExoDivPlayerView
- Breaking change: Classes removed from public API:
ExoDivMediaSourceAbstractFactory
,ExoDivPlayer
(accessible by interfaceDivPlayer
),ExoDivPlayerView
(accessible by interfaceDivPlayerView
) - Breaking change: Removed method
isCompatibleWithNewParams(scale: DivVideoScale)
fromDivPlayerView
- Breaking change: Removed method
makePlayerView(context: Context, additional: Map<String, Any>)
fromDivPlayerFactory
- Breaking change: Use explicitly passed
ExpressionResolver
inDivActionHandler
,Div2Logger
,DivExtensionHandler
andcustom
classes. - Breaking change: Restricted variable names with consecutive dots and with a trailing dot.
- Added
gesture
extension that allows to perform div-actions when swipe gesture happens at specified div. - Added
item_builder
property support in thecontainer
component. - Added
svg
support to allDivImageLoaders
- Added ability to forcibly release video players by
releaseMedia()
method ofDiv2View
. - Added Jetpack Compose interoperability for
Div2View
- Calculate
is_enabled
inactions
before executing the entire list of actions, not in the process. - Do not set new border or background when it has no changes.
- Fixed text height calculation when line height specified explicitly.
- Fixes for complex rebind algorithm
- Old visibility actions are no longer logged after Div2View was rebound.
- Supported methods in evaluable expressions, such as
123.toString()
. - TextureView is now a default view for DivVideo.
iOS Client:
- Breaking change: Changed method signature in
ExpressionResolver
fromresolveString(_ expression: String) -> String
toresolveString(_ expression: String) -> String?
. - Breaking change: Protocol
DivStateInterceptor
and corresponding implementationDivStateInterceptorImpl
was removed. Please useDivExtensionHandler
instead. - Breaking change: public API for
DivActionURLHandler.updateReason
has been changed. - Breaking change: Removed
DefaultDivActionLogger
(replaced withEmptyDivActionLogger
).DivActionLogger
became deprecated, useDivReporter
for actions tracking. - Breaking change: Removed
DefaultShimmerViewFactory
. - Breaking change: Removed
DivVariablesStorage.ChangeEvent.oldValues
due to performance issues. - Breaking change: Removed
urlOpener
argument fromDivKitComponents
initializer. UseurlHandler
instead. - Breaking change: Removed
UserInterfaceAction.Payload.composite
. - Breaking change: Removed
UserInterfaceAction.Payload.json
. - Breaking change: The signatures of the setSource functions have been changed: they are now marked as async to reduce main thread locks.
- The minimum version of the DivKit has been increased to iOS 13.
- Disallowed variable names with consecutive dots or with trailing dot.
- Double quotes are no longer supported in string literals.
- Fixed animation in gallery.
- Fixed numbers to string casting in expressions.
- Fixed position of gallery element after scrolling with action.
- Fixed unary minus operator parsing.
- Fixed validation in expressions.
- Fixed view reuse in
ShimmerImagePreviewExtension
.
Web Client:
- Breaking change: actions from
variable_triggers
lead to execution of a callbackonStat
with type =trigger
.
- Disallowed variable names with consecutive dots or with trailing dot.
Kotlin JSON Builder:
- Changed the way of how primitive array elements are added.
This change supports usage of expressions in array elements. As for now, primitive array elements (e.g., transition triggers, gradient backgrounds) must be
wrapped with either divkit.dsl.core.valueArrayElement
ordivkit.dsl.core.expressionArrayElement
.