Skip to content

Nexa SQL 0.2.6

Choose a tag to compare

@github-actions github-actions released this 20 Oct 09:56

Nexa SQL 0.2.6

Lightweight cross-platform SQL client (IDE) for Oracle, SQL Server, PostgreSQL and SQLite, with the nsql CLI.
Installers only (no portable build). Changes: see docs/DEVLOG.md.

OS File Install
Windows x64 nexa-sql-0.2.6-windows-x64.msi Double-click, or msiexec /i … /qn (silent; adds nsql to PATH; .sql association optional) · winget install SosomLab.NexaSQL · choco install nexa-sql (after moderation)
macOS (Universal) nexa-sql-0.2.6-macos-universal.pkg / .dmg Installer → /Applications/Nexa SQL.app + /usr/local/bin/nsql · brew install --cask kiros33/tap/nexa-sql
Linux x86_64 .deb / .rpm sudo apt install ./…deb / sudo dnf install ./…rpm · or the signed repository at https://pkg.sosomlab.com/ (apt install nexa-sql / dnf install nexa-sql)

Verify downloads with sha256sums.txt. Builds are not code-signed yet (DR-20): macOS Gatekeeper and Windows SmartScreen will warn.
License: PolyForm Noncommercial 1.0.0 — free for noncommercial use only.

What's in this release (since 0.2.5)

Editor: find the real cause of a syntax error, Ctrl+click adds carets, new "Ctrl Key" settings

Behaviour change: Ctrl+click on an object name now adds a caret (multi-cursor) instead of copying its description, and Ctrl+right-click opens the editor menu instead of the link menu. To get the previous behaviour back, set Settings ▸ Ctrl Key ▸ ctrl.click = Copy description and ctrl.right_click = Link menu.

  • Syntax errors: the caret goes to the likely typo (new). The position a server reports for a syntax error is where its parser gave up, which is often after the real mistake — for SELECT DISTINC 'abc' AS x FROM t SQLite reports near "AS" (column 22), after the misspelled word, not on it. Nexa SQL now looks between the start of the statement and the reported position for a word that is not a keyword and not a known object, column or alias, but is one or two letters away from a keyword expected there (for example DISTINC, FORM, WHRE, SELCT). The caret moves to the first such word, and the Output tab shows one line such as Suspected typo: 1:8 'DISTINC' → DISTINCT? (server position 1:22). It uses only cached metadata (no extra round trip), runs only for syntax errors, and has a 20 ms budget. The same rules apply to PostgreSQL, SQLite, Oracle (Thin and Instant Client) and SQL Server; so far it has been verified end to end on SQLite. Settings: editor.error_analyze (default on), editor.error_analyze_budget_ms (advanced). Turned off automatically in boost mode, where the server position is used as before.
  • Ctrl+click on an object name adds or removes a caret. Object names under Ctrl still underline and show their tooltip and hover card, but the click now goes to the editor, so multi-cursor editing works everywhere. Ctrl+right-click opens the editor menu. Ctrl+Shift+click still copies name - description, and the hover card still has a Copy description button.
  • New settings category "Ctrl Key". Everything Ctrl does in the editor is in one place:
    • ctrl.click = Add caret (default) / Copy description / Reveal in Object Explorer
    • ctrl.right_click = Editor menu (default) / Link menu
    • ctrl.shift_click = Copy name - description (default) / Copy description only / Editor
    • The six Ctrl-hold inline label settings moved here and were renamed (ctrl.desc_inline, ctrl.desc_scope, ctrl.full_kb, ctrl.off_kb, ctrl.bookmark_label, ctrl.bookmark_scope). Existing values, including the old objlink.click, are migrated automatically, and the old names still work with nsql config get/set.
  • Tests: the error-position end-to-end script gained the typo cases (statement start, second statement, boost mode).

Full details: docs/DEVLOG.md · docs/journal

Distribution note: this version is published to GitHub Releases, Homebrew (kiros33/tap) and the Linux repository (pkg.sosomlab.com). winget and Chocolatey are paused until the pending reviews finish.


크로스플랫폼 경량 SQL 클라이언트(IDE) + CLI nsql — 설치본만 배포합니다(포터블 없음 · DR-27).

운영체제 파일 설치
Windows x64 nexa-sql-0.2.6-windows-x64.msi 더블클릭 또는 msiexec /i … /qn(조용한 설치 · PATH 추가 옵션 · .sql 연결은 선택)
macOS (Universal · Apple Silicon/Intel) nexa-sql-0.2.6-macos-universal.pkg 설치기 실행 → /Applications/Nexa SQL.app + /usr/local/bin/nsql 링크
macOS (drag-to-Applications) nexa-sql-0.2.6-macos-universal.dmg 끌어 놓기 · CLI 링크는 dmg 안 안내문
Linux x86_64 (deb) nexa-sql_0.2.6_amd64.deb sudo dpkg -i 또는 sudo apt install ./…deb
Linux x86_64 (rpm) nexa-sql-0.2.6-1.x86_64.rpm sudo dnf install ./…rpm
macOS (Homebrew) — brew install --cask kiros33/tap/nexa-sql(공개 뒤 자동 반영 · nsql도 PATH에)
Linux (APT 저장소 · Debian/Ubuntu) — 저장소 등록 뒤 sudo apt install nexa-sql · 갱신 = apt upgrade(아래 · 공개 뒤 자동 반영)
Linux (RPM 저장소 · Fedora/RHEL 계열) — 저장소 등록 뒤 sudo dnf install nexa-sql · 갱신 = dnf upgrade(아래 · 공개 뒤 자동 반영)

