Skip to content

Nexa SQL 0.4.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 16:43

Nexa SQL 0.4.0

Minor release (rounds 140–179 since 0.3.1). Highlights:

  • SSH tunnel for any connection — ?ssh=user@host[:port] (+ ssh_key) in the connection string or the new SSH section of the connection dialog; uses the system ssh (key-only auth, StrictHostKeyChecking=accept-new, no console windows on Windows). Stored in the profile vault.
  • PostgreSQL TLS — rustls-based sslmode/tls_ca (pg.tls, default preferred), 20 s connect timeout, clearer connection errors.
  • IBM Db2 — server cursors (scroll-to-end keeps fetching), multi-cursor section pool, 10.5 paging fallback, DDM extended-length fix.
  • SQL Server call timeout — session.call_timeout_secs: a stuck call closes the socket and the next run reconnects (lite installs need drivers-v0.1.9).
  • Result consistency — OFFSET re-queries overlap one row with the previous page and stop with an error if the server result changed (grid.overlap_check); SQLite/SQL Server report separate Execute/Fetch timing stages.
  • Extensions — ABI 1.3: stateful extensions, editor read/write API, event delivery; Insert Sequence (multi-caret numbering) is now a built-in extension with its own settings/shortcuts; extension details tab refreshes after update; extension settings registered from metadata.
  • Keymap — user .sublime-keymap files (Packages/User/Default (<OS>).sublime-keymap): parser, context keys (num_selections, preceding_text, …), two-key chords; the Keyboard Shortcuts window marks file bindings and shows context rows; command registry/palette table.
  • Editor & grid — Insert Sequence, "Copy with headers" (space/comma/tab) and "Copy headers only", SQL formatter keeps comments inside SELECT lists, completion no longer adds a second alias when one already follows the table, auxiliary windows activate on open.
  • nsql CLI — interactive shell gets a real line editor (no external crates): arrows/Home/End, word movement (Alt+B/F, Ctrl/Alt+←→), undo/redo/yank (Ctrl+Z/Ctrl+Y/Alt+Y), history file with reverse search (Ctrl+R), multi-line statements (history keeps whole statements, Alt+Enter inserts a newline), Tab completion using the same context engine as the GUI (keywords, tables, columns, optional auto-alias from intel.* settings); SHOW VERSION, SHOW AUTOCOMMIT, autocommit shown on the Connected line, show prints a settings table, --timing=json, nsql --help shows the version/variant. The shell follows session.autocommit; nsql run stays manual with commit at exit.
  • Housekeeping — cargo-deny license gate in CI, settings dependency locks reviewed, driver update notification in the Driver Manager, repository anonymization.

Update the drivers to drivers-v0.1.9 (Driver Manager → Check / Install, or nsql driver install <id>) for the SQL Server call timeout and timing stages; older drivers keep working.

