Feature #1605

rroonga 2.1.0リリース

Added by haruka yoshihara almost 5 years ago. Updated almost 5 years ago.

Status:完了チェック待ちStart date:12/27/2012
Priority:NormalDue date:12/28/2012
Assignee:haruka yoshihara% Done:

90%

Category:-
Target version:-

Description

h2. 動機

groonga 2.1.0に対応したrroongaを誰でも使えるようにしたい。

h2. ゴール

rroongaがリリースされ、gemとしてインストールできるようになっている。

h2. 解決方法

以下のリリース準備を行い、リリースする。

newsの更新

POのアップデート(翻訳)

** 加えて、新しいPackngaを使い始めたためにfuzzyとnewsの未翻訳が大量にあるので、それも解決する。

リファレンスの確認と生成

rakeでreference:generateタスクを実行して、リファレンスが生成されることを確認する。

rakeでreference:publication:prepareタスクを実行して、テンプレートを反映したリファレンスを作成する。

リリースアナウンスの作成(日英)

gemの作成

rakeでbuildタスクを実行してgemを作成し、最新のgroongaを使ってテストが動くかを確認する。

-windows用のパッケージを作成する。-

rubygems.orgへのgemのアップロード

** ただし、groongaのパッケージがアップロードされてから行う。

リファレンスをranguba.orgへとpush

リリースアナウンスの -投稿- チケットへの貼り付け

** リリース日は29日のためチケットにアナウンスはそれぞれ貼り付ける。 ** また、同時に他のgroonga関連のgem(gqtp、fluent-plugin-groonga)も29日付でリリースするため、そのアナウンスもこのチケットに貼る。 ** 日本語送信先:ruby-lst、groonga-dev ** 英語送信先:groonga-talk

バージョンのbump(2.1.0 -> 2.1.1)

History

#1 Updated by haruka yoshihara almost 5 years ago

  • Description updated (diff)

解決方法を一部修正した。

現在、gemの作成まで終わった。なお、windows版はbundlerのエラーにより作成できないため、ここではアップロードしないことにした。 このあとリリースアナウンスの作成、gemのアップロード、リファレンスのranguba.orgへのpush、バージョンのbumpを行う。

#2 Updated by haruka yoshihara almost 5 years ago

リリースアナウンスを日本語と英語で書いた。

日本語:

吉原です。

groongaのRubyバインディングrroonga2.1.0をリリースしました。 リリースされたgroonga 2.1.0とも使うことができます。

web: http://ranguba.org/ja/#about-rroonga

○rroongaとは rroongaはRubyらしい書き方でgroongaを操作できることを重視しています。 同時に、groongaの速度をそのまま生かすことも大事にしています。

○今回のリリースについて

今回のリリースには、後方互換性のない変更が含まれます。

今までGroonga::Table#sortメソッドは、組み込みクラスのArrayオブジェクト を返していましたが、今回のバージョンからはGroonga::Arrayのオブジェクト が返るように修正しました。 そのため、以前までのようにレコードからなるArrayオブジェクトを得るには、 次のコードのようにrecord.valueメソッドを使う必要があります。(recordは ある1つのGroonga::Recordオブジェクト)

result_since_2_1_0 = table.sort(["sort_key"]) result_before_2_1_0 = result_since_2_1_0.collect do |record| record.value end

ただ、レコードに対してカラム名のメソッドを呼ぶことで、元のレコードの該 当するカラムの値を取得できます。そのため、レコードそのものではなくレコー ドのあるカラムが持つ値がほしい場合は、record.valueメソッドは使わず recordに対してカラム名のメソッドを呼ぶことをおすすめします。(例えば、 あるrecordのkeyはrecord.value.keyで取得できますが、record.keyも同じ値を 返します。)

他、インデックスカラムをダンプするツールや、文字列を正規化するメソッド が実験的に追加されました。実験的なので、今後断りなく仕様が変わることが あります。ご使用の際はご留意ください。また、ブロックで条件を指定するこ とでレコードをまとめて削除する機能も追加されました。

○インストール

% sudo gem install rroonga

○チュートリアル

irbを使ったrroongaのチュートリアルがあります。 http://ranguba.org/rroonga/ja/file.tutorial.html

はじめての方はまずこちらを試してみてください。

2.0.7からの変更点は以下の通りです。 http://ranguba.org/rroonga/ja/file.news.html

2.1.0: 2012-12-27

