2024-04-09, Version 3.2.0-beta(LTS)
Bug Fixes
-
android: add bridge destroy state (8776d38)
-
android: add onScroll event for list over pull (b0dec7b)
-
android: add shouldNotifyNonBatchingChange for render node (2e48ffe)
-
android: add thread check before argumentToBytes (b3f3de0)
-
android: compatible HashMap and ArrayList for ArgumentUtils (496020c)
-
android: compatible HippyArray for dispatchFunction (e03270d)
-
android: compatible with the HippyModulePromise type (60c4215)
-
android: component may not update with lazy node (3d5b2fd)
-
android: concat log msg only in debug mode (f6bfa4c)
-
android: crash when rotating screen in dev mode (611fd58)
-
android: delete virtual node exception (3a9e211)
-
android: dimensions api compatibility with lower version (f4fcc99)
-
android: fix
bounce
can't cancel the system effect (63c75d7) -
android: fix
ListView
may throwClassCastException
(f54c035) -
android: fix compile issue in AS release mode (f2ba451)
-
android: fix nested list issues (795aff4)
-
android: fix serialization hash function (a82a4c3)
-
android: fix transform order and convert perspective same as iOS (#3562) (d48ebcc)
-
android: isScraped not check image type (15b16a8)
-
android: move node incorrect in
ViewPager
(2cf6dd4) -
android: optimize fetch promise callback impl (#3674) (b93618e)
-
android: reduce duplicate textchange event (44475c4)
-
android: remove debugBundleName final constraint (#3647) (ce582b4)
-
android: remove extra logs (f197876)
-
android: remove ImageDataHolder recycle (3a4fe64)
-
android: remove override getOverScrollMode (a6b0e04)
-
android: revert sInForeground impl (ce62a52)
-
android: send onSizeChanged message to js (0f51c5d)
-
android: sendComponentEvent with view==null crash (d73dc28)
-
android: setItemPrefetchEnabled to false for recycler view (658c893)
-
android: should create view if has custom props (b93d175)
-
android: should hide soft input even input not focus (c9a7f0b)
-
android: support host override notifyInitialListReady (b6b22bb)
-
android: support webp (615f229)
-
android: text node add gesture span with gesture events (e24cc61)
-
android: update drawing order in add child (1bec309)
-
android: update layout for first child of DialogRootView (0f6a9a9)
-
android: update proguard-rules (770702c)
-
android: update props reuse null view object (a45eda0)
-
android: use promise.reject when fetch res failed (9d006bc)
-
core: crash protect for worker on ios (5ead86c)
-
core: fix GetInternalField animation 0x241d000023a1 crash (79ed489)
-
core: fix performance for dom node (7da2c69)
-
core: fix performance for node eliminated (208ba93)
-
core: fix std hash for xcode15 (28a0e36)
-
core: JSCCtx CreateObject crash protect (d4026a2)
-
core: JSCCtx CreateObject crash protect (73abae9)
-
devtools: fix dom box size return (0,0,0,0) (9f5e50b)
-
doc: remove unused animated property definition from docs (00f54e8)
-
dom: add deserializer log (418afed)
-
dom: add log for deserializer crash (37f8721)
-
dom: convert layout result nan to 0 (5b94924)
-
dom: fix docallback multi thread conflict (e383127)
-
dom: fix dom diff algorithm (637d5e9)
-
dom: fix layout event trigger condition (a2d7214)
-
dom: fix multi-thread access event_options conflict (abf6f1d)
-
dom: fix skip style diff update style map null (f672a44)
-
dom: fix thread conflict on measure function (18409bb)
-
dom: get scope return nullptr (54753a2)
-
dom: handle event by platform (3523c95)
-
dom: layout width and height result great than 0 (9a41ae9)
-
dom: remove some redunant log (e799c47)
-
driver: fix destroy driver before scope initialization (9c64bb7)
-
driver: fix multi thead conflict when destroy engine (0658dc3)
-
ios: add a simple reusable cache for list and waterfall (316ba74)
-
ios: add caretColor property support (46b4e77)
-
ios: add default sandbox directory for compatibility (a2a2a05)
-
ios: add local html, request body support to WebView (dac1069)
-
ios: add missing alwaysBounceVertical for ListView (e121aed)
-
ios: add missing error log and suppress some warning (e3b2171)
-
ios: add missing notification and remove unused variables (9c5d0fc)
-
ios: add protection to prevent crashes caused by negative sizes (dd2320d)
-
ios: add type exist check and fix bugs (f989e1c)
-
ios: add user agent and method support (6c7e5fa)
-
ios: backgroundImage may not update in time when reusing hippyView (#3736) (db99542)
-
ios: cellView detach bug of listview and waterfall (4753e3b)
-
ios: change sdkVersion variable name , keep compatible with hippy2 (54e9a86)
-
ios: crash of NSError out param inside autorelease pool (0bc3f09)
-
ios: dead loops generated by nested text layouts (14da8fe)
-
ios: delete the old useless cache logic for list and waterfall (e831f31)
-
ios: determines if node is null (8560a25)
-
ios: dirty text need to propagand to super (638ed17)
-
ios: disable view animation only when batch actions exists (1e1af4c)
-
ios: ensure insertHippySubview is called sequentially (6ce3776)
-
ios: final onScroll may be dropped for listview, scrollview and waterfall (#3624) (8e420c4)
-
ios: Fine-tune callback timing to stay compatible with hippy2 (538aa1c)
-
ios: fix an endless loop when updating rootView's frame (1855da6)
-
ios: fix component reference issue on old system versions (4d904b0)
-
ios: fix conversion crash from oc object to CtxValue (11ebce7)
-
ios: fix create node crash in main thread when releasing vc (fb3bb12)
-
ios: fix device orientation change event (bf0548a)
-
ios: fix HippyDisplayLink leak (0807923)
-
ios: fix image animation stop issue after setting tintColor (a84c3e0)
-
ios: fix lazy views may not get rendered due to timing issue (40e884f)
-
ios: fix memory issue when calling JSTurboObjectWithName (e2e79ac)
-
ios: fix missing updateLayout operation (d7aef60)
-
ios: fix modal view display issue in landscape mode (2edbab2)
-
ios: fix modal view layout issue (7b088a7)
-
ios: fix module provider not working and code refactor (af5dcb1)
-
ios: fix text rendering issue (a968697)
-
ios: fix timing issue of backgroundImage prop (e841936)
-
ios: fix UICollectionView exception caused by incremental diff (d073aa9)
-
ios: fix uimanager and bundle operation queue's crash (61c41d8)
-
ios: fix view background image frame bug (ca3807a)
-
ios: fix view creation bug on release mode (ee057dc)
-
ios: fix weak ref issue in closure (182ce4e)
-
ios: fixed an error when getBoundingClientRect's options was null (d03bef0)
-
ios: fixed an issue where some part of devtools were not available (276d26e)
-
ios: Fixed an issue where the redbox cannot be used (f285fc7)
-
ios: implementation issue with defaultSource prop of Image (94e27be)
-
ios: improve image rendering performance in main thread (dc78bf9)
-
ios: increase code robustness and compatibility for HippyRootView (ace5988)
-
ios: listview performance optimization and bug fix (#3572) (d8653ca)
-
ios: make use of darkStatusBarText property in modal controller (7aedc7c)
-
ios: NativeRenderView leak (6ba3474)
-
ios: nested list may not get reload (80d68c9)
-
ios: onChange event not triggered when typing Chinese Pinyin (f37d667)
-
ios: optimize cell creation time of listview and waterfall (2a4533c)
-
ios: optimize creation time of lazy-load list items (f7b019f)
-
ios: optimize perf of ComponentMap and support multi-rootView (61c52e9)
-
ios: optimize performance of getting components from viewRegistry (5863fe7)
-
ios: prevent crash even logger cbset multiple times (7ba9be3)
-
ios: prevent crashes due to nan values when doing hippySetFrame (e98897b)
-
ios: reaload textfield after changing keyboardType (5b203a4)
-
ios: refactor & fix listview and waterfall's data loading procedure (38662ab)
-
ios: refactor iOS gesture system to fix bugs (941eec7)
-
ios: relayout dom when rootView frame change (e7820f9)
-
ios: reload textfield to take effect after altering returnKeyType (35587da)
-
ios: remove highly frequent logs (3963f68)
-
ios: remove the diff-update code of waterfall and listview (944e737)
-
ios: return weight of zero for invalid font (5328610)
-
ios: revert rename hippy prefix for compatibility (a1cba87)
-
ios: revert rename hippy prefix for compatibility part2 (e377647)
-
ios: revert rename in hippy3 and fix modal view gesture bug (bad8e37)
-
ios: revert rename symbol Prefix and fix compatibility issues (4a3952d)
-
ios: scrollToIndex not working for horizontal list (94b4c54)
-
ios: set logging delegate (85b7853)
-
ios: showScrollIndicator not working on horizontal list (6893636)
-
ios: showsXXXScrollIndicator property of scrollview not working (8ad0c88)
-
ios: sticky list cell not showing after reloading (d520921)
-
ios: text will be clipped when exceeds lineHeight (750e88a)
-
ios: thread race of componentDataByName in UIManager (#3801) (88152db)
-
jsc: fix gc finalize bug and performance (9a78a1b)
-
js: skip css preudo class check (e88b67f)
-
layout: fix layout border default css direction (c035630)
-
perf: enable perflog output in debug mode only (57628bf)
-
perf: fix performance api dom time bug (3206035)
-
perf: fix resource entry nullptr crash (be822e3)
-
renderer: update tdfcore d47969ec25d4f403595f06219ea43b202de9af74 (3a2e85d)
-
v8: fix v8 code cache for hippy3.0 (6091dc1)
-
vfs: fix VFSUriLoader crash (f6a3f7d)
-
vfs: OnJniDelegateInvokeSync call after OnDestroyVfs (03148e0)
-
voltron: resolve remoteServerUrl parse version id failed (#3720) (57face5)
-
vue-next: compatible vue patchProp parameter type change (9a48613)
-
vue-next: fix js release bundle size too big issue (#3779) (70fd38b)
-
vue-next: remove vue prod devtools global sign for ios&android (a4262e4)
-
vue3: delete source prop for img (20f3e66)
-
vue3: skip patch style for same props (ba5635b)
-
vue3: update patch style isStyleExisted function comment (1102c02)
-
vue: fix not update style diff crash (ecf6c8a)
-
fix(android)!: change Image getSize failure parameter type (4dbb0fe)
Features
- android,doc:
returnKeyType
,keyboardType
not change singleLine (#3601) (fc6976c) - android: add BaseEngineContext interface (cc2e02b)
- android: add bugly app id register (c518dd1)
- android: add disallowInterceptTouchEvent for hippy view group (7bf7ac7)
- android: add ENABLE_BUGLY_REPORT config (ed7c8df)
- android: add enableScrollDirectionFix for recycler view (6889560)
- android: add modal features (#3680) (98df553)
- android: capInsets and tintColor support for each image types (#3461) (95ebc78)
- android: complex border styles support (5440642)
- android: deprecate
underlineColorAndroid
prop (acce0e6) - android: fontWeight support number value (#3570) (bb9b7db)
- android: Image load events (#3621) (be23474)
- android: make
TextInput
default color same as iOS (#3613) (24d11f9) - android: onKeyboardWillShow only triggers on focused component (49d8a58)
- android: optimize addUpdateNodeIfNeeded time cost (b0a48ce)
- android: reduce layout event when size not change (a28fb76)
- android: refactoring WaterfallView (#3809) (8dad9f2)
- android: support appear events for ListView (2726c93)
- android: support fakeBold for text node (e7b8241)
- android: support fcp monitor (#3796) (b38e990)
- android: support get custom type face (c609991)
- android: support opacity for rich text (#3615) (fe9feda)
- android: support output render log to host (8c13d04)
- android: support padding for
TextInput
(1d82566) - android: support text decoration features (c379fc3)
- doc: 3.0 performance api doc update (fc24bfd)
- doc: fix docs markdown lint (8f33db7)
- doc: update main branch homepage url (252fb51)
- dom: add copyright header (d2efeda)
- dom: add statistic info for dom size (219e4a4)
- dom: fix trigger error on layout event (3624aa4)
- dom: remove dom value (59fb750)
- dom: set dom thread priority (2fbb558)
- ios: add description for componentmap (cb186d8)
- ios: add fcp monitor support (#3803) (7d29a3c)
- ios: add param for image onLoadEnd on iOS (5ae7d67)
- ios: add rootViewRunApplicationFinished delegate method (2400602)
- ios: improve text layout performance (051da17)
- ios: optimize cell reuse processes (57ff9f9)
- ios: optimize cell reuse processes 2 (ebbb3f7)
- ios: print hippy core module logs (#3783) (9a76f96)
- ios: reload list on changed index, not all indices (22e1f8f)
- js: open js profiler (#3489) (890400a)
- js: remove demo clipboard (f141cc0)
- perf: add logs to pinpoint performance issues (ed206ed)
- voltron: add voltron_screen_info to make flutter_module faster (#3541) (5abd5ad)
- voltron: update voltron to 0.0.34 (4d640a6)
- vue-loader: css scoped compile to class selector (#3679) (e9198be)
- vue-next: compatible vue2 component tag name format (b550202)
- vue-next: fix hippytext setText (#3790) (5a7434d)
- vue-next: fix image url style parse (#3791) (e82fe27)
- vue: add style diff perf (#3553) (4e61294)
- vue: hippy vue css style refactor (#3671) (38ff0dd)
- vue: not update node when add/remove listener (#3520) (19b99ac)
- vue: remove updateEvent params (86a1aff)
- vue: revert css match (#3528) (c797576)
- vue: update postcss dependencies (#3723) (9e150d6)
- vue: vue component support beforeLoadStyle disabled (1bb582b)
Performance Improvements
- ios: add dirty property to indicate if list needs to reload (1303783)
- ios: check whether the dirtyText behavior requires layout (114d0d7)
- ios: no need to cancel gesture if gesture exists (6f2893f)
- ios: reduce reload block for list view (36aaa91)
BREAKING CHANGES
- failure parameter on Android used to be a String, now is an object