GitBucket 4.34.0をリリースしました

f:id:takezoe:20200726033019p:plain

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

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

2020年初、7ヶ月ぶりのリリースとなります。色々変更が溜まっていたり、プラグインのアップデートも必要だったりしたのでいつリリース作業をしようかと思っていたのですが、4連休を使ってリリース作業を行うことができたのでよかったです。次のリリースはいつできるのか…。

今回のバージョンでの主な変更内容は以下の通りです。

システム管理画面の強化

管理者向けのシステム管理画面を強化し、新たな設定項目を多数追加しました。

ファイルアップロードの設定

これまではファイルサイズ、タイムアウトの設定をCLIオプションや環境変数などで行うことができましたが、管理画面上から行えるようになりました。また、別途ラージファイル向けの設定も可能になっています。

f:id:takezoe:20200726032942p:plain

リポジトリ操作の制限

リポジトリのリネーム、削除、フォーク、移管といった操作を管理者のみに制限できるようになりました。

f:id:takezoe:20200726032954p:plain

ユーザ定義CSS

管理者はGitBucketの外観をカスタマイズするために任意のCSSを定義できるようになりました。定義したCSSはGitBucketのすべてのページに適用されます。

f:id:takezoe:20200726033006p:plain

リポジトリビューアの性能改善

リポジトリ情報のインメモリキャッシュや、ディレクトリ内のファイルが多い場合に詳細情報の表示をスキップするなどの対応によって巨大なGitリポジトリでのリポジトリビューアの表示速度が大幅に改善しています。

スタンドアロンモードでのHttpSessionの永続化

組み込みJettyを使用したスタンドアロンモードで使用する場合、これまでは再起動するとHttpSessionはリセットされていましたが、以下のように--save_sessionsというオプションを付けて起動することでHttpSessionをディスクに永続化できるようになりました。

$ java --save_sessions -jar gitbucket.war

Web APIのアップデート

List commits APIが新たに追加されました。また、既存のAPIGitHubとの互換性向上のためいくつか更新されています。GitBucketのユーザさんからはJenkins連携でのトラブルで質問をいただくことが多いのですが、今回のバージョンアップで状況が改善することを期待しています。

プラグインのアップデート

デフォルトでバンドルされているプラグインのうち、以下の2つのプラグインがバージョンアップしています。

今回は7ヶ月ぶりのリリースだけあり、この他にもMariaDBサポートの改善、アクティビティログの改善、サイドバーに表示されるリポジトリ一覧の制限など、様々な改善やバグ修正が行われています。詳細についてはIssueの一覧をご覧いただければと思います。