改良 ^ * groonga 2.1.0対応。 * ブロックを使ってまとめてレコードを削除できるようになった。 [groonga-dev,01138][ongaeshiさんが報告]

  • Groonga::Normalizer.normalizeを追加。(ただし実験的です)このメソッ ドは文字列を正規化します。 例) Groonga::Normalizer.normalize("AbC") # => "abc" 今はこのメソッドは空白を自動で削除しますが、カスタマイズ可能にする予定です。
  • DoubleArrayTrie, PatriciaTrie, Hash, Schemaを使ってテーブルを作ると きに:normalizerオプションを指定可能にした。
  • [table] 使用しているノーマライザーへのアクセサを追加。
  • [table] キーが正規化可能かどうかをノーマライザーを使ってチェックするようにした。
  • groonga-index-dumpコマンドを追加。(ただし実験的です) このツールはDBからインデックスの情報をダンプします。 ダンプされた情報は"インデックス名.dump"というファイルに保存され、この ファイルは"インデックス対象のテーブル名.index_インデックスカラム名"と いうディレクトリに保存されます。 例) $ cat index-dump.sdf table_create --name Video --flags TABLE_HASH_KEY --key_type UInt32 table_create --name Tag --flags TABLE_HASH_KEY --key_type ShortText column_create --table Video --name title --flags COLUMN_SCALAR --type ShortText column_create --table Video --name tags --flags COLUMN_VECTOR --type Tag column_create --table Tag --name index_tags --flags COLUMN_INDEX --type Video --source tags load --table Video [ {"_key":1,"title":"groonga Demo","tags":["IT","Server","groonga"]}, {"_key":2,"title":"Ultra Baseball","tags":["Sports","Baseball"]}, ] $ groonga --file index-dump.sdf -n index-dump.db $ groonga-index-dump --output-directory=path/to/index/ index-dump.db $ ls path/to/index/ Tag.index_tags $ ls path/to/index/Tag.index_tags Baseball.dump IT.dump Server.dump Sports.dump groonga.dump $ cat path/to/index/Tag.index_tags/groonga.dump index: Tag.index_tags\tterm: \tdomain: Tag\trange: Video\thave_section: false\thave_weight: false\thave_position: false weight\tposition term_frequency\trecord 0 2 1 Video[1].tags

  • Groonga::IndexColumn#open_cursorにフラグに関するオプション (:with_section, :with_weight, :with_position)を追加。インデックス カラムを作るときにこれらオプションを指定していると、指定したオプショ ンをデフォルトで使用可能になります。

  • [Snippet] 指定されたGroonga::Contextオブジェクトがデータベースと結 びついていないときにエラーメッセージを表示するようにした。

  • [inspect] インデックスカラム関連のフラグ(WITH_SECTION, WITH_WEIGHT, WITH_POSITION)はインデックスカラムを表示するときにの み表示するようにした。

  • [inspect] デフォルトのトークナイザーとノーマライザーの情報を表示するようにした。

  • Groonga::QueryLoggerをサポートした。このクラスはクエリログのロガー です。詳しくはリファレンスマニュアルをご覧ください。

変更 ^

  • groonga-query-log-extractコマンドをgroonga-query-logというgemに移動 しました。groonga-query-log-extractコマンドを使うには次のコマンドを 実行してgroonga-query-logをインストールしてください。

    $ gem install groonga-query-log

  • Groonga::Table#sortの返り値をArrayではなくGroonga::Arrayにした。 [GitHub: #8][Genki Takiuchiさんが報告] 注意: これは後方互換性のない変更です。元のレコードを使うにはrecordの 代わりにrecord.valueを使う必要があります。

感謝 ^ * ongaeshiさん * Genki Takiuchiさん


Haruka Yoshihara yoshihara@clear-code.com

英語:

Hi,

We released rroonga 2.1.0. You can use rroonga 2.1.0 with the new groonga (2.1.0).

http://ranguba.org/#about-rroonga

rroonga is the library which ruby-binding for grronga.

Since ver.2.0.7 was released, We added the backword incompatible change to rroogna.

Groonga::Table#sort returns built-in Ruby Array object until 2.0.8, but now (2.1.0) it returns Groonga::Array.

you can use record.value (record is an object of Groonga::Record) to getting returning Array like 2.0.8 beforeby #sort. Please see example below:

result_since_2_1_0 = table.sort(["sort_key"]) result_before_2_1_0 = result_since_2_1_0.collect do |record| record.value end

