divkit

DivKit is an open source Server-Driven UI (SDUI) framework. SDUI is a an emerging technique that leverage the server to build the user interfaces of their mobile app

OTHER License

Downloads
11.8K
Stars
2.1K
Committers
75

Bot releases are hidden (Show)

divkit - 28.8.0

Published by ninafs 12 months ago

Android Client:

  • Added optional param databasePrefix to DivStorageComponent#create method.
  • Fixed crash in DivGallery with scroll_mode set to paging.
  • Fixed unnecessary bindings after triggers changing DivGallery state before its elements are bound.
  • Fixed DivDataRepositoryImpl.getAll() card duplicates.
  • Fixed variable triggers cleared after patch.

iOS Client:

  • Added DivImageHolderFactory protocol.

Web Client:

  • Added aspect support for the video component.
  • Added text_shadow support for the text component.
  • Supported set_variable typed action.
  • Fixed text cropping in several cases, especially with the max_lines property.
  • Fixed an issue with the input server-side rendering (SSR).
divkit - 28.7.0

Published by ninafs 12 months ago

iOS Client:

  • Added DivVariableStorage.
  • Added scale property support in the video component.

Web Client:

  • Added custom component support.
divkit - 28.6.0

Published by grechka62 about 1 year ago

Android Client:

  • Fixed width of drawables stroke.
  • Fixed runtime warnings and errors clearing when reusing Div2View after calling cleanup.

iOS Client:

  • Replaced DivActionSource.custom with .timer and .trigger.

Web Client:

  • Added scale property support in the video component.
  • Added array variable type, alongside with the couple of functions getStringFromArray, getOptDictFromArray and others.
  • Added aliases for the existing dict fucntions: getStringFromDict (alias for the getDictString) with many others.
  • dict variables are now shown in markup as json instead of old <dict> (new arrays works the same).
  • Fixed zero size support in shapes.
divkit - 28.5.1

Published by grechka62 about 1 year ago

iOS Client:

  • Changed variablesStorage visibility to public.
divkit - 28.5.0

Published by grechka62 about 1 year ago

Android Client:

Additions:

  • Updated divkit-demo-app and divkit-lottie okhttp and okio dependencies due to CVE.
  • Updated Kotlin to 1.8.22.
  • Updated Gradle to 8.3.
  • Updated AGP to 8.1.1.
  • Implemented DivVariableController and since now it should be used instead of GlobalVariableController. GlobalVariableController was deprecated.

Fixes:

  • Fixed div-input multikey mask with single pattern element.
  • Fixed applying maxWidth and maxHeight to gallery children.
  • Fixed incorrect background color on div-input rebind.
  • Fixed snapping in div-gallery with paging scroll_mode.
  • Fixed div-pager visibility action with 100% visibility percentage not called for last item.

iOS Client:

Additions:

  • Added copy_to_clipboard action handler.
  • Added array_insert_value and array_remove_value action handlers.
  • Added getArray/getDict functions.

Fixes:

  • Fixed clickability of a margin area.

Web Client:

Deprecation:

  • palette and theme marked as deprecated.

Fixes:

  • Fixed input multikey mask with the single pattern element.
divkit - 28.4.0

Published by vyaivanove about 1 year ago

JSON Schema:

  • Added support of ranges in DivSlider for Android and iOS

Android Client:

  • Added automatic ViewPool optimization flag
  • Fixed crash on empty DivInput placeholder
  • DivImageLoader methods should be called on main thread now

iOS Client:

  • Added support of ranges in DivSlider
  • Fix cursor position in phone input mask
  • Supported variable in DivState

Web Client:

  • Fixed custom text color with focus (without explicit focused_text_color property)
divkit - 28.3.0

Published by vyaivanove about 1 year ago

Android Client:

Additions:

  • Added RTL-mirror filter for DivImage
  • Added support of ranges in DivSlider.
  • Added copy_to_clipboard typed action.
  • Added accessibility support for text ranges
  • Added android implementation of DivImageLoader: PicassoDivImageLoader/GlideDivImageLoader using Picasso and Glide accordingly

