Skip to content

Commit 3034062

Browse files
committed
release: v0.29.0
1 parent 721e378 commit 3034062

File tree

6 files changed

+28
-9
lines changed

6 files changed

+28
-9
lines changed

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.29.0] - 2026-04-09
11+
1012
### Added
1113

1214
- Maintenance tools via table context menu (VACUUM, ANALYZE, OPTIMIZE, REINDEX, CHECK TABLE, etc.)
@@ -1211,7 +1213,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
12111213
- Custom SQL query templates
12121214
- Performance optimized for large datasets
12131215

1214-
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.28.0...HEAD
1216+
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.29.0...HEAD
1217+
[0.29.0]: https://github.com/TableProApp/TablePro/compare/v0.28.0...v0.29.0
12151218
[0.28.0]: https://github.com/TableProApp/TablePro/compare/v0.27.5...v0.28.0
12161219
[0.27.5]: https://github.com/TableProApp/TablePro/compare/v0.27.4...v0.27.5
12171220
[0.27.4]: https://github.com/TableProApp/TablePro/compare/v0.27.3...v0.27.4

TablePro.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2091,7 +2091,7 @@
20912091
CODE_SIGN_IDENTITY = "Apple Development";
20922092
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
20932093
CODE_SIGN_STYLE = Automatic;
2094-
CURRENT_PROJECT_VERSION = 60;
2094+
CURRENT_PROJECT_VERSION = 61;
20952095
DEAD_CODE_STRIPPING = YES;
20962096
DEVELOPMENT_TEAM = D7HJ5TFYCU;
20972097
ENABLE_APP_SANDBOX = NO;
@@ -2116,7 +2116,7 @@
21162116
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
21172117
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
21182118
MACOSX_DEPLOYMENT_TARGET = 14.0;
2119-
MARKETING_VERSION = 0.28.0;
2119+
MARKETING_VERSION = 0.29.0;
21202120
OTHER_LDFLAGS = (
21212121
"-Wl,-w",
21222122
"-force_load",
@@ -2163,7 +2163,7 @@
21632163
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
21642164
CODE_SIGN_STYLE = Automatic;
21652165
COPY_PHASE_STRIP = YES;
2166-
CURRENT_PROJECT_VERSION = 60;
2166+
CURRENT_PROJECT_VERSION = 61;
21672167
DEAD_CODE_STRIPPING = YES;
21682168
DEPLOYMENT_POSTPROCESSING = YES;
21692169
DEVELOPMENT_TEAM = D7HJ5TFYCU;
@@ -2189,7 +2189,7 @@
21892189
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
21902190
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
21912191
MACOSX_DEPLOYMENT_TARGET = 14.0;
2192-
MARKETING_VERSION = 0.28.0;
2192+
MARKETING_VERSION = 0.29.0;
21932193
OTHER_LDFLAGS = (
21942194
"-Wl,-w",
21952195
"-force_load",

TablePro/Core/AI/AnthropicProvider.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,5 +236,4 @@ final class AnthropicProvider: AIProvider {
236236
}
237237
return outputTokens
238238
}
239-
240239
}

TablePro/Core/AI/OpenAICompatibleProvider.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,5 +318,4 @@ final class OpenAICompatibleProvider: AIProvider {
318318

319319
return models.compactMap { $0["name"] as? String }.sorted()
320320
}
321-
322321
}

TablePro/Views/QueryPlan/QueryPlanDiagramView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ struct QueryPlanDiagramView: View {
196196
childPositions.append(contentsOf: childNodes)
197197
}
198198

199-
let firstChildX = childPositions.filter { $0.parentId == node.id }.first?.rect.midX ?? xOffset
200-
let lastChildX = childPositions.filter { $0.parentId == node.id }.last?.rect.midX ?? xOffset
199+
let firstChildX = childPositions.first { $0.parentId == node.id }?.rect.midX ?? xOffset
200+
let lastChildX = childPositions.last { $0.parentId == node.id }?.rect.midX ?? xOffset
201201
let centerX = (firstChildX + lastChildX) / 2
202202

203203
let rect = CGRect(

docs/changelog.mdx

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

7+
<Update label="April 9, 2026" description="v0.29.0">
8+
### New Features
9+
10+
- **Maintenance Tools**: VACUUM, ANALYZE, OPTIMIZE, REINDEX, CHECK TABLE, and more via table context menu
11+
- **EXPLAIN Visualization**: Diagram, tree, and raw views for query execution plans (PostgreSQL, MySQL)
12+
13+
### Bug Fixes
14+
15+
- Fixed cross-schema foreign key preview, edit, and navigation for PostgreSQL and MySQL (#644)
16+
- Fixed macOS HIG compliance: system colors, accessibility labels, theme tokens, localization
17+
- Fixed idle ping spin loop caused by exhausted AsyncStream iterator (#618)
18+
- Skip exact row count for large tables — use database statistics estimate (#519)
19+
20+
### Improvements
21+
22+
- Theme font pickers now list all installed monospaced fonts dynamically
23+
</Update>
24+
725
<Update label="April 7, 2026" description="v0.28.0">
826
### New Features
927

0 commit comments

Comments
 (0)