diff --git a/CHANGELOG.md b/CHANGELOG.md index cd40228..6f02a3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [0.2.2] - 2026-01-12 + +### Fixed + +- **DebugTree accessibility**: Added explicit `public init()` to DebugTree to resolve compilation error when using DebugTree in external modules ("DebugTree initializer is inaccessible due to 'internal' protection level") + +### BREAKING CHANGES + +- **None** - This release is fully backward compatible with 0.2.1 + +--- + ## [0.2.1] - 2026-01-12 ### Changed @@ -117,7 +129,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | Version | Date | Status | |---------|------|--------| -| [0.2.1] | 2026-01-12 | **Current Release** - Update source URL to HTTPS | +| [0.2.2] | 2026-01-12 | **Current Release** - Fix DebugTree accessibility | +| [0.2.1] | 2026-01-12 | 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 59c4763..064fdec 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.1`) -4. Push tag (`git push origin v0.2.1`) +3. Create git tag (`git tag v0.2.2`) +4. Push tag (`git push origin v0.2.2`) ### Release Checklist @@ -201,7 +201,7 @@ All tests must pass before merging. ### Release Notes Format ```markdown -## v0.2.1 +## v0.2.2 ### New Features - Feature description diff --git a/Canopy.podspec b/Canopy.podspec index 601f868..0eb6e84 100644 --- a/Canopy.podspec +++ b/Canopy.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Canopy' - s.version = '0.2.1' + s.version = '0.2.2' 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. diff --git a/Canopy/Sources/Tree.swift b/Canopy/Sources/Tree.swift index 276887c..92abe64 100644 --- a/Canopy/Sources/Tree.swift +++ b/Canopy/Sources/Tree.swift @@ -19,6 +19,8 @@ open class Tree: @unchecked Sendable { /// Marked as nonisolated(unsafe) because subclasses use locks for thread safety. nonisolated(unsafe) open var minLevel: LogLevel = .verbose + public init() {} + @discardableResult nonisolated open func tag(_ tag: String?) -> Self { self.explicitTag = (tag?.isEmpty ?? true) ? nil : tag diff --git a/README.md b/README.md index 9481ef6..7744302 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.2.1") + .package(url: "https://github.com/ding1dingx/Canopy.git", from: "0.2.2") ] # CocoaPods -pod 'Canopy', '~> 0.2.1' +pod 'Canopy', '~> 0.2.2' ``` Initialize in your `AppDelegate`: diff --git a/README.zh-CN.md b/README.zh-CN.md index 526134f..dc47aac 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.2.1") + .package(url: "https://github.com/ding1dingx/Canopy.git", from: "0.2.2") ] # CocoaPods -pod 'Canopy', '~> 0.2.1' +pod 'Canopy', '~> 0.2.2' ``` 在 `AppDelegate` 中初始化: