2.0.0-alpha.1
Pre-release
Pre-release
ContributeWordPress moves to Swift 6.4 with complete strict concurrency. The asset-download
path is now structured concurrency rather than GCD, which makes Downloader.download and
MarkdownProcessor.begin async throws — a source-breaking change for direct callers, hence
the major version bump from 1.0.0.
Library
- Swift 6.4 support, in-process HTML-to-Markdown, and mise-based linting by @leogdion in #18
- Replace
AssetDownloader'sDispatchGroupfan-out and its unsynchronized[URL: Error]dictionary withwithThrowingTaskGroup, fixing a real data race — each child returns its own result and the parent collects at the join point, soAssetDownloadErrors.swiftis deleted rather than lock-guarded by @leogdion in #18 - Make
Downloader.downloadandMarkdownProcessor.beginasync throwsby @leogdion in #18 - Convert
Sources/wpublish/main.swiftinto a@maintype inWPublish.swift, since top-level code cannotawaitby @leogdion in #18
Tests
- Turn the
FileDownloaderSpyandAssetDownloaderSpytest doubles into actors, removing two moreNSLocks by @leogdion in #18 - Add a regression test that fans out 200 failing downloads and asserts every error survives by @leogdion in #18
Tooling & CI
- Raise
.swift-versionto the6.4.x-snapshottoolchain, matching the rest of the stack by @leogdion in #18 - Move linting to mise with
.mise.toml,.swift-format,.swiftlint.ymlandScripts/lint.shby @leogdion in #18
Full Changelog: 1.0.0...2.0.0-alpha.1