Skip to content

JumpServer Desktop v0.1.5

Choose a tag to compare

@github-actions github-actions released this 16 Sep 13:17

中文

本次更新

v0.1.5 将 JumpServer 原生授权分组带回桌面资产工作区,同时改进数据库编辑、变更核对和并发更新体验。分组沿用服务器的层级与权限,不在客户端另建一套资产归属。

资产分组与导航

  • 新增左侧授权分组树,支持按需展开、键盘导航,以及按名称或完整路径搜索尚未展开的分组。
  • 新增面包屑与分组范围搜索:父分组包含子分组资产,名称/地址搜索可与主机、数据库等类型筛选组合使用。
  • “搜索全部资产”保留关键词和类型并移除分组限制;“全部资产”导航重置筛选。收藏和全局快捷搜索不受上一次分组限制。
  • 按站点、用户和组织保存分组展开状态及选中节点,恢复前重新验证权限。分组失效会提示并返回全部资产;请求失败有独立错误与重试入口,不会伪装成空分组。
  • 切换分组清除旧分页和资产详情,并丢弃迟到响应;已打开的连接会话不受影响。侧栏支持调宽和收起,中英文资产术语同步更新。

数据库工作区

  • 将变更核对、SQL 预览和提交报告整合到可展开的底部面板,先核对字段差异,再明确确认执行。
  • 关闭面板或按 Escape 不丢失修改和报告;提交期间防止重复提交,报告可从底部变更栏重新打开。
  • 表格刷新保留已应用搜索与分页;存在未保存修改时先确认放弃。提交成功后的刷新失败可单独重试读取,不重复执行写入。
  • 表格按行隔离渲染,减少搜索输入和提示更新时对未变化行的重绘;单元格复制与编辑支持悬停和键盘聚焦。
  • MySQL 更新的并发校验缩小到完整主键和本次修改字段的原值:无关字段变化不再阻止保存,也不会被覆盖;同一字段变化仍受保护。删除操作继续校验整行原值。

验证与兼容性

  • 本地 TypeScript 检查、生产构建及 120 项测试通过;资产分组使用隔离数据验证了搜索、分页、状态恢复、权限失效、迟到响应与身份隔离。
  • 桌面端继续通过 JumpServer 授权接口读取分组和资产,不绕过服务器权限。不同部署版本仍需结合实际授权与连接配置验收。
  • 数据库批量修改不保证跨行原子事务;提交结果未知时应重新连接并核验数据库,不要直接重复提交。

下载与更新

  • Windows x64:下载 .exe 安装包;支持应用内更新。
  • Linux x64:AppImage 支持应用内更新;.deb 请下载后通过系统包管理器更新。
  • macOS Apple Silicon / Intel:选择对应 arm64 / x64 安装包,手动下载更新;不提供应用内自动安装。
  • 校验文件见附件 SHA256SUMS。

安全提示:所有安装包均未签名,macOS 也未公证。 系统可能显示安全提示;请仅从本仓库正式 Release 下载并核对来源,不要关闭或绕过平台安全保护。本项目为非官方社区项目,与 JumpServer 官方没有隶属或背书关系。


English

What's new

v0.1.5 brings JumpServer's native authorized asset groups into the desktop asset workspace and improves database editing, change review, and concurrent-update handling. Group hierarchy and permissions remain server-owned; the desktop does not create a separate grouping system.

Asset groups and navigation

  • Added an authorized group tree with lazy expansion, keyboard navigation, and name/full-path search across groups that have not been expanded yet.
  • Added breadcrumbs and group-scoped asset search. Parent groups include their descendants, and name/address searches combine with asset-type filters such as hosts and databases.
  • “Search all assets” keeps the keyword and type filter while removing the group scope; “All assets” resets filters. Favorites and the global quick switcher do not inherit the previous group restriction.
  • Expansion and selected-group state are stored separately for each site, user, and organization, with permissions revalidated before restoration. Unavailable groups produce a notice and return to all assets; request failures have explicit errors and retry actions rather than appearing as empty groups.
  • Switching groups clears old pages and asset details and discards late responses without interrupting open sessions. The sidebar can be resized or hidden, with updated Chinese and English asset terminology.

Database workspace

  • Consolidated change review, SQL preview, and submission reports into an expandable bottom sheet. Review field differences before explicitly confirming execution.
  • Closing the sheet or pressing Escape preserves edits and reports. Duplicate submissions are blocked while a submission is running, and reports can be reopened from the bottom change bar.
  • Table refresh preserves applied search and pagination and asks before discarding unsaved edits. If refreshing after a successful submission fails, retrying the refresh reads data again without repeating the write.
  • Isolated rendering by row reduces redraws of unchanged rows during search-input and notification updates. Cell copy/edit controls support hover and keyboard focus.
  • MySQL updates now check the complete primary key and the original values of the fields being changed. Concurrent changes to unrelated fields no longer block the update or get overwritten; changes to the same fields remain protected. Deletes still check the original values of the entire row.

Verification and compatibility

  • Local TypeScript checks, the production build, and all 120 tests passed. Isolated-data UI checks covered group search, pagination, restoration, revoked access, late responses, and identity isolation.
  • Groups and assets are still read through JumpServer's authorization APIs. Server permissions are not bypassed; individual deployment versions should be validated against their actual authorization and connection configuration.
  • Batch database changes are not guaranteed to be atomic across rows. If a submission result is unknown, reconnect and inspect the database instead of immediately resubmitting it.

Downloads and updates

  • Windows x64: use the .exe installer; in-app updates are supported.
  • Linux x64: AppImage supports in-app updates; download .deb packages and update them with your system package manager.
  • macOS Apple Silicon / Intel: choose the matching arm64 / x64 package and update manually. Automatic in-app installation is not available.
  • File checksums are provided in the attached SHA256SUMS.

Security notice: all artifacts are unsigned, and macOS builds are not notarized. Operating systems may display security warnings. Download only from this repository's official Releases, verify the source, and do not disable or bypass platform security protections. This is an unofficial community project, not affiliated with or endorsed by JumpServer.


完整变更 / Full changelog: v0.1.4...v0.1.5