The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
[5.3.1] - 2024-04-23
8 hours ago
### Changed
* HTTPRequest method handle parameter supports Self, no type conversion is required
* HTTPRequest opens the contextAccessory attribute and can be customized
* When a BatchRequest request fails and stops, only other requests are canceled. Add the addRequest method.
### Changed
* HTTPRequest方法句柄参数支持Self,无需类型转换
* HTTPRequest开放contextAccessory属性,可自定义
* BatchRequest某个请求失败导致停止时只取消其他请求,新增addRequest方法
[5.3.0] - 2024-04-22
Yesterday
### Changed
* Complete implementation in pure Swift, removing FWObjC submodule
* Autoloader's autoload method is changed to Swift calling mechanism
* Reconstruct attribute KVO monitoring and add swift native observation method
* Reconstruct error capture ErrorManager, pure Swift implementation
* Mediator adds Delegate mode, AppResponder can be used optionally
* Reconstruct UIViewController life cycle monitoring and add ViewControllerLifecycleObservable protocol
* Added commonly used UIKit tool methods
### Migrate
1. Autoloader.autoload is no longer automatically called. It can be manually called at startup or inherited from AppResponder. Migration and upgrade are required.
2. The default lifecyleState of UIViewController is changed to nil. It needs to implement LifecycleObservable or enable monitoring to have a value. It needs to be migrated and upgraded.
3. Due to the Swift implementation mechanism, the associated properties can no longer be accessed during didDeinit of the UIViewController life cycle and need to be migrated and upgraded.
4. The API related to ExceptionManager error capture has been changed to ErrorManager, which needs to be migrated and upgraded.
### Changed
* 纯Swift完整功能实现,移除FWObjC子模块
* Autoloader的autoload方法改为Swift调用机制
* 重构属性KVO监听,新增swift原生observe方式
* 重构错误捕获ErrorManager,纯Swift实现
* Mediator新增Delegate模式,AppResponder可选使用
* 重构UIViewController生命周期监听,新增ViewControllerLifecycleObservable协议
* 新增常用UIKit工具方法
### Migrate
1. Autoloader.autoload不再自动调用,可启动时手工调用或继承AppResponder,需迁移升级
2. UIViewController默认lifecyleState修改为nil,需实现LifecycleObservable或开启监听后才有值,需迁移升级
3. 由于Swift实现机制,UIViewController生命周期didDeinit时不可再访问关联属性,需迁移升级
4. ExceptionManager错误捕获相关API变更为ErrorManager,需迁移升级
[5.2.1] - 2024-04-08
2 weeks ago
### Changed
* Fix Xcode compilation warnings, replace and remove deprecated methods
* Remove the obsolete method of obtaining the operator and modify the method of obtaining the network type
* Added Optional shortcut method, optimized CGFloat, etc. and no longer implement BasicType
### Changed
* 修复Xcode编译警告,替换并移除废弃的方法
* 移除废弃的获取运营商方法,修改获取网络类型方法
* 新增Optional快捷方法,优化CGFloat等不再实现BasicType
[5.2.0] - 2024-03-29
3 weeks ago
### Changed
* Added new macros such as MappedValueMacro to quickly write interface data models. FWMacro/Macros submodules need to be included.
* Remove KeyMapping mode related methods from CodableModel and JSONModel because they are complex to use and do not support inheritance
* MappedValue supports ignored configuration
* JSONModel annotation MappedValue is compatible with ValidatedValue
### Changed
* 新增MappedValueMacro等宏,快速编写接口数据模型,需引入FWMacro/Macros子模块
* CodableModel和JSONModel移除KeyMapping模式相关方法,因为使用复杂且不支持继承
* MappedValue支持ignored忽略配置
* JSONModel注解MappedValue兼容ValidatedValue
[5.1.0] - 2024-03-21
4 weeks ago
### Changed
* Added KeyMappable protocol, compatible with CodableModel and JSONModel
* Added MappedValue attribute annotation, compatible with CodableModel and JSONModel
* Modify JSONModel. After implementing the KeyMappable protocol, it will no longer directly read and write memory. It is recommended to migrate gradually.
* Modify Router.Parameter synchronously. When inheriting, new properties must be marked with MappedValue.
* Codable supports parsing Any, Any dictionary and Any array type data
* Reconstruct BadgeView to unify and simplify the use of badgeOffset
* Modify the mirrorDictionary method to no longer filter attributes starting with underscores
### Changed
* 新增KeyMappable协议,兼容CodableModel和JSONModel
* 新增MappedValue属性注解,兼容CodableModel和JSONModel
* 修改JSONModel,当实现KeyMappable协议之后不再直接读写内存,建议逐步迁移
* 同步修改Router.Parameter,继承时新增属性需标记MappedValue
* Codable支持解析Any、Any字典和Any数组类型数据
* 重构BadgeView,统一并简化badgeOffset使用
* 修改mirrorDictionary方法不再过滤下划线开头属性
[4.18.3] - 2024-03-12
6 weeks ago
### Fixed
* Compatible with Xcode15.3, fix Archive failure problem
### Fixed
* 兼容Xcode15.3,修复Archive失败问题
[5.0.3] - 2024-03-11
6 weeks ago
### Changed
* JSONModel is compatible with Xcode15.3
* Added delayPlaceholder option to the picture plug-in
* TabBarController adds imageInsets attribute
* Added global fast ceil extension method
* Added controller compatible with TabBar adaptation method when using safeArea layout
* Added new controller quick customization Toast|Empty plug-in method
* The routing openURL method parameter url is changed to Optional
### Changed
* JSONModel兼容Xcode15.3
* 图片插件新增delayPlaceholder选项
* TabBarController新增imageInsets属性
* 新增全局快速ceil扩展方法
* 新增控制器使用safeArea布局时兼容TabBar适配方法
* 新增控制器快捷定制Toast|Empty插件方法
* 路由openURL方法参数url修改为Optional
[5.0.2] - 2024-02-26
8 weeks ago
### Changed
* Controller navigationBarHeight is compatible with custom navigationBarHidden settings
* Fixed the problem of countLabel not being updated due to position change of customBlock in image preview plug-in
### Changed
* 控制器navigationBarHeight兼容自定义navigationBarHidden设置
* 修复图片预览插件customBlock位置变动引起未更新countLabel的问题
[5.0.1] - 2024-02-26
8 weeks ago
### Changed
* Added RoundedCornerView to handle semi-circle corner problem without frame
* Modify NavigationStyle to get the current status when it is not set
* PopupMenu supports specifying container views. Modify showsMaskView to hide maskView. Migration testing is required.
* Optimize Database performance and increase ModelFields parsing cache
### Changed
* 新增RoundedCornerView无需frame处理半圆圆角问题
* 修改NavigationStyle未设置时获取当前状态
* PopupMenu支持指定容器视图,修改showsMaskView为隐藏maskView,需迁移测试
* 优化Database性能,增加ModelFields解析缓存
[5.0.0] - 2024-02-22
14 weeks ago
### Added
* After two years of reconstruction, the Swift version is released, compatible with iOS13+ and no longer compatible with OC
* Supports advanced features such as Swift coroutine async, await, property annotation propertyWrapper, etc.
* Completely replaceable UI plug-in management for easy project customization
* Replaceable picture library and network request layer, with built-in extensions compatible with SDWebImage, Alamofire, etc.
* Several years of accumulation of online projects, two years of painstaking effort in refactoring the Swift version, everything you want is available here
* Thanks to ChatGPT, thanks to Codeium, and thanks to the authors of all open source libraries used
* Finally, thank myself. It’s really not easy to persevere through countless days and nights.
### Migrate
1. Autoloader only loads static class methods by default and needs to be migrated and upgraded.
2. The Router routing binding method API has changed and needs to be migrated and upgraded.
3. JSBridge binding method API has changed and needs to be migrated and upgraded.
4. HTTPRequest network request API has changed and needs to be migrated and upgraded.
5. Other compilation errors need to be fixed using the new API and tested to see if the relevant functions are normal.
6. To use the sample code, please refer to the Example project
### Added
* 经过两年的重构,Swift版本发布,兼容iOS13+,不再兼容OC
* 支持Swift协程async、await,属性注解propertyWrapper等高级特性
* 完全可替换的UI插件管理,轻松实现项目定制
* 可替换的图片库、网络请求层,自带扩展兼容SDWebImage、Alamofire等
* 几年的线上项目积累,两年心血的Swift版本重构,你想要的,这里全都有
* 感谢ChatGPT、感谢Codeium、感谢使用到的所有开源库的作者
* 最后,感谢自己,无数个日日夜夜,能坚持下来,真的不容易
### Migrate
1. Autoloader默认仅加载static类方法,需迁移升级
2. Router路由绑定方法API变更,需迁移升级
3. JSBridge绑定方法API变更,需迁移升级
4. HTTPRequest网络请求API变更,需迁移升级
5. 其他编译报错需使用新API修复,并测试相关功能是否正常
6. 使用示例代码可参考Example项目