Releases: openwebf/webf
Releases · openwebf/webf
0.15.0
This version will support Flutter 3.10.x
Break Changes
- Remove
navigator.connectionAPI. #411
Features
- Upgrade Flutter support to 3.10.x. #345
- Optimize location API for better performance results. #420
- Optimize the size of webf_bridge.xcframework and quickjs.xcframework. #414
- Support CSS initial length value. #421
- Optimize Element.children() and Document.all() performance. #424
- Support base64 format font data in
@font-facesrc. #399 - Support Element.dir API. #418
- Add
<circle />and<ellipse>tags for SVG. #423 - Support share customized JS properties in event object. #427
- Support
window.pageXOffsetandwindow.pageYOffsetAPI. https://github.com/openwebf/webf/pull/428/files - Optimize layout/paint performance when block box size is fixed. #450
- Optimize performance when update Element.className. #452
- Support CanvasRenderingContext2D.createPattern() API. #464
Bug Fixed
- Fix use css vars with initial. #421
- Fix toggle position: fixed on bodyElement with other fixed elements. #416
- Fss nth-child not work. #417
- Fix Node.childNodes didn't update when nodes changed. #419
- Fix loading fonts cause assertion when remove or attach RenderObjects. #425
- Fix percentage width and height not working under inline block box. #430
- Fix Node.insertBefore with SVGElement error. #431
- Fix cookie delete file error when it's not available. #429
- Fix read ANDROID_SDK_HOME before implying to platform defaults. #422
- Fix cookie delete file error. #429
- Fix percentage width and height not working under inline block box. #430
- Fix Node.insertBefore with SVGElement error. #431
- Fix DevTool's network panel not working. #435
- Losen intl dependency constraint. #439
- Fix built-in methods in the event object cannot be overridden. #443
- Fix crash when touching pseduo elements. #445
- Fix event not responding when multiple flutter engine created. #451
- Fix Element.style.cssText API not works. #455
- Fix use-of-free crash of shared string property in event object. #458
- Fix dynamic build items in WidgetElement. #461
- Fix CSS content property have sequences of unicode chars. #463
- Fix crash when create unsupported svg element with style. #465
0.14.2
0.14.2
This version will support Flutter 3.3.x ~ 3.7.x.
Break Changes
- Remove
navigator.connectionAPI. #411
Features
- Optimize location API for better performance results. #420
- Optimize the size of webf_bridge.xcframework and quickjs.xcframework. #414
- Support CSS initial length value. #421
- Optimize Element.children() and Document.all() performance. #424
- Support base64 format font data in
@font-facesrc. #399 - Support Element.dir API. #418
- Add
<circle />and<ellipse>tags for SVG. #423 - Support share customized JS properties in event object. #427
- Support
window.pageXOffsetandwindow.pageYOffsetAPI. https://github.com/openwebf/webf/pull/428/files - Optimize layout/paint performance when block box size is fixed. #450
- Optimize performance when update Element.className. #452
- Support CanvasRenderingContext2D.createPattern() API. #464
Bug Fixed
- Fix use css vars with initial. #421
- Fix toggle position: fixed on bodyElement with other fixed elements. #416
- Fss nth-child not work. #417
- Fix Node.childNodes didn't update when nodes changed. #419
- Fix loading fonts cause assertion when remove or attach RenderObjects. #425
- Fix percentage width and height not working under inline block box. #430
- Fix Node.insertBefore with SVGElement error. #431
- Fix cookie delete file error when it's not available. #429
- Fix read ANDROID_SDK_HOME before implying to platform defaults. #422
- Fix cookie delete file error. #429
- Fix percentage width and height not working under inline block box. #430
- Fix Node.insertBefore with SVGElement error. #431
- Fix DevTool's network panel not working. #435
- Losen intl dependency constraint. #439
- Fix built-in methods in the event object cannot be overridden. #443
- Fix crash when touching pseduo elements. #445
- Fix event not responding when multiple flutter engine created. #451
- Fix Element.style.cssText API not works. #455
- Fix use-of-free crash of shared string property in event object. #458
- Fix dynamic build items in WidgetElement. #461
- Fix CSS content property have sequences of unicode chars. #463
- Fix crash when create unsupported svg element with style. #465
0.14.1
Features
- Add CSS
@font-facesupport. #380 - Support ::before/::after selector. #332
- Add document.elementFromPoint API. #381
- Support set textContent on textArea elements. #369
- Support receive binary data from fetch and XMLHttpRequest. #397
- Add support for event capture phases. #404
- Support change the current animation stage for transition animations. #401
- Add CSSStyleDeclaration.cssText support. #410
- Move the webf_websocket plugin into webf. #398
Bug Fixed
- Fix error when setting display:none for input and textarea. #369
- Fix focus state didn't cleared when input unmount from the DOM Tree. #369
- Fix defaultStyle for textarea elements. #369
- Fix a crash when a JSObject was finalized after the ExecutingContext was freed. #372
- Fix a crash when ExecutingContext is not alive at timer callbacks. #373
- Fix a crashed when running in multiple flutter engine instance. #377
- Fix the size of the input is wrong when using a unit other than px. #378
- Fix crashed when shutdown the app. #383
- Fix Resource temporarily unavailable for Hive lock file. #387
- Fix a memory leaks in TouchList. #388
- Fix match error for animation time. https://github.com/openwebf/webf/pull/390/files
- Fix built-in string initialized multiples and cause leaks. #391
- Fix constructor property on DOM elements. #402
0.14.0
Big News
- Add Flutter 3.3/3.7 support. #246
- Add SVG suppport. #279
- Add Windows support. #162
- Add multiple flutter engine group support. #338
Features
- Support transform property for computedstyle. #245
- Add
btoa()andatob()API support. #253 - Add Vue SSR support. #256
- Replace malloc to mimalloc. #267
- Add CanvasRenderingContext2D.createLinearGradients and CanvasRenderingContext2D.createRadialGradient support. #269
- Optimize Fetch() API performance. #287
- Add Blob.base64() to export base64 string from Blob directly. #278
- Expand quickjs default prop size and realloc capacity. #270
- Add context API for WidgetElement. #264
- Add kbc file type support for script element. #250
- Support react.js without any polyfill. #257
- Auto cache parsed bytecode for the first load. #280
- Invalidate cache when expect Http request errors #305
- Optimize dart dom and CSS selector performance. #309
- Support background-clip text. #318
- Remove ios armv7 armv7s support. #331
- Add DOMContentLoaded API. #330
- Optimize image load performance. #335
- Validate bytecode cache with CRC32 checksum. #336
- Add Element.querySelectorAll and Element.querySelector API. #342
- Support document.domain and document.compatMode. #343
- Support document.readyState. #347
- Add localStorage and sessionStorage support. #344
- Support document.visibilityState and document.hidden. #350
- Add document.defaultView API. #346
- Add support for Element.dataset API. #348
- Add Element.matches API. #365
- Add append() and prepend() support for Element, Document and DocumentElement. #361
- Add before() and after() support for Element and CharaterData. #361
- Add Element.closest API. #364
- Add HTMLScriptElement.readyState API. #367
Bug Fixed
- fix: fix pan scroll on desktop versions. #248
- fix: canvas should clip overflowed element. #263
- fix: ic should use none instead of atom flag and free it to prevent double delete. #277
- fix: pending promise crash for early gc and add lto to quickjs. #283
- fix update className property on hidden element. #255
- fix bytecode read should free atom to prevent leak. #285
- fix empty src on image. #286
- fix
can not be GC even if it's detached or removed from the DOM tree. #291
- fix change size of canvas element didn't works. #276
- fix: ic free atom crash when ctx early free. #293
- fix: fix script execution order with inline script element. #273
- fix css function resolve base url. #282
- fix: rules didn't match which start with undefine at-rules. #294
- fix: fix child_node_list can be null. #297
- fix native memory leaks. #292
- fix renderObject memory leaks. #298
- fix dom content loaded event trigger condition. #274
- fix Element.toBlob() is not default to current pixel_ratio. #306
- fix scrollable size when update. #301
- fix layout error when using percentage value on transform. #307
- fix: css priority error. #310
- fix atob empty string cause crash. #311
- fix canvas element get multiple context error. #312
- fix http cache control parse error. #313
- fix image width/height attribute. #315
- fix crash when cancelAnimationFrame in frame callbacks. #317
- fix style didn't take effect and offsetLeftToScrollContainer value is calculated incorrectly. #322
- fix GIF images cause rendering performance overhead. #325
- fix: remove flushLayout when reading contentSize. #326
- fix setting lazy loading for an image didn't work. #328
- fix remounting widgetElement in the same frame to the DOM tree causes renderWidgets to be unmounted from the renderObject tree. #329
- fix: make sure renderObject had been layout before read view module properties. #333
- fix: protect DOMTimers until the ExecutingContext exits. #334
- fix reading target property on Touch caused crash. #340
- fix css vars() and calc() in some user cases. #355
- fix template element's content property cause mem leaks. #349
0.13.3
Features
- Add Self Poly Inline Cache for quickjs. #227
master feat/ic Richards 752 888 +18.0% Crypto 618 713 +15.3% RayTrace 807 833 +3.2% NavierStokes 1497 1319 -11.8% DeltaBlue 744 845 +13.5% Score (version 7) 841 890 +5.5% - Add window.getComputedStyle support. #183
- Add namespace API. #126
- The performance of
display: sliverhad been improved. #225
Bug Fixed
- fix: fix history pushState() API. #218
- fix: Input use leading to support line-height. #173
- fix: fix widget element unmount renderObject. #221
- fix: fix scrollable content not work when toggle display. #220
- fix: fix set background color on body element. #130
- fix: fix renderObject didn't disposed when frame update paused. #231
- fix: fix assertion when webf disposed. #228
- fix: fix CSS calc value become zero when parameter kind are same. #234
- fix: Query computed style for kebabize property name. #239
- fix: fix build error on M1 iOS simulator. #238
- fix: fix set max-height on scroller box. #216
- fix: fix animation transform have no effect when value are rotate(360deg). #184
0.13.2
0.13.2
Features
Bug Fixed
- Fix fix call binding methods on proxies objects. #193
- Fix input have default content padding. #194
- Fix history.back() cause page reload. #195
- Fix location.href never changed. #195
- Fix CommentNode always return empty string of nodeValue. #197
- Fix fix img width become infinity when not attached. https://github.com/openwebf/webf/pull/200/files
- Fix unconstrained inline-block can't calculate content box size. #201
- Fix positioned elements should be reapply when toggle display. #202
- Fix replaced element didn't render with toggle display. #203
- Fix view module value changed by scroll offset. #207
- Fix initializeCookie API when twice load. #208
- Fix gesture conflict on Android devices. #210
0.13.1
Bug Fixed
- Fix renderBoxModel is null cause performLayout error. #187
- Fix position absolute cause mistake overflow. #167
- Fix var in keyframes not work. #147
- Fix var in translate not work. #154
- Fix unexpected token in linear-graident. #119
- Fix tag element selector. #169
- Fix var attribute dynamic modification exception. #144
Feature
- Add
initialCookiesparams on WebF widget. #186
0.13.0
The biggest update since the webf/kraken release.
- The DOM API and C++ bindings had been redesigned and refactored. #18
- DOM node operations methods such as
Node.appendChildandNode.insertBeforeare 2x - 5x faster than 0.12.0. - The new C++ bindings system can keep the bridge code safer to avoid crashes.
- DOM node operations methods such as
- Add CSS StyleSheets support. #11
- Support load CSS with
<link />element. - Support load CSS with
<style />element.
- Support load CSS with
- Flutter Widgets System had been redesigned and refactored, now all flutter widgets can be used to define your HTMLElements, including from Flutter material design, pub.dev, and yours. #58
- Add CSS animation support. #41
- Sync the latest features from quickjs offical. #165
Others Features
-
Add cookie support. #65
-
Add Quickjs column number support. #116
-
Support return value from
webf. invokeModuleAPI. #54Upgrade from 0.12.0
This feature could lead to the following error if you using
web.addWebfModuleListenerAPI in 0.12.0.TypeError: Failed to execute '__webf_add_module_listener__' : 2 argument required, but 1 present. at __webf_add_module_listener__ (native) at <anonymous> (internal://:127) at <eval> (internal://:135)Please add the target module name to the first arguments:
before
webf.addWebfModuleListener(function(moduleName, event, data) { if (moduleName == 'AlarmClock') { // ... } });
After
webf.addWebfModuleListener('AlarmClock', function(event, data) { // ... });
Bug Fixed
- CSS
hsl()not works. #23 - flex:1 failed when the parent node style has minHeight/minWidth property. #28
- Fix overflow not works with transform. #48
- Fix memory leaks caused by CSSLengthValue and ModuleManager. #57
- Fix animation shaking when controlling the animation with touch events. #67
- Fix webf_bridge.xcframework and quickjs.xcframework did not product when run
flutter build ios-frameworkscommand. #71 - Fix dynamic library not found in some android devices. #91
- Fix position and transform to cause a more scrollable area. #112
- Fix the size of HTMLElement is not always equal to the viewport. #122
- Fix collapsedMarginBottom seems work incorrectly. #132
- Fix opacity after transform not work. #142
- Fix set attribute with CSS vars not work. #155
0.12.0
Big News
- Set flutter version requirement to v3.0.5.
Bug Fixed
- Fix devtools select dom position offset. openkraken/kraken#1289
- Fix the white-flash of canvas painting. openkraken/kraken#1317
- Fix the memory leak of animation timeline lifecycle. openkraken/kraken#1312
- Fix request failed while response was gzipped. openkraken/kraken#1302
- Fix exception in paragraph paint in some edge cases. openkraken/kraken#1334
- Fix flex-basis with percentage not working. openkraken/kraken#1300
- Fix memory leak when dispatch gesture events. openkraken/kraken#1333
- Fix negative margin value. openkraken/kraken#1308
- Fix margin auto value. openkraken/kraken#1331
- Fix JS error report twice. openkraken/kraken#1337
- Fix event concurrent exception. openkraken/kraken#1354
- Fix text white space collapse. openkraken/kraken#1352
- Fix inline replaced element layout size. openkraken/kraken#1343
- Fix event listener remove when call removeEventListener. https://github.com/openkraken/kraken/pull/1357/files
- Fix error of textNode when attach to WidgetElement. openkraken/kraken#1336
- Fix null safety error when handle pointer events. openkraken/kraken#1360
- Fix script element with async attribute error. openkraken/kraken#1358
- Fix event handlers removal with once time. openkraken/kraken#1359
- Fix text not wrap in flex container of column direction. openkraken/kraken#1356
- Fix the sliver with positioned element usage problem. openkraken/kraken#1341
- Fix set overflow on body can still scroll. openkraken/kraken#1366
- Fix positioned element offset when containing block has transform. openkraken/kraken#1368
- Fix replaced flex item size. openkraken/kraken#1338
- Fix memory usage of img element. openkraken/kraken#1347
- Fix position: fixed elements hittest not correct. openkraken/kraken#1374
- Fix html scroll value. openkraken/kraken#1367
- Fix custom element widget unmount. openkraken/kraken#1375
- Fix the null value for CSS content-visibility and position. openkraken/kraken#1389
- Fix custom element item layout. openkraken/kraken#1392
- Fix script elements sync load order. openkraken/kraken#1405
- Fix element.style property match. openkraken/kraken#1410
- Fix viewport dispose twice. openkraken/kraken#1404
- Fix localToGlobal on silver container. openkraken/kraken#1421
- Fix add PointerDeviceKind on scrollable. openkraken/kraken#1439
- Fix add new child of sliver container. openkraken/kraken#1412
- Fix stylesheet can not load with link elements. openkraken/kraken#1441
- Fix not support relative protocol. openkraken/kraken#1444
Features
- Add reset for canvas rendering context 2d. openkraken/kraken#1310
- Add temporary Console panel at Chrome DevTools. openkraken/kraken#1328
- Add built-in attributes for event handlers. openkraken/kraken#1330
- Add document.getElementsByName API. openkraken/kraken#1383
- Add absolute-size & relative-size keywords of font-size. openkraken/kraken#1430
- Add scroll support of input、textarea、sliver with mouse wheel when setting overflow. openkraken/kraken#1438