## 3.6.4 - feat: 优化转换器ConvertException错误信息 ## 3.6.3 - fix: #205 删除MultiPart上传RequestBody默认添加filename ## 3.6.2 - fix: #203 适配AGPv8的代码混淆Gson无法获取泛型问题 ## 3.6.1 - fix: #197 修复scopeDialog的可取消对话框默认值 ## 3.6.0 - pref: Optimize code - feat: contentLength未知的上传对象finish也有效 - pref: RunningCalls遍历优化 - pref: 考虑到Uri.toRequestBody读取不到文件或长度 - refactor: 删除废弃函数 - refactor: 下载临时文件名后缀改成.downloading - refactor: 删除param(RequestBody, Header) - refactor: LogRecordInterceptor.kt - refactor: 删除有问题的取消请求函数 - refactor: peekBytes的默认读取大小统一为1MB - fix: 修复获取请求对象获取ID/Group错误 - fix: 全局取消请求时发生ConvertException错误提示 - fix: #187 上传进度监听finish字段无效 ## 3.5.9 - fix: 修复Java基础类型泛型解析 ## 3.5.8 - fix: 删除权限 ACCESS_NETWORK_STATE, 解决个别机型重复申请问题 - upgrade: BRV 1.4.0 ## 3.5.7 - fix: #165 泛型擦除 ## 3.5.6 - feat: 新增 BaseRequest.execute 非内联函数重载 - feat: Net.kt支持Java静态调用 - refactor: LogRecordInterceptor @JvmOverloads - fix: Interval.onlyResumed 结束轮询 - pref: 删除转换器获取的反射调用 ## 3.5.5 - fix: #157 日志拦截器失效 ## 3.5.4 - refactor: peekString rename to peekBytes, remove logString - fix: 可能存在的内存泄漏 ## 3.5.3 - feat: 默认使用NetDialogFactory的setCancelable配置 - fix: #150 scopeDialog预览模式 ## 3.5.2 - fix: #135 Content-MD5未使用Base64解码 - feat: 新增 BaseRequest.headers ## 3.5.1 - feat: 新增param方法参数Uri - feat: 新增addQuery方法 - pref: 不混淆exception包 - fix: #129 请求URL不同导致setCacheKey无效 ## 3.5.0 - refactor: 删除权限REQUEST_INSTALL_PACKAGES(谷歌商店权限要求) - refactor: 删除File.install - pref: 改为使用AppStartup默认初始化 ## 3.4.14 - fix: Fragment未初始化View执行scopeNetLife导致空指针 ## 3.4.13 - fix: [#110](https://github.com/liangjingkanji/Net/issues/110) 缓存模式下Request信息丢失 ## 3.4.12 - fix: FlowUtils.kt [#102](https://github.com/liangjingkanji/Net/issues/102) ## 3.4.11 - fix: 缺失trace请求方式 #99 ## 3.4.10 - fix: [#91](https://github.com/liangjingkanji/Net/issues/91) 修复ViewPager2的视图生命周期导致网络请求被取消 - fix: LogCat错误发生位置高亮 - feat: brv 1.3.76 - pref: DialogCoroutineScope ## 3.4.8 - fix: 不提交null请求参数 ## 3.4.7 - 升级依赖 - 支持协程1.6.0 - optimize Interval - EditText.debounce事件类型改为Editable ## 3.4.6 - 新增强制缓存有效期 ## 3.4.5 - Fixed [#88](https://github.com/liangjingkanji/Net/issues/80) - Interval.life(Fragment)改为onDestroyView时销毁 ## 3.4.4 - 新增Cookie管理 ## 3.4.3 - 修复gzip导致的强制缓存读取失败 - 修复NoCacheException无法捕获 - 响应可以判断是否来自于缓存 - 优化缓存相关代码 ## 3.4.2 - 修复Http缓存协议无效 - 日志拦截器错误信息简略 ## 3.4.1 - 禁用失败缓存 ## 3.4.0 - 新增[强制缓存模式](cache.md) - 新增预览模式(可实现缓存+网络) ## 3.3.1 - 废弃部分日志相关函数 - 新增Net.debug日志输出函数 - 修复Query编码问题 ## 3.3.0 - 删除Callback/onResult(破坏性迁移) - 删除requestById/requestByGroup(破坏性迁移) - Add View.scopeNetLife - 网络请求异常位置追踪 ## 3.2.2 - Fixed [#77](https://github.com/liangjingkanji/Net/issues/77) - 修复gzip启用情况下载进度始终为0 - `Progress.finish()`方法改为属性 ## 3.2.1 - Fixed [#76](https://github.com/liangjingkanji/Net/issues/76) - `RequestBody?.peekString()`函数接受者改为非可空类型 ## 3.2.0 - 更改tag相关函数 - 更改`NetConfig.app`类型改为Context - 删除敏感权限(外部存储读写) - 删除废弃函数/提高函数废弃等级 - 废弃`NetConfig.init` - 删除fastest函数接受者 - 删除logRecord属性 - 优化域名解析错误异常信息 - 新增无网络不可用异常`NetworkingException` - 新增输出MultiPart参数日志 - 更改RetryInterceptor/LogRecordInterceptor属性访问权限 ## 3.1.2 - 升级BRV至1.3.51, [其内部升级SmartRefreshLayout至2.0.5](https://github.com/liangjingkanji/BRV/issues/85). SmartRefreshLayout相关依赖需要迁移 - Interval添加`onlyResumed`函数 - Interval修改`life`函数参数为FragmentActivity情况下的自动取消轮询器的生命周期 ## 3.1.1 内嵌混淆规则, 不需要手动添加 ## 3.1.0 - 修复部分子线程开启作用域崩溃 - 网络异常堆栈使用 NetConfig.TAG 作为标签, 使用debug日志类型输出 - 默认转换器现在要求HTTP状态码为成功才返回数据(泛型Response请求完成都返回) - 开启编译器强制替换废弃函数(可查看函数注释替换规则) - 禁止暴露冗余函数 ## 3.0.27 - setDownloadDir函数同时支持完整路径(即包含文件名称)和下载目录 ## 3.0.26 - 优化返回ByteArray类型性能 - setQuery函数支持Number/Boolean类型 - 新增一个错误提示 HttpFailureException ## 3.0.25 - 轮询器支持ViewModel取消 - 修复无法返回ByteArray类型问题 - 间接依赖 update brv 1.3.37 - 更新函数注释 ## 3.0.24 修复上传文件包含参数时, 编码问题导致的参数错误 ## 3.0.23 - 修复轮询器重复start无效问题 - Interval其他优化 ## 3.0.21 - Interval添加cancel函数用于取消计时器, 取消完成不会调用finish ## 3.0.20 - 新增`HttpFailureException`及其子类表示请求失败异常 - 新增`HttpResponseException`及其子类表示请求成功后发生的异常 - 更新依赖库BRV至1.3.31 ## 3.0.19 - 更新依赖库BRV至1.3.30 ## 3.0.18 - 修复Response流异常关闭问题 ## 3.0.17 - 修复Profiler导致的请求问题 ## 3.0.16 - 日志记录器中请求参数默认使用URLDecoder解码 ## 3.0.15 - 修复FileProvider冲突 - 上传文件时默认生成filename(当你未指定文件名情况下) - NetCallback网络请求被取消不会回调onError - 为NetCallback添加Request对象 - 删除内部Tooltip依赖 ## 3.0.14 - 修复KType类型问题 - 支持`File.install`函数安装应用 ## 3.0.13 - 优化标签相关函数. 整个网络生命周期可以完美传递参数 - NetCallback具备跟随生命周期自动取消网络请求 - 扩展NetCallback来添加DialogCallback/StateCallback/PageCallback - 废弃部分函数, 例如onDialog被废弃, 现在由`NetConfig.dialogFactory`构建全局加载对话框 - initNet现在废弃, 由`NetConfig.initialize`取代. 所有配置信息由NetConfig承载 - RequestParamsException添加错误码信息 ## 3.0.12 - 修复转换器抛出的异常全部被`ConvertException`包裹的问题 - NetException子类不会被ConvertException包裹, 所以要捕获转换器中的自定义异常请其继承NetException ## 3.0.11 - 修复临时下载文件错误问题 - 修复ViewModel作用域复用问题 ## 3.0.10 - 升级Tooltip依赖, 解决使用Tooltip_V1.1.1依赖时Net存在崩溃问题 ## 3.0.9 - 优化转换器异常处理 - 转换器支持非固定格式Json解析 ## 3.0.7 - 修复未知的TypeToken访问权限问题 ## 3.0.6 - 所有Json解析框架都可以解析`List`等嵌套泛型数据结构 ## 3.0.5 - 修复Path编码问题 - 上传File自动识别MediaType ## 3.0.4 - 添加MediaConst表示常用MediaType - OkHttpBuilder添加`setErrorHandler`取代onError/onStateError: [全局错误处理](error-handle.md) - 提供兼容Android4.4(API level 19)的版本: [Net-okhttp3](https://github.com/liangjingkanji/Net-okhttp3) ## 3.0.3 - 添加`onResult`函数来执行队列请求: [队列请求](callback.md#onresult) - 添加`toResult`函数来执行同步请求: [同步请求](sync-request.md) - 请求体日志支持JSON/文本类型 - LogRecordInterceptor暴露`requestString/responseString`实现函数用于继承实现自定义需求 ## 3.0.2 修复多渠道无法安装问题 ## 3.0.1 - 转换器支持KType, 解决JAVA泛型擦除问题 - 支持kotlin-serialization转换器 - 修复JSON请求参数类型问题 ## 3.0 - 重构代码, 提升稳定性和安全性. - 支持OkHttp的所有函数/组件, 可独立升级OkHttp版本 - 更加强大的下载功能 - 所有IO读写使用OKIO - 更加优雅的函数设计