Skip to content

Releases: openwebf/webf

0.16.0

01 May 16:33
Compare
Choose a tag to compare

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

  1. Added PreRendering and Preload loading modes, which can save up to 90% of loading time.
    Click here for more details.

Features

  1. Support preloadedBundles in WebF. #500
  2. Add pre-rendering and persistent rendering modes. #501
  3. Optimize the evaluate times at the first time. #503
  4. Add MutationObserver API support. #508
  5. Add Dedicated Threading support. #512
  6. Optimize raster performance on Animated images. #513
  7. Turn off quickjs GC at page loading phase. #515
  8. Optimization matrix algorithm. #516
  9. Support override default contentType for WebFBundle. #534
  10. Support dns-prefetch. #535
  11. Add more SVG tags. #543
  12. Optimize MutationObserver performance. #545
  13. QuickJS add property inline cache. #546
  14. Optimize paint and add profile records. #547
  15. Pause the activity of webf when app visibility changed. #549
  16. Optimize bytecode cache load speed and fix http cache. #552
  17. Add Element.parentElement support. #555
  18. Add repaintBoundary for animated images when using css background-images #557
  19. Add support for hash router #572
  20. Add support for object event listener. #575
  21. Optimize performance for recalculate styles #579

Bug Fixed

  1. Fix class selector not match on html element. #490
  2. Fix concurrent modification during iteration. #491
  3. Fix JavaScript stack overflow error when print Proxy object. #493
  4. Fix borderXxxRadius transition. #495
  5. Avoid Hive.init cause conflicts with box paths. #504
  6. Fix assertion error when change display in input element. #505
  7. Fix lenght variable issue. #510
  8. Fix transform value not updated in percentage when box size changed. #514
  9. Fix crashed due to trigger touch events to inaccessible dom elements. #517
  10. Fix crash due to init touchEvent from JS. #518
  11. Fix event.target still can be pointed by event after finalized by JavaScript GC. #519
  12. Fix flex-grow not work. #524
  13. Fix bg_image_update not update error. #526
  14. Fix text calculate constraints error. #527
  15. Fix min precision case some error and waste cpu. #528
  16. Fix sliver layout child boundingClientRect offset error. #530
  17. Fix build on ArchLinux. #536
  18. Fix devtool select img element. #538
  19. Fix ui command exec order in dedicated thread mode. #540
  20. Fix img gif work error. #541
  21. Fix request flutter to update frame when sync commands to dart. #548
  22. Fix textarea elements in ios/android can not auto unfocus. #551
  23. Fix crash when binding object had been released by GC. #553
  24. Fix windows platform crash with 0.16.0. #558
  25. Fix page load failed when using async attributes in <script /> elements. #561
  26. Fix dart element memory leaks when js gc collected. #563
  27. Fix crash on flutter engine dispose. #566
  28. Fix background-image disappear with multiple image links. #574
  29. Fix js log does not show in terrminal and devtools. #584
  30. Fix mem leaks caused by event dispatch. #585
  31. Fix input when resume apps #589
  32. Fix memory leak caused by img element #590
  33. Fix input elements or widget elements when preload or prerendering complete. #595
  34. Fix animation time resume. #597
  35. Fix invalid xcframework for ios release. #600

0.15.1

25 Sep 11:37
Compare
Choose a tag to compare

This version will support Flutter 3.10.x

Features

  1. Optimize location API for better performance results. #420
  2. Optimize the webf_bridge and quickjs binary size. #414
  3. Support CSS initial length value. #421
  4. Optimize Element.children() and Document.all() performance. #424
  5. Support element for svg. #475
  6. Add WebFController.onTitleChanged API. #479

Bug Fixed

  1. Fix percentage width and height not working under inline block box. #430
  2. Fix Node.insertBefore with SVGElement error. #431
  3. Fix cookie delete file error when it's not available. #429
  4. Fix use css vars with initial. 1da2e58
    0.15.0-beta.3
  5. Fix toggle position: fixed on bodyElement with other fixed elements. #416
  6. Fix css nth-child not work. #417
  7. Fix Node.childNodes didn't update when nodes changed. #419
  8. Fix loading fonts cause assertion when remove or attach RenderObjects. #425
  9. fix crash when reload pages. #476
  10. Fix memory leaks. #487