However, without record.value, you can get the column values in a record using #{column name} methods, so we recommend it. For example, if you want to get a value of "key" column from a record, you can use record.key instead of record.value.key.

We also added the tool to dump index columns from DB, and the method to nomarize string. These tool and method is experimental, so we may change these behavior. In addition, we implemented the feature to delete mass record with block.

How to install:

% sudo gem install rroonga

There is the tutorial of rroonga with irb (Japanese):

http://ranguba.org/rroonga/en/file.tutorial.html

There is the reference of rroonga (Japanese).

http://ranguba.org/rroonga/en/

Please see below changes since ver.2.0.7.

http://ranguba.org/rroonga/en/file.news.html

2.1.0: 2012-12-29

Improvements ^

  • Required groonga 2.1.0.
  • Supported mass record deletion with block. [groonga-dev,01138][Suggested by ongaeshi]
  • Added Groonga::Normalizer.normalize (experimental). It normalize string. e.g.) Groonga::Normalizer.normalize("AbC") # => "abc" Now, it removes any spaces by default, but it will be customized soon.
  • Supported :normalizer option in DoubleArrayTrie, PatriciaTrie, Hash, Schema when creating tables.
  • [table] Added using normalizer accessor.
  • [table] Used normalizer for checking key normalization is enabled or not.
  • Added groonga-index-dump tool (experimental). This tool dumps infomations for each index from DB. Dumped informations are contained at "INDEX_NAME.dump" files in "TARGET_TABLE_NAME.index_INDEX_COLUMN_NAME". e.g.)

    $ cat index-dump.sdf
     table_create --name Video --flags TABLE_HASH_KEY --key_type UInt32
     table_create --name Tag --flags TABLE_HASH_KEY --key_type ShortText
     column_create --table Video --name title --flags COLUMN_SCALAR --type ShortText
     column_create --table Video --name tags --flags COLUMN_VECTOR --type Tag
     column_create --table Tag --name index_tags --flags COLUMN_INDEX --type Video --source tags
     load --table Video
     [
     {"_key":1,"title":"groonga Demo","tags":["IT","Server","groonga"]},
     {"_key":2,"title":"Ultra Baseball","tags":["Sports","Baseball"]},
     ]
    $ groonga --file index-dump.sdf -n index-dump.db
    $ groonga-index-dump --output-directory=path/to/index/ index-dump.db
    $ cd path/to/index/
    $ ls Tag.index_tags
    Baseball.dump  IT.dump       Server.dump  Sports.dump  groonga.dump
    $ cat path/to/index/Tag.index_tags/groonga.dump
    index: Tag.index_tags   term:  domain: Tag range: Video    have_section: false have_weight: false  have_position: false
     weight position        term_frequency  record
     0    2     1   Video[ 1 ].tags
    
  • Added flag options to Groonga::IndexColumn#open_cursor. The flag options are :with_section, :with_weight, :with_position. They are enabled by default if each option is specified in creating a index column.

  • [Snippet] Showed the error message when specified context wasn't associated with a database by Groonga::Database#open or #create.

  • [inspect] Supported to display index column related flags for index column only. "index column related flags" are WITH_SECTION, WITH_WEIGHT and WITH_POSITION.

  • [inspect] Added default tokenizer and normalizer infomation.

  • Supported Groonga::QueryLogger. This class is used to log query log. Please see its reference for detail.

Changes ^

  • Move groonga-query-log-extract to groonga-query-log. Please install groogna-query-log gem to use this tool. how to install: gem install groonga-query-log
  • Returned Groonga::Array instead of Array by Table#sort. [GitHub: #8][Suggested by Genki Takiuchi] CAUTION: This is backward incompatible change. You need to use record.value to get the original record. The following code shows how to use old style: result_since_2_1_0 = table.sort(["sort_key"]) result_before_2_1_0 = result_since_2_1_0.collect do |record| record.value end

Thanks ^

  • ongaeshi
  • Genki Takiuchi

Thanks, yoshihara (yoshihara at clear-code.com)

#3 Updated by haruka yoshihara almost 5 years ago

上記アナウンスを一部修正した。修正箇所は以下の通り。

日本語:

--- rroonga-2.1.0.txt   2012-12-28 11:53:28.584499540 +0900
+++ rroonga-2.1.0-01.txt    2012-12-28 12:43:16.344362130 +0900
@@ -101,7 +101,8 @@
     (:with_section, :with_weight, :with_position)を追加。インデックス
     カラムを作るときにこれらオプションを指定していると、指定したオプショ
     ンをデフォルトで使用可能になります。
