# groonga - An open-source fulltext search engine and column store.

- 日本語版はこちら

### Navigation

- index
- Groonga v5.0.0-487-g175f9cb documentation »

# News

## Release 5.0.1 - 2015/03/29

### Improvements

- [logical_range_filter] Supported filter and sort.

- Supported range search by multiple column index.

- Added API Overview document for users who want to use Groonga as library.

- [incompatible] Changed internal type of `_score` to floating point number from 32bit integer number. This is incompatible change for DB API users. This isn't incompatible change for query API users. It means that users who just use select aren't affected. Use the following code that works with both older and newer Groonga:

      grn_obj *score;
      double score_value;

      if (score->header.domain == GRN_DB_FLOAT) {
        score_value = GRN_FLOAT_VALUE(score);
      } else {
        score_value = (double)GRN_INT32_VALUE_FLOAT_VALUE(score);
      }

- [select] Added more strict check for invalid drilldown parameter.

- Added `grn_ctx_get_all_tables()`. [Suggested by Masatoshi Teruya]

- Supported to customize score function. See Scorer for details.

- [incompatible] Custom score function feature introduced API and ABI incompatibilities in DB API layer. If you're using `grn_search_optarg`, please check that your code initializes your `grn_search_optarg` by `0` like the following:

      grn_search_optarg options;
      memset(&options, 0, sizeof(grn_search_optarg));

  If your code do the above thing, your code is API compatible and ABI incompatible. You just need to rebuild your code without modification.

  If your code doesn't the above thing, you need to added the above thing to your code.

- Added the following predicates that check `grn_obj` type to DB API:

  - `grn_obj_is_table()`
  - `grn_obj_is_proc_proc()`
  - `grn_obj_is_function_proc()`
  - `grn_obj_is_selector_proc()`
  - `grn_obj_is_scorer_proc()`

- [experimental] Supported skipping posting list when searching popular term and rare term at the same time. It will improve performance. Set `GRN_II_CURSOR_SET_MIN_ENABLE` environment variable to `1` to enable the feature. The feature is disabled by default.

- [doc] Added in_values document.

- [doc] Added logical_count document.

- [mruby] Implemented custom `#inspect` method. Is is useful for debugging.

- Added scorer_tf_at_most scorer. It limits not to exceed specified score regardless of term frequency.

- [mruby] Supported estimating matched records for selecting index search or sequential search.

- Added the following functions to estimate size by index:

  - `grn_expr_estimate_size()`
  - `grn_ii_estimate_size_for_query()`
  - `grn_ii_estimate_size_for_lexicon_cursor()`

