Releases: openwebf/webf
0.16.2
0.16.1
0.16.1
This version supports Flutter 3.22.x, 3.19.x, 3.16.x, and 3.13.x.
Features
Bug Fixed
0.16.0
This version supports Flutter 3.19.x, 3.16.x, and 3.13.x.
A version compatible with Flutter 3.10.x landed in 0.15.2.
A version compatible with Flutter 3.7.x landed in 0.14.4.
Architecture Upgrade
The JavaScript Runtime has now migrated to a dedicated thread and is enabled by default in this version.
For users who want to keep the single-threading mode the same as in the previous version, use the following configuration:
WebFController(
context,
runningThread: FlutterUIThread(),
);
Big News
- Added PreRendering and Preload loading modes, which can save up to 90% of loading time.
Click here for more details.
Features
- Support preloadedBundles in WebF. #500
- Add pre-rendering and persistent rendering modes. #501
- Optimize the evaluate times at the first time. #503
- Add MutationObserver API support. #508
- Add Dedicated Threading support. #512
- Optimize raster performance on Animated images. #513
- Turn off quickjs GC at page loading phase. #515
- Optimization matrix algorithm. #516
- Support override default contentType for WebFBundle. #534
- Support dns-prefetch. #535
- Add more SVG tags. #543
- Optimize MutationObserver performance. #545
- QuickJS add property inline cache. #546
- Optimize paint and add profile records. #547
- Pause the activity of webf when app visibility changed. #549
- Optimize bytecode cache load speed and fix http cache. #552
- Add Element.parentElement support. #555
- Add repaintBoundary for animated images when using css background-images #557
- Add support for hash router #572
- Add support for object event listener. #575
- Optimize performance for recalculate styles #579
Bug Fixed
- Fix class selector not match on html element. #490
- Fix concurrent modification during iteration. #491
- Fix JavaScript stack overflow error when print Proxy object. #493
- Fix borderXxxRadius transition. #495
- Avoid Hive.init cause conflicts with box paths. #504
- Fix assertion error when change display in input element. #505
- Fix lenght variable issue. #510
- Fix transform value not updated in percentage when box size changed. #514
- Fix crashed due to trigger touch events to inaccessible dom elements. #517
- Fix crash due to init touchEvent from JS. #518
- Fix event.target still can be pointed by event after finalized by JavaScript GC. #519
- Fix flex-grow not work. #524
- Fix bg_image_update not update error. #526
- Fix text calculate constraints error. #527
- Fix min precision case some error and waste cpu. #528
- Fix sliver layout child boundingClientRect offset error. #530
- Fix build on ArchLinux. #536
- Fix devtool select img element. #538
- Fix ui command exec order in dedicated thread mode. #540
- Fix img gif work error. #541
- Fix request flutter to update frame when sync commands to dart. #548
- Fix textarea elements in ios/android can not auto unfocus. #551
- Fix crash when binding object had been released by GC. #553
- Fix windows platform crash with 0.16.0. #558
- Fix page load failed when using async attributes in
<script />
elements. #561 - Fix dart element memory leaks when js gc collected. #563
- Fix crash on flutter engine dispose. #566
- Fix background-image disappear with multiple image links. #574
- Fix js log does not show in terrminal and devtools. #584
- Fix mem leaks caused by event dispatch. #585
- Fix input when resume apps #589
- Fix memory leak caused by img element #590
- Fix input elements or widget elements when preload or prerendering complete. #595
- Fix animation time resume. #597
- Fix invalid xcframework for ios release. #600
0.15.1
This version will support Flutter 3.10.x
Features
- Optimize location API for better performance results. #420
- Optimize the webf_bridge and quickjs binary size. #414
- Support CSS initial length value. #421
- Optimize Element.children() and Document.all() performance. #424
- Support element for svg. #475
- Add WebFController.onTitleChanged API. #479
Bug Fixed
- 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 use css vars with initial. 1da2e58
0.15.0-beta.3 - Fix toggle position: fixed on bodyElement with other fixed elements. #416
- Fix css 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 crash when reload pages. #476
- Fix memory leaks. #487
0.14.3
0.14.3
This version will support Flutter 3.3.x ~ 3.7.x.
Features
- Optimize location API for better performance results. #420
- Optimize the webf_bridge and quickjs binary size. #414
- Support CSS initial length value. #421
- Optimize Element.children() and Document.all() performance. #424
- Support element for svg. #475
- Add WebFController.onTitleChanged API. #479
Bug Fixed
- 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 use css vars with initial. 1da2e58
0.15.0-beta.3 - Fix toggle position: fixed on bodyElement with other fixed elements. #416
- Fix css 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 crash when reload pages. #476
- Fix memory leaks. #487
0.15.0
This version will support Flutter 3.10.x
Break Changes
- Remove
navigator.connection
API. #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-face
src. #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.pageXOffset
andwindow.pageYOffset
API. 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.connection
API. #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-face
src. #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.pageXOffset
andwindow.pageYOffset
API. 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-face
support. #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: sliver
had 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