<feed xmlns='http://www.w3.org/2005/Atom'>
<title>domain-dig.git, branch v4.6.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.6.0</id>
<link rel='self' href='http://git.krz.sh/krz/domain-dig.git/atom?h=v4.6.0'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/'/>
<updated>2026-07-17T15:12:36+00:00</updated>
<entry>
<title>Xcode: backfill extension display-name build settings</title>
<updated>2026-07-17T15:12:36+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T15:09:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=6f79345f8dc078b65d976079332cab3ddf7ec98b'/>
<id>urn:sha1:6f79345f8dc078b65d976079332cab3ddf7ec98b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: mark v4.6.0 shipped in roadmap and README</title>
<updated>2026-07-17T15:12:36+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T13:36:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=16e8b5d29560cf070ccec2e556d0d5943c2611be'/>
<id>urn:sha1:16e8b5d29560cf070ccec2e556d0d5943c2611be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement v4.6.0: sweep Live Activity, share extension, iPad split view, actionable notifications</title>
<updated>2026-07-17T15:12:36+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T13:36:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=b4b94d54cbed9334a28cdcd70d3a8a0fd06e04ef'/>
<id>urn:sha1:b4b94d54cbed9334a28cdcd70d3a8a0fd06e04ef</id>
<content type='text'>
- Sweep Live Activity: SweepActivityAttributes (Shared/), lock-screen + Dynamic
  Island UI in the widget extension, driven by SweepActivityController wired into
  the batch pipeline (begin/update/end); NSSupportsLiveActivities in Info.plist.
- Share extension (DomainDigShareExtension): accepts a web URL from the share
  sheet, extracts the host, and hands it to the app via the App Group inbox
  (DomainDigShareInbox); the app consumes it on activation and inspects it.
- iPad layout: RootTabView uses NavigationSplitView in the regular size class
  and the tab bar in compact.
- Actionable notifications: per-domain threadIdentifier grouping, a Re-inspect
  action, and tap routing into the domain detail via the intent router.
- Bump version to 4.6.0 (build 38) across app, widget, and share targets.
</content>
</entry>
<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>
</feed>
