Releases: openwebf/webf
0.16.3
This version supports Flutter 3.27.x, 3.24.x, 3.22.x, 3.19.x, 3.16.x, and 3.13.x.
Features
- Optimize Dart/C++ FFI performance in multiple thread mode. #654
- Change viewport css property value automatically when app metrics changed. #655
- Optimize listview performance. #669
- Full support of CanvasContext2D.Path2D. #684
- Add WebFChildNodeSize widget. #690
- Add console.inspect() API for inspecting JavaScript Objects. #691
- Using std::atomic value types for disposed checks of NativeBindingObject. #699
- Upgrade intl deps to 0.19.0. #701
Bug Fixed
- Fix dart type error when attach flex layout underneath of Flutter ListView. #650
- Fix crash when clear ui commands without commands. #651
- Fix onClick events respond very slowly on React 18. #665
- Fix negative percentage translate in positioned elements. #680
- Fix ios simulator[arm64] build. #681
- Fix globalToLocal coordinate conversion related to position fixed layout. #686
- Rework inline cache handling. #688
- Fix crash when add property maybe failed on build arguments. #689
Experimental Features
Rust/Native API
Have a Try
https://github.com/openwebf/webf/tree/main/webf/example/rust_builder/rust
Provides support for native plugin APIs and offers corresponding Rust bindings.
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