Scalaで実装されたオープンソースのGitサーバ、GitBucket 3.14および4.0をリリースしました。
- https://github.com/takezoe/gitbucket/releases/tag/3.14
- https://github.com/takezoe/gitbucket/releases/tag/4.0
GitBucket 3.14は外部データベースのサポート以外は4.0と全く同じ機能を提供していますが、3.14は3系の最後のリリースとなり、今後は4系のみリリースされることになる予定ですのでご利用のプラグインの4系対応版がリリースされていないといったケースを除き、バージョンアップの際は4.0に移行することをお勧めします。ただし、既存のGitBucketを4.0に移行するにはいったん3.14にバージョンアップしてから4.0に入れ替える必要がありますのでご注意ください。
3.14および4.0の新機能は以下の通りです。
Wikiページへのファイル添付・検索
これまでWikiにファイルを添付するにはWikiのGitリポジトリをcloneしてpushする必要がありましたが、ブラウザ上でファイル添付ができるようになりました。
また、画面上部の検索バーからはWikiページの内容も検索できるようになりました。
メニュー等を追加するための新しい拡張ポイント
以下の項目をプラグインから追加することができるようになりました。
これらの拡張ポイントの利用例はgitbucket-gist-pluginのPluginクラスを参照してください。また、プラグインのバイナリ互換性向上のため、今回のバージョンアップでPlugin
はトレイトから抽象クラスに変更されています。
WebフックのContent-Typeが選択可能に
Webフックの設定でWebフックのContent-Typeを選択できるようになりました。
MySQLとPostgreSQLのサポート(4.0のみ)
GitBucket 4.0では外部データベースとしてMySQLとPostgreSQLが使用可能になりました。
これまでGitBucketは組み込みH2をデータベースとして使用してきましたが、データが増えるに従ってH2のデータがクラッシュするという報告がユーザから寄せられていました。4.0ではこういったトラブルを回避するためデフォルトの組み込みH2だけでなく、MySQLとPostgreSQLが利用可能です。
設定方法やH2からのデータの移行方法についてはWikiをご覧ください。
プラグイン開発者に対する注意事項
GitBucket 4.0ではデータベースのマイグレーションシステムを従来の独自システムからsolidbaseに移行しています。従ってデータベースマイグレーションの必要な既存のプラグインをGitBucket 4.0で動作するようにするためにはマイグレーションをsolidbaseに行うよう修正する必要があります。solidbaseでマイグレーションを行うプラグインの作り方についてはgitbucket-gist-pluginのPluginクラスとマイグレーションスクリプトを参照してください。