Skip to content

Commit

Permalink
Release/0.16.2 (#646)
Browse files Browse the repository at this point in the history
  • Loading branch information
andycall authored Aug 14, 2024
2 parents 03d01d8 + 8b006c1 commit 9a02698
Show file tree
Hide file tree
Showing 11 changed files with 83 additions and 347 deletions.
301 changes: 14 additions & 287 deletions webf/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
## 0.16.2

This version supports Flutter 3.24.x, 3.22.x, 3.19.x, 3.16.x, and 3.13.x.

**Features**

1. Add flutter 3.24.x support. https://github.com/openwebf/webf/pull/644

**Bug Fixed**

1. Fix memory leaks in Flutter engineGroup mode. https://github.com/openwebf/webf/pull/629
2. Fix rendering order when change css display:none to block. https://github.com/openwebf/webf/pull/639

## 0.16.1

This version supports Flutter 3.22.x, 3.19.x, 3.16.x, and 3.13.x.
Expand Down Expand Up @@ -34,7 +47,7 @@ WebFController(

**Big News**

1. Added PreRendering and Preload loading modes, which can save up to 90% of loading time.
1. Added PreRendering and Preload loading modes, which can save up to 90% of loading time.
Click [here](http://openwebf.com/docs/tutorials/performance_optimization/prerendering_and_preload_mode) for more details.

**Features**
Expand Down Expand Up @@ -1037,289 +1050,3 @@ fix update device_info 1.0.0 https://github.com/openkraken/kraken/pull/262
**Feature**

- Feat: resize if viewport changed [#47](https://github.com/openkraken/kraken/pull/47)

## 0.6.6+2

- 修复 plugin 模块注册失败的问题

## 0.6.6+1

- 去除 patchKrakenPolyfill API

## 0.6.6

- 支持插件化方案,移除多余的依赖

## 0.6.6-dev.6

- 移除 WebSocket 依赖

## 0.6.6-dev.5

- 移除 webview 依赖

## 0.6.6-dev.4

- 修复 Hot Restart 之后,Event 对象销毁引发的 Crash

## 0.6.6-dev.3

- 修复 Hot Restart 之后,`patchKrakenPolyFill` 执行引发的 Crash

## 0.6.6-dev.2

- 移除 kraken_video_player
- 移除 MQTT 模块
- 移除 audio_player 依赖
- 移除 geolocation 依赖

## 0.6.0

**Features**

1. 重新设计并实现 Canvas
2. Bridge 支持派发异步任务到 Flutter UI 线程
3. 支持无限列表
4. 优化手势

**渲染能力**

1. input 支持 text-overflow: ellipsis
2. 添加 filter 能力
3. 支持 background-origin
4. 支持 background-clip

**其他**

1. 优化 Layout 和 Style 的计算性能
2. 优化 Bridge 实现
3. 兼容现有 Weex 已有的 JSC
4. 在测试环境中,提供模拟点击的 API
5. 优化多图场景下 Kraken 的首屏加载性能
6. 支持使用 Chrome DevTools 的 Element 面板来进行调试
7. scroller 实现 onscroll 事件


**BugFixs**

1. 修复 overflow scroll 时内容滚动到最后时滚动失效
2. 修复 background-attachment: local 无法生效
3. 修复 Input 通过 value 设置属性,输入框显示的值没有更新
4. 修复无 top 的 positioned element 的定位不对
5. 修复 hittest报错
6. 修复 transition 动画的启动时机问题
7. 修复动态更新 transition 属性,无法触发对应的动画
8. 修复align-items 与 align-self 某些组合 case 布局不正确
9. 修复无 top, left 有 margin 的 position absolute 元素在 flex container 中定位不准确
10. 修复设置 align-items: baseline 与 flex-wrap: wrap-reverse 时,baseline 对齐方向与 web 相反
11. 修复 flex-wrap: wrap 且 flex-item 未设置 width 时 flex container 会根据剩余 height 给 flex-item 自动分配 width
12. 修复 flex-item 设置 overflow: scroll 报错
13. 修复 flex-wrap 为 wrap 时 flex-item 的宽度超出 container
14. 修复 flex 中当 flex-item宽度总和大于 container 时,center, space-around, space-evenly 三种对齐方式 flex-item 应该整体居中展示
15. 修复 flex-flow 与 flex-wrap 同时设置时有时会报错
16. 修复 flex layout 下多层 div max-width 未生效
17. 修复 FlexContainer 作为滚动容器,会导致 cross 轴的滚动区域计算错误
18. 修复多 flex-item 设置 flex-shrink 导致 constraints 为负值出错
19. 修复 flex-shrink 负值不应该生效
20. 修复 flex-basis 与 width 同时存在时 flex-basis 优先级应该更高
21. 修复 flex-basis 为负值时报错
22. 修复多层 div 嵌套时内层 div 没有设置宽度时内部文本溢出
23. 修复容器 line-height 设置 0px 导致 children 定位不对
24. 修复 flex-direction column 与 flex-wrap wrap-reverse 同时存在时定位错误
25. 修复 flex layout 中 flex-wrap: wrap-reverse 且 flex-direction: column 时无 width 的 flex-item 未分配宽度
26. 修复 CSS url 地址不应该进行大小写转换
27. 修复 flex-layout 中 flex-shrink 过的 flex-item 设置 text-align: center 后 children 未居中展示
28. 修复 flex layout 中非整数的 flex-grow 未生效
29. 修复 flex layout align-content center 与 flex-grow 同时存在时 flex-item 位置不对
30. 修复 flex-wrap 为 wrap 的布局中 flex-item 高度不对
31. 修复 Fixed 元素没有固定在屏幕上
32. 修复 rax slider 动画异常
33. 修复使用 x-if 进行单页应用切换会导致 UI 线程运行超载,造成卡顿。
34. 修复 long-list 在两种实现的方式性能差距数倍问题
35. 修复 Canvas 绘制的坐标没有进行相对尺寸转换
36. 修复低版本 iOS 系统无法运行
37. 修复行内元素插入块级元素,border的渲染不正确
38. 修复绝对定位元素无法使用left:0, right:0, margin: auto 来实现水平居中


## 0.5.0

**Features**

**渲染能力**

1. 新增 position sticky
2. img 标签新增 width 和 height 属性支持
3. img 标签新增 base64 data url
4. Flexbox 支持 flex-wrap 属性
5. Flexbox 支持 align-self 属性
6. Flexbox 支持 flex, flex-flow 缩写属性
7. Flexbox align-content 支持 stretch 属性
8. 合并盒模型属性 padding, margin, border, background, overflow, opacity 到一个 RenderBoxModel 提升渲染性能
9. rgb 支持 rgb(40%, 40%, 40%) 百分比写法
10. rgb 支持 rgb(+128, 0, 0) 写法
11. 新增 line-height 支持
12. 新增 vertical-align 支持
13. 新增 margin auto 支持
14. 优化 border, background 渲染性能
15. 支持局部内容重绘提升滚动性能
16. 重构 transition 完整对齐 w3c 规范

**API**

1. 支持 vibrate API
2. Location API 对齐 w3c 规范
3. 新增 window.onerror event
4. 新增 document.all API
5. 新增 Image API
6. 新增 history API
7. 新增 a 标签支持
8. 添加跳转功能, 支持从 Kraken 内部页面跳转和从 Kraken 跳转到外部
9. 新增 document.getElementById API
10. 新增 document.getElementsByTagName API
11. 支持 background 缩写属性
12. 支持设置 scrollTop 与 scrollLeft
13. 支持 window.scrollTo, window.scroll, window.scrollBy API
14. asynStorage 支持 int 类型

**其他**

1. 支持 rax-components 自动化测试
2. 降级 android bridge API 到 level 16 支持 ARMV 7
3. 支持通过 widget 接入 Flutter 应用
4. 一个 Flutter 页面支持多页面 kraken 应用
5. 统一定义常量节省内存占用
6. 测试封装在 kraken widget 来跑,并行使用 2 个 widget 跑测试减少测试时间
7. 新增同层渲染能力支持
8. kraken widget 支持 onerror 回调
9. kraken widget match flutter widget 生命周期

**BugFixs**

1. 修复 relative 定位多帧渲染延迟
2. 修复 relative 容器无法滚动
3. 修复 flex item 无法通过 z-index 调整优先级
4. 修复 position 在 static 与 non static 之间切换逻辑缺失
5. 修复 transform 切换时动画不正确
6. 修复 background 属性不支持带空格的 rgb 值
7. 修复 CSSStyleDeclaration 占用内存过大
8. 修复 img 标签不支持直接设置宽度
9. 修复 padding, margin, border 等简写与非简写属性同时存在时未判断优先级
10. 修复由于定时器未清理导致 reload crash
11. 修复 input 无法正常工作
12. 修复 line-height 未支持 vw/vh 单位
13. 修复 border 为 0 仍然有 1px border 渲染出来
14. 修复 font 不支持的值报错
15. 修复 transitionStart 事件触发多次
16. 修复 kraken 与浏览器默认字体大小不一致
17. 修复多属性更改导致 transition 动画异常
18. 修复 overflow 区域未包含超出范围的绝对定位元素
19. 修复 Flex 容器嵌套时使用 padding 导致内部元素偏移不正确
20. 修复 borderRadius 在 overflow hidden 情况下未生效
21. 修复 padding 属性导致含有绝对定位元素的 flexbox 容器渲染异常
22. 修复 Flex 容器中内部元素无法触发滚动
23. 修复滚动容器内点击区域没有跟随滚动位置的问题
24. 修复滚动容器会影响内部没有设置 top left 属性的绝对定位元素的偏移
25. 修复flex item 无 width 时 flex item 宽度计算不正确问题
26. 修复 max-width 在定位、flex-item、inline 不应该生效
27. 修复滚动容器的高度计算没有按照所有内部元素的总高度来计算
28. 修复创建页面数量 > 8 个之后 crash
29. 修复页面销毁后内存泄漏
30. 修复 element 嵌套的某些情况下 baseline 对齐与浏览器不一致
31. 修复使用 transform 的动画会卡顿
32. 修复 bundlePath 加载页面会阻塞 Flutter 切换动画的运行
33. 修复 kraken_webview插件和webview_flutter插件注册重名的问题
34. 修复使用 transform 位移后的元素 hitTest 失效


## 0.4.0

**Features**

**渲染能力**

1. 支持 iframe 标签,并提供向内部 iframe 发送消息的API
2. 支持 rax-slider 组件
3. `<img />` 支持本地图片缓存和 lazyload 加载方式
4. `<img />` 支持 object-fit 和 object-position 属性
5. 完整支持 CSS transition 动画能力
6. 支持 CSS subtreeVisibility
7. 增加 Camera 摄像头渲染能力
8. 支持 background 简便写法
9. 支持 transitionend 事件
10. 支持 white-space: normal 和 nowrap
11. 支持 text-overflow: clip 和 ellipsis
12. 支持直接使用 Element 元素的内置属性来设置功能
13. video 支持使用 file:// 协议和 assets 路径
14. background-image: liner-gradient 支持多重 stop 格式
15. background-image: liner-gradient 支持 rgba 颜色
16. JSContext 支持抛出没有捕获的异常事件,可使用 window.unhandledrejection 来捕获
17. FlexItem 支持 flex-grow 和 flex-shrink 能力
18. 支持 align-content: flex-end
19. 添加 CSS initial 单位的支持
20. 添加内联元素内添加块级元素的渲染警告
21. 支持 flex 属性写法
22. 支持 flex-direction: column-reverse

**API**

1. 支持 Blob API
2. 支持 URL 和 URlSearchParams API
3. 提供基于 Flutter methodChannel 的 API,用于 JS 和客户端进行双向数据通信
4. 添加 navigation.userAgent API
5. 添加 performance API
6. 添加 Clipboard API
7.window 设置为 JS 环境中的全局变量
8. 支持 mtop 请求,支持调用现有基于 mtop 的API
9. Kraken 下载 bundle 添加 query 参数支持
10. 支持 element.remove() API
11. 支持 CustomEvent API

**其他**

Kraken macOS 最小系统版本兼容到 macOS 10.12

**BugFixs**

1. 修复绝对定位元素的相对偏移基准和浏览器不一致的问题
2. 修复 border-radius 无法动态更新的问题
3. 修复 FlexLayout 中计算 layout 横向 size 时未区分 flex-direction 导致与纵向 size 的值相同
4. 修复 flex-grow 或者 flex-shrink 存在时 flex layout size 不正确
5. 修复动态切换绝对定位元素的 top left 属性而导致的渲染不正确
6. 修复 transform 默认的 origin 的位置与浏览器不一致的问题
7. 修复 dart 类型错误而导致的 fetch 调用超时问题
8. 修复 rax-image 设置错误的代码影响渲染的问题
9. 修复 Flex-item 会错误撑开自身宽度,从而影响其他元素位置的问题
10. 修复 JS Bridge 销毁时存在的内容泄漏问题
11. 修复动态更新文本节点渲染不生效的问题
12. 修复 transform: center top 水平居中不生效
13. 修复 transform: scale 只设置一个只,纵轴未缩放
14. 修复 rgba 写法,中间存在空格而导致的颜色解析失败
15. 修复 flex-item 元素上使用 text-align:center 失效的问题
16. 修复给空白文本节点设置 style 而导致的渲染异常
17. 修复 location.reload() 之后,上一个页面的 JSContext 没有销毁的问题
18. 修复 width 超出 max-width 的约束而导致的渲染异常
19. 修复 top: 0, bottom: 0 无法撑开元素的宽度问题
20. 修复 background 不支持线性渐变的问题
21. 修复 background-image 不支持 url('') 的写法
22. 修复 z-index 不支持负值的场景
23. 修复 Element.appendChild 时,因为没有移除已经被挂载的节点从而导致死循环的问题
24. 修复绝对定位元素的原始位置没有按照文档流的方式进行计算的问题
25. 修复 fixed 元素没有跟随 relative 父级相对位置的问题
26. 修复 linear-gradient 的角度计算错误问题
27. 修复 radial-graident 区域大小计算错误问题
28. 修复 mtop 跨域无法访问,增加简易的 document.cookie API 支持,允许设置 Origin Header
29. 修复 flexBox 下的多个 relative children 会重叠显示
30. 修复删除 relative element 时对应的 placeholder 未删掉导致 sibling 坐标错误
31. 修复 transform scale 的 origin 不正确
32. 修复有带有绝对定位的 image 图片计算后尺寸为 0
33. 修复 Rax 无法更新文本节点的问题
34. 修复 video 组件设置 loop 属性不生效的问题
35. 修复 FlexItem 在不设置高度的情况下,无法被 align-items: scretch 拉伸的问题
36. 修复 FlexItem 的高度超出外部约束的情况下,父级元素没有正确计算高度的问题
37. 修复 <img /> 如果没有设置 src 属性就无法设置宽高的问题
38. 修复 borderWidth 设置为 0 依然显示的问题
39. 修复 transition 存在的情况下,多个 transform 会导致动画失效的问题
40. 修复 input 未指定 width 时,默认宽度失效的问题
41. 修复 rgb 中的数值超出 0-255 限制而导致的渲染异常
42. 修复 十六进制颜色数值超出 0-255 限制到导致的渲染异常
2 changes: 1 addition & 1 deletion webf/example/ios/Flutter/AppFrameworkInfo.plist
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
<string>12.0</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion webf/example/ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'
# platform :ios, '12.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
Expand Down
14 changes: 7 additions & 7 deletions webf/example/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1300;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
Expand Down Expand Up @@ -342,7 +342,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand All @@ -358,7 +358,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = "";
DEVELOPMENT_TEAM = ANRD47DNBX;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -429,7 +429,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -478,7 +478,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand All @@ -496,7 +496,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = "";
DEVELOPMENT_TEAM = ANRD47DNBX;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -529,7 +529,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = "";
DEVELOPMENT_TEAM = ANRD47DNBX;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand Down
Loading

0 comments on commit 9a02698

Please sign in to comment.