<feed xmlns='http://www.w3.org/2005/Atom'>
<title>domain-dig.git/DomainDig/DomainDigApp.swift, 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>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>DomainDig v4.2.0: Add a local-only HTTP API layer for DomainDig</title>
<updated>2026-04-26T05:22:01+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-26T05:22:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=cc69cbd7e589ec4b065ce74d8c5e7714a040cfc5'/>
<id>urn:sha1:cc69cbd7e589ec4b065ce74d8c5e7714a040cfc5</id>
<content type='text'>
Expose DomainDig as a programmable local domain intelligence engine over
localhost with explicit user opt-in and token-based authentication.

Highlights:
- add a localhost-only API server with safe start/stop lifecycle
- require a local token for every request and store it in Keychain
- add read endpoints for portfolio, domains, history, events, and monitoring
- add inspection endpoints that reuse the existing inspection engine
- add monitoring enable/disable control endpoints
- add structured JSON response envelopes with API versioning
- add lightweight capped request logging with clear/reset support
- add a Settings UI for Local API enablement, token management, status, and logs
- start the server on launch only when enabled
- include Local API secrets in local data reset cleanup

This is the first programmability release for DomainDig and establishes the
foundation for Shortcuts, scripts, and other local automation workflows.
</content>
</entry>
<entry>
<title>DomainDig v4.0.0 — Integrations</title>
<updated>2026-04-25T05:25:18+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-25T05:25:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=1715e59287a7b48b29ed8cbf2cd45fcc92ec3126'/>
<id>urn:sha1:1715e59287a7b48b29ed8cbf2cd45fcc92ec3126</id>
<content type='text'>
* Outbound webhook delivery
* Native Slack webhook integration
* SMTP-based email alerts
* Per-integration event filtering
* Reliable local delivery queue
* Delivery logs and retry visibility
* Integration management UI
* Normalized event severity model
* Canonical structured event payloads
</content>
</entry>
<entry>
<title>feat(v3.6.0): add iCloud sharing for workflows and tracked domains</title>
<updated>2026-04-24T04:12:34+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-24T04:12:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=b35f1b432fc24fbab1fa05593c9a0bca7e4d95a6'/>
<id>urn:sha1:b35f1b432fc24fbab1fa05593c9a0bca7e4d95a6</id>
<content type='text'>
- implement CloudKit sharing (CKShare) for TrackedDomain and DomainWorkflow
- support read-only and editable permissions
- add Share actions and shared state indicators in UI
- handle shared record ownership and participant roles
- implement deterministic conflict resolution to prevent duplication
- ensure compatibility with existing iCloud sync layer
- maintain local-first behavior with graceful offline handling
- remove debug logging for domain availability/rdap messages

notes:
- no custom backend or accounts introduced
- sharing is Apple ecosystem only (iCloud-based)
- large history data remains local-only
</content>
</entry>
<entry>
<title>feat(v3.4.0): add backup, restore, and data portability</title>
<updated>2026-04-24T03:15:20+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-24T03:15:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=f045a5d339a796f40a9e958436ebc6f5314bdab8'/>
<id>urn:sha1:f045a5d339a796f40a9e958436ebc6f5314bdab8</id>
<content type='text'>
• introduce versioned DomainDig backup format
• add full backup export/import with merge and replace modes
• implement data validation and conflict handling
• add partial exports for tracked domains, workflows, and history
• add Data Portability settings section
• support Files/iCloud Drive import and export
• harden migrations for evolving local models
• extend CLI with backup export and validation
</content>
</entry>
<entry>
<title>feat(v3​.1​.0): add ​Store​Kit integration and ​Pro tier</title>
<updated>2026-04-22T17:39:23+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-22T17:39:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=dcf4135ec376d357b8fafc0101a75b674e76329a'/>
<id>urn:sha1:dcf4135ec376d357b8fafc0101a75b674e76329a</id>
<content type='text'>
• implement Purchase​Service using StoreKit 2
• activate feature tiers based on entitlement
• add minimal paywall and restore flow
• enforce free-tier limits with upgrade paths
• integrate Pro status into settings
• ensure clean and non-intrusive monetization flow
</content>
</entry>
<entry>
<title>feat(v3.0.0): unify platform architecture and introduce feature tiers</title>
<updated>2026-04-22T16:46:52+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-22T16:46:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=37b02e5ee360d61751951b77b7b556165a3af1fc'/>
<id>urn:sha1:37b02e5ee360d61751951b77b7b556165a3af1fc</id>
<content type='text'>
* consolidate DomainReport as canonical data model
* add feature tier system (free/pro/data+ scaffolding)
* apply clean feature gating across workflows and tracking
* refactor app structure for maintainability
* standardize navigation and settings
* add data lifecycle controls
* ensure consistency across UI, export, and CLI
* stabilize internal inspection API
</content>
</entry>
<entry>
<title>feat(v2​.6​.0): refine ​UI, density, and usability</title>
<updated>2026-04-22T06:20:47+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-22T06:20:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=36ea668d7fc9070770973b0bc329f4319bf43cab'/>
<id>urn:sha1:36ea668d7fc9070770973b0bc329f4319bf43cab</id>
<content type='text'>
• add compact/comfortable density modes
• implement collapsible sections and sticky summary header
• improve visual status indicators and copy actions
• refine watchlist and history UX with swipe actions
• reorganize settings and improve empty states
• add subtle animations and accessibility improvements
</content>
</entry>
<entry>
<title>feat(v2.2.0): add foreground monitoring, notifications, and smarter diffs</title>
<updated>2026-04-22T02:53:16+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-22T02:53:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=1f58092dcb67cded75a850db364f3b46d86181f3'/>
<id>urn:sha1:1f58092dcb67cded75a850db364f3b46d86181f3</id>
<content type='text'>
- implement “Check All” sweep for tracked domains
- add local notifications for changes and certificate expiration
- introduce change severity filtering (low/medium/high)
- enhance change summaries and diff readability
- add certificate expiration tracking and alerts
- improve watchlist indicators for changes
- add sweep summary screen
- optimize performance for larger watchlists
</content>
</entry>
<entry>
<title>initial commit</title>
<updated>2026-03-12T03:01:24+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-12T03:01:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=e11b7d29a6aa9e52f63fcb35ee7ed9127850fffe'/>
<id>urn:sha1:e11b7d29a6aa9e52f63fcb35ee7ed9127850fffe</id>
<content type='text'>
</content>
</entry>
</feed>
