Releases: mackoj/PackageGeneratorCLI
Releases · mackoj/PackageGeneratorCLI
Release list
0.7.0
What's Changed
This introduces the foundation for the CLI v2 rewrite, focusing on modernizing architecture, improving maintainability, and establishing robust error handling and observability. Key changes include the removal of the Files dependency, the introduction of structured error and logging systems, and the addition of comprehensive documentation and planning for the rewrite. These updates set the stage for future enhancements in concurrency, performance, and testability.
Dependency and Platform Updates
- Removed the
Fileslibrary dependency from bothPackage.swiftand the CLI target, and updated the minimum supported macOS version to 13. Also enabled Swift 6 language mode for the CLI target. - Marked
PackageInformationand its nested types asSendableto support concurrency and future Swift 6 compliance.
Error Handling and Logging
- Added a new
CLIErrorenum with structured, user-friendly error messages to replace fatal errors, establishing a foundation for robust error handling throughout the CLI. - Introduced a flexible logging system with
LogSinkprotocol,OSLogSinkfor production, andMockLogSinkfor testing, supporting multiple log levels and concurrency safety. - Centralized logger configuration in
Loggers.swift, defining logical categories for improved observability and filtering.
Parsing and Concurrency Preparation
- Added a
ParseResultstruct to encapsulate the output of parsing a Swift file, designed to beSendablefor safe concurrent use. - Implemented
SwiftFileParser, a stateless,Sendablestruct for parsing Swift files and extracting imports with error handling, ready for integration with concurrent processing. - Updated
FileURLextension to use the@retroactiveattribute forExpressibleByArgumentconformance, ensuring compatibility with new Swift language features.
Documentation and Planning
- Added
IMPLEMENTATION_GUIDE.md, providing a detailed, step-by-step guide for the CLI v2 rewrite, including epic breakdowns, acceptance criteria, and workflow suggestions. - Added
ROADMAP.mdoutlining the four-phase implementation plan, priority matrix, known issues, and success metrics to guide development and track progress.
Full Changelog: 0.6.1...0.7.0