Skip to content

Releases: GivanGu/PortView

v2.0.0

Choose a tag to compare

@GivanGu GivanGu released this 23 Sep 07:49

v2.0.0

Upgrade notes (1.x → 2.0.0)

2.0.0 consolidates all data into a single config/portview.db (bind-mounted ./config), replacing the old portview-data volume and config.json. The old volume is no longer mounted, so a direct image upgrade may not carry over previously stored logos and service names from older 1.x builds:

  • Logos — lived only in the old database; re-run Auto-discover or re-upload after upgrading.
  • Service names — auto-migrated from config.json when it is still present; names set in a 1.6.12+ build already live in the new database and are kept.

To carry everything over, copy the old database into ./config before upgrading:

docker run --rm -v portview-data:/src -v "$(pwd)/config:/dst" alpine cp -a /src/. /dst/

Features

Favorites — full navigation hub redesign

  • Favorites page redesigned as a navigation hub: folder-based grid with large centered icons, online/offline group views, status-bar counts (Nav → Favorites)
  • Compact group dock: 52px icon-only rail with hover name reveal; preset groups All / Online / Offline
  • Add favorites from the grid (+ tile) or from the Ports page card menu; rename, move between folders, drag tiles into folders
  • Custom URL entries with server-side favicon fetching
  • Default home page: choose Overview or Favorites on startup (Settings → Default home)

Sidebar

  • Auto-hide mode for the left rail: summon via the left-edge tab, pin to keep it visible (Nav → auto-hide toggle)

Background image

  • User-adjustable blur: 0–30px slider with live preview (Settings → Background image)
  • Improved text readability over the background (element-level emphasis + content contrast layer)

Ports page

  • New Logo box display mode: 64px logo box + info column; detail & image rows span full card width, left-aligned with the logo (Settings → Logo display → Display mode)
  • New quick filters: Unknown service / No logo (Ports page toolbar)
  • Unknown-service naming moved to Edit service name on the Ports page; the Notes page is removed (legacy note data cleared by migration)

Storage

  • All user data unified in a single SQLite file (config/portview.db)
  • Port labels keyed by port: multiple ports can share the same service name
  • Legacy config.json / hidden_ports.json / old DB location auto-migrated on first start

Misc

  • Global search in the top bar (⌘K)
  • PortView's own port (8081) now follows the same naming logic as any other port; new brand favicon

Fixes

  • Box display mode: 8px separation between the logo box and the detail row
  • PortView's own port is no longer hardcoded
  • Favorites: groups no longer lost when the list is empty; removed horizontal scrollbar on the group dock
  • Background image: page content no longer covered in all-app scope
  • Sidebar: auto-hide collapsed state no longer disappears
  • Favorites: light-theme contrast

v1.6.2

Choose a tag to compare

@GivanGu GivanGu released this 19 Sep 04:31

Fixes

  • Favorites: rapid consecutive operations (drag to reorder, remove, toggle) no longer clobber each other — writes are now serialized so the list keeps the correct order

v1.6.1

Choose a tag to compare

@GivanGu GivanGu released this 19 Sep 03:37

Features

  • Port cards now show a solid ★ when favorited; clicking it removes the favorite
  • Favorites page: right-click a favorite tile to remove it

v1.6.0

Choose a tag to compare

@GivanGu GivanGu released this 18 Sep 16:13

Features

  • New Favorites tab: favorite ports by port number, drag to reorder, per-favorite inline notes
  • Favorite toggle (☆/★) in the port card menu
  • Clicking the service icon on a favorite card opens the service directly
  • Favorites page stays in sync when port data changes (hide, rename, refresh)

Fixes

  • Roll back local favorite state if saving to the server fails, preventing divergence

v1.5.5

Choose a tag to compare

@GivanGu GivanGu released this 18 Sep 08:37

Fixes

  • Rebuilt from the verified dev codebase
  • Confirmed present: hardened session validation, event-loop offloading for port monitoring, and restored Docker socket access

v1.5.4

Choose a tag to compare

@GivanGu GivanGu released this 18 Sep 08:25

Features

  • Collapsible sidebar in the main layout
  • Dev builds now show a dev-<version> badge in the status bar

Fixes

  • Hardened session validation on the password-change and auth-toggle endpoints
  • Moved blocking port-monitoring calls off the event loop to prevent API stalls
  • Fixed container ports being mislabeled as system ports (restored Docker socket access)

v1.5.3

Choose a tag to compare

@GivanGu GivanGu released this 17 Sep 03:49

What's New

Features

  • Protocol "Select" badge — when a port's protocol can't be auto-detected, the card now shows a clickable "Select" badge. Clicking it starts the protocol toggle cycle (http → https → auto), so you can pin a protocol without leaving the card.

Fixes

  • Manual protocol badge no longer flickers away — the badge you set by hand could occasionally disappear after a background refresh. A stale list response (read before your change was saved) was overwriting the optimistic update. Refresh responses are now sequenced so out-of-order stale data is discarded, and in-flight manual changes are preserved until the server confirms them.

v1.5.2

Choose a tag to compare

@GivanGu GivanGu released this 16 Sep 13:12

What's New