Linux 패키지 저장소(pkg.sosomlab.com · 서명됨)

한 번 등록하면 새 버전을 apt upgrade/dnf upgrade로 받습니다(안내 = https://pkg.sosomlab.com/).

# APT(Debian · Ubuntu)
sudo curl -fsSLo /usr/share/keyrings/sosomlab-archive-keyring.gpg https://pkg.sosomlab.com/sosomlab-archive-keyring.gpg
sudo curl -fsSLo /etc/apt/sources.list.d/sosomlab.sources https://pkg.sosomlab.com/apt/sosomlab.sources
sudo apt update && sudo apt install nexa-sql
# RPM(Fedora · RHEL 계열)
sudo curl -fsSLo /etc/yum.repos.d/sosomlab.repo https://pkg.sosomlab.com/rpm/sosomlab.repo
sudo dnf install nexa-sql

받은 파일은 sha256sums.txt로 확인하세요. 제거: Windows 프로그램 추가/제거 · macOS sudo "/Applications/Nexa SQL.app/Contents/Resources/uninstall.sh" · Linux dpkg -r nexa-sql/dnf remove nexa-sql.
사용자 데이터(설정·연결 프로필)는 OS 사용자 폴더에 있으며 제거해도 보존됩니다.

서명

코드 서명 키가 투입되지 않은 빌드는 macOS Gatekeeper·Windows SmartScreen이 경고합니다(DR-20 · 별도 요청 시 서명).

  • macOS: xattr -dr com.apple.quarantine "/Applications/Nexa SQL.app"
  • Windows: SmartScreen "추가 정보 → 실행"

라이선스: PolyForm Noncommercial 1.0.0 — 변경 내역: docs/DEVLOG.md

이번 판에 담긴 것(0.2.5 이후)

편집기: 구문 오류의 실제 원인으로 캐럿 · Ctrl+클릭 = 캐럿 추가 · 새 설정 분류 "Ctrl 키"

동작 변경: 객체 이름 위 Ctrl+클릭이 이제 설명 복사 대신 캐럿 추가(다중 커서)이고, Ctrl+우클릭은 링크 메뉴 대신 편집기 메뉴입니다. 예전처럼 쓰려면 설정 ▸ Ctrl 키 ▸ ctrl.click = 설명 복사, ctrl.right_click = 링크 메뉴로 바꾸세요.

  • 구문 오류: 캐럿이 오타 의심 자리로(새 기능). 서버가 알려 주는 구문 오류 위치는 파서가 멈춘 지점이라 실제 실수보다 뒤일 때가 많습니다(SELECT DISTINC 'abc' AS x FROM t면 SQLite는 DISTINC가 아니라 그 뒤 near "AS"(22열)를 알려 줍니다). 이제 문장 시작부터 서버 위치 사이에서 키워드도 아니고 알려진 객체·컬럼·별칭도 아닌데 그 자리에 와야 할 키워드와 한두 글자만 다른 낱말(예 DISTINC · FORM · WHRE · SELCT)을 찾아 첫 번째로 캐럿을 옮기고, Output 탭에 Suspected typo: 1:8 'DISTINC' → DISTINCT? (server position 1:22) 같은 한 줄을 남깁니다. 캐시된 메타만 쓰고(서버 왕복 없음) 구문 오류에만 동작하며 시간 상한은 20 ms입니다. PostgreSQL · SQLite · Oracle(Thin · Instant Client) · SQL Server에 같은 규칙이 적용되며, 지금까지 끝까지 확인한 것은 SQLite입니다. 설정 editor.error_analyze(기본 켬) · editor.error_analyze_budget_ms(고급). 향상 모드에서는 자동으로 꺼져 종전처럼 서버 위치를 씁니다.
  • 객체 이름 위 Ctrl+클릭 = 캐럿 추가/제거. Ctrl을 누르면 밑줄·툴팁·hover 카드는 그대로이고 클릭은 편집기로 가서 어디서든 다중 커서가 됩니다. Ctrl+우클릭 = 편집기 메뉴. Ctrl+Shift+클릭은 그대로 이름 - 설명 복사이고, hover 카드의 설명 복사 버튼도 그대로입니다.
  • 새 설정 분류 "Ctrl 키". 편집기에서 Ctrl이 하는 일을 한곳에 모았습니다.
    • ctrl.click = 캐럿 추가(기본) / 설명 복사 / 객체 탐색기에서 보기
    • ctrl.right_click = 편집기 메뉴(기본) / 링크 메뉴
    • ctrl.shift_click = 이름 - 설명 복사(기본) / 설명만 복사 / 편집기로
    • Ctrl 누른 동안의 줄 끝 라벨 설정 6개가 이 분류로 옮겨지며 이름이 바뀌었습니다(ctrl.desc_inline · ctrl.desc_scope · ctrl.full_kb · ctrl.off_kb · ctrl.bookmark_label · ctrl.bookmark_scope). 기존 값(옛 objlink.click 포함)은 자동으로 옮겨지고, nsql config get/set에서 옛 이름도 그대로 통합니다.
  • 시험: 오류 위치 E2E 자산에 오타 케이스 추가(문장 시작 · 둘째 문장 · 향상 모드).