Skip to content

Commit e417d7d

Browse files
committed
v0.4.13: Unsandbox the GitHub zip build; codify release pipeline
v0.4.11/12 zips were accidentally built with the MAS sandbox profile (no network entitlement) -> Check for Updates failed with hostname-not- found. Restored the documented CODE_SIGN_ENTITLEMENTS="" pipeline as scripts/build-release-zip.sh with a guard refusing sandboxed output.
1 parent 7529484 commit e417d7d

4 files changed

Lines changed: 51 additions & 6 deletions

File tree

AIMemoryReader.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@
427427
"$(inherited)",
428428
"@executable_path/../Frameworks",
429429
);
430-
MARKETING_VERSION = 0.4.12;
430+
MARKETING_VERSION = 0.4.13;
431431
PRODUCT_BUNDLE_IDENTIFIER = "com.aitools.ai-memory-reader";
432432
PRODUCT_NAME = "AI Memory Reader";
433433
SDKROOT = macosx;
@@ -451,7 +451,7 @@
451451
"$(inherited)",
452452
"@executable_path/Frameworks",
453453
);
454-
MARKETING_VERSION = 0.4.12;
454+
MARKETING_VERSION = 0.4.13;
455455
PRODUCT_BUNDLE_IDENTIFIER = "com.aitools.ai-memory-reader-ios";
456456
PRODUCT_NAME = "AI Memory Reader";
457457
SDKROOT = iphoneos;
@@ -596,7 +596,7 @@
596596
"$(inherited)",
597597
"@executable_path/Frameworks",
598598
);
599-
MARKETING_VERSION = 0.4.12;
599+
MARKETING_VERSION = 0.4.13;
600600
PRODUCT_BUNDLE_IDENTIFIER = "com.aitools.ai-memory-reader-ios";
601601
PRODUCT_NAME = "AI Memory Reader";
602602
SDKROOT = iphoneos;
@@ -621,7 +621,7 @@
621621
"$(inherited)",
622622
"@executable_path/../Frameworks",
623623
);
624-
MARKETING_VERSION = 0.4.12;
624+
MARKETING_VERSION = 0.4.13;
625625
PRODUCT_BUNDLE_IDENTIFIER = "com.aitools.ai-memory-reader";
626626
PRODUCT_NAME = "AI Memory Reader";
627627
SDKROOT = macosx;

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,20 @@
33
All notable changes to AI Memory Reader. Full release notes and downloads:
44
https://github.com/nvwalj/ai-memory-reader/releases
55

6+
## v0.4.13 — 2026-06-10
7+
8+
**Fixed "Check for Updates" failing with a hostname error.**
9+
10+
- The v0.4.11 and v0.4.12 GitHub zips were accidentally built with the Mac App
11+
Store sandbox profile, which has no network permission — so the update
12+
checker couldn't reach api.github.com and reported "A server with the
13+
specified hostname could not be found." The GitHub build is now unsandboxed
14+
again (as it was through v0.4.10), and the release pipeline is codified in
15+
`scripts/build-release-zip.sh` with a guard that refuses sandboxed output.
16+
- Side benefit: the folder-context feature from v0.4.11/12 no longer needs any
17+
grant prompt in this build — double-clicking a file shows its folder
18+
immediately, for any readable folder.
19+
620
## v0.4.12 — 2026-06-10
721

822
**Fixed: folder context now works for folders AIMR couldn't already read.**

project.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ targets:
3131
base:
3232
PRODUCT_BUNDLE_IDENTIFIER: com.aitools.ai-memory-reader
3333
PRODUCT_NAME: AI Memory Reader
34-
MARKETING_VERSION: "0.4.12"
34+
MARKETING_VERSION: "0.4.13"
3535
CURRENT_PROJECT_VERSION: "13"
3636
INFOPLIST_KEY_LSApplicationCategoryType: public.app-category.developer-tools
3737
INFOPLIST_KEY_CFBundleDisplayName: AI Memory Reader
@@ -63,7 +63,7 @@ targets:
6363
base:
6464
PRODUCT_BUNDLE_IDENTIFIER: com.aitools.ai-memory-reader-ios
6565
PRODUCT_NAME: AI Memory Reader
66-
MARKETING_VERSION: "0.4.12"
66+
MARKETING_VERSION: "0.4.13"
6767
CURRENT_PROJECT_VERSION: "11"
6868
INFOPLIST_KEY_UIApplicationSceneManifest_Generation: YES
6969
INFOPLIST_KEY_CFBundleDisplayName: AI Memory Reader

scripts/build-release-zip.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
# Direct-distribution (GitHub zip) release build.
3+
#
4+
# IMPORTANT: pass CODE_SIGN_ENTITLEMENTS="" — the Release config's sandboxed
5+
# entitlements are for the Mac App Store submission only. The GitHub zip ships
6+
# UNSANDBOXED: the update checker needs network, and folder access must work
7+
# without grant prompts. v0.4.11/v0.4.12 were accidentally built sandboxed and
8+
# broke "Check for Updates" with a hostname-not-found error. Don't repeat that.
9+
set -euo pipefail
10+
cd "$(dirname "$0")/.."
11+
12+
VERSION=$(grep -m1 'MARKETING_VERSION' project.yml | sed 's/.*"\(.*\)"/\1/')
13+
xcodegen generate
14+
xcodebuild -project AIMemoryReader.xcodeproj -scheme AIMemoryReader \
15+
-configuration Release -destination 'platform=macOS' \
16+
ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO \
17+
CODE_SIGN_ENTITLEMENTS="" \
18+
-derivedDataPath build/dd build | grep -E '^\*\*' || true
19+
20+
APP="build/dd/Build/Products/Release/AI Memory Reader.app"
21+
# Guard: the GitHub zip must never be sandboxed.
22+
if codesign -d --entitlements - "$APP" 2>/dev/null | grep -q app-sandbox; then
23+
echo "ERROR: build is sandboxed — wrong entitlements for the GitHub zip" >&2
24+
exit 1
25+
fi
26+
27+
mkdir -p build/release
28+
( cd "$(dirname "$APP")" && ditto -c -k --sequesterRsrc --keepParent "AI Memory Reader.app" \
29+
"$OLDPWD/build/release/AIMemoryReader-v${VERSION}-universal.zip" )
30+
cp "build/release/AIMemoryReader-v${VERSION}-universal.zip" build/release/AIMemoryReader.zip
31+
echo "Built build/release/AIMemoryReader-v${VERSION}-universal.zip (+ AIMemoryReader.zip alias)"

0 commit comments

Comments
 (0)