Skip to content

Releases: openwebf/webf

0.15.0

06 Sep 14:04
99cef2b

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

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

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

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

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

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

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

0.13.0

02 Dec 15:28
316860b

Choose a tag to compare

The biggest update since the webf/kraken release.

  1. The DOM API and C++ bindings had been redesigned and refactored. #18
    1. DOM node operations methods such as Node.appendChild and Node.insertBefore are 2x - 5x faster than 0.12.0.
    2. The new C++ bindings system can keep the bridge code safer to avoid crashes.
  2. Add CSS StyleSheets support. #11
    1. Support load CSS with <link /> element.
    2. Support load CSS with <style /> element.
  3. 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
  4. Add CSS animation support. #41
  5. 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. invokeModule API. #54

    Upgrade from 0.12.0

    This feature could lead to the following error if you using web.addWebfModuleListener API 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-frameworks command. #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

03 Aug 16:19
a40a351

Choose a tag to compare

Big News

  • Set flutter version requirement to v3.0.5.

Bug Fixed

Features