Skip to content

Commit 9b69ba7

Browse files
committed
release: v0.9.2
1 parent 720315b commit 9b69ba7

File tree

5 files changed

+26
-16
lines changed

5 files changed

+26
-16
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.9.2] - 2026-02-28
11+
12+
### Fixed
13+
14+
- Fix app bundle not ad-hoc signed — signing step was unreachable when no dylibs were bundled
15+
1016
## [0.9.1] - 2026-02-28
1117

1218
### Fixed
@@ -570,7 +576,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
570576
- Custom SQL query templates
571577
- Performance optimized for large datasets
572578

573-
[Unreleased]: https://github.com/datlechin/tablepro/compare/v0.9.1...HEAD
579+
[Unreleased]: https://github.com/datlechin/tablepro/compare/v0.9.2...HEAD
580+
[0.9.2]: https://github.com/datlechin/tablepro/compare/v0.9.1...v0.9.2
574581
[0.9.1]: https://github.com/datlechin/tablepro/compare/v0.9.0...v0.9.1
575582
[0.9.0]: https://github.com/datlechin/tablepro/compare/v0.8.0...v0.9.0
576583
[0.8.0]: https://github.com/datlechin/tablepro/compare/v0.7.0...v0.8.0

TablePro.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@
381381
CODE_SIGN_IDENTITY = "Apple Development";
382382
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
383383
CODE_SIGN_STYLE = Automatic;
384-
CURRENT_PROJECT_VERSION = 18;
384+
CURRENT_PROJECT_VERSION = 19;
385385
DEAD_CODE_STRIPPING = YES;
386386
DEVELOPMENT_TEAM = D7HJ5TFYCU;
387387
ENABLE_APP_SANDBOX = NO;
@@ -411,7 +411,7 @@
411411
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
412412
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs";
413413
MACOSX_DEPLOYMENT_TARGET = 14.0;
414-
MARKETING_VERSION = 0.9.1;
414+
MARKETING_VERSION = 0.9.2;
415415
OTHER_LDFLAGS = (
416416
"-force_load",
417417
"$(PROJECT_DIR)/Libs/libmariadb.a",
@@ -460,7 +460,7 @@
460460
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
461461
CODE_SIGN_STYLE = Automatic;
462462
COPY_PHASE_STRIP = YES;
463-
CURRENT_PROJECT_VERSION = 18;
463+
CURRENT_PROJECT_VERSION = 19;
464464
DEAD_CODE_STRIPPING = YES;
465465
DEPLOYMENT_POSTPROCESSING = YES;
466466
DEVELOPMENT_TEAM = D7HJ5TFYCU;
@@ -491,7 +491,7 @@
491491
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
492492
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs";
493493
MACOSX_DEPLOYMENT_TARGET = 14.0;
494-
MARKETING_VERSION = 0.9.1;
494+
MARKETING_VERSION = 0.9.2;
495495
OTHER_LDFLAGS = (
496496
"-force_load",
497497
"$(PROJECT_DIR)/Libs/libmariadb.a",

docs/changelog.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "Product updates and announcements for TablePro"
44
rss: true
55
---
66

7-
<Update label="February 28, 2026" description="v0.9.1">
7+
<Update label="February 28, 2026" description="v0.9.2">
88
### Bug Fixes
99

1010
- Fixed Sparkle auto-update failing with "improperly signed" error

docs/vi/changelog.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "Cập nhật sản phẩm và thông báo cho TablePro"
44
rss: true
55
---
66

7-
<Update label="28 tháng 2, 2026" description="v0.9.1">
7+
<Update label="28 tháng 2, 2026" description="v0.9.2">
88
### Sửa lỗi
99

1010
- Sửa lỗi cập nhật tự động qua Sparkle thất bại với thông báo "improperly signed"

scripts/build-release.sh

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -221,19 +221,12 @@ bundle_dylibs() {
221221
echo " ⚠️ WARNING: Could not determine deployment target, skipping dylib version check"
222222
fi
223223

224-
# Ad-hoc sign everything (required on Apple Silicon)
225-
# Sign inner components first (dylibs, frameworks), then the app bundle last.
226-
# Signing the bundle seals resources so Sparkle can validate the update.
227-
echo " Signing bundled libraries and frameworks..."
224+
# Ad-hoc sign bundled dylibs (required on Apple Silicon)
225+
echo " Signing bundled libraries..."
228226
for fw in "$frameworks_dir"/*.dylib; do
229227
[ -f "$fw" ] || continue
230228
codesign -fs - --force "$fw" 2>/dev/null || true
231229
done
232-
for fw in "$frameworks_dir"/*.framework; do
233-
[ -d "$fw" ] || continue
234-
codesign -fs - --force "$fw" 2>/dev/null || true
235-
done
236-
codesign -fs - --force "$app_path"
237230

238231
echo "✅ Bundled $count dynamic libraries into Frameworks/"
239232
ls -lh "$frameworks_dir"/*.dylib 2>/dev/null
@@ -347,6 +340,16 @@ build_for_arch() {
347340
# Bundle non-system dynamic libraries (libpq, OpenSSL, etc.)
348341
bundle_dylibs "$BUILD_DIR/$OUTPUT_NAME"
349342

343+
# Ad-hoc sign the entire app bundle (required for Sparkle update validation).
344+
# Sign inner frameworks first, then the app bundle last to seal resources.
345+
echo "🔏 Signing app bundle..."
346+
FRAMEWORKS_DIR="$BUILD_DIR/$OUTPUT_NAME/Contents/Frameworks"
347+
for fw in "$FRAMEWORKS_DIR"/*.framework; do
348+
[ -d "$fw" ] || continue
349+
codesign -fs - --force "$fw" 2>/dev/null || true
350+
done
351+
codesign -fs - --force "$BUILD_DIR/$OUTPUT_NAME"
352+
350353
# Verify binary exists inside the copied bundle
351354
BINARY_PATH="$BUILD_DIR/$OUTPUT_NAME/Contents/MacOS/TablePro"
352355
if [ ! -f "$BINARY_PATH" ]; then

0 commit comments

Comments
 (0)