- Added missing NormalizerAuto availability check. [GitHub#283] [Reported by Tasuku SUENAGA]

- Dropped Visual Studio 2010 support.

- [experimental][mecab] Supported chunked tokenization. This feature is a workaround for MeCab's "too long sentense" error. Specify `yes` to `GRN_MECAB_CHUNKED_TOKENIZE_ENABLED` environment variable to enable it. By this configuration, Groonga splits a long text (8192 bytes over text by default) into small chunks and passes each chunk to MeCab. By this process, the above error isn't occurred. Additionally, you can customize chunk threshold bytes by `GRN_MECAB_CHUNK_SIZE_THRESHOLD` environment variable. Note that `,`, `.`, `!`, `?`, `U+3001 IDEOGRAPHIC COMMA`, `U+3002 IDEOGRAPHIC FULL STOP`, `U+FF01 FULLWIDTH EXCLAMATION MARK` and `U+FF1F FULLWIDTH QUESTION MARK` are treated as chunk delimiter characters.

- Supported `--pid-file` in server mode of groonga command.

- [groonga-httpd] Supported graceful stop to clean Groonga. It doesn't terminate the open connections immediately.

- [experimental] Supported regular expression. See Regular expression to know about how to use regular expression.

- [experimental] Added plugin_unregister command.

- [http][load] Added "," as chunk separator in POST data. It decreases internal buffer size and improves load time when POST data don't include any new line.

- [doc] Added Tokenizers document.

- Improved POSIX.2 compatibility by using `.` as bash's "source" command replacement. [GitHub#317] [Patch by Jun Kuriyama]

- [windows] Changed to the default IO version 1. It reduces disk usage on Windows. [groonga-dev,03118] [Tested by ongaeshi]

- [httpd] Updated bundled nginx version to the latest mainline (1.7.11).

- Changed mime-type for TSV output to `text/tab-separated-values` from `text/plain`.

- [TokenFilterStopWord] Supported Offline index construction. [GitHub#296] [Patch by Naoya Murakami]

### Fixes

- Fixed not to use obsolete `--address` parameter in the default groonga.conf. `--bind-address` is used instead. [Groonga-talk] [Reported by Dewangga]
- [truncate] Fixed a bug that TABLE_NO_KEY table can't be truncated.
- [mecab] Reduced needless logs for "empty token" and "ignore empty token".
- Fixed a bug that wrong section in index is used. It means that wrong search result is returned. If you satisfy all of the following conditions, this bug is occurred:
  - Multiple indexes are available.
  - The first defined index or the last defined index are multi-column indexes.
  - When both of the first defined index and the last defined index are multi-column indexes, source column orders are different in them.
- Fixed a bug that passing Groonga command line to groonga command from shell command line style usage always returns `0` as exit code. For example, `groonga DB_PATH nonexistent_command` always returned `0` as exist code.
- Fixed a bug that plugin path may be broken when two or more plugins registered. [Reported by Naoya Murakami]
- Fixed a bug that `Lexicon.index.source_column_name` style in match_columns doesn't work when source column specified by `source_column_name` has two or more indexes. [Reported by Naoya Murakami]

### Thanks

- Masatoshi Teruya
- Tasuku SUENAGA
- Dewangga
- Jun Kuriyama
- ongaeshi
- Naoya Murakami

## Release 5.0.0 - 2015/02/09

- Bump version to 5.0.0!

### Improvements

- [doc] Added Security about Script syntax.
- [experimental] Added sharding plugin. Execute register sharding to enable this feature in advance, then use logical_count to select records.
- [cmake] Supported embedded Groonga with Clang. It fixed compilation failure on FreeBSD 10.1. [MDEV-7293] [Reported by Bernard Spil]
- Supported to customize plugins directory. Set GRN_PLUGINS_DIR environment variable.

### Fixes

- Fixed build failure when system has an incompatible version of onigmo/oniguruma headers installed. [GitHub#276] [Patch by Akinori MUSHA]
- Fixed time related build failure on MSVC [GitHub#237]

### Thanks

- Akinori MUSHA
- Bernard Spil

## The old releases

- Release 4.1.1 - 2015-01-29
  - Improvements
  - Fixes
  - Thanks
- Release 4.1.0 - 2015-01-09
  - Fixes
- Release 4.0.9 - 2014-12-29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.8 - 2014/11/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.7 - 2014/10/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.6 - 2014/09/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.5 - 2014/08/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.4 - 2014/07/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.3 - 2014/06/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.2 - 2014/05/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.1 - 2014/03/29
  - Improvements
  - Fixes
  - Thanks
- Release 4.0.0 - 2014/02/09
  - Improvements
  - Fixes
  - Thanks
- Release 3.1.2 - 2014/01/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.1.1 - 2013/12/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.1.0 - 2013/11/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.9 - 2013/10/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.8 - 2013/09/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.7 - 2013/08/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.6 - 2013/07/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.5 - 2013/06/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.4 - 2013/05/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.3 - 2013/04/29
  - Improvements
- Release 3.0.2 - 2013/03/29
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.1 - 2013/02/28
  - Improvements
  - Fixes
  - Thanks
- Release 3.0.0 - 2013/02/09
  - Fixes
  - Thanks
- Release 2.1.2 - 2013/01/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.1.1 - 2012/12/29
  - Fixes
- Release 2.1.0 - 2012/12/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.9 - 2012/11/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.8 - 2012/10/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.7 - 2012/09/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.6 - 2012/08/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.5 - 2012/07/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.4 - 2012/06/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.3 - 2012/05/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.2 - 2012/04/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.1 - 2012/03/29
  - Improvements
  - Fixes
  - Thanks
- Release 2.0.0 - 2012/02/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.3.0 - 2012/01/29
  - Improvements
  - Thanks
- Release 1.2.9 - 2011/12/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.2.8 - 2011/11/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.2.7 - 2011/10/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.2.6 - 2011/09/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.2.5 - 2011/08/29
  - Improvements
  - Fixes
- Release 1.2.4 - 2011/07/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.2.3 - 2011/06/29
  - Improvements
  - Fixes
  - Thanks
- Release 1.2.2 - 2011/05/29
  - Improvements
  - Fixes
- 1.2.1リリース - 2011/04/29
  - 改良
  - 修正
  - 感謝
- 1.2.0リリース - 2011/03/29
  - 改良
  - 修正
  - 実験的
  - 感謝
- バージョン1.1.xのお知らせ
  - 1.1.0リリース - 2011/02/09
- バージョン1.0.xのお知らせ
  - 1.0.8リリース - 2011/02/02
  - 1.0.7リリース - 2011/01/29
  - 1.0.6リリース - 2010/12/31
  - 1.0.5リリース - 2010/12/29
  - 1.0.4リリース - 2010/11/29
  - 1.0.3リリース - 2010/10/29
  - 1.0.2リリース - 2010/09/09
  - 1.0.1リリース - 2010/09/06
  - 1.0.0リリース - 2010/08/29
- バージョン0.xのお知らせ
  - 0.7.7リリース - 2010/08/25
  - 0.7.6リリース - 2010/08/19
- News in Senna period
  - Senna -> groonga - 2009/01/14
  - 2006/04/05
  - 2006/03/03
  - 2006/01/16
  - 2006/01/12
  - 2005/12/22
  - 2005/10/27
  - 2005/09/17
  - 2005/09/08
  - 2005/08/16
  - 2005/07/05
  - 2005/06/23
  - 2005/04/12

### Navigation

- index
- Groonga v5.0.0-487-g175f9cb documentation »