-  * [Snippet] データベースがないときは作成するようにした。
+  * [Snippet] 指定されたGroonga::Contextオブジェクトがデータベースと結
+    びついていないときにエラーメッセージを表示するようにした。
   * [inspect] インデックスカラム関連のフラグ(WITH_SECTION,
     WITH_WEIGHT, WITH_POSITION)はインデックスカラムを表示するときにの
     み表示するようにした。

英語:

--- rroonga-2.1.0.en.txt    2012-12-28 12:14:50.431240770 +0900
+++ rroonga-2.1.0.en-01.txt 2012-12-28 12:43:51.428550743 +0900
@@ -98,7 +98,8 @@
   The flag options are :with_section, :with_weight, :with_position.
   They are enabled by default if each option is specified in creating
   a index column.
-* [Snippet] Ensured creating database.
+* [Snippet] Showed the error message when specified context wasn't
+  associated with a database by Groonga::Database#open or #create.
 * [inspect] Supported to display index column related flags for index
   column only.
   "index column related flags" are WITH_SECTION, WITH_WEIGHT and

#4 Updated by haruka yoshihara almost 5 years ago

gemのアップロード、リファレンスのranguba.orgへのpush、バージョンのbumpまで終了した。

#5 Updated by haruka yoshihara almost 5 years ago

gqtpのリリースアナウンス:

今日は今年最後の肉の日ですね。

groongaが使っている独自プロトコル「GQTP」をRubyで実装したライブラリ
gqtp 1.0.2をリリースしました。

  https://github.com/ranguba/gqtp

GQTPプロトコルについては次のURLにドキュメントがあります。

  http://groonga.org/ja/docs/spec/gqtp.html

gqtpにはGQTPクライアント、GQTPサーバー、GQTPプロキシとして使える機能が
揃っています。また、非同期で使えるAPIになっているので、同時に複数の接続
を受け付けるような使い方にも対応できます。
使い方は次のURLをご覧ください。(英語です。)

  http://rubydoc.info/gems/gqtp/file/README.md#Usage

今回は、接続をクローズするときの挙動を改善しました。

1,0.0からの変更点は次のとおりです。

  http://rubydoc.info/gems/gqtp/file/doc/text/news.md

1.0.2: 2012/12/29
-----------------

修正
^^^

  * ドキュメント生成にに必要なファイルを追加した。

1.0.1: 2012/12/29
-----------------

改良
^^^

  * [client] 接続をクローズすするときにサーバーにquitコマンドを送信する
    ようにした。

#6 Updated by haruka yoshihara almost 5 years ago

  • % Done changed from 0 to 90

fluent-plugin-groongaのリリースアナウンス:

今日は今年最後の肉の日ですね。

