Skip to content

Commit 1764771

Browse files
committed
release: v0.19.0
1 parent 7a9a31c commit 1764771

8 files changed

Lines changed: 43 additions & 12 deletions

File tree

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.19.0] - 2026-03-15
11+
1012
### Added
1113

1214
- iCloud Sync (Pro): sync connections, groups, tags, settings, and query history across Macs with per-category toggles, conflict resolution, and real-time status indicator
@@ -857,7 +859,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
857859
- Custom SQL query templates
858860
- Performance optimized for large datasets
859861

860-
[Unreleased]: https://github.com/datlechin/tablepro/compare/v0.18.1...HEAD
862+
[Unreleased]: https://github.com/datlechin/tablepro/compare/v0.19.0...HEAD
863+
[0.19.0]: https://github.com/datlechin/tablepro/compare/v0.18.1...v0.19.0
861864
[0.18.1]: https://github.com/datlechin/tablepro/compare/v0.18.0...v0.18.1
862865
[0.18.0]: https://github.com/datlechin/tablepro/compare/v0.17.0...v0.18.0
863866
[0.17.0]: https://github.com/datlechin/tablepro/compare/v0.16.1...v0.17.0

TablePro.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,7 +1666,7 @@
16661666
CODE_SIGN_IDENTITY = "Apple Development";
16671667
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
16681668
CODE_SIGN_STYLE = Automatic;
1669-
CURRENT_PROJECT_VERSION = 33;
1669+
CURRENT_PROJECT_VERSION = 34;
16701670
DEAD_CODE_STRIPPING = YES;
16711671
DEVELOPMENT_TEAM = D7HJ5TFYCU;
16721672
ENABLE_APP_SANDBOX = NO;
@@ -1691,7 +1691,7 @@
16911691
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
16921692
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
16931693
MACOSX_DEPLOYMENT_TARGET = 14.0;
1694-
MARKETING_VERSION = 0.18.1;
1694+
MARKETING_VERSION = 0.19.0;
16951695
OTHER_LDFLAGS = (
16961696
"-Wl,-w",
16971697
"-force_load",
@@ -1738,7 +1738,7 @@
17381738
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
17391739
CODE_SIGN_STYLE = Automatic;
17401740
COPY_PHASE_STRIP = YES;
1741-
CURRENT_PROJECT_VERSION = 33;
1741+
CURRENT_PROJECT_VERSION = 34;
17421742
DEAD_CODE_STRIPPING = YES;
17431743
DEPLOYMENT_POSTPROCESSING = YES;
17441744
DEVELOPMENT_TEAM = D7HJ5TFYCU;
@@ -1764,7 +1764,7 @@
17641764
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
17651765
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
17661766
MACOSX_DEPLOYMENT_TARGET = 14.0;
1767-
MARKETING_VERSION = 0.18.1;
1767+
MARKETING_VERSION = 0.19.0;
17681768
OTHER_LDFLAGS = (
17691769
"-Wl,-w",
17701770
"-force_load",

TablePro/Core/SSH/SSHConfigParser.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,5 +191,4 @@ final class SSHConfigParser {
191191

192192
return jumpHosts
193193
}
194-
195194
}

TablePro/Core/Storage/LicenseStorage.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class LicenseStorage {
3333

3434
/// Load license key from Keychain
3535
func loadLicenseKey() -> String? {
36-
return KeychainHelper.shared.loadString(forKey: Keys.keychainLicenseKey)
36+
KeychainHelper.shared.loadString(forKey: Keys.keychainLicenseKey)
3737
}
3838

3939
/// Delete license key from Keychain

TablePro/TableProApp.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,21 +389,21 @@ struct AppMenuCommands: Commands {
389389
// Help menu
390390
CommandGroup(replacing: .help) {
391391
Button(String(localized: "TablePro Website")) {
392-
NSWorkspace.shared.open(URL(string: "https://tablepro.app")!)
392+
if let url = URL(string: "https://tablepro.app") { NSWorkspace.shared.open(url) }
393393
}
394394

395395
Button(String(localized: "Documentation")) {
396-
NSWorkspace.shared.open(URL(string: "https://docs.tablepro.app")!)
396+
if let url = URL(string: "https://docs.tablepro.app") { NSWorkspace.shared.open(url) }
397397
}
398398

399399
Divider()
400400

401401
Button("GitHub Repository") {
402-
NSWorkspace.shared.open(URL(string: "https://github.com/datlechin/TablePro")!)
402+
if let url = URL(string: "https://github.com/datlechin/TablePro") { NSWorkspace.shared.open(url) }
403403
}
404404

405405
Button(String(localized: "Sponsor TablePro")) {
406-
NSWorkspace.shared.open(URL(string: "https://github.com/sponsors/datlechin")!)
406+
if let url = URL(string: "https://github.com/sponsors/datlechin") { NSWorkspace.shared.open(url) }
407407
}
408408
}
409409
}

TablePro/Views/Toolbar/TableProToolbarView.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ struct TableProToolbar: ViewModifier {
187187
.help("Import Data (⌘⇧I)")
188188
.disabled(state.connectionState != .connected || state.safeModeLevel.blocksAllWrites)
189189
}
190-
191190
}
192191
}
193192
.onReceive(NotificationCenter.default.publisher(for: .openConnectionSwitcher)) { _ in

docs/changelog.mdx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@ description: "Product updates and announcements for TablePro"
44
rss: true
55
---
66

7+
<Update label="March 15, 2026" description="v0.19.0">
8+
### New Features
9+
10+
- **iCloud Sync (Pro)**: Sync connections, groups, tags, settings, and query history across Macs with per-category toggles, conflict resolution, and real-time status indicator
11+
- **SQL Favorites**: Save frequently used queries with optional keyword bindings for autocomplete expansion
12+
- **Copy as JSON**: Copy selected rows as JSON from context menu and Edit menu
13+
- **Help Menu**: Quick links to website, documentation, GitHub, and sponsor page
14+
- **BLOB Hex Display**: View BLOB data as hex dump in the detail view sidebar
15+
16+
### Bug Fixes
17+
18+
- Fixed SSH agent connections failing when socket path contains `~` (e.g., 1Password agent)
19+
- Fixed Keychain authorization prompt appearing on every table open
20+
</Update>
21+
722
<Update label="March 14, 2026" description="v0.18.1">
823
### Bug Fixes
924

docs/vi/changelog.mdx

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

7+
<Update label="15 tháng 3, 2026" description="v0.19.0">
8+
### Tính năng mới
9+
10+
- **iCloud Sync (Pro)**: Đồng bộ kết nối, nhóm, tag, cài đặt và lịch sử truy vấn giữa các máy Mac với tuỳ chọn theo danh mục, giải quyết xung đột và chỉ báo trạng thái thời gian thực
11+
- **SQL Favorites**: Lưu truy vấn thường dùng với tuỳ chọn gán từ khoá cho tự động hoàn thành
12+
- **Sao chép dưới dạng JSON**: Sao chép hàng đã chọn dưới dạng JSON từ menu ngữ cảnh và menu Edit
13+
- **Menu Trợ giúp**: Liên kết nhanh đến website, tài liệu, GitHub và trang tài trợ
14+
- **Hiển thị BLOB dạng hex**: Xem dữ liệu BLOB dưới dạng hex dump trong thanh chi tiết
15+
16+
### Sửa lỗi
17+
18+
- Sửa lỗi kết nối SSH agent thất bại khi đường dẫn socket chứa `~` (ví dụ: 1Password agent)
19+
- Sửa lỗi hộp thoại xác thực Keychain xuất hiện mỗi khi mở bảng
20+
</Update>
21+
722
<Update label="14 tháng 3, 2026" description="v0.18.1">
823
### Sửa lỗi
924

0 commit comments

Comments
 (0)