0.14.3

25 Sep 11:24
3f7a50a
Compare
Choose a tag to compare

0.14.3

This version will support Flutter 3.3.x ~ 3.7.x.

Features

  1. Optimize location API for better performance results. #420
  2. Optimize the webf_bridge and quickjs binary size. #414
  3. Support CSS initial length value. #421
  4. Optimize Element.children() and Document.all() performance. #424
  5. Support element for svg. #475
  6. Add WebFController.onTitleChanged API. #479

Bug Fixed

  1. Fix percentage width and height not working under inline block box. #430
  2. Fix Node.insertBefore with SVGElement error. #431
  3. Fix cookie delete file error when it's not available. #429
  4. Fix use css vars with initial. 1da2e58
    0.15.0-beta.3
  5. Fix toggle position: fixed on bodyElement with other fixed elements. #416
  6. Fix css nth-child not work. #417
  7. Fix Node.childNodes didn't update when nodes changed. #419
  8. Fix loading fonts cause assertion when remove or attach RenderObjects. #425
  9. fix crash when reload pages. #476
  10. Fix memory leaks. #487

0.15.0

06 Sep 14:04
99cef2b
Compare
Choose a tag to compare

This version will support Flutter 3.10.x

Break Changes

  1. Remove navigator.connection API. #411

Features

  1. Upgrade Flutter support to 3.10.x. #345
  2. Optimize location API for better performance results. #420
  3. Optimize the size of webf_bridge.xcframework and quickjs.xcframework. #414
  4. Support CSS initial length value. #421
  5. Optimize Element.children() and Document.all() performance. #424
  6. Support base64 format font data in @font-face src. #399
  7. Support Element.dir API. #418
  8. Add <circle /> and <ellipse> tags for SVG. #423
  9. Support share customized JS properties in event object. #427
  10. Support window.pageXOffset and window.pageYOffset API. https://github.com/openwebf/webf/pull/428/files
  11. Optimize layout/paint performance when block box size is fixed. #450
  12. Optimize performance when update Element.className. #452
  13. Support CanvasRenderingContext2D.createPattern() API. #464

Bug Fixed

  1. Fix use css vars with initial. #421
  2. Fix toggle position: fixed on bodyElement with other fixed elements. #416
  3. Fss nth-child not work. #417
  4. Fix Node.childNodes didn't update when nodes changed. #419
  5. Fix loading fonts cause assertion when remove or attach RenderObjects. #425
  6. Fix percentage width and height not working under inline block box. #430
  7. Fix Node.insertBefore with SVGElement error. #431
  8. Fix cookie delete file error when it's not available. #429
  9. Fix read ANDROID_SDK_HOME before implying to platform defaults. #422
  10. Fix cookie delete file error. #429
  11. Fix percentage width and height not working under inline block box. #430
  12. Fix Node.insertBefore with SVGElement error. #431
  13. Fix DevTool's network panel not working. #435
  14. Losen intl dependency constraint. #439
  15. Fix built-in methods in the event object cannot be overridden. #443
  16. Fix crash when touching pseduo elements. #445
  17. Fix event not responding when multiple flutter engine created. #451
  18. Fix Element.style.cssText API not works. #455
  19. Fix use-of-free crash of shared string property in event object. #458
  20. Fix dynamic build items in WidgetElement. #461
  21. Fix CSS content property have sequences of unicode chars. #463
  22. Fix crash when create unsupported svg element with style. #465

0.14.2

06 Sep 13:57
4f51536
Compare
Choose a tag to compare

0.14.2

This version will support Flutter 3.3.x ~ 3.7.x.

Break Changes

  1. Remove navigator.connection API. #411

