v20.0.5
- Fix compilation with Xcode 27.
- When using Xcode 27, the
whereproperty on some SwiftUI helpers is defined differently to work around backtick-escaped names not working in macro expansions. The new definition appears to be API-compatible, but please report if there is some case where it does not work.
- Carthage release for Swift is built with Xcode 26.5.
- CocoaPods: 1.10 or later.
- Xcode: 26.1-27
- Upgraded realm-core from 20.1.4 to 20.1.5
v20.0.5
- Fix compilation with Xcode 27.
- When using Xcode 27, the
whereproperty on some SwiftUI helpers is defined differently to work around backtick-escaped names not working in macro expansions. The new definition appears to be API-compatible, but please report if there is some case where it does not work.
- Carthage release for Swift is built with Xcode 26.5.
- CocoaPods: 1.10 or later.
- Xcode: 26.1-27
- Upgraded realm-core from 20.1.4 to 20.1.5
2.6.0-beta.3
[!NOTE] Please review this page in the wiki for a deeper dive into all the changes.
[!NOTE] We're naming this v2.6.0 to be clear that we expect it to be 100% compatible, non-source breaking with v2.5.1. Please report any issues you may find.
- Fix stale last_exception_backtrace for Objective-C object exceptions by @GLinnik21 https://github.com/kstenerud/KSCrash/pull/847
- Fix C++ monitor handling of ObjC exception subclasses by @supervacuus https://github.com/kstenerud/KSCrash/pull/845
- Docs cleanup for 2.6.0 beta by @naftaly in https://github.com/kstenerud/KSCrash/pull/819
- Prefix the Swift modules with KSCrash by @naftaly in https://github.com/kstenerud/KSCrash/pull/849
- Fix run-sidecar cleanup deleting live sidecars past 512 reports by @naftaly in https://github.com/kstenerud/KSCrash/pull/848
Full Changelog: https://github.com/kstenerud/KSCrash/compare/2.6.0-beta.2...2.6.0-beta.3
2.6.0-beta.2
[!NOTE] Please review this page in the wiki for a deeper dive into all the changes.
[!NOTE] We're naming this v2.6.0 to be clear that we expect it to be 100% compatible, non-source breaking with v2.5.1. Please report any issues you may find.
- Add public-API breaking-change CI gate using swift-api-digester by @GLinnik21 in https://github.com/kstenerud/KSCrash/pull/828
- Benchmarks: surface profiler per-sample latency via custom XCTMetric by @naftaly in https://github.com/kstenerud/KSCrash/pull/831
- Profiler perf pass by @naftaly in https://github.com/kstenerud/KSCrash/pull/830
- Profiler: extract Profile/Profiler protocols, rename to Time* by @naftaly in https://github.com/kstenerud/KSCrash/pull/837
- Report: enum mirror sweep audit fixes by @naftaly in https://github.com/kstenerud/KSCrash/pull/832
- Monitor: bound the array store in endHandlingException by @naftaly in https://github.com/kstenerud/KSCrash/pull/833
- Zombie: switch g_zombieCache from volatile to _Atomic by @naftaly in https://github.com/kstenerud/KSCrash/pull/834
- Store: stop hijacking the stitch config from KSCrashReportStore.init by @naftaly in https://github.com/kstenerud/KSCrash/pull/835
Full Changelog: https://github.com/kstenerud/KSCrash/compare/2.6.0-beta.1...2.6.0-beta.2
v4.4.2
Fixed incorrect handling of controller-based LNPopupUI/SwiftUI title views (#631); thanks zhanglei-workspace for investigating
5.12.0
Released on 2026-05-04. All issues associated with this milestone can be found using this filter.
- Rare race in
Request.suspend()andRequest.cancel()where the state update would be lost if it occurred before the task was created. Request.cancel()incorrect calledRequest.finish()when the underlying task was already.completed.- Rare race in
Request.resume()that could lead to multipleURLSessionTasks created. - Repeated calls to
Request.suspend()andRequest.resume()could lead to multiple pipeline executions. - Thread-safety issue in
Session.deinitwhen accessing internal state. - Rare
Request.finish()race inSession.deinit. Session.deinitcalledRequest.finish()onRequests that were already finished.Request.onHTTPRequestdidn't call the fullRequest.cancel()when the.canceldisposition was returned.- Multiple unlikely force unwrap or
unowned selfcrashes. - Write to
DataStreamRequest'soutputStreamafter it was closed. - MIME type parsing, where a single element (
text) or empty strings would be accepted. - Cancelled
DownloadRequests could still trigger retry. DataRequest.DataTaskandDownloadRequest.DownloadTaskcould miss early cancellation events if they happened before the underlyingTaskwas created.- 🔥 Multiple issues in
AuthenticationInterceptor. These fixes slightly change the interceptor's behavior.adapt()enqueued adaptations, leading to requests restarted with a new credential to not execute the whole adapt pipeline again.AuthenticationInterceptorwill now let those requests fail with the old credential and retry their whole pipeline with the new credential.- Concurrent adaptations for the same stale credential could trigger multiple refreshes.
retry()now lazily checks for new credentials rather than capturing eagerly.
已支持 Lottie 的依赖最新版本, 支持指定渲染模式
CYLTabBarController 1.99.20以上版本,已对 Lottie 的依赖版本, 进一步细化, 采用二分法: ObjC 和Swift版本,进行区分。ObjC指定 ~>2.5.3 , Swift版本指定>=4.0.0。CYLTabBarController 内部 , 可以根据依赖版本的不同,执行不同逻辑。同时保持API接口不变。
用法见GitHub Demo演示。
#pod 'CYLTabBarController', '~> 1.99.20' # 默认不依赖Lottie
#pod 'CYLTabBarController/LottieObjectiveC', '~> 1.99.20' # 依赖Lottie Objective-C库
#pod 'CYLTabBarController/LottieSwift', '~> 1.99.20' # 依赖Lottie Swift库
自我评估,已经可以满足大部分场景, 如需要更精细的 Lottie 版本区分, 请提issue, 描述清楚场景, 我排期开发。
注意LottieSwift支持的iOS版本最低为iOS13
s.ios.deployment_target = '13.0'
如果你的项目支持iOS12则不能使用Lottie Swift 版本。
你在选择时应该遵循这样的规则: Lottie OC版本仅在需要支持iOS12时引入,如果你的项目最低版本高于或等于iOS13那么你应该总是选择LottieSwift。
Lottie OC 对支持Lottie文件的暗黑模式有bug. 不再建议使用。
另外提一句, iOS26 未选中状态下的Label颜色,一直是总是 labelColor 也就是黑色或者白色, 无法通过appearance 自定义, 怀疑是Apple的bug, 或者是一个功能, 为了提高未选中时的辨识度。我没想到好的方案进行修复,调研了一下, 似乎大家都接受了这个bug? 如果你有好的方案,请提issue,社交媒体给我的留言,无法保证看见并回复。 issue为唯一反馈途径,谢谢理解。
添加接口lottie动画的渲染模式可以从外部指定 (默认渲染模式是fit) 增加didLayoutSubViewsBlock, 扩大PlusButton可点击面积, 解决iOS15有时候tabbar会变透明的问题;([bug]:iOS15在切换到某些vc后有可能出现TabBar变透明的情况 #574) reloadTabBarItemsWithAttributes; (关联 issue 动态更新 tabbarItem 的 icon 跟 title #303)