<feed xmlns='http://www.w3.org/2005/Atom'>
<title>domain-dig.git/DomainDig/FeatureAccessService.swift, branch v5.0.1</title>
<subtitle>local-first ios domain inspection toolkit. dns, tls, rdap, audit.
</subtitle>
<id>http://git.krz.sh/krz/domain-dig.git/atom?h=v5.0.1</id>
<link rel='self' href='http://git.krz.sh/krz/domain-dig.git/atom?h=v5.0.1'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/'/>
<updated>2026-07-17T15:57:30+00:00</updated>
<entry>
<title>v4.7.0: Add domain reputation/blocklist data source</title>
<updated>2026-07-17T15:57:30+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-17T15:39:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=6e273c2676ce29cef057d117e4427e031886e743'/>
<id>urn:sha1:6e273c2676ce29cef057d117e4427e031886e743</id>
<content type='text'>
- New DomainReputationResult model (status: clean/listed/unknown, listed
  sources, checked-at) and a `reputation(domain:)` method on ExternalDataService,
  mirroring the existing pluggable-URL enrichment pattern (ownership history,
  DNS history, extended subdomains, pricing). With no endpoint configured
  (the default; DomainDig ships no bundled third-party reputation dependency)
  it resolves to unavailable rather than "clean".
- New .reputation FeatureCapability/DataCapability, gated Pro+ like domainPricing.
- Threaded reputation/reputationError through LookupSnapshot and HistoryEntry
  (backward-compatible decode) so results persist with history entries.
- Auto-fetched in performLookup alongside pricing; surfaced as a "Reputation"
  info row, folded into DomainInsightEngine's risk score/factors and top-level
  insights (a listed domain raises risk score and adds a factor/insight), and
  exported in text, CSV, and JSON report output.
- Reputation-driven risk changes ride the existing change-severity pipeline, so
  a listed status flip is visible to monitoring the same way any other risk
  delta is, without bespoke monitoring wiring.
</content>
</entry>
<entry>
<title>DomainDig v3.8.0 — Smart Monitoring</title>
<updated>2026-04-24T20:04:54+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-24T20:04:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=3f0b7746b1bee4c2f626eb805e3fd13c5f2f5d22'/>
<id>urn:sha1:3f0b7746b1bee4c2f626eb805e3fd13c5f2f5d22</id>
<content type='text'>
* Stable domain intervals
* Frequent changes decrease intervals
* Duplicate states do not trigger alerts
* Quiet hours suppress alerts
* Quiet hours across midnight work correctly
* Sensitivity levels alter behavior as expected
</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.2.0): add Data+ tier and external data integrations</title>
<updated>2026-04-22T18:47:37+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-22T18:47:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/domain-dig.git/commit/?id=6c23daaaba2a954220ece2afa7193dbdcad55c22'/>
<id>urn:sha1:6c23daaaba2a954220ece2afa7193dbdcad55c22</id>
<content type='text'>
- introduce Data+ tier for advanced data features
- add ownership history and DNS history
- expand subdomain discovery with external sources
- add domain pricing insights
- implement local usage/credit system
- integrate external data service layer with rate limiting
- extend export and CLI for Data+ features
</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>
</feed>
