Skip to content

Releases: kite88/mini-kanban

Release list

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 14:54

v1.0.1 · 标题与品牌统一

小修订版:功能、接口、数据库结构都没有变化,只是把产品名与浏览器标签页标题统一了。

这次改了什么

  • 产品名统一为 Mini-Kanban:导航栏品牌、标签页标题、登录页标题都取同一个名字,中英文一致
    (原来是「任务看板」/ Task Board)。

  • 标签页标题改成「页面名 - Mini-Kanban」,逐页区分:

    页面 中文界面 英文界面
    /login 登录 - Mini-Kanban Sign in - Mini-Kanban
    /projects 项目 - Mini-Kanban Projects - Mini-Kanban
    /projects/<id> 任务看板 - Mini-Kanban Task board - Mini-Kanban
    /users 用户管理 - Mini-Kanban Users - Mini-Kanban
    /departments 部门管理 - Mini-Kanban Departments - Mini-Kanban
    /logs 操作日志 - Mini-Kanban Activity logs - Mini-Kanban
    /trash 回收箱 - Mini-Kanban Trash - Mini-Kanban

    首页(按登录态跳转)与 404 这类没有页面名的路由只显示 Mini-Kanban。

  • 登录页卡片标题:Mini-Kanban - 任务看板系统(英文 Mini-Kanban - Task board system)。

  • 初始化向导与状态页:标签页标题同步为「初始化配置 - Mini-Kanban」「运行状态 - Mini-Kanban」,
    页内主标题统一成 Mini-Kanban。

技术口径:页面组件是客户端组件、不能导出 metadata,所以页面名写在各自路由段的 layout.tsx 里
(pageMetadata()),路由与文案键的映射集中在 web/lib/i18n/pageTitle.ts,客户端跳转 / 切换语言时由
DocumentTitle 同步刷新 —— 静态导出产物在构建期只能写死默认语言,这一步保证切语言后标题跟着变。

升级

解压新包覆盖旧的即可,config.yaml(或 setup 向导)沿用原有配置,数据库无需迁移。

下载与校验

产物名仍带版本号,认准 mini-kanban-v1.0.1-系统-架构:Windows 为 .zip,Linux / macOS 为 .tar.gz,
均为 CGO_ENABLED=0 静态编译;checksums.txt 是全部归档的 SHA256,可用 sha256sum -c 校验。


v1.0.1 · Unified branding and tab titles

A small patch release: no functional, API or database changes — only the product name and the browser tab titles.

What changed

  • The product is now called Mini-Kanban everywhere: the navbar brand, the tab titles and the login card all use
    the same name in both languages (it used to be 任务看板 / Task Board).
  • Tab titles are now page name - Mini-Kanban, per route: Sign in - Mini-Kanban, Projects - Mini-Kanban,
    Task board - Mini-Kanban, Users - Mini-Kanban, Departments - Mini-Kanban, Activity logs - Mini-Kanban,
    Trash - Mini-Kanban. Routes without a page name (home, 404) show Mini-Kanban alone.
  • Login card title: Mini-Kanban - Task board system.
  • Setup wizard and status page: tab titles became 初始化配置 - Mini-Kanban / 运行状态 - Mini-Kanban with
    Mini-Kanban as the on-page heading.

Implementation note: pages are client components and cannot export metadata, so each route segment's layout.tsx
declares its page-name key via pageMetadata(); the route-to-key map lives in web/lib/i18n/pageTitle.ts and
DocumentTitle refreshes the title on client-side navigation and language switches (static-export builds can only bake
in the default language at build time).

Upgrading

Unpack the new archive over the old one and keep your config.yaml — no database migration is needed.

Download and verification

Archive names still carry the version: mini-kanban-v1.0.1-<os>-<arch> (.zip for Windows, .tar.gz otherwise), all
statically compiled with CGO_ENABLED=0. checksums.txt holds the SHA256 of every archive (sha256sum -c to verify).

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:05

v1.0.0 · 首个正式版本

一个可自托管的拖拽式任务看板:下载一个包,解压即用。包里是后端可执行文件 + web-dist/ 页面目录,
同一个进程、同一个端口同时提供接口与页面,目标机不需要 Node、不需要额外的静态目录,也不需要 nginx 与 CORS。

下载哪个文件

产物名带版本号,认准 mini-kanban-v1.0.0-系统-架构:

平台 文件
Windows x64 mini-kanban-v1.0.0-windows-amd64.zip
Windows ARM64 mini-kanban-v1.0.0-windows-arm64.zip
Linux x64 / ARM64 mini-kanban-v1.0.0-linux-amd64.tar.gz / ...-linux-arm64.tar.gz
macOS Intel / Apple Silicon mini-kanban-v1.0.0-darwin-amd64.tar.gz / ...-darwin-arm64.tar.gz

均为 CGO_ENABLED=0 静态编译,解压后无任何系统依赖。checksums.txt 是全部归档的 SHA256,可用 sha256sum -c 校验。

三步跑起来

  1. 完整解压对应平台的归档(顶层目录名与压缩包名一致,web-dist/ 必须与可执行文件同目录)。
  2. 运行 start.sh(Windows 双击 start.bat)。目录里没有 config.yaml 时脚本会提示进入初始化向导。
  3. 浏览器打开 http://localhost:8281,首次运行会自动跳到 /setup:填数据库 / Redis 连接 → 测试连通性 → 保存,
    配置写入后弹窗显示服务就绪倒计时,3.5 秒后自动打开状态页。

