* feat: demo DB seed/regenerate, backup/restore/sync refinements, SSH/SSL polish - Demo SQLite DB: feature-rich seed (12 objects, 500-row audit log) + regenerate action in Settings - Backup/restore: headless-testable core logic, psql -f for plain dumps, sync passes --clean --if-exists - SSH/SSL runtime refinements and connection testing improvements - Data grid: DataTypeIcon component, FK popover, table tree polish - Docs: AGENTS.md/README updates, new screenshots, MIT LICENSE * chore: optimize README screenshots (4.7 MB → 916 KB via pngquant, quality 70-90) * v0.6.0: release workflow, constraint-aware cell editing, pending-cell styling - Bump version to 0.6.0 across package.json, Cargo.toml, tauri.conf.json - Add .github/workflows/release.yml: tag-triggered CI builds macOS (aarch64 + x64), Windows, and Linux installers into a draft GitHub Release - README: installer download table (unsigned note, per-platform files), "how releases are made" section - CellEditor: constraint-aware commit — empty input on nullable columns becomes NULL, NOT NULL text-like types fall back to empty string, all other types blocked with an inline error bubble; replace "Set NULL" checkbox with a NULL row in the FK dropdown / empty enum option - VirtualDataGrid: pending-edit dot → animated pending outline (ring) on staged cells; matching test updates - docs-coverage test: align with rewritten README comparison table
48 lines
2.0 KiB
TOML
48 lines
2.0 KiB
TOML
[package]
|
|
name = "gridline"
|
|
version = "0.6.0"
|
|
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"] }
|
|
sqlx = { version = "0.8", features = ["runtime-tokio", "mysql", "tls-rustls"] }
|
|
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
|
|
ssh2 = { version = "0.9" }
|
|
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"
|
|
|