<feed xmlns='http://www.w3.org/2005/Atom'>
<title>domain-dig.git, branch v4.5.0</title>
<subtitle>local-first ios domain inspection toolkit. dns, tls, rdap, audit.
</subtitle>
<id>http://git.krz.sh/krz/domain-dig.git/atom?h=v4.5.0</id>
<link rel='self' href='http://git.krz.sh/krz/domain-dig.git/atom?h=v4.5.0'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/'/>
<updated>2026-07-17T05:31:57+00:00</updated>
<entry>
<title>docs: mark v4.4.1/v4.5.0 shipped in roadmap and README</title>
<updated>2026-07-17T05:31:57+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T05:28:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=065e1e77ff00e8f9c8785393b5eba6c3e0bb2bb1'/>
<id>urn:sha1:065e1e77ff00e8f9c8785393b5eba6c3e0bb2bb1</id>
<content type='text'>
Update RELEASE_ROADMAP.md to show v4.4.1 and v4.5.0 as shipped (with the actual
delivered scope), set the current version to v4.5.0, and note the deferred Lock
Screen widget families. Refresh the README release target to v4.5.0.
</content>
</entry>
<entry>
<title>Complete v4.5.0: Run Sweep intent, detail deep link, and portfolio widget</title>
<updated>2026-07-17T05:31:57+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T05:27:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=d3a27d06809e6744c092f9bed4bf0537843d0210'/>
<id>urn:sha1:d3a27d06809e6744c092f9bed4bf0537843d0210</id>
<content type='text'>
Finishes the v4.5.0 "Home Screen &amp; Shortcuts reach" scope that the tag shipped
partially:

- Add RunSweepIntent (opens the app and runs refreshAllTrackedDomains via the
  in-process router) and expose it in DomainDigShortcuts.
- Extend the domaindig:// scheme with `sweep` and `domain` (detail) actions;
  route .detail to present TrackedDomainDetailView and .sweep to refresh the
  watchlist. Move DomainDigDeepLink into Shared/ so the widget can build links.
- Add a WidgetKit extension (DomainDigWidgetExtension) with small/medium/large
  Portfolio widgets showing health counts, per-domain status, and certificate
  countdowns; tapping a domain deep-links into its detail.
- Share portfolio state via an App Group (group.net.cleberg.DomainDig): the app
  writes a DomainDigWidgetData snapshot on launch/foreground and on watchlist
  changes and reloads timelines; the widget reads the same store.
</content>
</entry>
<entry>
<title>Merge pull request #3 from zerolabsco/fix/inspect-intent-actor-isolation</title>
<updated>2026-07-17T05:03:46+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T05:03:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=685f84ad0a8d2dc7b62125d5d9c3a50b75ae2468'/>
<id>urn:sha1:685f84ad0a8d2dc7b62125d5d9c3a50b75ae2468</id>
<content type='text'>
Fix Swift 6 actor-isolation warning in InspectDomainIntent</content>
</entry>
<entry>
<title>Merge pull request #2 from zerolabsco/ccleberg-patch-1</title>
<updated>2026-07-17T05:02:35+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T05:02:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=84df8cb6d41377e0d224101dce16e89a2a2dd75a'/>
<id>urn:sha1:84df8cb6d41377e0d224101dce16e89a2a2dd75a</id>
<content type='text'>
Set package ecosystem to 'swift' in dependabot config</content>
</entry>
<entry>
<title>Set package ecosystem to 'swift' in dependabot config</title>
<updated>2026-07-17T05:01:52+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T05:01:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=8216f5ee4765204b038348ec9c20b40bdd2cecda'/>
<id>urn:sha1:8216f5ee4765204b038348ec9c20b40bdd2cecda</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix Swift 6 actor-isolation warning in InspectDomainIntent</title>
<updated>2026-07-17T05:01:29+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T05:01:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=f112f894ac00bf7b6397287c26edc1267883612f'/>
<id>urn:sha1:f112f894ac00bf7b6397287c26edc1267883612f</id>
<content type='text'>
The app target sets SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor, so
DomainReportBuilder and DomainInspectionService are MainActor-isolated. The
unmarked perform() ran nonisolated, so calling build(from:) triggered an
"expression is 'async' but is not marked with 'await'" warning (an error in the
Swift 6 language mode). Mark perform() @MainActor to match AddToWatchlistIntent.
</content>
</entry>
<entry>
<title>Add GitHub Actions build workflow</title>
<updated>2026-07-17T04:55:25+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T04:55:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=4fcf49a6443d8d921188ea29d1845da752ecd558'/>
<id>urn:sha1:4fcf49a6443d8d921188ea29d1845da752ecd558</id>
<content type='text'>
Compile gate on macos-26 for the GitHub mirror (builds.sr.ht has no macOS
images). Runs `xcodebuild build` on pull_request and manual dispatch, with
docs-only paths ignored. Mirrors the CI setup in the sibling hutch repo,
adapted to `build` because there is no test target yet (planned for v5.0.0).
</content>
</entry>
<entry>
<title>DomainDig v4.5.0: Add App Intents, Shortcuts, and a domaindig:// deep link</title>
<updated>2026-07-17T04:49:32+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T04:49:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=20d2eaf9da95f2ccc82413c9fa02e8b0f39af575'/>
<id>urn:sha1:20d2eaf9da95f2ccc82413c9fa02e8b0f39af575</id>
<content type='text'>
- Add InspectDomainIntent that runs the headless inspection pipeline and
  returns a summary for Shortcuts, Spotlight, the Action button, and Siri
- Add AddToWatchlistIntent that opens the app and tracks a domain through the
  existing premium-checked path via an in-process router
- Register the domaindig:// URL scheme with inspect/watch deep links routed in
  RootTabView (onOpenURL)
- Expose both intents through DomainDigShortcuts (AppShortcutsProvider)
- Bump AppVersion/marketing version to 4.5.0 and build number to 37
</content>
</entry>
<entry>
<title>DomainDig v4.4.1: Consolidate Audit Mode and remove the CLI target</title>
<updated>2026-07-17T04:48:10+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T04:48:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=d8195992e519343d6d8ff7fb17aa98358800d913'/>
<id>urn:sha1:d8195992e519343d6d8ff7fb17aa98358800d913</id>
<content type='text'>
- Make DomainDig/DomainDig/Audit* the single active Audit Mode implementation
  (models, views, exporter) with an Audit tab and session/export UI
- Include audit sessions in backup/restore lifecycle counts, summaries, and
  merge behavior via DomainDataPortabilityService
- Remove the DomainDigCLI target, source file, scheme, and all project
  references; keep the shared inspection/report pipeline for the app
- Align AppVersion.current to 4.4.1 and refresh README/architecture docs
- Add RELEASE_ROADMAP.md
</content>
</entry>
<entry>
<title>Add v4.4 audit mode sessions and export workflow</title>
<updated>2026-05-13T17:47:16+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-05-13T17:47:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=1edf5bc83c0dcc07246908af341f37e2c871edd7'/>
<id>urn:sha1:1edf5bc83c0dcc07246908af341f37e2c871edd7</id>
<content type='text'>
</content>
</entry>
</feed>