Fixes:

  • Fixed drawing corners during transition
  • Fixed slider sticking in the beginning of moving.

iOS Client:

Additions:

  • Implemented space-between, space-around, space-evenly alignments
  • Added DivReporter protocol.
  • Added set_variable action handler.

Web Client:

Additions:

  • Added state_id_variable support in the state component
divkit - 28.2.0

Published by Ceramic00 about 1 year ago

Android Client:

  • Typed actions moved to singleton scope.
  • Removed asserts in DivDataRepository.
  • Added ability to patch inside gallery/pager items.
  • Fixed shadows overlap container's children.
  • Added ability to request focus action.
  • Support for gif images in playground and sample-app.
  • text_shadow implementation.
  • Support alignments with spaces.
  • Array variable mutations.
  • Fixed the inability to patch an item inside the gallery that inside the other gallery.
  • Added support of new content alignment types in container: space-around, space-between, space-evenly.

iOS Client:

  • Improved DivSlider performance.
  • Fixed memory leaks in ExpressionResolver.
  • Fixed DivContainer with constrained children height.
  • Fixed phone mask in DivInput.

Kotlin JSON Builder:

  • Fixed missing * symbol in Url validating regex.
divkit - 28.1.0

Published by Ceramic00 about 1 year ago

Android Client:

  • Support RTL for DivPager.
  • Added get<Type>FromDict/get<Type>FromArray functions for arrays.

iOS Client:

  • Fixed DivInput mask.
  • Fixed alignment in overlapped DivContainer.
divkit - 28.0.0

Published by 4eb0da about 1 year ago

JSON Schema:

  • Added text_shadow property
  • Added ranges to slider
  • Added array variable type

Android Client:

Breaking changes:

  • Added ArrayVariable case into Variable class.

Added:

  • RTL for div-select
  • Support non-linear font scaling
  • Phone masks
  • Array get functions

iOS Client:

Braking changes:

  • Added array variables support. Added array case into DivVariableValue enum.
  • Improved error types: reduced visibility of DivBlockModelingError, DivBlockModelingWarning types, DivError typealias replaced with protocol.
  • Reduced visibility of types and methods not intended to be used outside the framework: DivLastVisibleBoundsCache, DivVisibilityCounter, EmptyDivCustomBlockFactory,

Other changes:

  • Added some array functions
  • Added phone masks support in DivInput
  • Added DivViewPreloader for DivView
  • Added match_parent size support for tooltips
divkit - 27.4.0

Published by 4eb0da about 1 year ago

Android Client:

  • Deprecate constructors without LifecycleOwner
  • Added aspect ratio for video
  • Fixed doubletaps
  • Improved visibility action binding performance

iOS Client:

  • Added center alignment for tooltips.
  • Fixed Swift 5.7 compatibility.
  • Fixed DivInput line height.

Web Client:

  • Added tooltips support
  • Fixed an issue with the big amount of the unused event listeners on the DOM nodes
divkit - 27.3.0

Published by vyaivanove about 1 year ago

JSON Schema:

  • Added phone input mask schema
  • Added state_id_variable to DivState
     

Android Client:

  • Enabled accessibility flag by default
  • Fixed state update on rebind
  • Fixed showing transition from visible to invisible/gone on first draw
  • Fixed SQLiteFullException in DivStorage causing app crash
     

iOS Client:

  • Added RTL support for DivImage, DivInput, DivSlider.
  • Fixed updateCardAction calls for elements with variables binding.
  • Fixed visibility counters.
  • Fixed Lottie and Rive blocks comparison.
     

Web Client:

Fixes:

  • Fixed an issue with a gallery component with the default_item outside of the items range
divkit - 27.2.0

Published by vyaivanove about 1 year ago

JSON Schema:

  • Replaced left with start alignment by default
  • Added center DivTooltip position
  • Added aspect to DivVideo

