summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--DomainDig.xcodeproj/project.pbxproj24
-rw-r--r--DomainDig/AppVersion.swift2
-rw-r--r--RELEASE_ROADMAP.md26
3 files changed, 38 insertions, 14 deletions
diff --git a/DomainDig.xcodeproj/project.pbxproj b/DomainDig.xcodeproj/project.pbxproj
index 69a283a..136ab85 100644
--- a/DomainDig.xcodeproj/project.pbxproj
+++ b/DomainDig.xcodeproj/project.pbxproj
@@ -495,7 +495,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = DomainDig/DomainDig.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 40;
+ CURRENT_PROJECT_VERSION = 41;
DEVELOPMENT_TEAM = ZCNAX3VL9D;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -512,7 +512,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 4.8.0;
+ MARKETING_VERSION = 4.8.1;
PRODUCT_BUNDLE_IDENTIFIER = net.cleberg.DomainDig;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -532,7 +532,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = DomainDig/DomainDig.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 40;
+ CURRENT_PROJECT_VERSION = 41;
DEVELOPMENT_TEAM = ZCNAX3VL9D;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -549,7 +549,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 4.8.0;
+ MARKETING_VERSION = 4.8.1;
PRODUCT_BUNDLE_IDENTIFIER = net.cleberg.DomainDig;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -568,7 +568,7 @@
APPLICATION_EXTENSION_API_ONLY = YES;
CODE_SIGN_ENTITLEMENTS = DomainDigWidget/DomainDigWidget.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 40;
+ CURRENT_PROJECT_VERSION = 41;
DEVELOPMENT_TEAM = ZCNAX3VL9D;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = DomainDigWidget/Info.plist;
@@ -579,7 +579,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 4.8.0;
+ MARKETING_VERSION = 4.8.1;
PRODUCT_BUNDLE_IDENTIFIER = net.cleberg.DomainDig.DomainDigWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -597,7 +597,7 @@
APPLICATION_EXTENSION_API_ONLY = YES;
CODE_SIGN_ENTITLEMENTS = DomainDigWidget/DomainDigWidget.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 40;
+ CURRENT_PROJECT_VERSION = 41;
DEVELOPMENT_TEAM = ZCNAX3VL9D;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = DomainDigWidget/Info.plist;
@@ -608,7 +608,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 4.8.0;
+ MARKETING_VERSION = 4.8.1;
PRODUCT_BUNDLE_IDENTIFIER = net.cleberg.DomainDig.DomainDigWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -626,7 +626,7 @@
APPLICATION_EXTENSION_API_ONLY = YES;
CODE_SIGN_ENTITLEMENTS = DomainDigShareExtension/DomainDigShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 40;
+ CURRENT_PROJECT_VERSION = 41;
DEVELOPMENT_TEAM = ZCNAX3VL9D;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = DomainDigShareExtension/Info.plist;
@@ -637,7 +637,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 4.8.0;
+ MARKETING_VERSION = 4.8.1;
PRODUCT_BUNDLE_IDENTIFIER = net.cleberg.DomainDig.DomainDigShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -655,7 +655,7 @@
APPLICATION_EXTENSION_API_ONLY = YES;
CODE_SIGN_ENTITLEMENTS = DomainDigShareExtension/DomainDigShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 40;
+ CURRENT_PROJECT_VERSION = 41;
DEVELOPMENT_TEAM = ZCNAX3VL9D;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = DomainDigShareExtension/Info.plist;
@@ -666,7 +666,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 4.8.0;
+ MARKETING_VERSION = 4.8.1;
PRODUCT_BUNDLE_IDENTIFIER = net.cleberg.DomainDig.DomainDigShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
diff --git a/DomainDig/AppVersion.swift b/DomainDig/AppVersion.swift
index 137fde9..bdd0518 100644
--- a/DomainDig/AppVersion.swift
+++ b/DomainDig/AppVersion.swift
@@ -2,6 +2,6 @@ import Foundation
enum AppVersion {
nonisolated static var current: String {
- "4.8.0"
+ "4.8.1"
}
}
diff --git a/RELEASE_ROADMAP.md b/RELEASE_ROADMAP.md
index 3bb7966..dfe645e 100644
--- a/RELEASE_ROADMAP.md
+++ b/RELEASE_ROADMAP.md
@@ -6,7 +6,7 @@ ports, geolocation, subdomains, availability). The next several releases invest
in *reach and surfacing* — getting that data onto more iOS surfaces and into more
workflows — rather than adding raw protocol checks.
-Current version: `v4.8.0`.
+Current version: `v4.8.1`.
## v4.4.1 Patch: Release Readiness — ✅ shipped
@@ -96,6 +96,30 @@ Deferred/scoped out: scheduled-report settings and logs are UserDefaults-only
v4.7.0's watchlist saved views — this is local automation config, not
user-authored content.
+## v4.8.1 Patch: Reporting & Sharing Fixes — ✅ shipped
+
+Goal: fix what UAT of v4.8.0 turned up.
+
+- **Scheduled reports were unreachable manually** — the Overview section wrapped
+ every control in a single `VStack` inside one `List` row, so SwiftUI collapsed
+ them into one tap target and the Cadence `Picker` captured taps meant for
+ "Generate Now". Each control is now its own row.
+- **Pro gate completed on that screen** — `.automatedMonitoring` previously
+ disabled only the toggle, leaving both pickers and "Generate Now" interactive
+ on Free where they silently no-opped against the service-side guard.
+- **Markdown/PDF reports rendered `=` underlines as bullets** — the plain-text
+ transform only recognized `-`, so `batchText`'s title underline and its
+ 48-character inter-report separators leaked through as literal list items.
+- **Duplicate DNS record values** — the report concatenated apex and wildcard
+ records without dedup, listing every value twice on domains with wildcard DNS.
+- **Inspect tab keyboard behavior** — removed the "Dismiss Keyboard" toolbar
+ button and the launch-time focus that raised the keyboard on app open.
+
+Known open follow-ups filed during UAT: integration events to a disabled target
+vanish with no delivery-log row (#8), "Process Queue Now" does not force a
+backed-off retry (#9), and a monitoring snapshot fallback silently reports "No
+meaningful changes" (#10).
+
## v5.0.0 Major: Contract Stabilization & Engineering Health
Goal: earn long-term compatibility promises — and pay down the debt that the