Skip to content

v0.1.3 — Bug fixes from audit

Choose a tag to compare

@lengain lengain released this 13 Jun 13:53
· 16 commits to main since this release

v0.1.3 — Bug Fixes from Audit

Thorough line-by-line audit of all 6 patches against CocoaPods 1.16.2 source.

Fixed

Bug 1 [CRITICAL]cache_analyzer_patch.rb: nil entries in results hash
Thread failure during cache key computation left results[label] = nil, which would crash
ProjectCacheAnalyzer#analyze with NoMethodError on nil when calling key_difference.
→ Extract compute_cache_key helper; retry synchronously on error to guarantee valid result.

Bug 2 [MEDIUM]project_writer_patch.rb: overly broad rescue in parallel_cleanup_projects
Entire method body wrapped in rescue NameError, obscuring potential issues.
→ Narrow rescue to Concurrent::FixedThreadPool.new only.

Bug 3 [LOW]project_writer_patch.rb: same pattern in parallel_recreate_user_schemes
→ Same fix; extract recreate_schemes_for_project helper to DRY fallback logic.

Bug 4 [LOW]user_integrator_patch.rb: undocumented private method access
→ Added comment confirming Ruby allows implicit-receiver private method calls from prepended modules.

Verified

  • 5 patches confirmed bug-free (method signatures, thread safety, constant resolution, super chain)
  • Clean install: no crashes, no performance regression
  • Incremental install: 1.00s (same as v0.1.2)

Installation

gem update cocoapods-podgenerate