Features

  • Service link protocol auto-detection — http/https is now detected automatically for "open service" links
  • Protocol badge on port cards — two-stage probe (host + multi-host fallback); access address now stores host only
  • Manual protocol override — set the card badge by hand when auto-detection is inaccurate
  • Simplified card toolbar — top-right buttons reduced to "Open Service" + "Settings"

Fixes

  • Protocol detection now falls back across multiple hosts, fixing services listening only on loopback
  • Access address strips the port number, fixing IP:port format that broke all probes
  • Card settings menu no longer unresponsive on click
  • Settings menu: recognition button always visible; menu positioning/close logic completed
  • Unknown ports are no longer merged into ranges — each used port gets its own card
  • Free-port gap cards restored to ascending interleaved order

v1.5.1

Choose a tag to compare

@GivanGu GivanGu released this 13 Sep 13:25

What Changed

Fixes

  • Update badge no longer shows a doubled v prefix — the "v1.5.0 available" badge rendered as vv1.5.0 available because the release tag_name (which already carries a v) was interpolated into an i18n template that also prepends v. The version string is now normalized (leading v stripped) before display, so the badge correctly reads v1.5.1 available.

更新内容

修复

  • 更新徽章不再出现重复的 v 前缀 —— 「v1.5.0 可用」徽章此前显示为 vv1.5.0 可用,原因是 Release 的 tag_name(本身已带 v)被直接填入同样以 v 开头的 i18n 模板。现在展示前会先归一化版本号(剥离前导 v),徽章正确显示为 v1.5.1 可用。

v1.5.0

Choose a tag to compare

@GivanGu GivanGu released this 13 Sep 12:30

What Changed

The 1.5 series introduces a complete Card Logo system — manage per-service logos on every port card, with built-in brand icons for well-known services.

New: Card Logo System

  • Per-service logos on port cards — auto-discover (fetched from favicon services) or upload a custom logo for any port/service. Logos persist in SQLite and render directly on the card.
  • Logo fills the whole card as background — with 4 readability scrim options: left gradient / full overlay / frosted glass / none.
  • Logo display mode — choose between full-card background or a boxed logo. The scrim setting is now a conditional sub-section that hides automatically in box mode (merged into a single "Logo display" settings card).
  • Built-in default logos — 37 well-known services ship with real brand icons (MySQL, MariaDB, PostgreSQL, Redis, MongoDB, Elasticsearch, Oracle, SQL Server, plus protocol icons for SSH, FTP, DNS, SMTP, RDP, VNC, etc.). Matching is port-first (e.g. 3306 → MySQL) with service-name fallback, so logos resolve even when the service name is unknown or customized.
  • Quick-add logo for logo-less ports — the "no logo" section in Notes now offers one-click discover + upload.

Improvements

  • Access address accepts bare IP/domain — auto-prefixes http:// when the scheme is missing.
  • PortView's own port is always identified as PortView/docker — no longer mislabeled as a generic host port.
  • Logo key no longer derived from service_name — avoids logo cross-contamination between unknown ports.

Fixes

  • Fixed card height, logo contain centering, and 3D gradient border.
  • "Go to settings" anchor scroll now retries; discover button shows failure feedback.
  • Edit input clipping and anchor-scroll retry fixed.
  • Nav "go to settings" event switched to document dispatch with an appKey character whitelist.

更新内容

1.5 系列引入完整的卡片 Logo 系统 —— 为每个端口卡片管理独立的服务 Logo,并为知名服务内置真实品牌图标。

新增:卡片 Logo 系统

  • 端口卡片独立 Logo —— 支持自动发现(从 favicon 服务抓取)或为任意端口/服务上传自定义 Logo。Logo 持久化存储于 SQLite,直接渲染在卡片上。
  • Logo 铺满整卡背景 —— 提供 4 档可读性遮罩:左侧渐变 / 全层遮罩 / 毛玻璃 / 无遮罩。
  • Logo 展示模式 —— 可选「铺满背景」或「Logo 框」展示。遮罩设置现为条件子区块,方框模式下自动隐藏(展示模式与遮罩已合并为单张「Logo 展示」设置卡片)。
  • 内置默认 Logo —— 37 个知名服务内置真实品牌图标(MySQL、MariaDB、PostgreSQL、Redis、MongoDB、Elasticsearch、Oracle、SQL Server,以及 SSH、FTP、DNS、SMTP、RDP、VNC 等协议图标)。匹配采用端口优先(如 3306 → MySQL)+ 服务名兜底,即使服务名未知或自定义也能正确解析。
  • 无 Logo 端口快速添加 —— 备注页「无 Logo」分区现支持一键发现 + 上传。

优化

  • 访问地址兼容裸 IP/域名 —— 缺少协议时自动补 http://。
  • PortView 自身端口恒识别为 PortView/docker —— 不再被误标为普通主机端口。
  • Logo key 不再取自 service_name —— 避免未知端口之间 Logo 串卡。

修复

  • 固定卡片高度、Logo contain 居中、3D 渐变描边。
  • 「去配置」锚点滚动增加重试;发现按钮增加失败反馈。
  • 修复编辑输入框裁剪与锚点滚动重试。
  • 导航「去配置」事件改为 document dispatch + appKey 字符白名单过滤。