Skip to content

v1.0.0-rc.4

Choose a tag to compare

@github-actions github-actions released this 30 Sep 07:29
· 6 commits to main since this release

Fourth release candidate of Looptrack 1.0.0.

Changes since v1.0.0-rc.3:

  • MCP now works on a server that listens on 127.0.0.1 behind a reverse proxy, as install.sh sets up with systemd. Every MCP request to such a server was refused with 403 by the MCP library's protection against DNS rebinding. looptrack now checks the Host itself: a request received on a loopback address is accepted when its Host is a loopback name or the host of LOOPTRACK_PUBLIC_URL, and refused with 403 otherwise. The desktop app still accepts only loopback names.
  • looptrack migrate works with the minimum MySQL grants when there is nothing to apply. Before, it failed with error 1142 on every run, so the automatic update of a MySQL server failed and put the previous version back every time.
  • The automatic server update puts the previous version back once it has stopped the service, whatever makes it fail (a failing systemctl daemon-reload or systemctl start, any other failing command, or an interruption), and leaves the reason in journalctl -u looptrack-upgrade. A manual --upgrade on a terminal still does not roll back.
  • install.sh gives the right reason when --auto-upgrade on stops for lack of curl and wget, and shows the dnf commands (minisign from EPEL) next to the apt ones.
  • Plainer wording across the README and the guides, and CHANGELOG.md now carries each version in English followed by Japanese.

Upgrading from rc.3:

  • This version adds no database migrations.
  • The automatic update keeps running the copy of install.sh saved on the server. To get the fixed rollback, run the one-line upgrade once by hand: curl -fsSL https://raw.githubusercontent.com/howashoji/looptrack/main/deploy/install.sh | sudo sh -s -- --upgrade.
  • If MCP clients were refused with 403 by a server behind a reverse proxy, check that LOOPTRACK_PUBLIC_URL holds the public URL the clients use.

Verify downloads with SHA256SUMS and its minisign signature (SHA256SUMS.minisig).
The container image is ghcr.io/howashoji/looptrack:v1.0.0-rc.4.

This is a release candidate. See CHANGELOG.md for the full list of changes.


Looptrack 1.0.0 のリリース候補、4 つ目です。

v1.0.0-rc.3 からの変更:

  • 127.0.0.1 で待ち受けてリバースプロキシの後ろに置いたサーバでも、MCP が使えるようになりました。install.sh が systemd で入れる形がこれに当たります。こうしたサーバでは、MCP のライブラリの DNS rebinding の対策が、MCP の要求をすべて 403 で拒否していました。いまは looptrack 自身が Host を判定します。ループバックのアドレスで受けた要求は、Host がループバックの名前か LOOPTRACK_PUBLIC_URL のホストなら通し、それ以外は 403 で拒否します。デスクトップ版は、これまでどおりループバックの名前だけを通します。
  • MySQL の最小の権限でも、適用するものが無ければ looptrack migrate が通るようになりました。これまでは毎回エラー 1142 で失敗し、MySQL のサーバの自動更新は毎回失敗して前の版に戻っていました。
  • サーバの自動更新は、サービスを止めた後なら、何で失敗しても前の版に戻します(systemctl daemon-reload や systemctl start の失敗、途中のほかのコマンドの失敗、中断)。理由は journalctl -u looptrack-upgrade に残ります。端末で手動で実行する --upgrade は、これまでどおり戻しません。
  • curl も wget も無いために --auto-upgrade on が止まるとき、install.sh が正しい理由を示すようになりました。apt に並べて dnf のコマンドも示します(minisign は EPEL から)。
  • README とガイドの言い回しを平易にしました。CHANGELOG.md は各版を英語の後に日本語で載せます。

rc.3 から上げるとき:

  • この版に DB の移行はありません。
  • 自動更新は、サーバに保存した install.sh の写しを動かし続けます。直った戻し方を使うには、1 行の更新を 1 度だけ手で実行してください: curl -fsSL https://raw.githubusercontent.com/howashoji/looptrack/main/deploy/install.sh | sudo sh -s -- --upgrade。
  • リバースプロキシの後ろのサーバで MCP のクライアントが 403 で拒否されていたなら、LOOPTRACK_PUBLIC_URL にクライアントが使う公開の URL が入っていることを確かめてください。

ダウンロードしたものは SHA256SUMS と minisign の署名(SHA256SUMS.minisig)で確かめられます。
コンテナイメージは ghcr.io/howashoji/looptrack:v1.0.0-rc.4。

リリース候補です。変更の全部は CHANGELOG.md にあります。


Full Changelog: v1.0.0-rc.3...v1.0.0-rc.4