大家好我是juster,GeneralUpdate的开源项目作者。这次将发布GeneralUpdate兼容.NET MAUI和多平台为核心的版本。经过国庆假期的打磨修复了大量开源社区开发者的提交的bug和不合理修改建议,重构、删除了大量代码和结构使用和上一个版本没有太大变化。
1.更新简介
(1)github开源地址变更
这里需要特别说明的是原github上的地址已经放弃更新,请各位开发者移步上面的开源仓库地址重新star:
原地址:https://github.com/WELL-E/AutoUpdater
新地址:https://github.com/JusterZhu/GeneralUpdate
(2)收集建议
另外在本周六准备开一场直播,收集各位的建议。参考:https://mp.weixin.qq.com/s/H7AlI7Xaw7nvxo4-UrP5DA
(3)在线文档更新
在线帮助文档也迎来了巨大改变希望能帮助大家更快的使用组件。见:http://justerzhu.cn/ 。我们简单的预览一下出现了哪些变化,增加了各个组件的介绍和代码示例,还有快速启动和相关技术的学习等等内容。
(4)使用技术更新
本次更新主要新增了.NET MAUI的兼容,还有Minimal API的使用。源码的目录也发生了变化新增了测试用例还有示例代码,相比之前更加简洁防止第一次接触的小伙伴头晕。
2.发布内容
组件名称 | 版本号(old) | 版本号(new) | 状态 |
---|---|---|---|
GeneralUpdate.AspNetCore | 1.1.0 | 1.4.1 | 正常 |
GeneralUpdate.ClientCore | 2.3.6 | 2.8.9 | 正常 |
GeneralUpdate.Core | 4.10.12 | 4.11.18 | 正常 |
GeneralUpdate.Differential | 1.0.0 | 1.3.0 | 正常 |
GeneralUpdate.Zip | 1.0.0 | 1.3.0 | 正常 |
GeneralUpdate.Tool | 1.0.0 | 2.1.5 | 正常 |
GeneralUpdate.Single | 1.0.0 | - | 正常 |
【1】组件GeneralUpdate.AspNetCore
(1)重构:将之前的version和validate方法合并为Update方法,将这一个方法完成版本验证和返回更新信息功能。
(2)新增:为配合GeneralUpdate.PacktTool自动上传发布功能,新增了upload方法。完成版本信息入库和更新包落文件服务器。
GeneralUpdate.AspNetCore组件添加文件上传接口 · Issue #I55NFC · Juster.zhu/GeneralUpdate - Gitee.com
(3)新增:该方法是为了配合客户端即使推送重要版本或服务端服务之间的更新,新增的push调用一次之后会通过Signal R推送更新信息。
【2】组件GeneralUpdate.ClientCore
(1)修复:AutoUpdate.Core与AutoUpdate.ClientCore文件冲突问题 · Issue #I5F2YM · Juster.zhu/GeneralUpdate - Gitee.com
(2)修复:更新组件无需更新报错 · Issue #I5F1VN · Juster.zhu/GeneralUpdate - Gitee.com
(3)重构:更新机制需适配多个操作系统平台 · Issue #I5LYQZ · Juster.zhu/GeneralUpdate - Gitee.com
(4)重构:重构版本验证机制 · Issue #I5LYQY · Juster.zhu/GeneralUpdate - Gitee.com
(5)新增:配置适应MAUI - Windows machice · Issue #I4TGJC · Juster.zhu/GeneralUpdate - Gitee.com
(6)修复:当主程序已经是最新时,是不是应该先判断,这时候就不用启动升级软件吧?· Issue #I5O53P · Juster.zhu/GeneralUpdate - Gitee.com
(7)重构:
将
public GeneralClientBootstrap Config(ClientParmeter info)
修改为:
public GeneralClientBootstrap Config(Configinfo info)
只是改变了类名称,字段内容删除validaterul和versionurl。
(8)新增:
用户自定义方法,决定是否跳过本次更新的Task版本方法。
public GeneralClientBootstrap SetCustomOption(Func<Task<bool>> func)
(9)新增:
在更新配置中新增了枚举,将原来的字符串“.zip”修改为枚举Format.ZIP,防止用户输入字符串错误。
Option(UpdateOption.Format, Format.ZIP)
【3】组件GeneralUpdate.Core
(1)重构:更新机制需适配多个操作系统平台 · Issue #I5LYQZ · Juster.zhu/GeneralUpdate - Gitee.com
(2)重构:重构版本验证机制 · Issue #I5LYQY · Juster.zhu/GeneralUpdate - Gitee.com
(3)修复:当主程序已经是最新时,是不是应该先判断,这时候就不用启动升级软件吧?· Issue #I5O53P · Juster.zhu/GeneralUpdate - Gitee.com
(4)修复:BUG: "GeneralUpdate.Core\Utils\FileUtil.cs" GetFileMD5 函数异常 · Issue #I5J0KA · Juster.zhu/GeneralUpdate - Gitee.com
(5)修复:多级文件夹结构更新失败问题 · Issue #I59QRI · Juster.zhu/GeneralUpdate - Gitee.com
(6)新增:在更新体系中添加客户端唯一标识 · Issue #I55NFP · Juster.zhu/GeneralUpdate - Gitee.com
(7)下线:json配置文件更新功能,将直接覆盖。等待重构完成再次上线。影响范围如下:
老哥,一点点建议 · Issue #I556BK · Juster.zhu/GeneralUpdate - Gitee.com
报错 · Issue #I53XYX · Juster.zhu/GeneralUpdate - Gitee.com
(8)调研:可行。
调研Mac环境下是否可以正常运行 · Issue #I4TGKK · Juster.zhu/GeneralUpdate - Gitee.com
(9)修复:bug:"GeneralUpdate\src\GeneralUpdate.Core\Download\AbstractTask.cs" 第143行 · Issue #I4WQQ0 · Juster.zhu/GeneralUpdate - Gitee.com
【4】组件GeneralUpdate.Differential
重构:递归查找需更新文件,防止一些文件没有更新检测到。添加树形结构管理更新文件目录结构。
修复:只能更新第一层文件bug,现在可以递归更新所有目录下的文件夹和子文件夹内的文件列表。
修复:打包工具打包文件包含两个名称相同但后缀不同的文件时会出错 · Issue #I5O4OD · Juster.zhu/GeneralUpdate - Gitee.com
【5】组件GeneralUpdate.Zip
(1)修复:关于文件压缩的几个问题 · Issue #I5J4Y6 · Juster.zhu/GeneralUpdate - Gitee.com
(2)修复:word文件乱码 · Issue #I5O4S6 · Juster.zhu/GeneralUpdate - Gitee.com
(3)修复:下载包解压在C盘下Program Files (x86)时,没有权限操作怎么处理?· Issue #I4ZKQ4 · Juster.zhu/GeneralUpdate - Gitee.com
【6】GeneralUpdate.PacketTool
(1)修复:打包工具打包时,没有考虑有子文件夹的问题 · Issue #I5O4P8 · Juster.zhu/GeneralUpdate - Gitee.com
(2)重构:重构文件功能体系 · Issue #I59Q5W · Juster.zhu/GeneralUpdate - Gitee.com
(3)重构:打包工具迁移到MAUI · Issue #I5QOLG · Juster.zhu/GeneralUpdate - Gitee.com
(4)新增:GeneralUpdate.Tool添加上传功能 · Issue #I55NF1 · Juster.zhu/GeneralUpdate - Gitee.com
(5)修复:当只修改文件内容时,PacketTool打包功能无效 · Issue #I5BERJ · Juster.zhu/GeneralUpdate - Gitee.com
(6)修复:文件解压后中文名显示乱码 · Issue #I502QQ · Juster.zhu/GeneralUpdate - Gitee.com
【7】组件GeneralUpdate.Single
该组件继续坐冷板凳。
【8】测试用例 、示例代码
示例代码:
src/c#/GeneralUpdate.Api/Program.cs · Juster.zhu/GeneralUpdate - Gitee.com
src/c#/GeneralUpdate.Client/MainPage.xaml.cs · Juster.zhu/GeneralUpdate - Gitee.com
src/c#/GeneralUpdate.Upgrad/Program.cs · Juster.zhu/GeneralUpdate - Gitee.com
测试用例(还在完善):
src/c#/TestClientCore/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com
src/c#/TestDifferential/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com
src/c#/TestMD5/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com
src/c#/TestService/Program.cs · Juster.zhu/GeneralUpdate - Gitee.com
src/c#/TestZIP/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com
以上组件将会同步到github、gitee、nuget平台,欢迎大家转发、关注、支持、打赏。GeneralUpdate最新动态将优先在本公众号发布,关于本次发布分享到这里,感谢各位的阅读。