GitBucket 4.42.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.42.0をリリースしました。

https://github.com/takezoe/gitbucket/releases/tag/4.42.0

今回は内部の改善が中心です。

ブランチ名の最大長を100文字から255文字に拡張

Git自体は長いブランチ名が使えるのですが、GitBucket上でプルリクエストを作成したり、ブランチプロテクションの設定を行う際にブランチ名を格納するカラムサイズの都合で100文字までという制限がありました。このバージョンでは255文字までのブランチが使えるようになっています。また、プルリクエスト作成画面にちゃんとエラーメッセージを表示するようにしました。

GitHub非互換だったWeb APIを修正

list-repository-tags APIとWebフックのペイロード等に含まれているssh_urlがGitHubと非互換だったので修正しました。

ユーザ定義CSSプラグインによる上書きを防止

いくつかのプラグインJavaScriptを使用して動的にCSSを追加するようなのですが、このCSSによってGitBucket側で定義されたユーザ定義CSSが上書きされてしまうという問題があったため、ユーザ定義CSSプラグインJavaScript実行後に適用するように修正しました。

コミットログ一覧取得のパフォーマンスを改善

GitBucketの内部実装を修正してコミットログ一覧取得のパフォーマンスを改善しました。ブランチをpushする際などもGitBucketは新規コミットを識別するために内部的に既存のコミットの一覧を取得するのですが、こういった処理のパフォーマンスも改善しているはずです。

Java 17が必須に

これまではJava 11以降で動作していましたが、新しいバージョンのJettyをサポートするためJava 17以降が必須になりました。

今回のバージョンではこの他にもバグ修正、細かい改善、内部ライブラリの更新などを行っています。詳細についてはIssueの一覧をご覧ください。