Features

  1. Optimize location API for better performance results. #420
  2. Optimize the size of webf_bridge.xcframework and quickjs.xcframework. #414
  3. Support CSS initial length value. #421
  4. Optimize Element.children() and Document.all() performance. #424
  5. Support base64 format font data in @font-face src. #399
  6. Support Element.dir API. #418
  7. Add <circle /> and <ellipse> tags for SVG. #423
  8. Support share customized JS properties in event object. #427
  9. Support window.pageXOffset and window.pageYOffset API. https://github.com/openwebf/webf/pull/428/files
  10. Optimize layout/paint performance when block box size is fixed. #450
  11. Optimize performance when update Element.className. #452
  12. Support CanvasRenderingContext2D.createPattern() API. #464

Bug Fixed

  1. Fix use css vars with initial. #421
  2. Fix toggle position: fixed on bodyElement with other fixed elements. #416
  3. Fss nth-child not work. #417
  4. Fix Node.childNodes didn't update when nodes changed. #419
  5. Fix loading fonts cause assertion when remove or attach RenderObjects. #425
  6. Fix percentage width and height not working under inline block box. #430
  7. Fix Node.insertBefore with SVGElement error. #431
  8. Fix cookie delete file error when it's not available. #429
  9. Fix read ANDROID_SDK_HOME before implying to platform defaults. #422
  10. Fix cookie delete file error. #429
  11. Fix percentage width and height not working under inline block box. #430
  12. Fix Node.insertBefore with SVGElement error. #431
  13. Fix DevTool's network panel not working. #435
  14. Losen intl dependency constraint. #439
  15. Fix built-in methods in the event object cannot be overridden. #443
  16. Fix crash when touching pseduo elements. #445
  17. Fix event not responding when multiple flutter engine created. #451
  18. Fix Element.style.cssText API not works. #455
  19. Fix use-of-free crash of shared string property in event object. #458
  20. Fix dynamic build items in WidgetElement. #461
  21. Fix CSS content property have sequences of unicode chars. #463
  22. Fix crash when create unsupported svg element with style. #465

0.14.1

11 Jul 06:15
0ec4f00
Compare
Choose a tag to compare

Features

  1. Add CSS @font-face support. #380
  2. Support ::before/::after selector. #332
  3. Add document.elementFromPoint API. #381
  4. Support set textContent on textArea elements. #369
  5. Support receive binary data from fetch and XMLHttpRequest. #397
  6. Add support for event capture phases. #404
  7. Support change the current animation stage for transition animations. #401
  8. Add CSSStyleDeclaration.cssText support. #410
  9. Move the webf_websocket plugin into webf. #398

Bug Fixed

  1. Fix error when setting display:none for input and textarea. #369
  2. Fix focus state didn't cleared when input unmount from the DOM Tree. #369
  3. Fix defaultStyle for textarea elements. #369
  4. Fix a crash when a JSObject was finalized after the ExecutingContext was freed. #372
  5. Fix a crash when ExecutingContext is not alive at timer callbacks. #373
  6. Fix a crashed when running in multiple flutter engine instance. #377
  7. Fix the size of the input is wrong when using a unit other than px. #378
  8. Fix crashed when shutdown the app. #383
  9. Fix Resource temporarily unavailable for Hive lock file. #387
  10. Fix a memory leaks in TouchList. #388
  11. Fix match error for animation time. https://github.com/openwebf/webf/pull/390/files
  12. Fix built-in string initialized multiples and cause leaks. #391
  13. Fix constructor property on DOM elements. #402

0.14.0

01 Jun 07:15
28d8701
Compare
Choose a tag to compare

Big News

  1. Add Flutter 3.3/3.7 support. #246
  2. Add SVG suppport. #279
  3. Add Windows support. #162
  4. Add multiple flutter engine group support. #338