Android Client:

  • Fixed DivTooltip with match_parent size
  • Fixed crash caused by DivTimer actions execution after DivView detach
  • Observe DivVideo muted property
  • Updated video player manager
  • Improved binding performance

iOS Client:

  • Added RTL-layout support for DivTabs.
  • Fixed crash in DivInput mask validator.

Web Client:

Additions:

  • Added div-patch, download action and download_callbacks support
  • Added support for the focus parameters (including focused_text_color)
divkit - 27.1.0

Published by lunarstill about 1 year ago

Android Client:

  • Lottie version updated to 6.1.0
  • Added configuration paramater for scroll interception angle.
  • Added release manager
  • Method DivConfiguration.Builder#enableAccessibility is deprecated now.
  • Fixed layout of children with match_parent size inside container with constrained wrap_content size.
  • Fixed input layout with constrained wrap_content height.
  • Fixed image layout with constrained wrap_content size.
  • Fixed visibility tracking of views that has been removed after patch.

iOS Client:

  • Added DivView.
  • Added RTL support for DivText, DivGallery, DivPager and DivIndicator.
  • Fixed state management for DivGallery.
divkit - 27.0.0

Published by lunarstill about 1 year ago

Android Client:

  • Added RTL support for container, tabs, slider and indicator
  • Fixed multiple find lifecycleOwner call
  • Fixed multiple out animations ignoring or view doubling

iOS Client:

  • Added getStoredValue functions support.
  • Added RTL layout support in DivContainer.
  • Added updateCardSignal to DivKitComponents.
  • Replaced UrlOpener with DivUrlHandler protocol. Changed DivActionHandler API.

Web Client:

Fixes:

  • Fixed an issue with the integer values from the several functions: getYear, getMonth, getDay, getDayOfWeek, getHours, getMinutes, getSeconds, getMillis, len, index and lastIndex. These integer values previously could produce errors in integer operations
divkit - 26.2.1

Published by villanellex2 about 1 year ago

Android Client:

  • Assert on the absence of LifecyclerOwner were replaced by warning.
divkit - 26.2.0

Published by villanellex2 about 1 year ago

JSON Schema:

  • Supported text_alignement_horizontal and text_alignement_vertical properties in div-input.

Android Client:

  • Added start and end values to horizontal alignment.
  • Added start and end values to paddings and margins.
  • Supported right-to-left layout direction for wrap container.
  • Supported dictionary functions.
  • Fixed visibility_actions in DivStates.

iOS Client:

  • Added testRegex function.
  • Fixed visibility action for DivStates.

Web Client:

  • Supported text_alignement_horizontal and text_alignement_vertical properties in input.
divkit - 26.1.0

Published by villanellex2 over 1 year ago

JSON Schema:

  • Added start and end to horizontal alignment.

Android Client:

  • Added testRegex function.
  • Supported constrained property in wrap_content size for pagers.
  • Ignore constrained along wrap-container's cross axis.
  • Fixed gallery item_space in RTL layout direction.

iOS Client:

  • Ignore constrained along wrap-container's cross axis.
  • Supported start and end parameters in margins, padding.

Web Client:

  • Implemented testRegex function
  • content_alignment_ properties along cross-axis in container with the wrap mode will now align rows / columns of items, instead of children components (to better match Android / iOS behavior).
  • Fixed expression processing without variables (constant expressions).
divkit - 25.6.0

Published by villanellex2 over 1 year ago

JSON Schema:

  • Fixed accessibility for DivSelect

Android Client:

  • Fixed min_width for horizontal container
  • Fixed accessibility for DivSelect

iOS Client:

  • Fixed borders with rounded corners.
  • Fixed DivGallery with match_parent items layout.
divkit - 25.5.0

Published by peasemaker over 1 year ago

Android Client:

  • ExoPlayer version updated to 2.18.4
  • Supported preview image in DivVideo
  • Fixed trigger rebind for DivData with the same DivDataTag

iOS Client:

  • Fixed disappear actions timer invalidation