마이너 릴리스(0.3.1 이후 140~179차). 주요 변경:

  • 모든 접속에 SSH 터널 — 접속 문자열 ?ssh=user@host[:port](+ ssh_key) 또는 접속 창의 SSH 칸 · 시스템 ssh 사용(키 인증만 · accept-new · Windows 콘솔 창 없음) · 프로필 볼트에 저장.
  • PostgreSQL TLS — rustls 기반 sslmode/tls_ca(pg.tls 기본 preferred) · 접속 상한 20초 · 접속 오류 원인 사슬.
  • IBM Db2 — 서버 커서(끝까지 스크롤하면 이어 받음) · 다중 커서 섹션 풀 · 10.5 페이징 폴백 · DDM 확장 길이 수정.
  • SQL Server 호출 상한 — session.call_timeout_secs: 멈춘 호출은 소켓을 닫고 다음 실행에서 재접속(lite 설치본은 drivers-v0.1.9 필요).
  • 결과 일관성 — OFFSET 재질의가 직전 페이지 꼬리 1행을 겹쳐 받아 서버 결과가 바뀌면 오류로 멈춤(grid.overlap_check) · SQLite/SQL Server Execute/Fetch 단계 계측 분리.
  • 확장 — ABI 1.3: 상태 있는 확장 · 편집기 읽기/쓰기 API · 사건 배달 · Insert Sequence(다중 캐럿 순번)는 내장 확장으로(설정·단축키 = 확장 영역) · 확장 상세 탭 갱신 · 메타의 설정 등록.
  • 키맵 — 사용자 .sublime-keymap(Packages/User/Default (<OS>).sublime-keymap): 파서 · context 키(num_selections · preceding_text …) · 2단 코드 · 단축키 창에 파일 바인딩 표시와 조건 행 · 명령 레지스트리/팔레트 표.
  • 편집기·그리드 — Insert Sequence · "머리글과 함께 복사"(공백/콤마/탭) · "머리글만 복사" · SQL 포맷이 SELECT 목록 안 주석을 보존 · 자동완성이 뒤에 별칭이 있으면 별칭을 다시 붙이지 않음 · 보조 창이 열릴 때 활성화.
  • nsql CLI — 대화형 셸의 자체 줄 편집기(외부 crate 0): 화살표/Home/End · 단어 이동(Alt+B/F · Ctrl/Alt+←→) · 되돌리기/다시/붙이기(Ctrl+Z/Ctrl+Y/Alt+Y) · 기록 파일 + 거꾸로 찾기(Ctrl+R) · 여러 줄 문장(기록 = 문장 단위 · Alt+Enter 줄 바꿈) · GUI와 같은 문맥 엔진의 Tab 완성(키워드·표·컬럼 · intel.* 설정의 자동 별칭) · SHOW VERSION · SHOW AUTOCOMMIT · 접속 줄의 autocommit 표시 · show 설정 표 · --timing=json · nsql --help에 판·변형. 셸은 session.autocommit을 따르고 nsql run은 수동 커밋 + 끝날 때 커밋 그대로.
  • 정비 — CI cargo-deny 라이선스 게이트 · 설정 종속 잠금 점검 · 드라이버 관리자의 갱신 알림 · 저장소 익명화.

드라이버를 drivers-v0.1.9로 갱신하세요(드라이버 관리자 → Check / Install 또는 nsql driver install <id>) — SQL Server 호출 상한·단계 계측이 확장 드라이버에서도 동작합니다. 옛 드라이버도 그대로 쓸 수 있습니다.

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

OS File Install
Windows x64 nexa-sql-0.4.0-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 (only when this release was pushed to those channels)
macOS (Universal) nexa-sql-0.4.0-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)

Drivers are not bundled (only the Oracle OCI driver, which needs an Instant Client): the first connection to PostgreSQL, MySQL/MariaDB, SQL Server, SQLite, DuckDB, Oracle Thin, IBM Db2, ClickHouse or ODBC downloads the signed driver package from the drivers-v* pre-release (currently drivers-v0.1.9) and installs it (driver.auto_install). Offline: nsql driver install --file nsql-drivers-all-<ver>-<os>-<arch>.zip. Driver packages are built for Windows x64, Linux x86_64, Apple Silicon and Intel macOS (ODBC included on all four).
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.


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

운영체제 파일 설치
Windows x64 nexa-sql-0.4.0-windows-x64.msi 더블클릭 또는 msiexec /i … /qn(조용한 설치 · PATH 추가 옵션 · .sql 연결은 선택)
macOS (Universal · Apple Silicon/Intel) nexa-sql-0.4.0-macos-universal.pkg 설치기 실행 → /Applications/Nexa SQL.app + /usr/local/bin/nsql 링크
macOS (drag-to-Applications) nexa-sql-0.4.0-macos-universal.dmg 끌어 놓기 · CLI 링크는 dmg 안 안내문
Linux x86_64 (deb) nexa-sql_0.4.0_amd64.deb sudo dpkg -i 또는 sudo apt install ./…deb
Linux x86_64 (rpm) nexa-sql-0.4.0-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