Features

  1. Support transform property for computedstyle. #245
  2. Add btoa() and atob() API support. #253
  3. Add Vue SSR support. #256
  4. Replace malloc to mimalloc. #267
  5. Add CanvasRenderingContext2D.createLinearGradients and CanvasRenderingContext2D.createRadialGradient support. #269
  6. Optimize Fetch() API performance. #287
  7. Add Blob.base64() to export base64 string from Blob directly. #278
  8. Expand quickjs default prop size and realloc capacity. #270
  9. Add context API for WidgetElement. #264
  10. Add kbc file type support for script element. #250
  11. Support react.js without any polyfill. #257
  12. Auto cache parsed bytecode for the first load. #280
  13. Invalidate cache when expect Http request errors #305
  14. Optimize dart dom and CSS selector performance. #309
  15. Support background-clip text. #318
  16. Remove ios armv7 armv7s support. #331
  17. Add DOMContentLoaded API. #330
  18. Optimize image load performance. #335
  19. Validate bytecode cache with CRC32 checksum. #336
  20. Add Element.querySelectorAll and Element.querySelector API. #342
  21. Support document.domain and document.compatMode. #343
  22. Support document.readyState. #347
  23. Add localStorage and sessionStorage support. #344
  24. Support document.visibilityState and document.hidden. #350
  25. Add document.defaultView API. #346
  26. Add support for Element.dataset API. #348
  27. Add Element.matches API. #365
  28. Add append() and prepend() support for Element, Document and DocumentElement. #361
  29. Add before() and after() support for Element and CharaterData. #361
  30. Add Element.closest API. #364
  31. Add HTMLScriptElement.readyState API. #367

Bug Fixed

  1. fix: fix pan scroll on desktop versions. #248
  2. fix: canvas should clip overflowed element. #263
  3. fix: ic should use none instead of atom flag and free it to prevent double delete. #277
  4. fix: pending promise crash for early gc and add lto to quickjs. #283
  5. fix update className property on hidden element. #255
  6. fix bytecode read should free atom to prevent leak. #285
  7. fix empty src on image. #286
  8. fix can not be GC even if it's detached or removed from the DOM tree. #291
  9. fix change size of canvas element didn't works. #276
  10. fix: ic free atom crash when ctx early free. #293
  11. fix: fix script execution order with inline script element. #273
  12. fix css function resolve base url. #282
  13. fix: rules didn't match which start with undefine at-rules. #294
  14. fix: fix child_node_list can be null. #297
  15. fix native memory leaks. #292
  16. fix renderObject memory leaks. #298
  17. fix dom content loaded event trigger condition. #274
  18. fix Element.toBlob() is not default to current pixel_ratio. #306
  19. fix scrollable size when update. #301
  20. fix layout error when using percentage value on transform. #307
  21. fix: css priority error. #310
  22. fix atob empty string cause crash. #311
  23. fix canvas element get multiple context error. #312
  24. fix http cache control parse error. #313
  25. fix image width/height attribute. #315
  26. fix crash when cancelAnimationFrame in frame callbacks. #317
  27. fix style didn't take effect and offsetLeftToScrollContainer value is calculated incorrectly. #322
  28. fix GIF images cause rendering performance overhead. #325
  29. fix: remove flushLayout when reading contentSize. #326
  30. fix setting lazy loading for an image didn't work. #328
  31. fix remounting widgetElement in the same frame to the DOM tree causes renderWidgets to be unmounted from the renderObject tree. #329
  32. fix: make sure renderObject had been layout before read view module properties. #333
  33. fix: protect DOMTimers until the ExecutingContext exits. #334
  34. fix reading target property on Touch caused crash. #340
  35. fix css vars() and calc() in some user cases. #355
  36. fix template element's content property cause mem leaks. #349

0.13.3

14 Feb 13:42
763644b
Compare
Choose a tag to compare

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

0.13.2

05 Jan 06:27
164468d
Compare
Choose a tag to compare

0.13.2

Features

  • Add Element.classList API support. #196
  • Add RemoteDevServerService() for remote debugging. #198

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

12 Dec 06:50
c0c2f02
Compare
Choose a tag to compare

Bug Fixed

  1. Fix renderBoxModel is null cause performLayout error. #187
  2. Fix position absolute cause mistake overflow. #167
  3. Fix var in keyframes not work. #147
  4. Fix var in translate not work. #154
  5. Fix unexpected token in linear-graident. #119
  6. Fix tag element selector. #169
  7. Fix var attribute dynamic modification exception. #144

Feature

  1. Add initialCookies params on WebF widget. #186