Releases: Tencent/Hippy
Releases · Tencent/Hippy
2025-02-14, Version 3.3.3 (LTS)
Bug Fixes
- android,ios: performance record inaccurate when engine reuse (e6db75e)
- android: avoid peek EmptyStackException (58c8207)
- android: java HippyMap leak oom by jni local ref (964fd14)
- android: make FCP more accurate (19ea88c)
- android: modal crash when destroy root (b5e9002)
- android: rende node snapshot supplementation and improvement (438d8f6)
- android: update custom createVirtualNode arguments (c095855)
- core: fix android scope null when init engine exception (0ab12a8)
- core: fix c++ stack overflow (#4173) (da14f2e)
- core: fix ios thread joinable terminate crash (#4165) (013670c)
- core: fix task not run bug when no right notify_one (dfee909)
- core: try fix ios hash throw overflow crash (#4166) (a0be729)
- devtools: add reconnect when websocket closed by server (#4129) (885593b)
- devtools: fix the mapping between DOM tree and UI inspector (#4122) (719008e)
- devtools: json parse error caused by control characters in string (#4142) (d8106e9)
- devtools: mapping between DOM tree and UI inspector (#4141) (4d8ba71)
- docs: update the documents for recent modifications (325eba2)
- dom: fix animation not work for same animation id (#4143) (e1e6cf3)
- ios: avoid deadlock in native render manager (#4157) (3062f42)
- ios: fix jsc call c crash (#4184) (c711c63)
- ios: layout issue in mixed text-image with truncation scenarios (#4181) (597df52)
- ios: layout issue of pure images nested in text scenarios (c8bd739)
- ios: listview endReached not working when preloadItemNumber is 0 (#4183) (1075d09)
- ios: occasional crash of CFRunloop in looper driver (#4164) (1ebdac0)
- ios: optimize variable array usage in convertToCtxValue and jscctx (501e45a)
- ios: potential thread race in Vsync manager (#4185) (f18eac7)
- ios: thread race when getting ViewManager classes (#4144) (623f198)
- jsc: fix ios c autorelease (#4162) (d4d8856)
- jsc: fix jsc memery release (#4155) (7377aaa)
- jsc: fix jscctx finalize crash (#4154) (c21ae91)
Features
2024-11-08, Version 3.3.2 (LTS)
Bug Fixes
- android: add buildTruncateAtEndStaticLayout impl (5468642)
- android: add comments for waterfall onScroll event params (517848e)
- android: add ControllerRegistry destroy (2c73ba0)
- android: add custom display metrics (#3965) (ca405ec)
- android: add padding left to waterfall item layout (a84fda7)
- android: add try catch for vfs processor chain get (718cc9c)
- android: append init props for image load (298abf5)
- android: change to using global image cache (a6cc90d)
- android: correct waterfall first and end item index in onScroll (e06b31f)
- android: delete virtual child node when parent deleted (7e66250)
- android: different sticky item position crash (#3930) (0f71972)
- android: document improvement and update (2bc9bd6)
- android: end reach check failed when set preloadItemNumber (6573f21)
- android: erase NativeRenderManager when destroy (5bed94e)
- android: font weight compatible with version 2.x (#3948) (12ffb0a)
- android: image module get size support return bitmap (4a3fe34)
- android: lru cache is thread safe (15eef03)
- android: modal host view crash (b7f820b)
- android: onGlobalLayout use root view size (#3982) (4a58eaf)
- android: recordNativeInitEndTime after initJSBridge (82eaecf)
- android: relayout waterfall when scroll idle and back top (efe22eb)
- android: removeRootView params may be null (b43eeb6)
- android: sticky item type calculate using node id (9576889)
- android: support set custom image pool size (248b541)
- android: support work reuse with group id (cfc0b59)
- android: to use WeakReference as much as possible (d300443)
- android: use Spanned to getSpans (ebd4841)
- android: use weak reference replace strong (#3975) (1e07b8b)
- android: waterfall scroll offset after dispatch layout (0ce4d47)
- core: check crash on config SetScaleFactor (#3967) (4cb7bc1)
- core: LoadUntrustedContent crash protect (ad58331)
- core: static destruct crash in main thread for ios (#4085) (fcaa1cb)
- devtools: fix DOM tree flickering for animation page (6faf581)
- ios: abnormal onFooterPulling callback (#4106) (11a0ee5)
- ios: add nil protection when bridge released during loading bundle (4fb3980)
- ios: delay release engine resource to avoid deadlock (#4090) (2d07005)
- ios: potential thread race in vfs file module (f7b17e1)
- ios: thread race when getting uiManager (4b00876)
- ios: websocket module support extra headers (#4069) (#4081) (ca3967f)
- vue-next: fix vuejs ugrade issue (#4004) (6a5026d)
- web: fix webrender listview item relayout (d48be7a)
- web: fix webrender not show when length is 1 (00e15af)
Features
- android: add layout module for reset layout cache (#4089) (6a67d9c)
- android: add offscreenPageLimit property for view pager (78e5fe0)
- android: compatible with custom event register (99ed1ff)
- android: text input support lineHeight (#3936) (a5f4220)
- android: vfs support custom image loader (#3947) (d9478f4)
- devtools: add v8 js profile (d58a106)
- devtools: fix devtools element not show (cf6c1ab)
- ios: waterfall component support footer view (#4098) (8e59529)
- vue-next: fix vue next version on 3.4.32 (ed596b7)
- vue-next: minify webpack bundle size (#3983) (5aee7f7)
- vue: support ul refresh scroll (f4a5d22)
- web: fix webrender image not show (8ee86ff)
- web: fix webrender scawX scawY animation (3dc2aa9)
2024-08-26, Version 3.3.1 (LTS)
Bug Fixes
- devtools: fix vue3 devtools element (33b3826)
- ios, android: performance records inaccurate issues (1083ed3)
- ios: add exception handle process for jsc (#3976) (3fc7225)
- ios: eliminate all warnings and open treat_warning_as_error (1d9ed5a)
- ios: header and footer refresh bugs (#3940) (c151da3)
- ios: iOS18 adaptation of TextView component (773a21f)
- ios: responsable region issue of Textinput (#3932) (7a2ce1d)
- vue-next: fix beforeLoadStyle not work (35c8d23)
Features
- ios,android: add request duration in fetch response header (c5a676c)
- ios: add app bundle and container path support for hpfile url (64f94ae)
- ios: add paragraph styles support for TextInput (5aa12d9)
- react: add font style inherit (f717db5)
- vue-next: fix onInterceptTouchEvent not work (#3995) (fa6dead)
- vue: fix default native style is empty (8d51296)
2024-07-18, Version 2.17.5
Bug Fixes
- android: resolve local ref overflow (07ae1da)
- hippy-react: fix declaration for animation and scroll-view (#3510) (3d8945c)
- hippy-react: fix GenericStyleProp recursive problem (987dc29)
- hippy-react: fix TransformsStyle declaration (634c2f2)
- ios: add a null protection to animation target (new anim module) (67d4afb)
- ios: delay of animationSet not working under new sync mechanism (c2b6a59)
- ios: improve synchronization between animationSets (8dacfb0)
- ios: resolve a multithreading issue in Animator (110f139)
- ios: responsable region issue of Textinput (ce67783)
- ios: simultaneous animationSets desynchronize over time (9b77b8f)
Features
- ios: add paragraph styles support for TextInput (692843a)
2024-06-20, Version 3.3.0 (LTS)
3.3.0 (2024-06-20)
Bug Fixes
- action: change project_artifact_snapshot name (#3818) (48a64d9)
- android: correct move node impl with different pid (e501e93)
- android: debugServerHost invalid setting (#3841) (5ef587e)
- android: getScreenShot bitmap width or height < 0 (#3842) (e01ab9c)
- android: image span draw transparent color when no src set (2805d03)
- android: remove onSystemUiVisibilityChange listener (#3913) (fc6d506)
- android: resolve local ref overflow (8ef9882)
- android: should updateExtra after create host view (#3879) (dadf81a)
- android: support use custom DisplayMetrics (c6d9593)
- android: update react demo bundle (#3825) (14dc634)
- core: fix android scope crash (#3906) (06806d9)
- devtool: fix muli devtool instance crash on android (#3862) (60fd4eb)
- dom: missing render_info update before move operation (07a533f)
- dom: optimized results not used in move operation (fd05c64)
- ios: add CSS name matching semantics to fontFamily of TextInput (b6697c5)
- ios: add null protection before invalid move operation (fdce688)
- ios: add protection against null value exceptions (a0ea9a0)
- ios: add protection for targetContentOffset outliers in ViewPager (5562c00)
- ios: add ResponseSenderBlock type support for component parameter (672fb57)
- ios: animation nullptr crash (64294cd)
- ios: dangling pointer in HippyBridge when unload after invalidate (76ca98f)
- ios: debug reload module not working (7910930)
- ios: eliminate Devtools connection warning (6a7abc8)
- ios: error in move node operation of ViewPager (dad8fb0)
- ios: fix move node index bug (c63f221)
- ios: image capInsets and getSize's bug (bd66bac)
- ios: lineHeight attribute was incorrectly inherited (bb11f1d)
- ios: loss of touch end or cancel event in multi-finger scenarios (#3892) (7ab2ec1)
- ios: move nodes op non same parent support (2fdf1b2)
- ios: multi-threading issue in createView (a21c4dc)
- ios: null exception when converting JSI object to dictionary (4249f3a)
- ios: performance api of FP not working (a63ddf3)
- ios: potential thread race in HippyJSExecutor (201807b)
- ios: resolve non-standard object type when creating js object (2d9837b)
- ios: resolve null pointer crash when loadBundleURL (1735774)
- ios: tiny issue of TransactionListener in UIManager (#3821) (d62d926)
- perf: fix OnResourceLoadEnd crash (#3888) (948927c)
- perf: fix OnResourceLoadEnd crash (#3895) (1537ba8)
- vue-next: fix vue-next package dependencies issue (3aa1ca4)
Features
- action: fix v8 build error (3ce42a2)
- action: install ninja-build before v8 build (#3864) (00cd292)
- action: update v8 compiler action (4d72166)
- android: add orientationChange event for Modal (#3861) (3a3364c)
- doc: update hippy3.0 vue-next version (8f72368)
- doc: update js doc (c6b8b0f)
- doc: update js doc for 3.3 (473cf27)
- dom: fix vue3 list item position (#3826) (c723688)
- ios: add custom image loader support (#3830) (5e4e889)
- ios: unify HippyBridge's notifications and improve compatibility (f6458d1)
- ios: update ViewPager's pageIndex automatically after data changes (#3857) (4769911)
- v8: add version log for v8 (70c4626)
- vue-next: add update event operation (#3837) (c950b00)
- vue-next: add vue3 css cache (3041367)
- vue-next: modify comment (a413feb)
- vue-next: update comments (f24440b)
- vue: fix attribute inheritance style not empty (#3868) (413e401)
- vue: fix vue replace   (b858402)
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 premature text truncation (#3609) (89ce3d7)
- 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)
- core: support onerror for js (#3471) (9399e28)
- 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 dom memory leak (#3628) (117e087)
- 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](https://github.com/Tence...
2024-06-12, Version 2.17.4
Bug Fixes
- ios: add CSS name matching semantics to fontFamily of TextInput (55b5eea)
- ios: add protection for targetContentOffset outliers in ViewPager (b879d73)
- ios: auto-update of page index may lag by one frame in view pager (152ddfe)
- ios: avoid zero size crash when using UIGraphics api in debug mode (6351f8f)
- ios: loss of touch end or cancel event in multi-finger scenarios (3f8473c)
- ios: make getTurboModule return null when module not exist (ad31bfa)
- ios: potential deadlock in layout & unify all ScreenScale calls (6384825)
- ios: resolve exception where touchView may be nil (e411112)
- ios: turbo module not get called on destroyInstance event (0cb1b8a)
- ios: a rare multithreaded race crash when getting imageProviders (c04affe)
- ios: add a null protection to animator (84b391b)
- ios: animation state of some scenes might be out of sync (14b3ab1)
- ios: images with non-encoded urls are not displayed (b0fed38)
- ios: remove the invalid log message (b414e78)
- ios: remove unused initialization param of HippyRootView (0f4445e)
Features
- ios: pageIndex of ViewPager auto update after data changes (deac59a)
- android: add raw point for touch event dispatch (175ed15)
Performance Improvements
2023-10-27, Version 2.17.2(Deprecated)
Bug Fixes
- android: fix npe when preload (bdc3fa4)
- core: fix console module log encode (bf266b9)
- hippy-react-web: HippyTypes.Style for web (#3468) (2220cda)
- ios: animation module multi-instance support (8ca6754)
- ios: animation module multi-instance support 2 (5fad881)
- ios: fix context leak when using shared engine (#3451) (66d516b)
- ios: onChange event not triggered when typing Chinese Pinyin (6b57bed)
- js: remove virtual for animation (#3467) (021a204)
- v8: v8 code cache file broken protect (f9b468e)
- v8: v8 code cache file broken protect (d39881c)
Features
2023-08-28, Version 2.17.1-beta
2023-08-07, Version 3.0.1(Deprecated)
Bug Fixes
- action: fix 3.0 release and compare action (8b3f572)
- android: add call function log (5fc52e4)
- android: event to lower case (e368ad5)
- android: fix incremental build (06c22c2)
- android: initialContentOffset not working (3e3b5a8)
- android: issues of ScrollEvent (#3362) (733f303)
- android: non flattened elements background color (#3352) (2a7402a)
- android: recycle view event use low case name (a4f4cde)
- android: sticky header not deleted from ControllerManager (#3356) (797eadd)
- android: supply some layout style for filter (6ff2398)
- android: support sparse array for call ui function (0b06be7)
- android: window and screen size use float (6402189)
- devtools: fix location double for all (fb1be52)
- dom: filter nodes with same style (82a0792)
- dom: fix dom ext style diff error (e3351e6)
- dom: fix event empty pointer (c690f86)
- dom: fix modifying event by multi hippy engine (4a731a2)
- dom: fix vue diff style alogrithm (3463362)
- ios: add semaphore to make sure scope is created (f27c513)
- ios: fix crash caused by null pointer (15e2bc5)
- ios: fix gradient color drawing bug (a0e11c4)
- ios: fix ios event capture and bubbling process (1d05545)
- ios: remove the semicolon after namespace syntax (a132dea)
- ios: support intercept touche event (a85040d)
- jsc: fix jsc crash on ios12 (d78bb47)
- jsc: fix JSCCtxValue crash after destroy engine (a166fe3)
- jsc: temporarily used for testing jsc crash (a053f1a)
- voltron: fix crash when dom value type error (ffbab34)
- voltron: fix voltron android scope not erase when destroy (eebd7a1)
- vue-next: fix element do not use beforeLoadStyle hooks issue (604a231)
- vue: fix rootview conditional statement (#3355) (5364548)
Features
- android: add filter for css style to native renderer (#3405) (c459934)
- dom: fix empty dom event function crash (388beef)
- dom: measure textinput node (c9cedd1)
- dom: remove DCHECK for taitank node (c779738)
- ios: add 'SetRootOrigin' function for root node (ef7d9ce)
- ios: strip hippyconvenientbridge from bridge module to host module (3f28b9e)
- voltron: publish voltron 0.0.31 (#3375) (f02c1a7)
- voltron: update workflow xcode version (2fcd955)