ログ収集ツールfluentd(http://fluentd.org/)を使って、groongaデータベース
のレプリケーションを行うライブラリfluent-plugin-groonga 1.0.1をリリース
しました。

  https://github.com/groonga/fluent-plugin-groonga/

ドキュメント:

  http://groonga.org/fluent-plugin-groonga/ja/

fluentdは普通はログの収集に使いますが、ここでは、groongaのクエリを複数
のgroongaサーバーに転送するために使っています。つまり、fluentdのメッセー
ジルーティング機能だけを使ってレプリケーションに対応したgroongaシステム
を構築します。

具体的な構成の仕方については次のURLをご覧ください。

  http://groonga.org/fluent-plugin-groonga/ja/file.constitution.html

今回のリリースではドキュメントを充実させました。
上記の構成についてのドキュメントを追加したり、日本語化を行ったりしました。
他にはデフォルトでemitするコマンドの追加などを行いました。

1.0.0からの変更点は次のとおりです。

  http://groonga.org/fluent-plugin-groonga/ja/file.news.html

1.0.1: 2012/12/29
-----------------

改善
^^^

 * emitするコマンドを追加した(deleteコマンド、registerコマンド、truncateコマンド)。
 * [out] "shutdown"コマンドを使う代わりにcloseメソッドを使うようにした。
 * ドキュメントを http://groonga.org/fluent-plugin-groonga/ja/ に設置した。
 * [doc] ドキュメントを追加・更新した。
   * 構成と設定のページを更新した。
   * 復旧の方法を追加した。
   * 3パターンの大きさのシステムでマスター・スレーブ方式のレプリケーショ
     ンを使うためのドキュメントを追加した。

#7 Updated by Kouhei Sutou almost 5 years ago

  • % Done changed from 90 to 60

gqtpとfluent-plugin-groongaは年明けにgroonga-talkに英語でアナウンスしてください。 (せっかく英語でドキュメントを用意しているので。)

#8 Updated by Kouhei Sutou almost 5 years ago

rroongaのチュートリアルも来年のすぐに英語版を用意して世界でアピールできるようにしたいですね。

#9 Updated by Kouhei Sutou almost 5 years ago

fluent-plugin-groongaはgroongaに関係するやつなので、blogroongaでもアピールしていきたい。

#10 Updated by haruka yoshihara almost 5 years ago

gqtpとfluent-plugin-groongaの英語でのアナウンス(用意せず申し訳ありません)、rroongaの英語版チュートリアル、fluent-plugin-groongaのblogroongaでのアピールについて了解しました。年明けに対応します。

#11 Updated by Kouhei Sutou almost 5 years ago

ranguba.orgのリファレンスをアップデートする方法ってどうやるのかしら。 rroongaとActiveGroongaをリリースしたのであとでアップデートすること。

#12 Updated by Kouhei Sutou almost 5 years ago

ActiveGroongaで @rake reference:po:update@ が10分くらい経っても終わらなかった。 たぶん、gettextで遅くなっている。

#13 Updated by haruka yoshihara almost 5 years ago

ranguba.orgにリファレンスをアップロードする方法ふくめ、Packngaのrelease.textileを更新して見られるようにします。 またrroongaとActiveGroongaのリファレンスの更新もやります。 rake reference:po:updateタスクが遅い原因ですが、PackngaでGNUのmsgmergeに変えて該当タスクを実行したところ、厳密には測ってませんが体感でも速くなったので、gettextが遅いのだと思います。 たぶんですが、fuzzy matchingで余計なエントリ(msgstrが""のためfuzzyの対象にならないエントリ)もeachで回しているためだと思います。 これに関しても1月にやることリストに入れます。

#14 Updated by haruka yoshihara almost 5 years ago

  • % Done changed from 60 to 70

gqtp、fluent-plugin-groongaのリリースアナウンスを書いた。 どちらも明日見直して問題がなければgroonga-talkに送信する。

gqtp:

Hi,

We released gqtp 1.0.3.

  https://github.com/ranguba/gqtp

Gqtp gem is a GQTP (Groonga Query Transfer Protocol) Ruby implementation.
Please see http://groonga.org/docs/spec/gqtp.html for GQTP details.

Gqtp gem provides GQTP client, GQTP server and GQTP proxy
implementations. They provide asynchronous API. You can use gqtp gem
for high concurrency use.

Since ver.1.0.0 was released, we improved GQTP Client on close.
When it finished a connection with groonga server, GQTP client just
called close method of its connection object, but now it sends groonga's
command (quit) to groonga server too.

How to install:

  % gem install gqtp

Usage:

Please see the README of gqtp gem usage:

  http://rubydoc.info/gems/gqtp/file/README.md

References:

The references of gqtp are published.

  http://rubydoc.info/gems/gqtp/

Please see below changes since ver.1.0.0.

  http://rubydoc.info/gems/gqtp/file/doc/text/news.md

# News

1.0.3: 2013-01-07
-----------------

Fixes
^^^^^

* Fixed the bug anyone can't see README document in rubydoc.info.
  README URL: http://rubydoc.info/gems/gqtp/

1.0.2: 2012-12-29
-----------------

Fixes
^^^^^

* Added missing file for documentaion.

1.0.1: 2012-12-29
-----------------

Improvements
^^^^^^^^^^^^

* [client] Sent
  [quit command](http://groonga.org/docs/reference/commands/quit.html)
  on close.

---
Thanks,
yoshihara
(yoshihara at clear-code.com)

fluent-plugin-groonga:

Hi,

We released fluent-plugin-groonga 1.0.1.

  https://github.com/groonga/fluent-plugin-groonga/

It implements replication for groonga by fluentd(*).

(*) http://fluentd.org/

Usually, fluentd is used as event log collector, but groonga
uses fluentd as message router.
Groonga users can replicate their data by fluent-plugin-groonga.

Since ver.1.0.0 was released, we added some destructive commands to
emit commands. Some commands are "delete", "register", "truncate".
We also placed the references of fluent-plugin-groonga to
http://groonga.org/fluent-plugin-groonga/en/. This references includes
how to configuration, constitution and recover.

Refenreces:

The references of fluent-plugin-groonga:

  http://groonga.org/fluent-plugin-groonga/en/

Configuration & Constitution:

Please see below URLs for details and examples of configuration and
constitution.

  configuration:
    http://groonga.org/fluent-plugin-groonga/file.configuration.html

  constitution:
    http://groonga.org/fluent-plugin-groonga/file.constitution.html

Please see below changes since ver.1.0.0.

  http://groonga.org/fluent-plugin-groonga/en/file.news.html

1.0.1: 2012/12/29
-----------------

Improvements
^^^^^^^^^^^^

* Added more destructive emit commands ("delete", "register", "truncate").
* [out] Used close instead of sending "shutdown".
* Placed documents to http://groonga.org/fluent-plugin-groonga/en/.
* [doc] Updated documents:
  * Added the documents of configuration and constitution.
  * Added recover steps.
  * Added documentation about master slave replication in
    [small/medium/large] system.

---
Thanks,
yoshihara
(yoshihara at clear-code.com)

#15 Updated by haruka yoshihara almost 5 years ago

  • Status changed from 担当者作業中 to 完了チェック待ち
  • % Done changed from 70 to 90

次のように修正して送信した。

gqtp:

--- gqtp/en-1.0.3.txt   2013-01-08 11:47:12.574586586 +0900
+++ gqtp/en-1.0.3-2.txt 2013-01-08 11:51:01.608055649 +0900
@@ -1,6 +1,6 @@
 Hi,
 
-We released gqtp 1.0.3.
+We released the gem "gqtp" ver.1.0.3 yesterday.
 
   https://github.com/ranguba/gqtp
 
@@ -11,7 +11,7 @@
 implementations. They provide asynchronous API. You can use gqtp gem
 for high concurrency use.
 
-Since ver.1.0.0 was released, we improved GQTP Client on close.
+Since ver.1.0.0 was released, we improved GQTP Client.
 When it finished a connection with groonga server, GQTP client just
 called close method of its connection object, but now it sends groonga's
 command (quit) to groonga server too.
@@ -22,22 +22,20 @@
 
 Usage:
 
-Please see the README of gqtp gem usage:
+Please open the URL below about gqtp gem usage:
 
   http://rubydoc.info/gems/gqtp/file/README.md
 
 References:
 
-The references of gqtp are published.
+The references of gqtp are published in below:
 
   http://rubydoc.info/gems/gqtp/
 
-Please see below changes since ver.1.0.0.
+The changes since ver.1.0.0 are listed below:
 
   http://rubydoc.info/gems/gqtp/file/doc/text/news.md
 
-# News
-
 1.0.3: 2013-01-07
 -----------------
 

fluent-plugin-groonga:

--- fluent-plugin-groonga/en-1.0.1.txt  2013-01-08 11:53:04.420918932 +0900
+++ fluent-plugin-groonga/en-1.0.1-2.txt    2013-01-08 11:52:28.844671606 +0900
@@ -14,13 +14,15 @@
 
 Since ver.1.0.0 was released, we added some destructive commands to
 emit commands. Some commands are "delete", "register", "truncate".
-We also placed the references of fluent-plugin-groonga to
-http://groonga.org/fluent-plugin-groonga/en/. This references includes
-how to configuration, constitution and recover.
+Additionally, we placed the references of fluent-plugin-groonga to
+groonga.org. The URL of the references is
+http://groonga.org/fluent-plugin-groonga/en/.
+This references includes how to configuration, constitution and
+recover.
 
 Refenreces:
 
-The references of fluent-plugin-groonga:
+The references of fluent-plugin-groonga.
 
   http://groonga.org/fluent-plugin-groonga/en/
 
@@ -30,12 +32,12 @@
 constitution.
 
   configuration:
-    http://groonga.org/fluent-plugin-groonga/file.configuration.html
+    http://groonga.org/fluent-plugin-groonga/en/file.configuration.html
 
   constitution:
-    http://groonga.org/fluent-plugin-groonga/file.constitution.html
+    http://groonga.org/fluent-plugin-groonga/en/file.constitution.html
 
-Please see below changes since ver.1.0.0.
+The changes since ver.1.0.0 are listed below:
 
   http://groonga.org/fluent-plugin-groonga/en/file.news.html
 

Also available in: Atom PDF