This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
ReleasePort's take
Light signalThe v1.2.1 release adds source‑independence composition‑root support and refactors the Doctor command, Search‑side producers, and CI pipeline for easier extensibility while maintaining full backward compatibility with v1.2.0.
Why it matters: v1.2.1 introduces new content‑source composability (id 23989) and architectural refactorings (ids 23990‑23992) yet guarantees zero delta for schema/indexer logic, ensuring seamless upgrade from v1.2.0 to v1.2.1.
Summary
AI summaryUpdates Headlines, 2026-05-23, and https://github.com/mihaelamj/cupertino/pull/941 across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds source independence composition-root-only PR for new content sources. Adds source independence composition-root-only PR for new content sources. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Feature | Medium |
No schema or indexer‑logic changes; v1.2.0 bundle fully compatible with v1.2.1 binary (zero delta). No schema or indexer‑logic changes; v1.2.0 bundle fully compatible with v1.2.1 binary (zero delta). Source: llm_adapter@2026-05-23 Confidence: low |
— |
| Refactor | Medium |
Refactors Doctor command sections into `Distribution.DatabaseHealthCheck` conformers for easier DB addition. Refactors Doctor command sections into `Distribution.DatabaseHealthCheck` conformers for easier DB addition. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Refactor | Medium |
Enforces strict DI; all Search‑side producers become foundation‑only with empty `GRANDFATHERED_TARGETS`. Enforces strict DI; all Search‑side producers become foundation‑only with empty `GRANDFATHERED_TARGETS`. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Refactor | Medium |
Adds CI infrastructure guard for external PRs to main and verifies CHANGELOG touches. Adds CI infrastructure guard for external PRs to main and verifies CHANGELOG touches. Source: llm_adapter@2026-05-23 Confidence: low |
— |
Full changelog
v1.2.1 (2026-05-23)
Maintenance release. Architectural cleanup + DI / pluggability lift. Zero schema delta, zero indexer-logic delta vs v1.2.0; the v1.2.0 bundle works as-is with the v1.2.1 binary (cupertino setup continues to download cupertino-databases-v1.2.0.zip).
Spot-checked parity vs the brew-installed v1.2.0 binary on doctor, search "SwiftUI View modifier", search "async await", list-frameworks, package-search "alamofire": byte-identical search ranking and row counts in every test.
Headlines
- Source Independence Day reached: #919 closed. Adding a new content source is now a composition-root-only PR: 1 new package + 3 list-append edits at
CLIImpl.makeProductionSourceLookup()+CLIImpl.Command.Save.Indexers.swift. Zero edits to existing source concretes, zero edits to any static registry, zero closed enums. Empirically verified by #941's end-to-end test fixture, which plugs in a fakewwdc-transcriptssource via 247 lines in a single new test file (Sources/ diff is empty). - Strict-DI + standalone-portability epic: every Search-side producer (Search, SearchSQLite, SampleIndex, SampleIndexSQLite, Enrichment, SearchStrategies) is foundation-only.
GRANDFATHERED_TARGETSinscripts/check-package-purity.shis now(). NewportabilityCI job on macos-15 mechanically lifts each producer. - Doctor command refactor: 3 sibling per-DB sections (
checkSearchDatabase/checkSamplesDatabase/checkPackagesDatabase) lifted intoDistribution.DatabaseHealthCheckconformers. Adding a 4th DB is one conformer + one list append. - CI infrastructure: external-PR-to-main guard (#761); portability check; CHANGELOG-touched verification; package import audits.
Upgrade
brew update && brew upgrade cupertino
# or, manual download:
gh release download v1.2.1 --repo mihaelamj/cupertino
cupertino setup is NOT required: the v1.2.0 bundle from your existing installation is fully compatible with the v1.2.1 binary. Schema versions unchanged (search.db user_version=18, packages.db=5, samples.db=4).
Full per-PR detail
See the full v1.2.1 section in CHANGELOG.md (349 entries). Highlights: #919, #893, #930, #761, #898 sub-PRs, #251 cuts, #248 cuts, #897, #896, #895, #886.
Refs: closes #919; resolves #893 (strict-DI epic complete).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About mihaelamj/cupertino
Apple Documentation MCP Server. Search Apple developer docs, Swift Evolution proposals, and 600+ sample code projects with full-text search.
Related context
Beta — feedback welcome: [email protected]