数据库需要提前创建(服务只建表不建库);Redis 可选,redis.host 留空即关闭缓存,服务照常运行。

功能

  • 登录与账号:JWT + bcrypt,登出后 token 进 Redis 黑名单;管理员可增删改用户与部门(有成员 / 有任务关联时阻止删除)。
  • 项目与看板:四列看板(待办 / 进行中 / 已完成 / 已验收),@dnd-kit 支持同列排序与跨列拖拽,服务端按 position 重排,任务可按「全部 / 我创建的 / 指派给我的」筛选。
  • 任务:富文本描述、负责人、截止时间、附件列表;富文本正文经 bluemonday 白名单净化,只放行本站附件地址。
  • 项目资料:挂在项目下的文档型内容(需求文档 / 会议纪要 / 设计稿 / 项目密钥 / 测试账密),支持富文本、内嵌图片、附件与按标题检索。
  • 附件:扩展名白名单 + 32 位随机文件名落盘;下载走独立的短时效「下载票据」,登录 token 不出现在任何 URL 里,且下载还要过数据权限(即看即下)。
  • 回收箱:项目 / 任务 / 资料软删除后按「批次时间戳」集中管理,恢复时精确还原同批数据;彻底删除会在操作日志里留下数据快照。
  • 操作日志:覆盖项目 / 任务 / 资料 / 用户 / 部门五类对象的增删改与拖拽留痕,支持按类型 / 动作 / 关键词检索。
  • 多语言:界面简体中文 / English;后端接口文案按 Accept-Language 返回,并有测试扫描遗漏的译文。
  • 主题:浅色 / 深色 / 跟随系统。

归档里有什么

mini-kanban-v1.0.0-<os>-<arch>/
├── mini-kanban(.exe)     后端可执行文件(只有后端代码,不含页面)
├── web-dist/              前端静态产物,必须与可执行文件同目录
├── start.sh / start.bat  启动脚本(打印版本号,异常退出时列出常见原因)
├── version.txt           本包版本号
├── config.example.yaml   配置模板(复制为 config.yaml 后按环境修改)
├── README.md / README.en.md
└── LICENSE

web-dist/ 刻意没有 go:embed 进二进制:可执行文件因此小约 1MB,改前端不必重编 Go。
万一它被挪走了,用环境变量 WEB_DIST_DIR 指回正确位置即可;服务找不到该目录时仍会启动,
只是非 /api 路径返回 404(接口不受影响),启动日志会打印它找的那个绝对路径。

校验与排错

  • 校验完整性:sha256sum -c checksums.txt。
  • 想换端口 / 重新配置:复制 config.example.yaml 为 config.yaml 后改 server.port;或用 SETUP_FORCE=1 再次进入向导(原配置会备份为 config.yaml.bak)。
  • 启动脚本停在窗口不关闭时会直接打印退出码与常见原因(数据库连不上 / Redis 连不上 / 端口被占用 / 配置缺失或格式错误)。

v1.0.0 · First stable release

A self-hostable drag & drop task board — download one archive, unzip, run. The archive ships the server
binary plus a web-dist/ directory with the built pages; the same process on the same port serves both the API and
the UI. No Node.js, no extra static directory, no nginx and no CORS on the target machine.

Which file to download

Names carry the version, mini-kanban-v1.0.0-<os>-<arch>:

  • Windows: mini-kanban-v1.0.0-windows-amd64.zip, mini-kanban-v1.0.0-windows-arm64.zip
  • Linux: mini-kanban-v1.0.0-linux-amd64.tar.gz, mini-kanban-v1.0.0-linux-arm64.tar.gz
  • macOS: mini-kanban-v1.0.0-darwin-amd64.tar.gz, mini-kanban-v1.0.0-darwin-arm64.tar.gz

All archives are statically compiled (CGO_ENABLED=0). checksums.txt holds the SHA256 of every archive
(sha256sum -c to verify).

Three steps

  1. Unzip / untar the archive for your platform completely — the top-level directory matches the archive name and
    web-dist/ has to sit next to the binary.
  2. Run start.sh (start.bat on Windows). With no config.yaml present the script points you at the setup wizard.
  3. Open http://localhost:8281. On first run you land on /setup: fill in the database / Redis connection, test it,
    save — the config is written and a dialog waits for the service to come up, then opens the status page after 3.5 s.

The database must exist beforehand (the service creates tables, not databases); Redis is optional — leave redis.host
empty to run without cache.

Features

Login & accounts (JWT + bcrypt, Redis token blacklist, user/department admin), a four-column board with drag & drop
(backlog / doing / done / accepted) with server-side reordering, tasks with rich text, assignees, due dates and
attachments, per-project docs, a recycle bin with batch restore, an audit log with snapshots, Chinese/English UI and
light/dark themes.

Inside the archive

mini-kanban-v1.0.0-<os>-<arch>/
├── mini-kanban(.exe)     backend binary (backend code only, no pages inside)
├── web-dist/              built frontend; must sit next to the binary
├── start.sh / start.bat  launcher (prints the version, explains failures)
├── version.txt           version of this package
├── config.example.yaml   config template (copy to config.yaml)
├── README.md / README.en.md
└── LICENSE

web-dist/ is deliberately not go:embed-ed into the binary: the executable stays ~1 MB smaller and rebuilding
the frontend no longer recompiles Go. If the directory ends up somewhere else, point WEB_DIST_DIR at it; when it
cannot be found the service still starts but non-/api paths return 404, and the startup log prints the absolute
path it looked at.