From c020952e8ffc59cd33233dcbb41a182e6bb10645 Mon Sep 17 00:00:00 2001 From: nian1 Date: Mon, 12 Jan 2026 03:18:19 +0800 Subject: [PATCH] chore: Release 0.2.1 - Update podspec source URL to HTTPS --- CHANGELOG.md | 35 ++++++++++++++++++++--------------- CONTRIBUTING.md | 6 +++--- Canopy.podspec | 4 ++-- README.md | 4 ++-- README.zh-CN.md | 4 ++-- 5 files changed, 29 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6db28e7..cd40228 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [0.2.1] - 2026-01-12 + +### Changed + +- **CocoaPods source URL**: Updated `s.source` from SSH git protocol to HTTPS for improved compatibility + +### Fixed + +- None + +### BREAKING CHANGES + +- **None** - This release is fully backward compatible with 0.2.0 + +--- + ## [0.2.0] - 2026-01-09 ### Added @@ -36,8 +52,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Signal handler safety**: Removed `flush()` from signal handlers to prevent deadlocks (NSLock is not async-signal-safe) - **AsyncTree context recovery**: Added `defer` to ensure CanopyContext is restored even if log() throws -- **CanopyContext.with()**: Added whitespace trimming and empty string handling -- **Tree.tag()**: Fixed logic to correctly handle empty and whitespace-only strings +- **CanopyContext.with()`: Added whitespace trimming and empty string handling +- **Tree.tag()`: Fixed logic to correctly handle empty and whitespace-only strings - Thread safety issues with `explicitTag` in concurrent scenarios - Code duplication in Canopy.swift (reduced from 169 to 138 lines) @@ -63,18 +79,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - (Future development section) -- SwiftLint violations across the codebase - -### Performance - -- Format message performance improved by ~10% -- Added performance benchmarks for all critical paths -- Zero-overhead logging verified in Release mode - -### Security - -- **CrashBufferTree**: Fixed potential deadlock in signal handlers by moving flush to atexit() handler -- **Input validation**: Added parameter validation to prevent invalid input scenarios --- @@ -113,7 +117,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | Version | Date | Status | |---------|------|--------| -| [0.2.0] | 2026-01-09 | **Current Release** - Stability & Security Improvements | +| [0.2.1] | 2026-01-12 | **Current Release** - Update source URL to HTTPS | +| [0.2.0] | 2026-01-09 | Stability & Security Improvements | | [0.1.0] | 2026-01-08 | Initial release | --- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3bfeb01..59c4763 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -185,8 +185,8 @@ All tests must pass before merging. 1. Update version in `Package.swift` 2. Update CHANGELOG.md with new version -3. Create git tag (`git tag v0.2.0`) -4. Push tag (`git push origin v0.2.0`) +3. Create git tag (`git tag v0.2.1`) +4. Push tag (`git push origin v0.2.1`) ### Release Checklist @@ -201,7 +201,7 @@ All tests must pass before merging. ### Release Notes Format ```markdown -## v0.2.0 +## v0.2.1 ### New Features - Feature description diff --git a/Canopy.podspec b/Canopy.podspec index 75e3707..601f868 100644 --- a/Canopy.podspec +++ b/Canopy.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Canopy' - s.version = '0.2.0' + s.version = '0.2.1' s.summary = 'A lightweight, high-performance logging framework for iOS' s.description = <<-DESC Canopy is a logging framework inspired by Android's Timber, using a Tree-based architecture. @@ -16,7 +16,7 @@ Features: s.homepage = 'https://github.com/ding1dingx/Canopy' s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { 'syxc' => 'nian1.wiki@gmail.com' } - s.source = { :git => 'git@github.com:ding1dingx/Canopy.git', :tag => s.version.to_s } + s.source = { :git => 'https://github.com/ding1dingx/Canopy.git', :tag => s.version.to_s } s.ios.deployment_target = '14.0' s.swift_version = '5.0' diff --git a/README.md b/README.md index 61d18f2..9481ef6 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,11 @@ Add Canopy to your project using Swift Package Manager or CocoaPods: ```bash # Swift Package Manager dependencies: [ - .package(url: "https://github.com/ding1dingx/Canopy.git", from: "0.1.0") + .package(url: "https://github.com/ding1dingx/Canopy.git", from: "0.2.1") ] # CocoaPods -pod 'Canopy', '~> 0.1.0' +pod 'Canopy', '~> 0.2.1' ``` Initialize in your `AppDelegate`: diff --git a/README.zh-CN.md b/README.zh-CN.md index 4b805f5..526134f 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -20,11 +20,11 @@ ```bash # Swift Package Manager dependencies: [ - .package(url: "https://github.com/ding1dingx/Canopy.git", from: "0.1.0") + .package(url: "https://github.com/ding1dingx/Canopy.git", from: "0.2.1") ] # CocoaPods -pod 'Canopy', '~> 0.1.0' +pod 'Canopy', '~> 0.2.1' ``` 在 `AppDelegate` 中初始化: