Skip to content

Commit 47597fb

Browse files
authored
Merge pull request #77 from Relwave/develop
Release v0.9.0-rc-1
2 parents 18f3d3e + 7951842 commit 47597fb

123 files changed

Lines changed: 9679 additions & 2489 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,6 @@ jobs:
6666
with:
6767
tagName: v__VERSION__
6868
releaseName: "RelWave v__VERSION__"
69-
# Let GitHub auto-generate the changelog from merged PRs and commits
70-
# since the last release tag. The generated markdown is injected into
71-
# latest.json as the `notes` field, which the in-app updater reads and
72-
# displays in the What's New dialog after update.
73-
releaseBody: ""
74-
generateReleaseNotes: true
7569
releaseDraft: true
7670
prerelease: false
7771
args: ${{ matrix.args }}

CONTRIBUTING.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,27 @@ pnpm --dir bridge install
1717
pnpm tauri dev
1818
```
1919

20+
To build the bridge package for your platform, run one of these from the repo root:
21+
22+
```bash
23+
cd bridge
24+
pnpm build:pkg:win
25+
```
26+
27+
or on Linux:
28+
29+
```bash
30+
cd bridge
31+
pnpm build:pkg:linux
32+
```
33+
2034
If you are working on bridge-related code, you can run bridge tests directly:
2135

2236
```bash
2337
cd bridge
38+
39+
docker compose -f docker-compose.test.yml up -d
40+
2441
pnpm test
2542
```
2643

FEATURES.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@ The main landing page for managing database connections. Features a clean, IDE-i
5050
**Connection Management**
5151

5252
- Add new database connections with detailed configuration (name, type, host, port, user, password, SSL options)
53+
- **SSH Tunneling** — connect securely to remote databases via SSH tunnels using private keys and passphrases
5354
- **SQLite support** — connect to local `.db`, `.sqlite`, `.sqlite3`, `.s3db` files via native file picker
5455
- Connect via URL — paste connection strings like `postgres://user:pass@host:port/db`
5556
- Auto-parse URLs to populate connection form fields (including `sqlite://` protocol)
57+
- **Safe connection deletion** — intercepts deletion to prevent accidental loss of associated project data (schemas, queries, diagrams)
58+
- **Unlinked project management** — view, delete, or relink orphaned projects to new connections directly from the sidebar
5659
- Delete existing database connections
5760
- Test connections with real-time feedback
5861
- Connection status indicators for all databases
@@ -376,6 +379,30 @@ RelWave includes native Git integration powered by `simple-git`, providing a ful
376379

377380
---
378381

382+
## AI Features and Providers
383+
384+
RelWave integrates deeply with multiple Large Language Models (LLMs) to provide intelligent database assistance, schema analysis, and query explanations.
385+
386+
### Supported Providers
387+
The application supports a flexible, multi-provider AI architecture:
388+
- **OpenAI** (GPT-4o, GPT-4 Turbo, etc.)
389+
- **Anthropic** (Claude 3.5 Sonnet, Opus, etc.)
390+
- **Mistral** (Mistral Large, Mistral Small, etc.)
391+
- **Groq** (Llama 3, Mixtral, etc. for ultra-fast inference)
392+
- **Ollama** (Local models like Llama 3, Phi-3, Mistral)
393+
- **Google Gemini** (Gemini 1.5 Pro, Flash)
394+
395+
### AI Capabilities
396+
| Feature | Description |
397+
| ------- | ----------- |
398+
| **Schema Analysis** | Analyzes the structure of your database, identifying relationships, potential optimizations, and providing a human-readable summary of complex schemas. Uses a highly optimized, token-efficient dense schema representation. |
399+
| **Query Explanation** | Breaks down complex SQL queries into plain English, explaining joins, filters, performance implications, and the overall intent of the query. |
400+
| **Local AI Support** | Full privacy and zero-cost inference available through local Ollama integration, ensuring sensitive database schemas never leave your machine. |
401+
| **Context Aware** | The AI system automatically receives the dialect (PostgreSQL, MySQL, SQLite) and the relevant database schema context to provide accurate, dialect-specific responses. |
402+
| **High Token Capacity** | Configured with large output windows (up to 4096 tokens) to handle extensive schema analyses and complex query breakdowns without truncation. |
403+
404+
---
405+
379406
## Visual Tools
380407

381408
### Chart Visualization
@@ -642,6 +669,6 @@ All database and Git operations use a JSON-RPC protocol over stdin/stdout. The b
642669

643670
---
644671

645-
**Last Updated:** May 2026
672+
**Last Updated:** June 2026
646673

647674
This document is maintained alongside the application and updated with each release.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
_A high-performance, cross-platform desktop suite for developers who demand more from their database tools._
1212

13-
[![Version](https://img.shields.io/badge/version-0.7.0--beta.1-0066ff?style=for-the-badge&logo=semver)](https://github.com/Relwave/relwave-app/releases)
13+
[![Version](https://img.shields.io/badge/version-0.9.0--rc.1-0066ff?style=for-the-badge&logo=semver)](https://github.com/Relwave/relwave-app/releases)
1414
[![License](https://img.shields.io/badge/license-MIT-00cc66?style=for-the-badge)](LICENSE)
1515
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux-lightgray?style=for-the-badge&logo=windows)](https://github.com/Relwave/relwave-app/releases)
1616
[![Tauri](https://img.shields.io/badge/built%20with-Tauri-FFC131?style=for-the-badge&logo=tauri)](https://tauri.app/)

bridge/__tests__/projectStore.test.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,12 @@ describe("ProjectStore", () => {
257257
name: "users",
258258
type: "BASE TABLE",
259259
columns: [
260-
{ name: "id", type: "integer", nullable: false, isPrimaryKey: true, isForeignKey: false, defaultValue: null, isUnique: true },
261-
{ name: "email", type: "varchar(255)", nullable: false, isPrimaryKey: false, isForeignKey: false, defaultValue: null, isUnique: true },
260+
{ name: "id", type: "integer", nullable: false, isPrimaryKey: true, isForeignKey: false, defaultValue: null, isUnique: true, isSerial: true, ordinalPosition: 1 },
261+
{ name: "email", type: "varchar(255)", nullable: false, isPrimaryKey: false, isForeignKey: false, defaultValue: null, isUnique: true, isSerial: false, ordinalPosition: 2 },
262262
],
263+
indexes: [],
264+
foreignKeys: [],
265+
checks: [],
263266
},
264267
],
265268
},
@@ -301,8 +304,11 @@ describe("ProjectStore", () => {
301304
name: "posts",
302305
type: "BASE TABLE",
303306
columns: [
304-
{ name: "id", type: "integer", nullable: false, isPrimaryKey: true, isForeignKey: false, defaultValue: null, isUnique: true },
307+
{ name: "id", type: "integer", nullable: false, isPrimaryKey: true, isForeignKey: false, defaultValue: null, isUnique: true, isSerial: true, ordinalPosition: 1 },
305308
],
309+
indexes: [],
310+
foreignKeys: [],
311+
checks: [],
306312
},
307313
],
308314
},

bridge/package.json

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,39 @@
11
{
22
"name": "relwave-bridge",
3-
"version": "0.7.0-beta-1",
3+
"version": " 0.9.0-rc-1",
44
"type": "commonjs",
55
"main": "dist/index.cjs",
66
"scripts": {
77
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
88
"start": "node dist/index.cjs",
99
"build": "tsc --project tsconfig.json && esbuild src/index.ts --bundle --platform=node --outfile=dist/index.cjs --format=cjs --packages=external",
10+
"build:bundle-for-pkg": "esbuild src/index.ts --bundle --platform=node --outfile=dist/index.bundled.cjs --format=cjs --external:better-sqlite3 --external:@napi-rs/keyring --external:ssh2 --external:cpu-features --external:pg-native",
1011
"copy:native": "node scripts/copy-native.js",
1112
"rebuild:native": "npm rebuild better-sqlite3",
12-
"build:pkg:win": "npm run build && npm run rebuild:native && npm run copy:native && npx @yao-pkg/pkg . --target node22-win-x64 --output ../src-tauri/resources/bridge-x86_64-pc-windows-msvc.exe",
13-
"build:pkg:linux": "npm run build && npm run rebuild:native && npm run copy:native && npx @yao-pkg/pkg . --target node22-linux-x64 --output ../src-tauri/resources/bridge-x86_64-unknown-linux-gnu",
13+
"build:pkg:win": "npm run build && npm run build:bundle-for-pkg && npm run rebuild:native && npm run copy:native && npx @yao-pkg/pkg dist/index.bundled.cjs --target node22-win-x64 --output ../src-tauri/resources/bridge-x86_64-pc-windows-msvc.exe",
14+
"build:pkg:linux": "npm run build && npm run build:bundle-for-pkg && npm run rebuild:native && npm run copy:native && npx @yao-pkg/pkg dist/index.bundled.cjs --target node22-linux-x64 --output ../src-tauri/resources/bridge-x86_64-unknown-linux-gnu",
1415
"test": "jest",
1516
"test:watch": "jest --watchAll --detectOpenHandles"
1617
},
1718
"dependencies": {
19+
"@anthropic-ai/sdk": "^0.100.1",
20+
"@google/generative-ai": "^0.24.1",
1821
"@jest/globals": "^30.2.0",
22+
"@mistralai/mistralai": "^2.2.5",
1923
"@napi-rs/keyring": "^1.2.0",
2024
"@types/ssh2": "^1.15.5",
2125
"bcryptjs": "^3.0.3",
2226
"better-sqlite3": "^11.9.0",
2327
"dotenv": "^17.2.3",
28+
"groq-sdk": "^1.2.1",
2429
"mysql2": "^3.15.3",
30+
"ollama": "^0.6.3",
31+
"openai": "^6.41.0",
2532
"pg": "^8.16.3",
2633
"pg-query-stream": "^4.10.3",
2734
"pino": "^9.14.0",
2835
"ssh2": "^1.17.0",
29-
"uuid": "^8.3.2",
36+
"uuid": "^9.0.1",
3037
"ws": "^8.19.0"
3138
},
3239
"bin": "./dist/index.cjs",
@@ -53,4 +60,4 @@
5360
"ts-node-dev": "^2.0.0",
5461
"typescript": "^5.0.0"
5562
}
56-
}
63+
}

0 commit comments

Comments
 (0)