Scalaで実装されたオープンソースのGithubクローン、GitBucket 1.7をリリースしました。
https://github.com/takezoe/gitbucket/releases/tag/1.7
このバージョンでの新機能および修正点は以下の通りです。
- 組み込みJettyモードがJava6でも動作するようになりました
- 組み込みJettyモードにバインドするホスト名を指定するための--hostオプションを追加しました
- 組み込みJettyモードにフロントでhttpsを使用時に指定する--https=trueオプションを追加しました
- ユーザの設定でアカウント名と別に氏名を指定できるようになりました
- 未作成のWikiページへのリンクの色を変更しました
- リポジトリビューアのタブに表示中のリビジョンの内容をZIPファイルでダウンロードするためのボタンを追加しました
- リポジトリ内容をZIPファイルでダウンロードする際の性能を改善しました
- Issueの内容とコメントのテキストエリアが入力内容行数にあわせて自動的に拡張するようになりました
- Wikiで先に別のユーザが更新していた場合の衝突を検知するようになりました
- Wikiページの履歴画面から過去のページ内容にロールバックできるようになりました
- リポジトリビューアでアカウントとコミットしたユーザをメールアドレスで紐付けるようになりました
- メール通知の送信元アドレスを設定で変更できるようになりました
- Issueのコメントに反映されたコミットログにチェンジセットへのリンクを表示するようにしました
- 様々なバグを修正しました
今回はWikiやIssueの細かい部分の機能追加のみの予定だったのですがHacker News事件で一気にユーザが増え、バグレポートや機能追加の要望、プルリクエストなどをいただけるようになり、最終的にはかなり大きなバージョンアップとなりました。フィードバックしていただいた皆様、ありがとうございました。
さて、1.7をリリースしたばかりですが、11月末には1.8のリリースを予定しています。1.8では今のところ以下のような機能を実装する予定です。
- ユーザ・グループを削除できるようにする。また、リポジトリ削除時の不具合の修正。これはユーザやリポジトリに関するリレーションの見直しを含むため、間接的に今後リポジトリ名の変更やリポジトリの所有者を変更する機能の実装にも影響してきます
- チェンジセット、差分への行単位でのコメント。これは以前から「コードレビューに使いたい」という要望が多かったものです。現在、差分表示にはjsdifflibというJavaScriptライブラリを使っているのですが、ここから自作する必要があり、結構時間がかかりそうです。当面はブランチで開発を進める予定ですが、もしかすると1.8には完全な状態ではマージできないかもしれません
この他にもOSGiベースのプラグイン機構や、SSH経由でのリポジトリアクセスについてはブランチで実験を行っていきます。特にSSH経由でのアクセスは要望が多いので、近い将来、何らかのサポートを提供したいと思っています。