memory and CPU time for certain input. Provide a variable
(CLANG_NO_VALUE_PROPAGATION_PASS) for selectively disabling it in those
places known to trigger it.
Release 4.1.1 - 2015-01-29
--------------------------
Improvements
^^^^^^^^^^^^
* [windows] Improved to show error message instead of
error code. It's easy to understand.
* [experimental][windows] Supported small start file size for database file.
In previous versions, Groonga consumed larger initial file
size on windows in contrast to UNIX like environment.
To enable this feature, use ``GRN_IO_VERSION=1`` environment
variable. This feature isn't enabled by default because it is in experimental stage.
* Supported ``SUM``, ``MIN``, ``MAX``, ``AVG`` feature for drilldown.
This feature is supported by extending newer drilldown syntax which supports label.
Specify ``SUM``, ``MIN``, ``MAX`` or ``AVG`` for :ref:`select-drilldown-calc-types`
and target column for :ref:`select-drilldown-calc-target`.
The return value is calculated based on drilldown result in group.
* [experimental] Added ``--with-jemalloc`` option to use ``jemalloc`` for ``malloc()/free()``.
It'll improve performance on multi-threading usage. For example, the performance
of :doc:`/reference/executables/groonga` or `Mroonga <http://mroonga.org/>`__ will be improved.
Note that this feature doesn't affect to :doc:`/reference/executables/groonga-httpd` because
groonga-httpd uses multi-process model instead of multi-threading.
* groonga-httpd: Supported long error message over 2048 bytes.
By this change, long error message (>2048) is not truncated.
* groonga-httpd: Supported streaming dump functionality.
Fixes
^^^^^
* Fixed mismatch between error code and error message when
``strerror()`` is failed. There was a case that Groonga shows
incorrect error code as syscall error.
* Fixed to show errno in error message when unknow error is occurred.
* [windows] Fixed to return proper error code.
* Fixed a bug that there is only one section for multi-column index for
:ref:`select-match-columns`, it doesn't return correct search results.
For example, consider the case that there is multi-column index which is
named as ``memo_index`` for ``title`` column and ``content`` column.
Thus, this bug occurs when ``memo_index[0]`` which means index
for ``title`` column is specified for :ref:`select-match-columns`.
* mecab: Added workaround for ``mecab_strerror(NULL)`` on MeCab 0.993.
Without this workaround, Groonga aborts if there is no MeCab
dictionary. [Reported by Shuhei Tanuma]
* groonga-httpd: Fixed a bug that custom log file is ignored.
* groonga-httpd: Fixed a bug that empty dump doesn't return.
Thanks
^^^^^^
* Shuhei Tanuma
News
====
.. _release-4-1-0:
Release 4.1.0 - 2015-01-09
--------------------------
It's a bug fix release of 4.0.9.
If you have already upgraded to 4.0.9, please upgrade to 4.1.0. And
re-create your all indexes. You can re-create your indexes by removing
and re-creating your indexes such as::
column_remove TABLE INDEX_COLUMN
column_create TABLE INDEX_COLUMN COLUMN_INDEX|...
.. seealso::
* :doc:`/reference/commands/column_remove`
* :doc:`/reference/commands/column_create`
.. note::
If you didn't change your indexes by Groonga 4.0.9, you don't need
to re-create your indexes. "change" means "add", "remove" and
"update". If you use your indexes only for "search" by Groonga
4.0.9, you don't need to re-create your indexes.
Fixes
^^^^^
* Fixed a bug that index may be broken. But the following bug fixed in
Groonga 4.0.9 is re-appeared.
* Fixed a crash bug that may be occurred by deleting or updating many
indexed values at once.
[groonga-dev,02942] [Reported by kashihara]
News
====
.. _release-4-0-9:
Release 4.0.9 - 2014-12-29
--------------------------
Improvements
^^^^^^^^^^^^
* [:doc:`/reference/executables/groonga-httpd`] Marked as stable.
* [doc] Described about ``groonga-token-filter-stem`` package.
[GitHub#259] [Patch by Masafumi Yokoyama]
* [build] Supported ``make install`` without ``make``.
[Reported by akira yamada]
* [experimental] Added :doc:`/reference/commands/request_cancel`
command that cancels running request.
* [experimental] Added :c:func:`grn_db_recover()`.
* Supported indexing vector of fixed size data such as vector of
``UInt64``.
[groonga-dev,03014] [Reported by funa 1g]
* [experimental] Added :doc:`/reference/executables/grndb`.
* [deb] Supported armhf architecture.
* [:doc:`/reference/executables/groonga-server-http`] Supported HEAD.
* [doc] Updated :doc:`/contribution/documentation/introduction`.
[GitHub#270] [Patch by Yuya TAMANO]
* [doc] Updated :doc:`/install/others`.
[GitHub#271] [Patch by Hiroshi Hatake]
* [:ref:`token-filter-stem`] Supported token that consists with only
upper-case alphabets, digits, ``-`` and ``'``. It means that
:ref:`token-filter-stem` can work with MySQL compatible normalizers.
* [:doc:`/reference/commands/truncate`] Supported column.
* [:doc:`/reference/commands/truncate`] Changed parameter name to
``target_name`` from ``table``. ``table`` parameter can be used for
backward compatibility but it shouldn't used for newly written code.
* Exported :c:func:`grn_column_truncate()`.
* Added :doc:`/reference/commands/lock_clear`.
* Marked :doc:`/reference/commands/clearlock` deprecated.
* [backward incompatible] Stopped to set world writable permission for
newly created files on ``umask(0)`` environment such as daemoned
:doc:`/reference/executables/groonga-httpd`. It's a backward
incompatible change but done because the previous behavior has
a security risk.
Fixes
^^^^^
* Fixed build error on BSD based system.
[GitHub#253] [Reported by Hiroshi Hatake]
* Fixed build error on OS X.
[GitHub#253] [Reported by Hiroshi Hatake]
* Fixed a regression bug that equal operation against nonexistent
reference always matches.
* Fixed a crash bug that may be occurred by deleting or updating many
indexed values at once.
[groonga-dev,02942] [Reported by kashihara]
* Fixed a regression bug that static index construction doesn't work
on BSD based system. [GitHub#264] [Reported by Ayumu Osanai]
* Fixed a bug that ``--with-libstemmer`` configure option is ignored.
* [deb] Fixed a bug that logrotate script has a syntax error.
* Fixed a bug that grouped result can't be got when
:doc:`/reference/command/command_version` is ``2``.
[GitHub ranguba/rroonga#38] [Reported by YUKI "Piro" Hiroshi]
Thanks
^^^^^^
* Hiroshi Hatake
* Masafumi Yokoyama
* akira yamada
* kashihara
* Ayumu Osanai
* funa 1g
* YUKI "Piro" Hiroshi
* Yuya TAMANO
Release 4.0.8 - 2014/11/29
--------------------------
Improvements
^^^^^^^^^^^^
* [deb] Supported Ubuntu 12.04 again because Travis-CI runs on it.
* [mruby] Supported pretty print - ``"pp"`` for debugging. And supported to
show internal objects more descriptive format when inspecting it.
* Supported full text search query without index if one column is specified
for ``--match_columns`` even though sequential search is executed
by ``--query`` and ``--match_columns`` combination.
[groonga-dev,02902] [Reported by Atsushi Shinoda]
* [experimental] :doc:`/reference/functions/in_values` supports auto sequential
search mode. There is a case that sequential search is faster than index search when
the number of narrowed down records is small enough in contrast to
the number of expected records to narrow down by ``in_values`` with
``AND`` operation which use indexes.
The value of ``GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO`` is used as
threshold whether Groonga execute sequential search or search with indexes in
such a case.
* [mruby] Supported to load relative path of script.
* Supported test suite to write query optimizer test more easily with
mruby enabled build.
* Supported offline index construction for token filters.
[GitHub#239] [Patch by Naoya Murakami]
* [experimental] :doc:`/reference/functions/between` supports auto sequential search mode.
Use the value of ``GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO`` as threshold.
Basic concept is similar to ``GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO``.
* [experimental] Supported multiple drilldowns for :doc:``/reference/command/select``
command. The syntax is extended to support this feature. The new one is
``--drilldown[LABEL1].keys COLUMN1,COLUMN2`` for keys,
``--drilldown[LABEL1].output_columns _value.COLUMN1,_value.COLUMN2,_nsubrecs`` for output columns.
In the previous versions, a client application must implement by oneself for drilldown
by multiple keys. Use ``_key[N]`` for ``--drilldown[LABEL1].output_columns`` to show
original value of key in records.
* Supported to search ``'reference_column @ "query"'`` without index.
* [experimental] Added :doc:`/reference/commands/range_filter` command. It is faster than select
command to fetch specific range of records in most cases, because it doesn't returns
the number of matched records. There are limitations which doesn't support drilldown and so on.
Thus, ``range_filter`` is suitable for extracting first ``N`` records in specific range for ranking
or something else.
* [httpd] Supported ``groonga-httpd`` on windows.
* Supported vector column for drilldown.
* [deb] Changed ``groonga-httpd`` as default HTTP server package.
``groonga-server-http`` is deprecated. Note that :doc:`/reference/executables/groonga-server-http`
functionality itself is still exists in Groonga. If you just want to use simple HTTP server
in traditional way, specify proper arguments by command line for :doc:`/reference/executables/groonga`.
* Added configuration file for Windows CI on AppVeyor.
[groonga-dev,02970,02981] [Patch by Hiroshi Hatake]
Fixes
^^^^^
* [doc] Fixed duplicated execution example path about
:doc:`/reference/commands/table_create`.
[GitHub groonga.org#14] [Reported by Masafumi Yokoyama]
* Fixed a bug that nested indexed full text search against ``X._key``
returns empty results.
* Fixed flags parameter which is strict in BSD ``mkostemp(3)``.
[GitHub#240] [Patch by Jun Kuriyama]
* Fixed a bug that select command reports invalid value type (table)
as index column value type. It was fixed to ``UInt32``.
Note that it affects only the value of response header.
The search results is not changed at all.
* Fixed a bug that compare operations such as ``<``, ``<=``, ``>``, ``>=``, ``!=`` with
Time and String type returns invalid results.
* Fixed a bug that prefix search can't be executed against single character such as
``"x*"``. [GitHub#242] [Patch by Naoya Murakami]
* Fixed a memory leak on drilldown ``ShortText`` value with ``--filter``.
* Fixed missing ``","`` for ``"DDL:set_token_filters"`` log.
[Reported by Naoya Murakami]
Thanks
^^^^^^
* Atsushi Shinoda
* Masafumi Yokoyama
* Naoya Murakami
* Jun Kuriyama
* Hiroshi Hatake
News
====
.. _release-4-0-7:
Release 4.0.7 - 2014/10/29
--------------------------
Improvements
^^^^^^^^^^^^
* [windows] Supported Groonga with mruby on Windows.
* Added token filter plugin API.
* Added :ref:`token-filter-stop-word` token filter plugin.
It treats records of ``is_stop_word`` column as actual stop words.
* [doc] Added :doc:`/client` section which introduces link to client libraries.
[GitHub#210] [Patch by Naoya Murakami]
* [doc] Reconstructed documentation. :doc:`/reference/suggest` and
:doc:`/reference/operations/geolocation_search` are grouped under :doc:`/reference`.
[GitHub#206] [Patch by Naoya Murakami]
* [dump] Supports to dump TABLE_NO_KEY for token_flters.
[GitHub#215] [Patch by Naoya Murakami]
* [deb] Added stop word token filter plugin.
[GitHub#216] [Patch by Hiroshi Hatake]
* [deb] Clarified licenses about used/bundled files in debian/copyright.
* Dropped LZO compression support.
* Added LZ4 compression support. [GitHub#223] [Patch by Naoya Murakami]
* Added :doc:`/reference/function/in_values`. We recommends to use it
instead of ``==`` and ``OR`` combinations ( ``((COLUMN == "a") OR
(COLUMN == "b") OR (COLUMN == "c"))`` ) because of better
performance.
* [load] Supported to update existing record in ``TABLE_NO_KEY`` by
specifying a record by ``_id``.
* Added :ref:`token-filter-stem` token filter plugin. It provides
stemming feature. To use this token filter, you need to install
`libstemmer <http://http://snowball.tartarus.org/>`_ library.
* [doc] Added :doc:`/reference/token_filters` documentation.
[GitHub#227] [Patch by Naoya Murakami]
Fixes
^^^^^
* [doc] Fixed link of the Ranguba project. [GitHub#212] [Patch by Naoya Murakami]
* [httpd] Updated bundled nginx version to 1.7.6.
[GitHub#208] [Patch by Hiroshi Hatake]
* [power8] Fixed build failure. See
http://lists.askmonty.org/pipermail/commits/2014-October/006752.html
[Patch by Sergey Vojtovich]
* Fixed a bug that URL encoding fails if ``char`` type is build as
``unsigned char`` type. [GitHub#217]
* Fixed a bug that a ``TABLE_DAT_KEY`` table returns empty results for
:doc:`/reference/commands/select`. [GitHub#220]
* Fixed a memory leak about inspecting vector column. It occurs when
something error reports about vector column.
* Fixed memory leaks in zlib/LZO compressed column [GitHub#221] [Patch
by Naoya Murakami]
* Fixed a bug that the value of ``Int8`` column which is less than 100 may
return true in ``--filter``. By this issue, not intended records may
be included as search results.
* Fixed to handle binary operation for vector column as an error.
* Fixed a bug that ``!XXX`` may return inverted result on big endian
environment.
* Fixed a memory leak on converting weight vector to text.
Thanks
^^^^^^
* Naoya Murakami
* Hiroshi Hatake
* Sergey Vojtovich
.. _release-4-0-6:
Release 4.0.6 - 2014/09/29
--------------------------
Improvements
^^^^^^^^^^^^
* [deb] Updated to follow the rule about machine-readable
debian/copyright file. [Reported by Hideki Yamane]
* [deb][rpm] Changed to use signal instead of HTTP to control nginx.
This way meets nginx style init script.
* [doc] Updated English documentation about [ :doc:`/reference/executables` ].
[GitHub#196] [Patch by Masafumi Yokoyama]
* [OS X] Added missing sphinx error message for Homebrew users.
[GitHub#198] [Patch by cosmo0920]
* [mruby] Query optimizer by mruby became a practical for some range select query.
For example, mruby optimizer overhead is negligible enough for query such as
"between(X, 0, 'exclude', 100, 'include')" - "X > 0 && X <= 100".
* [doc] Changed to recommend GitHub for reporting issues.
Until now, Redmine account must be approved by administrator, so you can not
report at feel free. [GitHub#202] [Patch by cosmo0920]
* [doc] Translated C API document. [GitHub#203] [Patch by NOKUBI Takatsugu]
* Supported to customize similarity threshold by ``'*S10"..."'`` syntax.
* Added source column validation to
:doc:`/reference/commands/column_create`. If source column doesn't
exist, :doc:`/reference/commands/column_create` returns ``false`` and
column isn't created.
* [debian] Dropped Debian jessie and sid support.
Fixes
^^^^^
* Fixed a bug that similar search doesn't use IDF (Inverse Document Frequency)
for choosing target tokens.
In the previous versions, it used token ID instead of IDF.
[groonga-dev,02731] [groonga-dev,02754] [Reported by Satoshi Mitani, warp kawada]
* Fixed a crash bug when deleting a record.
If the table of the record has ``_key`` and ``_key`` is
indexed from two or more index columns, deleting causes a crash.
* Fixed compiler warning about unused variable 'e'. [GitHub#197] [Patch by cosmo0920]
* [fedora][httpd] Fixed service start failure without log directory.
* [mruby] Fixed build error with ``--disable-mruby``.
[GitHub#200] [Patch by cosmo0920]
* Fixed build warning about CMP0014 for MariaDB bundled Mroonga package.
[GitHub#201] [Patch by cosmo0920]
* Fixed a bug that "*" is parsed as prefix search with empty string.
[groonga-dev,02796] [Reported by Kazuhiko]
* [httpd] Updated bundled nginx version to the latest mainline (1.7.5).
This update contains vulnerability fix (CVE-2014-3616).
Thanks
^^^^^^
* Hideki Yamane
* Masafumi Yokoyama
* cosmo0920
* NOKUBI Takatsugu
* Satoshi Mitani
* warp kawada
* Kazuhiko
Release 4.0.5 - 2014/08/29
--------------------------
Improvements
^^^^^^^^^^^^
* Dropped Ubuntu 13.10 (Saucy Salamander).
* Supported to show weight vector element as XML.
* [ :doc:`/reference/functions/between` ] Supported outside of key range.
* [mruby] Changed to use Onigmo as regexp implementation.
* Added :doc:`/reference/functions/highlight_full` and
:doc:`/reference/functions/highlight_html` which tags
output text. [GitHub#185] [Patch by Naoya Murakami]
* [doc] Updated outdated functions/commands reference
[GitHub#188] [GitHub#189] [Patch by Naoya Murakami]
* [benchmark] Added average and median in benchmark result.
* Exported :c:func:`grn_selector_func` and :c:func:`grn_proc_set_selector`
for plugin developer. [GitHub#190] [Patch by Naoya Murakami]
* [ :doc:`/reference/commands/tokenize` ] Added "mode" option to control behavior.
You can use ``GET`` or ``ADD`` as a mode.
[GitHub#191] [GitHub#192] [Patch by Naoya Murakami]
* Supported near search by '\*N"A Z"' syntax.
* Supported to customize behavior of tokenizer whether it skips token or
skips token with position. This feature is useful for developing tokenizer plugin.
[GitHub#193] [Patch by Naoya Murakami]
* [doc] Updated description that a bug report is accepted in Japanese on GitHub issue tracker.
[Reported by 6elz] [groonga-dev,02651]
* [doc] Updated tutorial in English. [GitHub#194] [Patch by cosmo0920]
Fixes
^^^^^
* [php] Fixed memory leak when :c:func:`grn_ctx_recv()` is used.
[GitHub#184] [Patch by @do-aki]
* [php] Fixed to avoid double free when :c:func:`grn_ctx_close()` is called.
[GitHub#184] [Patch by @do-aki]
* Fixed to support out-of-tree build again.
* [httpd] Updated bundled nginx version to the latest mainline (1.7.4). This update contains vulnerability fix.
* Fixed a bug that infinite loop occurs sometimes when updating indexes.
[groonga-dev,02673] [Reported by MINAGAWA Sho]
* Fixed a bug that document frequency is invalid when
:ref:`offline-index-construction` is used.
[groonga-dev,02691] [Reported by Naoya Murakami]
Thanks
^^^^^^
* @do-aki
* Naoya Murakami
* 6elz
* MINAGAWA Sho
* cosmo0920
Release 4.0.4 - 2014/07/29
--------------------------
Improvements
^^^^^^^^^^^^
* [httpd] Updated bundled nginx version to the latest mainline (1.7.3).
* Supported weight in vector column.
* [ :doc:`/reference/executables/groonga-benchmark` ] Added missing description about HTTP.
* [ :doc:`/tutorial` ] Updated English tutorial documentation.
* [example] Supported Ruby 1.9 or later for edict2grn.rb.
* [http][admin] Updated to use English as default language. [GitHub#182]
Fixes
^^^^^
* Fixed to show right syntax error location in response.
* [httpd] Fixed build error on Clang. [GitHub clear-code/rurema-search#11] [Reported by niku]
Thanks
^^^^^^
* niku
Release 4.0.3 - 2014/06/29
--------------------------
Improvements
^^^^^^^^^^^^
* [experimental][ :doc:`/executables/groonga-server-http` ]
Supported POST.
* [windows] Bundled libwinpthread-1.dll. Because newer
libgcc_s_sjlj-1.dll depends on libwinpthread-1.dll.
[groonga-dev,02398] [Reported by Masafumi Yokoyama]
* [ :doc:`/reference/executables/groonga` ] Changed the default port number of
GQTP to 10043. Because server packages use 10043 by default.
[GitHub#172] [Patch by Naoya Murakami]
* [ :doc:`/reference/commands/normalize` ] Added more validations for invalid
argument.
[groonga-dev,02409][GitHub:#174]
[Reported by GMO Media, Inc.][Patch by Naoya Murakami]
* [ :doc:`/reference/commands/tokenize` ] Added more validations for invalid
argument.
* [ :doc:`/reference/executables/groonga-server-http` ] Supported ``Expect:
100-Continue`` request.
* Exported ``grn_proc_get_type()``.
* [ :doc:`/reference/executables/groonga-suggest-learner` ]
Added ``--log-path`` and ``--log-level`` options.
* Deprecated ``GRN_CTX_USE_QL``.
* Deprecated ``GRN_CTX_BATCH_MODE``.
* Added ``grn_text_printf()``.
* Added ``grn_text_vprintf()``.
* Removed limitation of one query log size.
* Added :c:func:`grn_plugin_expr_var_init()`.
[GitHub#175][Patch by Naoya Murakami]
* Added :c:func:`grn_plugin_command_create()`.
[GitHub#175][Patch by Naoya Murakami]
* [GitHub#176] Supported reference vector column with weight.
* [plugin] Used public API instead of internal API.
[GitHub#177][GitHub#178] [Patch by Naoya Murakami]
* [doc][plugin] Added plugin APIs.
[GitHub#179] [Patch by Naoya Murakami]
* [windows] Re-supported Visual C++ 2010.
[groonga-dev,02454] [Reported by cosmo0920].
Fixes
^^^^^
* [rpm][groonga-server-gqtp] Fixed a bug that HTTP protocol is used
not GQTP.
[GitHub#173] [Patch by Naoya Murakami]
* [ :doc:`/reference/commands/select` ] Fixed a crash bug when
:ref:`select-adjuster` has a syntax error.
Thanks
^^^^^^
* Masafumi Yokoyama
* Naoya Murakami
* GMO Media, Inc.
* cosmo0920
Release 4.0.2 - 2014/05/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Updated documentation about
:doc:`/reference/executables/groonga-suggest-leaner`.
* [doc] Added documentation about how to update files.
[GitHub#160] [Patch by cosmo0920]
* [doc] Updated to caplitalized "Groonga" terms in
documentation. [GitHub#162][GitHub#163][GitHub#164]
[Patch by cosmo0920]
* Supported Ubuntu 14.04 (Trusty Tahr).
* Dropped Ubuntu 12.10.
* Migrated Ubuntu package distribution site to PPA on Launchpad.
See :doc:`/install/Ubuntu` for details.
* Handled all requests that start with ``/d/`` as API requests. You
need to put files to directories that don't start with ``/d/`` to
serve by Groonga HTTP service.
* [munin] Supported :doc:`/reference/executables/groonga-httpd`.
[Reported by Naoya Murakami]
* Supported daylight saving time.
[#2546]
* [doc] Added a description about ``--with-mecab`` in
:doc:`/install/mac_os_x`.
* [http] Changed HTTP return code to ``400 Bad Request`` from ``500
Internal Server Error`` for syntax error case.
* [http][admin] Removed jQuery JSON plugin.
[GitHub#168] [Patch by Tetsuharu OHZEKI]
* [http][admin] Enabled strict mode.
[GitHub#169] [Patch by Tetsuharu OHZEKI]
* Exported getting variable APIs to :doc:`/reference/api/plugin`.
[GitHub#170] [Patch by Naoya Murakami]
* Added ``grn_plugin_proc_get_var()``.
* Added ``grn_plugin_proc_get_var_by_offset()``.
* [experimental] Added :doc:`/reference/commands/tokenizer_list`.
[GitHub#171] [Patch by Naoya Murakami]
* [experimental] Added :doc:`/reference/commands/normalizer_list`.
[GitHub#171] [Patch by Naoya Murakami]
Fixes
^^^^^
* [index] Fixed a bug that wrong max segment. It causes a crash when
you use all allocated resource for an index column.
[#2438] [Reported by GMO Media, Inc.]
* [doc] Fixed a typo in :doc:`/install/centos`.
[GitHub#166] [Patch by Naoya Murakami]
* [doc] Fixed the wrong default value of ``drilldown_output_columns`` in
:doc:`/reference/commands/select`.
[GitHub#167] [Patch by Naoya Murakami]
* [doc] Added a missing ``\`` escape exception in
:doc:`/reference/grn_expr/query_syntax`.
[Reported by @Yappo]
Release 4.0.1 - 2014/03/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Added a link in return value to detailed header description (:doc:`/reference/command/output_format`).
* Supported to inspect vector and object value in JSON load.
It shows more details about data which is failed to load.
* Added ``adjuster`` option to select command.
adjuster options accepts following syntax: INDEX_COLUMN @ STRING_LITERAL (* FACTOR).
* Supported :ref:`weight-vector-column`. You need to specify 'COLUMN_VECTOR|WITH_WEIGHT' flags
to create weight vector column.
* Added missing MIN/MAX macros on SunOS. [GitHub#154] [Patch by Sebastian Wiedenroth]
* Improved recycling garbage data. It suppress to increse database size.
* [doc] Added documentation about GET parameters for :doc:`/reference/executables/groonga-suggest-httpd`.
* [doc] Added documentation about :doc:`/reference/column`.
* [doc] Added documentation about :doc:`/reference/columns/vector`.
* [column_list] Supported to show weight vector column.
* [column_create] Added error check for creating multi column index without WITH_SECTION.
* [httpd] Enabled stub status module (NginxHttpStubStatusModule) for groonga-httpd. [Suggested by Masahiro Nagano]
Fixes
^^^^^
* Fixed a bug that a division overflow caused a fatal error.
For example, it occurs when you execute 'COLUMN / -1' operation to Int32 or Int64 column. [#2307]
* Fixed a bug that '%' operations performs '/' operations. [#2307]
* [doc] Fixed a wrong documentation about :doc:`reference/commands/column_rename`.
* Fixed the issue that out of bound array element access may occurs. [GitHub#158] [Reported by dcb314]
Thanks
^^^^^^
* nise_nabe
* Sebastian Wiedenroth
* dcb314
Release 4.0.0 - 2014/02/09
--------------------------
* Bump version to 4.0.0!
Improvements
^^^^^^^^^^^^
* [normalizer] Supported to show "checks" which is used for calculating next character position.
Use WITH_CHECKS flag to enable this feature.
* [deb] Dropped Ubuntu 13.04 support.
Fixes
^^^^^
* Fixed a crash bug that an object in grn_expr is used after it is freed.
Normally Groonga server users aren't affected this bug. This bug mainly affects Rroonga users.
Because this bug is occured by specifying column name including pseudo column name -
such as '_key' - Rroonga users may use the usage.
* Fixed not to execute unexpected cascade delete which is introduced Groonga 3.0.8 release.
If source's range and index's domain are different, Groonga doesn't execute cascade delete.
[groonga-dev,02073] [Reported by yoku]
* Fixed not to publish grn_snip structure. Use grn_obj instead of grn_snip.
If you use grn_snip_close, please replace grn_snip_close to grn_obj_close.
* [snippet_html] Fixed a crash bug when --query is empty.
[groonga-dev,02097] [Reported by Naoya Murakami]
* [snippet_html] Fixed to suppress ALERT level message when contents of column is empty text.
[groonga-dev,02097] [Reported by Naoya Murakami]
* [groonga-httpd] Fixed a bug "off" is used as path name in groonga_query_log_path.
[groonga-dev,02113] [Reported by Ryoji Yamamoto]
Thanks
^^^^^^
* yoku
* Naoya Murakami
* Ryoji Yamamoto
Release 3.1.2 - 2014/01/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Updated to caplitalized "Groonga" terms in documentation. [Patch by cosmo0920] [GitHub#136, #137, #138, #139, #140, #141, #142, #143, #144, #145, #146, #147, #148, #149, #150, #151]
* Supported to customize the value of lock timeout. See :doc:`/reference/api/global_configurations` about details.
[groonga-dev,02017] [Suggested by yoku]
* [doc] Added description about the value of lock timeout.
* Enabled ``GRN_JA_SKIP_SAME_VALUE_PUT`` by default. In the previous releases, the value of
this configuration is 'no'. This change affects reducing the size of Groonga database.
* Supported multiple indexes including a nested index and multiple keywords query.
This change improves missing search results isssue when narrowing down by multiple keywords query.
* Added API to customize normalizer for snippet.
Fixes
^^^^^
* Fixed not to use index for empty query. This change enables you to search even though empty query.
Note that this means that there is performance penalty if many empty records exist.
[groonga-dev,02052] [Reported by Naoya Murakami]
* Fixed the behaviour about return value of "X || Y" and "X && Y" for adjusting to ECMAScript.
In "X || Y" case, if either X or Y satisfy the condition, it returns X itself or Y itself instead of 1 or 0.
* In "X && Y" case, if X and Y satisfy the condition, it returns X itself instead of 1.
if X doesn't satisfy the condition, it returns false instead of 0.
* Fixed to return null when no snippet is found. This change enables you to set the default value
of :doc:`/reference/functions/snippet_html`. In such a purpose, use "snippet_html(XXX) || 'default value'".
Thanks
^^^^^^
* cosmo0920
* yoku
* Naoya Murakami
Release 3.1.1 - 2013/12/29
--------------------------
Improvements
^^^^^^^^^^^^
* [deb] Refined Groonga packages for Debian policy. [groonga-dev,01930]
[Suggested by Hideki Yamane]
* [deb] Dropped Debian 6.0 (squeeze) support.
* [deb] Dropped Ubuntu 10.04 (lucid) support.
* Supported :doc:`/reference/functions/geo_in_rectangle` in the whole world.
* Supported error report when failed to casting invalid value of geo point type.
* Exported some macros which is used for accessing pseudo column names.
[groonga-dev,1999] [Suggested by whombx]
* [doc] Refined drilldown documentation. [Reported by @Yahppo]
* Supported :doc:`/reference/functions/between` function which is used for
filtering the column value in specific range.
* [doc] Updated Travis CI envrinment information. [Patch by cosmo0920]
* [rpm][fedora] Dropped Fedora 19.
* [rpm][fedora] Supported Fedora 20.
* [doc] Updated "Groonga" notation. [Patch by cosmo0920] [GitHub#122, #123, #124, #125, #125, #126, #127, #128, #129, #130, #131, #131, #132, #133, #134]
Fixes
^^^^^
* [munin] Fixed the wrong port number which is specified for GQTP.
* [geo_in_circle] Fixed a bug that if you specify "LONGITUDExLATITUDE" as
the 3rd argument of :doc:`/reference/functions/geo_in_circle`, Groonga crashes.
Thanks
^^^^^^
* Hideki Yamane
* whombx
* @Yappo
* cosmo0920
Release 3.1.0 - 2013/11/29
--------------------------
Improvements
^^^^^^^^^^^^
* [experimental] Supported an option to skip updating for the same value.
It is enabled by setting GRN_JA_SKIP_SAME_VALUE_PUT=yes as environment variable.
* Improved to show tokenizer and original text in empty token warning message.
It shows actual token, so it helps you to investigate token related issue.
* Dropped broken AIO support. [#2054] [Reported by sho MINAGAWA]
* [windows] Supported build with Visual Studio Express 2008. [#1964 the 21th comment]
It is aimed to promote bundling Mroonga with MariaDB in the future.
Fixes
^^^^^
* Fixed a bug that type of "_value" column is treated as Int32.
It causes the case that the value of "_value" column is casted unexpectedly.
[Reported by Genki Takiuchi]
* Fixed to require GLib 2.14.0 or later for benchmark program.
The benchmark program is changed to use GRegex which requires GLib 2.14.0 or later.
It affects users who compile Groonga with '--enable-benchmark' configuration.
[groonga-dev,01890] [Reported by WING]
* Fixed a memory leak on updating an empty column vector with the same value.
* Fixed a memory leak on updating index for column vector.
It affects the case if you store the value of column which has invalid UTF-8 byte
sequence.
* [plugin][windows] Fixed the issue that register command fails without
'lib/groonga/plugins'. [Reported by @yito]
Release 3.0.9 - 2013/10/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc][httpd] Added documentation about :ref:`groonga-database-auto-create` directive.
* [httpd] Added :ref:`groonga-cache-limit` directive.
* [doc] Added description why zlib/lzo compression are disabled by default. [groonga-dev, 01845] [Suggested by Naoya Murakami]
* Remove a restriction related to RLIMIT_NOFILE on HTTP server.
It enables HTTP server process to handle over 4096 files.
* [experimental] Added some API to integrate mruby into groonga. [GitHub#109, #110, #111, #112, #113, #114, #115, #116, #117, #118] [Patch by wanabe]
* [travis] Supported CMake build on Travis-CI.
* [doc] Added documentation about :doc:`reference/tuning`.
* [experimental] Added :doc:`ruby_load` command.
* [httpd] Supported multiple buffered body of POST request.
The load command caused timeout in such a case. [GitHub #120] [Patch by Motoi Washida]
* [gqtp] Supported error message. The body is changed to return
raw text insted of double quoted text. This is incompatible changes.
* [http] Supported "400 Bad request" for invalid argument error.
* [doc] Added examples for :doc:`/suggest/completion`
* Supported Ubuntu 13.10 (Saucy Salamander).
Fixes
^^^^^
* Fixed a bug that it cause SEGV by arithmetic overflow.
This problem occurs when the size of indexes exceeds
the size of virtual memory. [groonga-dev,01661]
[Reported by Naoya Murakami]
* Fixed needless lock for creating table.
This change fixes a performance regression instroduced at Groonga 3.0.5.
* Fixed a bug that database which has reference column can't be removed.
It affects the case that indexed tables/columns and referenced tables
are removed at first, then remove operation to index columns and
reference columns fails. [Reported by Eito Katagiri] [GitHub Rroonga #13]
* Fixed a bug that removing database which uses DAT key may remain garbage.
* [http] Fixed a small memory leak which is caused by shared HTTP header buffer in the same worker thread.
* [httpd] Fixed a bug that :ref:`groonga-database-auto-create` parameter
isn't inherited. It means that these parameters are just ignored in non location blocks.
* Fixed a bug that status command may returns invalid cache hit rate.
* Fix a bug that casting to Time may causes overflow issue.
It affects the case that assignment of the Time value which indicate over 32bit value.
News
====
Release 3.0.8 - 2013/09/29
--------------------------
Improvements
^^^^^^^^^^^^
* [admin] Improved error handling of select functionality. This change shows error message
and hides loading dialog. [Patch by orangain]
* [admin] Improved to submit search form with the enter key. [Patch by orangain]
* [admin] Improved to show placeholder in search form.
This change shows usage examples. [Patch by orangain]
* [httpd] Supported :ref:`groonga-query-log-path` directive
* [doc] Updated :doc:`/reference/commands/select` documentation about the number of
hits in select response.
* Improved to ignore an empty token which is generated by continuous spaces from tokenizer.
[groonga-dev,01729] [Suggested by Naoya Murakami]
* [token delimit] Improved to treat continuous spaces as a space.
The tokenizer regards 2 or more spaces are valid input.
* [doc] Added note about indexes for each column vs indexes for multiple column.
* [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe]
* Supported :ref:`cascade-delete` to referenced records. In previous version,
You got an error for the operation.
* [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe]
* [experimental] Added :doc:`/reference/commands/ruby_eval` command.
* [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe]
Fixes
^^^^^
* [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work.
Thanks
^^^^^^
* orangain
* Naoya Murakami
* Kazuhiro Isobe
Release 3.0.7 - 2013/08/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Added API documentation. [groonga-dev,01593]
[GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100]
[Patch by whombx]
* [table_remove] Improved not to remove patricia trie table or hash table
which is still referenced. This change avoids that referenced table is removed accidentally.
* Improved to just ignore too long token (4096 bytes or more).
This change affects when it is registered. In the previous version, it is treated as an
error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami]
* Improved to show actual discarded posting term in log message.
[groonga-dev,01621] [Reported by Naoya Murakami]
* [httpd] Supported loading data using POST method. [GitHub#101]
[Patch by Motoi Washida]
* [httpd] Supported groonga log as ``groonga_log_path`` directive.
* [httpd] Supported groonga log level as ``groonga_log_level`` directive.
* [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive.
Fixes
^^^^^
* Fixed a bug that error in expression may cause stack overflow.
This change avoids that groonga crashes suddenly as a result of error accumlation.
* Fixed a crash bug that offline index construction for vector column which has
orphan reference causes.
* Fixed a bug that groonga doesn't exit on error while daemon mode starts.
For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug.
* [dump] Fixed a bug that wrong table type is dumped.
This bug occurs when table type is TABLE_PAT_KEY and key is reference type.
* Fixed a bug that the default ``--cache-limit`` value is 0.
The default value is changed to '100'.
* Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used.
* [doc] Fixed description of defrag command. [Reported by @naoina]
* [doc] Fixed description about the way to contribute. [GitHub#77]
[Patch by Masafumi Yokoyama]
* [plugin] Fixed a crash bug on multiple DB open case.
This bug affects the case that multiple plugin is used and the same database is opened from
multiple process. [groonga-dev,01596] [Reported by Naoya Murakami]
* Fixed a bug that nested match operation after ``AND`` operator doesn't work.
The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug.
[groonga-dev,01599] [Reported by Motoi Washida]
* [doc] Fixed a typo about documentation of special characters.
[Reported by Genki Takiuchi]
* Fixed a typo in error message when invalid character is given.
[Reported by YOSHIDA Mitsuo]
Thanks
^^^^^^
* whombx
* @naoina
* Masafumi Yokoyama
* Motoi Washida
* Genki Takiuchi
* YOSHIDA Mitsuo
.. _release-3-0-6:
Release 3.0.6 - 2013/07/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Added documentation about parameter of :doc:`/reference/functions/sub_filter`
function.
* [suggest] Supported 0MQ 3.x. [GitHub#63] [Reported by Naoya Inada]
* Added availability check for NetBSD about ``pthread_{mutex,cond}attr_setpshared()``
[Reported by OBATA Akio]
* Supported backslash escape in query syntax. [groonga-dev,01520]
[Reported by Kouhei Tanabe]
* [rpm][fedora] Supported Fedora 19.
* [rpm][fedora] Dropped Fedora 18 support.
* [httpd] Updated bundled nginx version to 1.4.2.
Fixes
^^^^^
* Fixed a crash bug when specific internal function (``grn_obj_path()``) is called
for built-in proc function such as ``select``. [Reported by Genki Takiuchi]
Thanks
^^^^^^
* Naoya Inada
* OBATA Akio
* Kouhei Tanabe
* Genki Takiuchi
.. _release-3-0-5:
Release 3.0.5 - 2013/06/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Added summary about ``match_column`` and ``query_string`` parameters in ``query()``.
* Added subrecord information to table inspection.
* Supported single quoted string literal in ``output_columns`` expression.
This means that "XXX, '...'" expression is supported.
* [doc] Added notification about root privileges and well known port
when starting groonga server. [Reported by Kosuke Asami]
* [experimental] Added :doc:`/reference/functions/html_untag` function.
Fixes
^^^^^
* Fixed a crash bug of mroonga which is caused by missing lock for table creation.
[Reported by Y.Kentaro]
* Fixed a lot of compilation warnings by clang and gcc.
* Fixed a bug that ``sub_filter(...)`` is ignored if you use "XXX && sub_filter(...)"
expression.
* Fixed a bug that wrong tag name is used in XML output.
This bug affects the case if you use "REFERENCE_VECTOR_COLUMN._key" expression
for ``output_columns``. Reference column isn't contained in XML ouput.
* [doc] Fixed wrong arguments in ``sub_filter()`` documentation.
* [deb] Fixed a bug that status action returns wrong exit code
when services are stopped. [GitHub#62] [Patch by @orangain]
* Fixed a bug that the value of arithmetic operation is broken.
This bug affects the case if you assign calculated value to
``_score`` pseudo column for example.
Thanks
^^^^^^
* Y.Kentaro
* Kosuke Asami
* @orangain
.. _release-3-0-4:
Release 3.0.4 - 2013/05/29
--------------------------
Improvements
^^^^^^^^^^^^
* [tokenizer] Improved to show log message when normalized string is not given.
* Supported ``_key`` as an argument of ``geo_in_circle``. [Reported by @ceekz]
* Supported to cast vector elements when groonga is used as a library.
* Dropped Ubuntu 11.10 (Oneiric Ocelot) support.
* Supported multiple index section in ``match_columns``.
* Supported ``tokenize`` command.
* Supported to show system error message when ``mmap()`` is failed.
* [doc][windows] Simplified build procedures by "cmake --build".
* Improved to restrict max execution time to prevent hanging service script.
[GitHub#61] [Reported by firewood]
* Supported to evaluate vector as boolean.
By this change, empty vector is evaluated as true.
* Improved not to log too many needless log messages.
Too many log messages are truncated as "(N same messages are truncated)".
* [munin][groonga_n_records] Added ``exclude_tables`` option.
It supports to exclude specific tables from monitoring results.
* Supported Debian 8.0 (jessie).
* Improved database portability by eliminating directory path of
system plugins.
Fixes
^^^^^
* [tokenizer] Fixed a memory leak on error.
* Fixed a bug that empty string for similar search causes SEGV.
[groonga-dev,01346] [Reported by Nakai Kanako]
* Fixed a memory leak when "VECTOR_COLUMN != xxx", "VECTOR_COLUMN && xxx"
expressions are used.
* Fixed a bug that SIGSTOP and SIGCONT stops groonga server.
* Fixed a crash bug when normalizer returns NULL as normalized string.
[Reported by Y.Kentaro]
* Fixed a bug that daemonize process doesn't work on OS X.
[groonga-dev,01440] [Reported by Masahiro KONISHI]
* [deb] Fixed a bug that HTTP/GQTP process is excuted as root user.
Thanks
^^^^^^
* @ceekz
* Nakai Kanako
* firewood
* Y.Kentaro
* Masahiro KONISHI
* @orangain
.. _release-3-0-3:
Release 3.0.3 - 2013/04/29
--------------------------
Improvements
^^^^^^^^^^^^
* [suggest] Supported to learn with the value of customized weight
by using ``configuration.weight`` configuration.
* Improved performance of geo-location search. For example,
``geo_in_rectangle`` is executed about 10% faster than ever.
* [rpm][centos] Added ``additional_configure_options`` parameter
for building customized groonga without changing spec file.
* Supported KyTea 0.4.5.
* Supported vector index access by "vector[N]" syntax.
* Added ``--default-tokenizer`` option to :doc:`/reference/executables/groonga-suggest-create-dataset` command.
* Added ``--help`` option to :doc:`/reference/executables/groonga-suggest-create-dataset` command.
* Supported Ubuntu 13.04 Raring Ringtail.
.. _release-3-0-2:
Release 3.0.2 - 2013/03/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported two or more indexes for a table key.
This change affects to eliminate potential crash case when loading a new key
to two or more indexed key.
* Supported binary operations such as ``X + Y``, ``X - Y``, ``X * Y``, ``X / Y``,
``X % Y``, ``X >> Y``, ``X << Y``, ``X | Y``, ``X ^ Y``, ``X & Y`` and ``X >>> Y``
for Int8, UInt8, Int16, UInt16 and UInt64.
* Added english documentation for ``load`` command.
* Supported binary assign operations such as ``X += Y``, ``X -= Y``, ``X *= Y``,
``X /= Y``, ``X %= Y``, ``X <<= Y``, ``X >>= Y``, ``X >>>= Y``, ``X &= Y``,
``X |= Y`` and ``X ^= Y`` for Int8, UInt8, Int16, UInt16 and UInt64.
* Supported unary operations such as ``-X`` for Int8, UInt8, Int16, UInt16 and UInt64.
* Supported complex string concatination in ``--output_columns``.
For example, you can use a query such as ``--output_columns '"<" + title + ">"'``.
* Added the information of the repository of groonga to development page.
* Added ``sub_filter()`` function.
* Supported query expander in ``query()`` function.
This change supports the query such as
``query("MATCH_COLUMNS", "QUERY", "QueryExpanderTSV")``.
* Renamed ``--query_expansion`` to ``--query_expander``.
``--query_expansion`` is regarded as deprecated.
Fixes
^^^^^
* Fixed a bug that ``snippet_html(XXX), XXX`` fails with "stack error".
This bug affects a query such as ``--output_columns 'snippet_html(title), content'``.
[Groonga-talk (no subject)] [Reported by Hendro Wibowo]
* Fixed a typo about install documentation. [Reported by hino]
* Fixed a bug that Travis-CI setup script fails.
[groonga-dev,01248] [Reported by ongaeshi]
* Fixed a memory leak.
This bug affects the case which satisfy following three conditions.
Column is a reference column, Column is a vector column and
Reference key size is 25 byte or lager.
* Fixed a crash bug by ``--output_columns _score.GARBAGE``.
This affects the case if GARBAGE does not exist.
Thanks
^^^^^^
* Hendro Wibowo
* hino
* ongaeshi
.. _release-3-0-1:
Release 3.0.1 - 2013/02/28
--------------------------
Improvements
^^^^^^^^^^^^
* Supported to set Bool to reference column when loading dataset by load command.
* Supported AND operation for nested index.
In this change, the expression "COLUMN1.COLUMN2 >= 1 && COLUMN1.COLUMN2 <=3" works.
Note that the order is important for this expression.
"1 <= COLUMN1.COLUMN2" is not supported yet. It is regarded as "COLUMN1.COLUMN2 <= 1".
* Supported sorting not indexed entries.
This change affects the case such as ``--sortby geo_distance(...)`` drops not indexed
entries.
* Supported range search for reference column by index.
This change enable you to search range by index which is TABLE_PAT_KEY or TABLE_DAT_KEY
based nested index of _key.
* [rpm][centos] Supported MeCab 0.995.
* [doc] Added missing documentation of commands such as ``column_rename`` or ``truncate``.
Fixes
^^^^^
* Fixed a bug that ``grn_index_cursor_next()`` returns NULL unexpectedly.
It causes that invalid index entry is returned after deleting entries.
This bug affects mroonga in storage mode. [groonga-dev,01192] [Reported by b senboku]
* Fixed a crash bug that ``geo_distance()`` sort by index.
This bug occurs by wrong the number of found records.
* [httpd] Enabled default owner/group of database setting as groonga/groonga.
Thanks
^^^^^^
* b senboku
.. _release-3-0-0:
Release 3.0.0 - 2013/02/09
--------------------------
* Bump version to 3.0.0!
Fixes
^^^^^
* [deb] Fixed to install missing not EUC-JP, but UTF-8 encoding dictionary
when ``groonga-tokenizer-mecab`` package is installed.
* Fixed a bug that int64 literal is truncated to uint32 value.
If you use string literal for int64, this bug does not affects.
* [rpm][centos] Fixed a bug that stopping ``groonga-server-http`` service
by init script is failed. [GitHub#53] [Patch by IWAI, Masaharu]
Thanks
^^^^^^
* IWAI, Masaharu
.. _release-2-1-2:
Release 2.1.2 - 2013/01/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported multiple ``query()`` in a select command.
For example, you can specify the keyword which has different weight such as
'query("column * weight1", keyword1) || query("column * weight2", keyword2) || ...'
for ``--filter``.
* Dropped experimental view feature.
* Added ``grn_logger_reopen`` API for custom logger.
Note that ``grn_logger_info`` API is deprecated, use ``grn_logger`` API instead.
* Added ``grn_default_logger_set_path()`` and ``grn_default_logger_get_path()`` API.
Note that global ``grn_log_path`` variable was removed. Use above API.
* Added ``grn_default_query_logger_set_path()`` and
``grn_default_query_logger_get_path()`` API.
Note that global ``grn_qlog_path`` variable was removed. Use above API.
* Added translated documentation about :doc:`/reference/tables` and :doc:`/reference/normalizers`.
* [deb][rpm] Improved to install with missing dictionary when
``groonga-tokenizer-mecab`` package is installed.
* Supported :ref:`nested-index-search` with range search.
For example, you can specify 'column1.column2...columnN <= "1988-01-04 00:00:00"'
in ``--filter``.
* [rpm][fedora] Supported Fedora 18.
* [rpm][fedora] Dropped Fedora 17 support.
* [doc] Added documentation for :doc:`/server/package`.
* [doc] Added documentation for :doc:`/reference/functions/query`.
Fixes
^^^^^
* Fixed not to report an error even though MeCab tokenizer shared object
isn't found. [groonga-dev,01174] [Reported by wing]
* [httpd] Fixed not to fail configure on CentOS 5.4 by setting
``SED`` variable explicitly.
* Fixed a crash bug that not initialized vector column value is accessed
by select command.
Thanks
^^^^^^
* wing
.. _release-2-1-1:
Release 2.1.1 - 2012/12/29
--------------------------
This is bug fix release of 2.1.0. All of 2.1.0 users should use 2.1.1
instead.
Fixes
^^^^^
* Fixed a bug that ``KEY_NORMALIZE`` information in database that is
created by groonga 2.0.8 or ealier is dropped.
.. _release-2-1-0:
Release 2.1.0 - 2012/12/29
--------------------------
.. Caution::
Use 2.1.1 instead of 2.1.0. 2.1.0 has a serious bug related
``KEY_NORMALIZE``.
.. Caution::
This release has backward incompatible changes against ``table_list`` and
``column_list`` commands. If you use own program which depends on the output
results above commands, you need to support null instead of "null" string.
This release has supported ``--normalizer`` option, but there is
side effect for this feature. If you open old version of groonga
database at least once, you can not open its database by old
version of groonga.
There is also another backward incompatible change agaist plugin API for
tokenizer. The argument of ``grn_tokenizer_query_open`` API has changed.
This API change affects developer of tokenizer plugin.
Improvements
^^^^^^^^^^^^
* [doc] Added documentation about :ref:`nested-index-search`.
* Supported the expression as :doc:`/reference/functions/snippet_html` arguments.
This change enables you to use ``snippet_html("STRING" + "STRING")`` for example.
You can specify column name or literal for "STRING". [Reported by Tomoatsu Shimada]
* Supported to create own normalizer as a plugin.
* Moved ``groonga-query-log-analyzer`` as
`groonga-query-log <http://rubygems.org/gems/groonga-query-log>`_ RubyGems.
It enables you to analyze query logs without installing groonga package.
* Supported ``--normalizer`` option for :doc:`/reference/commands/table_create` command.
This change enables you to specify normalizer plugin.
* Changed "null" string to null value as meaning for "No Object".
This is backward incompatible change and affects output results of introspection
related commands such as ``table_list`` and ``column_list``.
* Added a flag which controls behavior about normalizer as the last argument
of ``grn_tokenizer_query_open`` API.
* Supported continuous line in :ref:`command-list-with-continuous-line` list.
* Improved to support not only no key table, but also hash table, patricia trie
and double array trie for :ref:`nested-index-search`.
Fixes
^^^^^
* [windows] Added missing ``O_BINARY`` flag to open file correctly.
This change fixes the infinite loop problem about groonga HTTP server.
[GitHub#47] [Patch by Shimomura Tatsuya]
* Fixed a bug that ``--default-match-escalation-threshold`` doesn't accept
negative value to disable functionality.
This fix enable you to disable search escalation.
see :option:`--default-match-escalation-threshold` about details.
* Fixed a bug that ``_score`` after "*" is ignored in ``--output_columns``.
Thanks
^^^^^^
* Tomoatsu Shimada
* Shimomura Tatsuya
.. _release-2-0-9:
Release 2.0.9 - 2012/11/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported to calculate the value of distance accross border
in ``geo_distance`` with ``rectangle`` as approximate type. [#1534]
* [doc] Added the :doc:`/spec/gqtp` specification.
* Improved to ignore non critical ``getaddrinfo()`` error which groonga command emits on startup.
This change does not affects nomal use of groonga because it just checked whether default hostname
is resolved in previous version.
* [experimental] Added ``snippet_html()`` function which extract keyword and surrounding text.
See :doc:`/reference/functions/snippet_html` about details.
* Supported to report error reason when error occured during reading table record.
* Supported to search with keyword by nested index notation ( concatinate multiple
indexed column name with dot character ) if there is a relationship between
multiple table with index.
* Supported to log "[tokenizer][mecab]" tag when using ``TokenMecab`` tokenizer.
* Supported to log "[tokenizer][kytea]" tag when using ``TokenKyTea`` tokenizer.
* Improved to use separated array for command error location as output results.
This change is incompatibility change, but does not affects existing program.
* Added documentation for :doc:`/reference/command/output_format`.
* Added documentation for :doc:`/reference/command/return_code` of output results.
* Supported range search by using index.
Fixes
^^^^^
* Fixed to use network byte order for status code of :ref:`gqtp-header-spec` to follow
the normal network protocol convention.
This change affects that groonga <= 2.0.8 client which connects to groonga server 2.0.9
or later can not show status code properly when command failed.
* Fixed a bug that UTF-8 normalization computes wrong offset which affects to return value
of ``snippet_html()``. This change not to insert tag of snippet into invalid location.
[#1531] [Reported by Tomoatsu Shimada]
* [windows] Fixed over allocated memory access which cause segmentation fault
on startup by groonga command. [#1532] [Patch by Akio Tajima]
* [windows] Fixed a bug that data stored in column couldn't be read when total amount of data
stored in column exceeds 128MB. [groonga-dev,01088] [Reported by ongaeshi]
* Fixed a bug that searching with indexed column for ``Int*`` and ``UInt*``
except ``Int32/Uint32`` returns invalid results.
* Fixed a bug that deleting record can be found.
* Fixed a bug that latin1 and koi8r normalizations could not process all string data
if given string contains NULL character on the way.
* Fixed to return the correct default value of type when no data stored in column is
referenced by ``select`` command.
* Fixed to exclude the value of vector column metadata in :ref:`offline-index-construction`.
This change not to contain such a metadata as search results.
Thanks
^^^^^^
* Tomoatsu Shimada
* Akio Tajima
* ongaeshi
.. _release-2-0-8:
Release 2.0.8 - 2012/10/29
--------------------------
Improvements
^^^^^^^^^^^^
* [rpm] Improved the description of server-http and httpd packages.
[Suggested by Daiki Ueno]
* Supported custom query expansion by plugin.
* [experimental] Added query expander ``QueryExpanderTSV`` plugin.
* Supported Ubuntu 12.10 Quantal Quetzal
* [experimental] Supported function call in ``output_columns``.
* [doc][rpm] Add missing description about installing MeCab dictionary.
[Reported by serihiro]
Fixes
^^^^^
* [rpm] Fixed to remove needless "Requires" from spec file.
[Reported by Daiki Ueno]
* [rpm] Fixed inaccurate description about license of groonga-server-gqtp.
* [admin] Fixed record edit button shows wrong record. [GitHub#34]
[Reported by firewood]
* [deb] Fixed to remove needless dependency to pcre.
* [deb] Fixed to bundle missing table plugin.
Thanks
^^^^^^
* Daiki Ueno
* firewood
* serihiro
.. _release-2-0-7:
Release 2.0.7 - 2012/09/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Added more descriptions about ``--query_flags``.
* [doc][httpd] Added sample configuration for gzip compression.
* [httpd][rpm][centos] Added groonga-httpd init script.
* [rpm] Added logrotate config files.
* Supported creating database during install process.
* [httpd] Supported ``groonga_database_auto_create`` directive.
* Supported score respected merge by set operation. [GitHub#31]
* [httpd] Supported ``load`` command by POST.
* Added error check for creating temporary result set. [GitHub#33]
* Added GQTP server package.
* Added ``max()`` function.
* Added ``min()`` function.
Fixes
^^^^^
* Fixed to set domain to vector elements to ``load`` command. [GitHub#30]
* [httpd] Fixed missing NULL initialization. [Reported by @Kiske]
* [httpd] Fixed missing size about ``content_type_len``.
* [rpm][fedora] Fixed to use ``--bind-address`` in ``groonga.service``.
* Fixed crash by invalid argument filter. [GitHub#32]
* Fixed a bug that Time -> Time cast breaks value.
* Fixed a bug that Time -> Float cast breaks value.
Thanks
^^^^^^
* @Kiske
.. _release-2-0-6:
Release 2.0.6 - 2012/08/29
--------------------------
Improvements
^^^^^^^^^^^^
* [deb][rpm] Added ``groonga-server-common`` meta package. [#1451]
* Supported ``--query_flags`` option to ``select`` command.
* Supported PCRE auto detection for groonga-httpd.
* [doc] Added information about Twitter and Facebook.
* Improved to show error message from MeCab on ``mecab_new2()`` failure.
* [doc] Added details about groonga for server use.
* Improved to log details about ``vm.overcommit_memory``.
* Supported custom selector definition.
* Supported ``--working-directory`` option for groonga.
* Supported ``dump`` command for groonga-httpd.
* Improved to show not found target name for ``clearlock`` command.
* Improved error messages about ``get`` command implemented by table plugin.
* [rpm][centos] Supported MeCab 0.994. [#1455]
[Suggested by IWAI, Masaharu]
* Supported changing default logger's max level before ``grn_init()``.
* Added ``all_records()`` function which copies all record IDs to the result table.
* Supported '-WORD' in ``--query`` of the select command.
Fixes
^^^^^
* [doc] Fixed the execution examples. [#1428]
[Reported by IWAI, Masaharu]
* [deb] Fixed not to force groonga user/group by init script for groonga-httpd.
* [rpm][fedora] Fixed missing stop parameter for groonga-httpd service.
* Fixed a bug that the last 1 byte for cache key is ignored by ``select`` command.
* Fixed detection of the number of arguments in the complex function call.
* Fixed to suppress a warning by Clang.
* Fixed backward incompatibility about missing ``add`` command related error
by executing ``clearlock`` command.
* [windows] Fixed database open failure which is related to binary data.
[Reported by @yito]
Thanks
^^^^^^
* IWAI, Masaharu
* @yito
.. _release-2-0-5:
Release 2.0.5 - 2012/07/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported calculating the value of distance with "rect" or "rectangle"
argument in southern hemisphere. [#1418] [#1419] [#1420] [#1421]
* [doc] Added some literals description in script syntax.
* Supported other directory build for groonga-suggest and groonga-httpd.
* Supported ";" as a query parameter separator. [#1406]
[Suggested by IWAI, Masaharu]
* [doc] Added descriptions about script syntax.
* Supported near search by ``'column *N "word1 word2 ..."'`` in script syntax.
[#1423]
* [doc] Added a description about limitation of suffix search.
* Supported near search for ``_key`` pseudo column. [GitHub#19]
* [doc] Added basic ECMAScript related syntaxes.
* [doc] Updated a description about :doc:`/reference/functions/geo_distance`.
* [rpm][fedora] Supported Fedora 17.
* [rpm][fedora] Dropped Fedora 16 support.
* Supported logical not ``"!"`` operator. [GitHub#22]
* [httpd] Supported per location groonga database.
* Improved to return error messages while load command is processing.
* Improved to exit load command when an uncontinuable error occurred.
* Improved to stop load command for invalid --columns value.
* Supported to open locked database. [GitHub#21]
Fixes
^^^^^
* Fixed a build problem about groonga-httpd on Mac OS X.
[Reported by SHIMADA Koji]
* Fixed not to use installed groonga's header files for groonga-httpd.
* Fixed a build problem about groonga on Mac OS X Lion.
* [doc] Fixed a description of :doc:`/reference/commands/table_remove` command.
* Fixed infinite loop problem for not implemented operator without index.
[GitHub#20]
* Fixed a wrong error code which causes memory leaks.
* Fixed a wrong error code which collapse ja columns.
* [admin] Fixed to escape error message.
* Fixed to ignore unloadable objects which causes database incompatible.
[#1429] [Reported by IWAI, Masaharu]
Thanks
^^^^^^
* SHIMADA Koji
* IWAI, Masaharu
.. _release-2-0-4:
Release 2.0.4 - 2012/06/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported only KyTea 0.4.2.
* Dropped KyTea 0.4.1 or ealier support.
* [experimental] Supported nginx based groonga HTTP interface.
* Supported calculating the value of distance with "rect" or "rectangle"
argument in northern hemisphere. [#1386] [#1387] [#1388] [#1389]
* [doc] Added a document about :doc:`/development/travis-ci` integration.
* [doc] Added descriptions about full text search and phrase search.
See :ref:`full-text-search-condition` and :ref:`phrase-search-condition`
about detail.
* [doc] Added descriptions about comparison conditions.
See :ref:`conditional-expression` about detail.
* [doc] Added examples for :doc:`/reference/grn_expr/query_syntax`.
* [doc] Added descriptions about :ref:`combined-expression`.
* [doc] Added descriptions about :ref:`prefix-search-condition` and
:ref:`suffix-search-condition`.
* Supported suffix search by index.
* [doc] Added a document about :doc:`/reference/grn_expr`.
* [munin] Supported JSON library installed by RubyGems [GitHub#17]
[Patch by IWAI, Masaharu]
* [doc] Updated the description of how to specify a value as Time in tutorial.
[#1405] [Reported by IWAI, Masaharu]
* [rpm] Removed groonga-tokenizer-mecab dependency from groonga package.
[GitHub#18] [Patch by IWAI, Masaharu]
Fixes
^^^^^
* Fixed a problem that display of command prompt changes to not intended state
by using batch mode on Mac OS X.
[Reported by @soundkitchen]
* Fixed not to terminate after an invalid command in client mode. [#1305]
* Fixed a problem that '=R' is treated as 'OR' in ``--query`` syntax. [#1393]
Thanks
^^^^^^
* @soundkitchen
* IWAI, Masaharu
Release 2.0.3 - 2012/05/29
--------------------------
Improvements
^^^^^^^^^^^^
* [doc] Added about release procedure.
* Removed restriction that the max number of opened files is 4096.
* [experimental] Added table plugin.
* [doc] Added more descriptions about :doc:`/commmands/select` command.
* [doc] Made execution example copy & paste friendly.
* [windows] Supported build with Visual Studio 2010 Express and
CMake. See :doc:`/install/windows` about details.
* [doc][solaris] Added a document about building on Solaris.
See :doc:`/install/solaris` about details.
* [doc][yum] Updated epel-release package version.
[Reported by IWAI, Masaharu]
* [doc][cenos6] Disabled Repoforge for Munin for CentOS 6.
[Reported by IWAI, Masaharu]
* Started distributing source archive in zip format.
* [munin] groonga_dist Munin plugin supported an object that has
separated files.
* Started using Travis CI.
* [yum] Changed RPM package name that provides yum repository from
groonga-repository to groonga-release to follow RPM package name
convension such as centos-release and fedora-release.
Fixes
^^^^^
* [doc] Fixed a command to update yum repository.
[Suggested by IWAI, Masaharu]
* [deb] Fixed a bug that log_repoen command in logrotate uses wrong protocol.
* Fixed broken ERROR tag in XML response.
[#1363] [GitHub#13] [Patch by IWAI, Masaharu]
* Fixed a bug that grn_ctx isn't fully cleared by grn_ctx_fin().
* Fixed a bug that ``&!`` set operation doesn't work with grouped
expression. [#1372]
* Fixed a bug that a record key registered via index source isn't normalized.
Release 2.0.2 - 2012/04/29
--------------------------
Improvements
^^^^^^^^^^^^
* [pkg-config] Removed needless MessagePack dependency.
* [rpm][fedora] Supported libedit. [#1325] [Suggested by IWAI, Masaharu]
* [rpm] Supported zlib and LZO. [#1324] [Patch by IWAI, Masaharu]
* [groonga] Improved daemoinzed timing. Groonga server daemonizes
after socket is listened. It means that groonga server is ready when
groonga server is daemonized. [#1326]
* [admin] Supported suggest in groonga administration page.
* [dump] Ignored MeCab tokenizer load error.
* Supported CMake.
* [load] Supported error report when a column value can't be set.
* Supported similar search. ``select --filter "column *S 'TEXT'"``
is the similar search syntax. [#1342]
* [apt][yum] Changed package sign key.
* Supported Ubuntu Precise Pangolin.
* [apt] Added a new groonga-keyring deb package for the groonga's
package sign key.
Fixes
^^^^^
* [deb][rpm] Used ``--bind-address`` option instead of deprecated
``--address`` option.
[#1320] [Patch by IWAI, Masaharu]
* [deb] Renamed groonga-server package's configuration file to
/etc/default/groonga-server from /etc/default/groonga.
* [rpm][fedora] Fixed upgrade condition in %post server.
[GitHub#11] [Patch by Daiki Ueno]
* [rpm] Removed needless change logs. [#1328] [Patch by IWAI, Masaharu]
* [deb][rpm] Added missing curl dependency.
[GitHub#12] [Patch by IWAI, Masaharu]
* [rpm] Removed needleess ruby package dependency from groonga package.
[#1330] [Suggested by IWAI, Masaharu]
* [deb] Added missing default values to groonga-server's
configuration file.
* Fixed a crash bug that is caused when searching with updaging very large
inverted index. [#1329]
* Fixed a bug that strings are compared as characters instead of byte string.
[#1340] [Reported by Shinya Kawaji]
.. _release-2-0-1:
Release 2.0.1 - 2012/03/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported build in other directory.
[#1298] [Reported by Kazuhiko]
* [solaris] Supported build on Solaris 11. [Reported by Kazuhiko]
* [test] Supported functional test.
* [test] Required ``--with-ruby19`` configure option for testing by Ruby.
* [dump] Supported records dump for a table that has default tokenizer.
* [suggest] Added ``similar_search`` option.
* [groonga] Removed deprecated options, ``-a``, ``--address`` and
``--admin-html-path``.
* Added more return value checks. [GitHub#9] [Reported by Markus Elfring]
* [dat] Supported term extract operation.
* Added `logos <http://groonga.org/logo/>`_ .
* Updated HTML design.
* Renamed ``grntest`` to ``groonga-benchmark``.
* Supported ``autogen.sh`` on CentOS 5.
* [linux] Added ``vm.overcommit_memory`` kernel parameter value
check. [#1289]
* ``grn_snip`` uses ``grn_obj`` mechanism. [#1054]
Fixes
^^^^^
* Fixed a bug that uninstall task doesn't uninstall installed Ruby
scripts. [#1299] [Reported by Kazuhiko]
* Added a missing Gemfile. [#1302] [Reported by Kazuhiko]
* Fixed a bug that some indexed records aren't found. The feature is
only used by mroonga. [#1303]
* [groonga] Appended missing ``-id`` to ``--server-id`` option name.
* Fixed a bug that latin1 normalization may access unexpected memory.
Release 1.3.0 - 2012/01/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported dynamic DB key table change by
GRN_DB_KEY=pat or GRN_DB_KEY=dat environment variable value.
* Added ``--with-default-db-key`` configure option that
specifies the default DB key table.
* Supported "" value for geo point data types. It's interpreted as "0x0".
* Added column name to cast error message.
* Inhibit file information for stdin on load error.
* Enabled write-strings warnings and suppress those
warnings. [Suggested by montywi]
* Marked MessagePack output format as supported. [#1215]
* Added ``const`` to ``void *`` of ``*_set_value()``.
* Enabled warning flags on C and C++.
* Supported ``--with-libevent`` without value configure option.
* ``grn_table_get()`` supported grn_db. [#1242]
* [rpm] Removed needless groogna-munin-plugins dependency
from groonga-server. [#1251] [Suggested by Masaharu IWAI]
* [rpm] Removed needless groogna-doc dependency
from groonga. [#1251] [Suggested by Masaharu IWAI]
* [dat] Supported repair by ``grn_dat_repair()``.
* ``grn_table_at()`` supported grn_db.
* [suggest] Removed unstable mark.
* [suggest][complete] Supported normalized value search in prefix-search.
* Added experimental offline index build. It's disabled by
default for now. You can enable it by
USE_OFFLINE_INDEXER=yes environment variable.
* Added internal API ``grn_obj_path_by_id()`` for mroonga.
* [suggest][httpd] Passed unknown parameters to groonga.
* [output][xml] Added a newline before ``</RESULT>`` for readability.
* [doc][output] Added documentation about output format type.
* Added ``table_rename``. [#1234]
* Added ``column_rename``. [#1234]
Release 1.2.9 - 2011/12/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported Fedora 16.
* Dropped Fedora 15 support.
* [groonga] Improved the default server ID address to work
on unresolved host name environment. [Reported by @uzulla]
* Supported MAP_HUGETLB.
* [admin] Supported throughput chart.
* Stopped adding nul character in ``grn_itoh()``. [#1194]
[Reported by SHIDARA Yoji]
* Added ``grn_obj_get_values()``.
* Added ``grn_obj_delete_by_id()``.
* Supported string vector column for query expansion. [#1216]
* Added ``--filter`` option to :doc:`/commands/delete` to delete
many record at once. [#1225]
* Supported approximate type customization for
:doc:`/functions/geo_in_circle` and :doc:`/functions/geo_distance`. [#1226]
* Made ``geo_distance2()`` and ``geo_distance3()`` are deprecated.
* Changed to use ``null`` instead of ``""`` for empty geo
point value in JSON output.
* Almost supported MessagePack output. [#1215] [Worked by SHIDARA Yoji]
* Added missing newlines after drilldown result tags in XML output.
* Supported truncate for grn_dat.
* Supported longest common prefix search by grn_dat.
Fixes
^^^^^
* [windows] Fixed inverted map type.
* Fixed -Wno- compiler flag detection. [Patch by Arnaud Fontaine]
* Fixed a problem that ``groonga --version`` reports wrongly
about MeCab. [#1209] [Patch by SHIDARA Yoji]
* Added missing lock into ``grn_obj_remove()``.
* Fixed Content-Type on error. [#1220] [Patch by SHIDARA Yoji]
* Fixed a problem that deleting SIS (Semi Infinite String)
may keep a garbage.
Release 1.2.8 - 2011/11/29
--------------------------
Improvements
^^^^^^^^^^^^
* [grntest] Removed max number of bytes in a line limitation.
* [grntest] Added `--pid-path` option.
* Fixed a crash bug when accessing zlib/lzo compressed
column. Note that compressed column access will leak memories. To
resolve this, we need to improve API. We will do it in the feature.
[GtiHub#5][GtiHub#6] [Reported by Takayuki Yamaguchi]
* Fix a bug that needless column values are cleared by delete.
* [deb] Enabled experimental zlib and lzo support.
* [rpm] Enabled experimental zlib and lzo support.
* Supported truncation. [#892]
* Enabled grn_dat that is a read lock free double array implementation.
* [pkg-config] Added groonga_version variable to groonga.pc.
* Re-supported `--disable-static`. [groonga-dev,00612]
[Suggested by Kenichi Aramaki]
* [munin] Stopped to install Munin plugins by default.
* Stopped to install RedHat platform related files by default.
* Supported object renaming. [#1167]
* [munin] Added a Munin plugin that measures throughput. [#1171]
* [geo] Improved geo_in_rectangle performance. The new
implementation will be 2x faster than the old
implementation in many cases. [#1173]
* [macports] Moved groonga's MacPorts to the official
repository. [Imported by Hiroshi Umemoto]
* [geo] Changed geo literal conversion from in degree to in
msec algorithm to round-off from truncation.
* Supported a table as defrag target. It means that variable
size value columns in the table are defrag targets. [#1175]
* Removed associated path on remove. [#1180]
* [deb] Supported i386.
* [rpm] Supported i386.
* [windows] Supported x86.
Fixes
^^^^^
* Fixed a bug that wrong index is used in sort. [#766]
[Reported by Horikoshi Yuki]
* [libedit] Fixed a bug that needed initialization is
omitted. [GitHub#7] [Patch by SHIDARA Yoji]
* [doc] Fixed a typo in documentation. [GitHub#8] [Patch by zunda]