Skip to content

Releases: mackoj/PackageGeneratorCLI

0.7.0

Choose a tag to compare

@mackoj mackoj released this 01 May 22:36
c94ff9a

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 Files library dependency from both Package.swift and the CLI target, and updated the minimum supported macOS version to 13. Also enabled Swift 6 language mode for the CLI target.
  • Marked PackageInformation and its nested types as Sendable to support concurrency and future Swift 6 compliance.

Error Handling and Logging

  • Added a new CLIError enum 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 LogSink protocol, OSLogSink for production, and MockLogSink for 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 ParseResult struct to encapsulate the output of parsing a Swift file, designed to be Sendable for safe concurrent use.
  • Implemented SwiftFileParser, a stateless, Sendable struct for parsing Swift files and extracting imports with error handling, ready for integration with concurrent processing.
  • Updated FileURL extension to use the @retroactive attribute for ExpressibleByArgument conformance, 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.md outlining 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

0.6.1

Choose a tag to compare

@mackoj mackoj released this 18 Mar 16:26
80b3cb2

What's Changed

  • feat: add missing import casts by @mackoj in #20

checksum: 8eb833ab6ae853c82f67657c1c8fd27cbcbe30dfc7667893fe2a17a9a72622fd

Full Changelog: 0.6.0...0.6.1

0.6.0

Choose a tag to compare

@mackoj mackoj released this 13 Mar 14:25
9950bd0

What's Changed

checksum: 6b62ef97d1d930281a4a65e9e47b1aec9d7dc90d2cb5282085cf8e705e5ec743

Full Changelog: 0.5.3...0.6.0

0.5.3

Choose a tag to compare

@mackoj mackoj released this 04 Mar 00:05
94d1c8a

What's Changed

checksum: ec580947ac3f40d8860ded64d25bc45d6d36a644de7aefc024c9b205843679e0

Full Changelog: 0.5.2...0.5.3

0.5.2

Choose a tag to compare

@mackoj mackoj released this 14 May 10:29

Exclude code that are from a DocC folder.

b374072f0c4ce56761be1cc00469b14f8c415e06758bb82f8485b17768f06b0f

0.5.1

Choose a tag to compare

@mackoj mackoj released this 03 May 20:27

Fix test support

Checksum: 758615aeda296df2870341b311eaac5deb518a2f9a2e1c438520901f96d0fa74

0.5.0

Choose a tag to compare

@mackoj mackoj released this 03 May 09:49
84dafbb

Add support for extracting dependencies from the test targets.

Checksum: 8ffa941438b678085c45e6caab195cdb0a6b4a6fb6e4425589869a1a2dc1e8da

0.4.2

Choose a tag to compare

@mackoj mackoj released this 04 Apr 16:45

ddf169bfe8b9260d40069671b8e7282b2655679d2b404d080af2a3935025fb7f

0.4.1

Choose a tag to compare

@mackoj mackoj released this 04 Apr 16:34
94cc3df

What's Changed

Full Changelog: 0.4.0...0.4.1

checksum: 8db033df8c4e6dbb56c96b0988c8b609d924b6f8008db711fcc61c67846c0fe5

0.4.0

Choose a tag to compare

@mackoj mackoj released this 04 Apr 15:29
265a648

What's Changed

checksum: 8087731a742d7b834cdf33eb07ce11fcc054fb90c3b4f919b6080d54878d0dd5

Full Changelog: 0.3.0...0.4.0