* chore(release): bump 0.8.2 -> 0.8.3 Version bumped across desktop/package.json, Cargo.toml (+ only the `gridline` entry in Cargo.lock — the sqlx family is untouched), tauri.conf.json, both landing-page `const version` strings, the README's two download tables and 'current release' banners, the MAINTENANCE comment, and the version tests. Adds the 0.8.3 changelog entry and README release note covering the external client-tool resolution fix (issue #44), the MariaDB client-option fix, the four restyled tool pages, and the app-icon revert. Historical references (older changelog entries, '(v0.8.2)' feature notes) are deliberately left alone. * test(ui): scope CopyButton's unhandled-rejection capture to its own error The listener is process-global and Vitest runs several test files per worker, so an unrelated file's rejection could be recorded and fail this test. Filter the capture to the error this test creates, and stop the listener in a finally so a failing assertion cannot leak it into later tests. Verified non-vacuous: against a CopyButton without the try/catch both 'stays quiet' tests still fail with the expected assertion.
71 lines
3.2 KiB
TOML
71 lines
3.2 KiB
TOML
[package]
|
|
name = "gridline"
|
|
version = "0.8.3"
|
|
description = "An open-source, high-performance database GUI client for PostgreSQL and beyond"
|
|
authors = ["you"]
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
# The `_lib` suffix may seem redundant but it is necessary
|
|
# to make the lib name unique and wouldn't conflict with the bin name.
|
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
|
|
name = "gridline_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-opener = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
rusqlite = { version = "0.31", features = ["bundled"] }
|
|
# URL percent-encoding for tokio-postgres connection strings (user/password may contain special chars)
|
|
urlencoding = "2"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-fs = "2"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-postgres = { version = "0.7", features = ["with-chrono-0_4", "with-uuid-1", "with-serde_json-1"] }
|
|
bytes = "1"
|
|
futures-util = "0.3"
|
|
# chrono/bigdecimal: MySQL DECIMAL and DATE/TIME/DATETIME/TIMESTAMP have no
|
|
# decoder without them, so those columns silently rendered as NULL (#41).
|
|
sqlx = { version = "0.8", features = ["runtime-tokio", "mysql", "tls-rustls", "json", "chrono", "bigdecimal"] }
|
|
redis = { version = "0.27", features = ["tokio-comp"] }
|
|
# async-ssh2 is not available at v0.4; using synchronous ssh2 via tokio::task::spawn_blocking per plan's fallback
|
|
# vendored-openssl: link OpenSSL statically so the release binary has NO
|
|
# runtime dependency on the build machine's Homebrew openssl (@/opt/homebrew
|
|
# absolute LC_LOAD_DYLIB — dyld aborts on user machines without it).
|
|
ssh2 = { version = "0.9", features = ["vendored-openssl"] }
|
|
deadpool-postgres = { version = "0.14" }
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
tauri-plugin-keyring-store = { version = "0.2.0", default-features = false }
|
|
tokio-postgres-rustls = "0.12"
|
|
# rustls: ring-only crypto provider (no aws-lc-rs / cmake C build); tls12 needed for Postgres
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
|
|
rustls-pemfile = "2"
|
|
rustls-pki-types = "1"
|
|
rustls-native-certs = "0.7"
|
|
|
|
# Keychain ACL normalization (explicit SecAccess on stored secrets so items
|
|
# survive app re-signs without permission prompts) — macOS only.
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
security-framework = "3.7"
|
|
security-framework-sys = "2.17"
|
|
# core-foundation: CFString/CFArray/TCFType helpers for the SecAccess FFI
|
|
# (already a transitive dep of security-framework; pinned to the same 0.10 line)
|
|
core-foundation = "0.10"
|
|
|
|
# Windows/Linux deliver an OS "open with" request as argv. Without this a
|
|
# second double-click would launch a second app instead of forwarding the path
|
|
# to the running one. macOS needs no equivalent: LaunchServices routes to the
|
|
# running app via RunEvent::Opened.
|
|
[target.'cfg(any(target_os = "windows", target_os = "linux"))'.dependencies]
|
|
tauri-plugin-single-instance = "2"
|
|
|