GitBucket 4.15.0をリリースしました

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

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

標準プラグインをバンドル

以下のプラグインがGitBucketのディストリビューションにバンドルされるようになりました。

これらのプラグインは管理画面で有効/無効を切り替えることができます。

f:id:takezoe:20170731123257p:plain

Notificationsプラグイン

イシューやプルリクエストのメール通知が gitbucket-notifications-pluginとしてプラグインに分離されました。機能も強化されており、リポジトリやイシュー/プルリクエスト毎にメールを受け取るかどうかをユーザが選択できるようになっています。

f:id:takezoe:20170731123317p:plain

f:id:takezoe:20170731123327p:plain

プラグインのホイットデプロイに対応

プラグインのインストール/アンインストールを、GitBucketを再起動しなくても行えるようになりました。プラグインをインストールする場合はGITBUCKET_HOME/pluginsディレクトリにプラグインのjarファイルを配置します。アンインストールする場合はjarファイルを削除すればOKです。

さらにGitBucketの起動オプションに--plugin_dirオプションが追加されました。これはプラグイン開発者向けの機能で、GitBucketはこのオプションで指定したディレクトリからもプラグインを読み込むようになります。たとえば以下のようにGitBucketを起動します。

$ java -jar gitbucket.war --plugin_dir=<YOUR_PLUGIN_PROJECT_DIR>/target/scala-2.12

プラグインのプロジェクト側で以下のようにしてsbtを実行します。

$ sbt ~package

するとプラグインのプロジェクト側でソースを変更しただけで自動的にjarファイルが生成され、GitBucketにも変更が反映されます。

Slickを3.2.1にバージョンアップ

Slick(GitBucketが使用しているデータベースアクセスライブラリ)を3.2.0から3.2.1にバージョンアップしました。

このバージョンのSlickは前バージョンであるSlick 3.2.0とバイナリ互換性がないため、現在リリースされている多くのGitBucketプラグインが動作しなくなってしまうものと思われます。GitBucketプラグイン開発者の皆様はGitBucket 4.15.0向けにプラグインの再ビルドをお願いできればと思います。

SSHアクセスでed25519キーをサポート

GitリポジトリへのSSHアクセスでed25519キーもサポートされるようになりました。

編集フォームでのMarkdownプレビュー

これまでイシューやコメントの作成フォームではMarkdownのプレビューが可能でしたが、編集画面ではプレビューを行うことができませんでした。このリリースでは編集フォームでもMarkdownのプレビューが可能になりました。

f:id:takezoe:20170731123345p:plain

今回のバージョンではこの他にも様々な改善やバグフィックスを行っています。詳細についてはIssueの一覧をご覧ください。