News - 6.x¶
Release 6.1.5 - 2017-01-23¶
This is a bug fix release of 6.1.4. 6.1.4 users should upgrade to 6.1.5.
Improvements¶
- Supported binary operation against nonexistent reference column value. It’s always false. 
- [logical_select] Added sort_keys, drilldown_sort_keys and drilldowns[${LABEL}].sort_keys. sortby, drilldown_sortby and drilldowns[${LABEL}].sortby are deprecated. 
Release 6.1.4 - 2017-01-18¶
This is a bug fix release of 6.1.3. 6.1.3 users should upgrade to 6.1.4.
Improvements¶
- [Near search operator] Supported customizing the max interval. 
- [Near search operator] Supported unlimited interval. 
- Stopped to install - groonga-httpd-restartwhen- groonga-httpdisn’t installed. [GitHub#626] [Patch by OBATA Akio]
- Improved index update performance against non natural language text data such as multi column index data in Mroonga. [groonga-dev,04219] [Reported by Masanori Miyashita] [GitHub#617] 
- [logical_select] Supported - drilldowns[LABEL]form.- drilldown[LABEL]form is deprecated.
- Supported using system Onigmo. [GitUub#628] [Patch by OBATA Akio] 
Fixes¶
- [truncate] Fixed a memory leak. It’s caused when the target is TABLE_HASH_KEY or TABLE_PAT_KEY and the target table has many token filters are registered. [GitHub#622] [Patch by Naoya Murakami] 
- [select] Fixed a bug that old cache is used after column_rename is used. 
- [select] Fixed a bug that index search may not return matched record. [GitHub#624] [Patch by Naoya Murakami] 
Thanks¶
- Naoya Murakami 
- OBATA Akio 
Release 6.1.3 - 2017-01-06¶
Improvements¶
- [ - grn_db_recover()][grndb] Reduced memory usage when only 1 thread mode.
Fixes¶
- Reverted “Improved performance of updating inverted indexes in the worst case”. It had reported error when key has multibyte character. This change was included in 6.1.2. 
- [TokenRegexp] Fixed a bug that \A${ONE_CHARACTER}\z returns all one character values. 
Release 6.1.2 - 2016-12-31¶
Improvements¶
- windows: Supported to bundle groonga-normalizer-mysql. 
- [Log] Added description about log format with - PIDcase.
- [CentOS] Improved installation procedure about recent - groonga-releasepackage.
- [load] Supported to show - {"n_loaded_records": N}in response for command version 3 or later.
- [load] Supported - --output_ids yesparameter for command version 3 or later. If- --output_ids yesis specified, loaded record IDs(- loaded_ids) are also returned. ID is 0 for record that is failed to add.
- [Others] Added installation instruction about depended packages (Zstandard, LZ4) 
- Changed to use Onigmo 6.0 as regular expression library. 
- Marked some features as stable. - grndb command. 
- request_cancel command. 
- highlight_html function. 
- highlight_full function. 
- snippet_html function. 
 
- [httpd] Updated bundled nginx to 1.11.8. 
- Improved to reduce - ANDsearch response time. [GitHub#618,#619,#620] [Patch by Naoya Murakami]
- Improved performance of updating inverted indexes in the worst case. This fix also reduces memory usage in that process. [groonga-dev,04219] [Reported by Masanori Miyashita] 
Fixes¶
- Added missing - NULLcheck about return value of- grn_ctx_at. This fix prevents from unexpected crash bug.
Thanks¶
- Naoya Murakami 
- Masanori Miyashita 
Release 6.1.1 - 2016-11-29¶
Improvements¶
- [select] Supported the following functions in slices. 
- [groonga-httpd] Supported PID output to log file. It is useful to distinct multiple worker processes. The messages are logged as - TIMESTAMP|MARK|PID: MESSAGE.
- [ja] Changed to stop compressing small data. If column data is less than 256 byte, the data aren’t compressed even when - COMPRESS_ZLIBor- COMPRESS_LZ4or- COMPRESS_ZSTDis specified. By this change, performance and space efficiency will be improved.
- [column_create] Supported Zstandard. - COMPRESS_ZSTDflag is used to enable this feature.
- [rpm][centos] Enabled Zstandard for CentOS 6 or later packages. 
- [between] Supported - between(_key, ...)as target.
- [httpd] Updated bundled nginx to 1.11.6. 
Fixes¶
- Fixed a bug that needless index check reports error wrongly when the default column value such as 0 exists in lexicon. It shows error message such as “[ii][delete][one] failed to allocate a segment: …” unexpectedly. 
- [logical_table_remove] Fixed a bug that it may return error with - --dependent yesoption. In the previous version, if one or more columns that refer the same table, the error is occurred.
- [sort] Fixed a crash bug when one of sort keys is a compressed column and - --queryand/or- --filterare used at the same time.
Release 6.1.0 - 2016-10-29¶
Improvements¶
- [dump] Supported to sort load table names by key instead of ID to make output stable. This is incompatible change but it makes easy to compare result of dump command. 
- [table_create][column_create] Revised outdated descriptions with execution examples. English documentation is also published and section about small/medium index column is also added. 
- [experimental][httpd] Supported mruby to customize configuration settings in groonga-httpd.conf. 
- [windows] Updated bundled Groonga Admin to 0.9.5. It is recommended to upgrade because amount of memory usage is drastically reduced. Note that this version drops Groonga 5.0.8 or earlier support. 
- Added log token and token ID on error. [Gitter:groonga/ja:58043f77614116a2568d529c] [Suggested by torinky] 
- [Tables] Updated description about the max record ID. 
- [mruby] Suppported to convert time of - mrb_valueto- grn_bulk. [GitHub:#607] [Patch by Naoya Murakami]
- [ubuntu] Supported Ubuntu 16.10 (Yakkety Yak) 
- [httpd] Updated bundled nginx to 1.11.5. 
Fixes¶
- Fixed a bug that table of index column was reported in log instead of correct index column. 
- Fixed a bug that in posting list skip optimization in index search may skip to wrong position. [Gitter:groonga/ja:57f2ff87d45d7f0f525e2216] [Reported by torinky] 
- Fixed a memory leak on static index construction. 
- [hash] Fixed a memory leak for many token filters are set case. 
- [select] Fixed a bug that wrong column name that starts with number in output_columns is not ignored. It caused a syntax error. 
Thanks¶
- torinky 
- Naoya Murakami 
Release 6.0.9 - 2016-09-29¶
Improvements¶
- [logical_table_remove] Supported to remove broken tables and columns. It supports - forceparameter.
- [select] Supported match_columns, query, query_flags and query_expander for slices. 
- [http][httpd] Supported incomplete POST-ed JSON. Only passed JSON is processed. 
- [httpd] Changed to stop not to create the default log file when custom file is specified. 
- Changed to reduce the default lock timeout to 15min from 2.7h. 
- [groonga-httpd] support “~” modifier in location such as “location ~ /d/…”. 
- [mruby] Updated to the latest mruby to fix build error with Visutal Studio. 
- [httpd] Updated bundled nginx to 1.11.4. 
Fixes¶
- Fixed build error on OpenBSD. OpenBSD doesn’t provide - TCP_NODELAY. [MariaDB JIRA: fix MDEV-7209][Reported by Brad Smith]
- Fixed a missing deleted check for indexes. It causes missing search results even though it should be matched. Groonga 6.0.3 or later version are affected. [groonga-dev, 04107] [Reported by Kazuhiko] 
- [doc] Fixed a missing entry in Groonga 6.0.2 news that sequential search is also executed as a fallback for geo_in_circle [Reported by Gurunavi, Inc.] 
- [table_create] Fixed a bug that - table_createcommand accepts no key type for- TABLE_PAT_KEY,- TABLE_HASH_KEYand- TABLE_DAT_KEYtables. It creates a invalid table. [GitHub#599]
- [admin] Fixed a bug that it can not create a new record. 
- Fixed a bug that select command with a wrong filter causes crash. [GitHub#601] 
Thanks¶
- Brad Smith 
- Kazuhiko 
- Gurunavi, Inc. 
Release 6.0.8 - 2016-08-29¶
Improvements¶
- [object_list] Supported to show more properties such as - value_sizeand- n_elementsin metadata.
- Supported operator per selector. This change enables to choose correct index for selector. It means that - between()chooses index for range search,- in_values()chooses index for equality comparison. [GitHub#589] [Reported by Naoya Murakami]
- [debian] Changed to use nginx log reopen feature instead of Groonga’s [log_reopen] command because log_reopen command works only for one worker. On the contrast, nginx log reopen feature works for multiple workers. 
- [table_copy] Added - table_copycommand which copies specified table.
- [column_copy] Supported to cast A table record to B table record. It fixes a case that - column_copyfailure in the previous version. Note that both tables must support key.
- [column_copy] Supported reference type vector. 
- [admin] Supported no response error case. It fixes the problem that “Loading…” message will remain displayed. 
- [groonga executable file][http] Supported to return 400 Bad Request against not implemented function. 
- [groonga-httpd] Supported to return body on failure. 
- [groonga-httpd] Supported to load large data as stream. 
- Supported sequential search by - _keywhen it is specified as a source of index column.
- Supported to report index information on resolving by accessor for data column if log level is equal to info. 
- Added valid lexicon check on setting index sources. If users create wrong index for sources by [column_create], this check shows details. 
- [Limitations] Updated description about table limitations. 
Fixes¶
- [column_create] Fixed a bug that buffer overflow occurs on logging. 
- Fixed to output response even when critical level error. 
- Fixed to ensure clearing output buffer for each grn_ctx_send. This change solves sometimes response may broken. [GitHub#330] 
- [fuzzy_search] Fixed a bug that - prefix_match_sizeoption returns wrong node. It causes a problem that- fuzzy_searchreturns wrong edit distance. [GitHub#590] [Patch by Naoya Murakami]
- [load] Changed to report error when column value set is failed. It enables you to notice mismatch between type of column and actual value. 
- [groonga-httpd] Fixed a bug that wrong HTTP status is set on success. 
- [fuzzy_search][in_values] Fixed to resolve record id correctly on sequential search. [GitHub#591,#592,#593] [Patch by Naoya Murakami] 
Thanks¶
- Naoya Murakami 
Release 6.0.7 - 2016-07-29¶
Improvements¶
- [string_substring] Added - string_substringfunction to extract a substring from given string. The syntax of- string_substringis- string_substring(string, from, [length]). [GitHub#564] [Patch by Naoya Murakami]
- [experimental] Added - GRN_II_MAX_N_SEGMENTS_TINYand- GRN_II_MAX_N_CHUNKS_TINYenvironment variables to customize the value about default max N segments/chunks. This feature is affected to index column for fixed size scalar column. It reduces memory usage but not tested widely yet.
- [vector_slice] Added - vector_slicefunction to extract specific elements in vector column. [GitHub#582] [Patch by Naoya Murakami]
- Supported index range search for - _keyof PAT/DAT table. [GitHub#583]
- [object_list] Added - object_listcommand for debugging. It is useful to investigate whether database is corrupted or not.
- Added a script that checks - object_listresponse.
- [mruby] Supported float bulk in expression_rewriter. [GitHub#587] [Patch by Naoya Murakami] 
- [dump] Changed output order about table by name instead of ID. It breaks dump output compatibility but it can be restored as usual. 
- [windows] Updated bundled msgpack to 2.0.0. 
- [windows] Added groonga-suggest-create-dataset. 
- [httpd] Updated bundled nginx to 1.11.3. 
- [deb] Dropped support for Ubuntu 15.10 (Wily werewolf). 
Fixes¶
- [examples edict] Fixed to use - gzcatinstead of- zcatif exists. [GitHub#576] [Patch by Yuya TAMANO]
- Added missing null-check before dereferencing a pointer. [GitHub#579] [Patch by Sho Minagawa] 
- Fixed not to perform a sequential search if an index is available. [GitHub#580] 
- [load] Fixed a bug that - Timecolumn can reduce the precision of values. [GitHub#581]
- Fixed a bug that object literal expression codes is broken when executing multiple logical operations. [GitHub#584] [Patch by Naoya Murakami] 
- Fixed a bug that columns of Float, WGS84GeoPoint and TokyoGeoPoint were created with - GRN_OBJ_COMPRESS_ZLIBeven if the flag was not specified. [GitHub#586] [Reported by Naoya Murakami]
Thanks¶
- Naoya Murakami 
- Yuya TAMANO 
- Sho Minagawa 
Release 6.0.5 - 2016-06-29¶
Improvements¶
- [io_flush] Marked as stable command. 
- [mruby] Supported to optimize prefix search by estimating data size efficiently 
- [fuzzy_search] Supported - max_distanceoption as 3rd argument to specify it easily. [GitHub#553] [Patch by Naoya Murakami]
- [query_expand] Supported command to expand query. It is useful if there are many synonyms. 
- [select] Supported - --drilldownwith- command_version=3. [groonga-dev,04055] [Reported by Naoya Murakami]
- Removed needless code from - grn_table_select_sequential(). [GitHub#560] [Reported by Sho Minagawa]
- grn_table_setoperation(): Changed to update score instead of overwriting by - GRN_OP_ADJUST. This change is introduced to keep consistency with- grn_ii_posting_add(). [groonga-dev,04058] [Reported by Naoya Murakami]
- [dump] Reduced the max opened table/column files when 1 thread mode. 
Fixes¶
- [CMake][Windows] Fixed to install missing mruby script. [groonga-dev,04040] [Reported by Soichiro Kiyokawa] 
- [Windows] Changed to bundle msgpack-c. 
- [Others] Fixed a typo about default database encoding (utf8). [GitHub#549] [Patch by IWAI, Masaharu] 
- [ユーザーと協力して開発をうまく進めていくための指針] Fixed a typo about product name (Twitter). [GitHub#550] [Patch by IWAI, Masaharu] 
- Fixed a bug that specific records are not included into search result when multiple index column is created with - WITH_SECTIONflag. [GitHub#551]
- Fixed a crash bug that searching while loading data with - GRN_II_CURSOR_SET_MIN_ENABLE=yes.- GRN_II_CURSOR_SET_MIN_ENABLEis enabled by default since Groonga 6.0.3.
- [Token filters] Fixed thread unsafe implementation. 
- [doc] Fixed a typo in 6.0.4 release entry. [GitHub#559] [Patch by cafedomancer] 
Thanks¶
- Naoya Murakami 
- Soichiro Kiyokawa 
- IWAI, Masaharu 
- cafedomancer 
Release 6.0.4 - 2016-06-06¶
It’s a bug fix release of 6.0.3. It’s recommend that Groonga 6.0.3 users upgrade to 6.0.4. This release fixes some search related problems.
Fixes¶
- [select] Fixed a bug that - --drilldownagainst a temporary column created by- --columnsrefers freed memory.
- Fixed a bug that search with large index may refer invalid data. It takes a long time to return search result. [GitHub#548][groonga-dev,04028][Reported by Atsushi Shinoda] 
Thanks¶
- Atsushi Shinoda 
Release 6.0.3 - 2016-05-29¶
Improvements¶
- [experimental] Added - GRN_II_OVERLAP_TOKEN_SKIP_ENABLEand- GRN_NGRAM_TOKENIZER_REMOVE_BLANK_DISABLEenvironment variables to improve performance of N-gram tokenizer. [GitHub#533][Patch by Naoya Murakami]
- [table_create] Stopped to ignore nonexistent default tokenizer, normalizer or token filters. In the previous versions, Groonga ignored a typo in - --default_tokenizer,- --normalizeror- --token_filtersparameter silently. It caused a delay in finding problems.
- [select] output_columns v1: Supported expression such as - snippet_html(...)in output_columns.
- [select] Removed a limitation about the number of labeled drilldowns. In the previous versions, the number of max labeled drilldowns is limited to 10. 
- [number_classify] Added a number plugin. Use - number_classifyfunction to classify by value.
- Added a time plugin. Use - time_classify_second,- time_classify_minute,- time_classify_hour,- time_classify_day,- time_classify_week,- time_classify_month,- time_classify_yearfunction to classify by value.
- [select] Supported dynamic column. Dynamic columns can be used in - output_columns,- drilldownand- sortby[GitHub#539,#541,#542,#544,#545][Patch by Naoya Murakami]:- select \ --columns[LABEL].stage filtered \ --columns[LABEL].type ShortText \ --columns[LABEL].flags COLUMN_SCALAR \ --columns[LABEL].value 'script syntax expression' \ ... 
- [experimental][select] Improved performance for range/equal search and enough filtered case. Set - GRN_TABLE_SELECT_ENOUGH_FILTERED_RATIOenvironment variable to enable this feature.
- [select] Supported index used search for filtered tables. 
- Supported to detect changed database isn’t closed. This feature is useful to check database corruption when Groonga is crashed unexpectedly. 
- [grndb] Supported detecting database wasn’t closed successfully case. 
- Added - --drilldown_filter.
- Supported - filterin labeled drilldown.
- Improved performance for using [between] without index. By between() optimization, there is a case that range search is 100x faster than the previous version of between(). 
- [record_number] Supported window function. 
- [experimental][select] Supported - --slices.
- [select] Deprecated - --sortbyand- --drilldown_sortby. Use- --sort_keysand- -drilldown_sort_keysinstead.
- [select] Deprecated - --drilldown[...]. Use- --drilldowns[...]instead.
- Added [Command version] 3. It uses object literal based envelope. 
- [groonga-httpd] Updated bundled nginx version to 1.11.0. 
Fixes¶
- [select] output_columns v2: Fixed a bug that - *isn’t expand to columns correctly.
- Fixed a bug that 1usec information is lost for time value. 
- Fixed a crash bug when a mruby plugin is initialized with multiple threads. 
- Fixed a bug that static indexing crashes if a posting list is very long. This bug may occur against enormous size of database. [GitHub#546] 
Thanks¶
- Naoya Murakami 
Release 6.0.2 - 2016-04-29¶
Improvements¶
- Supported bool in comparison operators ( - >,- >=,- <,- <=). TRUE is casted to 1. FALSE is casted to 0. Thus you specify function which returns boolean value in comparison.
- [groonga-http][Request timeout] Supported - request_timeoutparameter. Canceled request returns- HTTP/1.1 408 Request Timeoutstatus code.
- [table_tokenize] Added - index_columnoption. [GitHub#534] [Patch by Naoya Murakami]
- [table_tokenize] Supported to output - estimated_size. [GitHub#518] [Patch by Naoya Murakami]
- [geo_in_rectangle][geo_in_circle] Supported to work without index. In this case, sequential search is executed as a fallback. 
- Reduced needless internal loops. It improves phrase search performance. [GitHub#519] [Patch by Naoya Murakami] 
- [How to contribute to groonga] Updated documentation about contribution. [GitHub#522] [Patch by Hiroshi Ohkubo] 
- [Return code] Updated documentation about return code list. 
- [groonga executable file] Added - --default-request-timeoutoption.
- [windows] Supported DLL version. 
- Supported index used search even if value only term exists. For example, - true || column > 0doesn’t use index even if- columnhas index. In this release, above issue is resolved.
- [select] Supported specifying grouped table [GitHub#524,#526,#527,#528,#529] [Patch by Naoya Murakami] 
- Supported grouping by - Int{8,16,64}/UInt{8,16,64}value. In the previous versions, only 32bit fixed size value was supported.
- Added table name to error message for invalid sort key. 
- [groonga-suggest-httpd] Updated documentation. 
- [Completion] Fixed a typo about example. [groonga-dev,04008] [Reported by Tachikawa Hiroaki] 
- [grndb] Added a workaround to keep backward compatibility. use - object_inspectinstead of- inspect.
- [groonga-httpd] Updated bundled nginx version to 1.9.15. 
- [centos] Supported systemd. 
- [doc] Supported only HTML output. [GitHub#532] [Patch by Hiroshi Ohkubo] 
- [groonga-httpd][centos] Supported to customize environment variables. 
- [Others] Updated documentation about - --with-package-platormoption.
- [ubuntu] Supported Ubuntu 16.04 (Xenial Xerus) 
Fixes¶
- Fixed a bug that tokenization of zero-length values are failed. For example, if - descriptioncolumn is indexed column, tokenizer reports an error. [GitHub#508] [Reported by Naoya Murakami]:- load --table docs [ ["_key","description"], [2,""] ] 
- Fixed a crash bug because of invalid critical section handling. [GitHub#507] 
- [リリース手順] Fixed a typo about grntest howto. [GitHub#511] [Patch by Hiroshi Ohkubo] 
- [doc] Removed man support. 
- Removed invalid debug log messages which make user confused. 
- Fixed a bug that data is not correctly flushed because internal counter is wrongly cleared. In the previous version, when size of data exceeds specific one, it was failed to create indexes. [GitHub#517] [Reported by Naoya Murakami] 
- Fixed a bug that a process can’t use more than one caches in parallel. [GitHub#515] 
- Fixed a bug that internally used - alloc_infostructure which is used to find memory leaks is not exclusively accessed. Without this fix, it may causes a crash. [GitHub#523]
- [tokenizer mecab] Fixed a memory leak on dictionary encoding mismatch error. [groonga-dev,04012] [Reported by Naoya Murakami] 
- Fixed a bug that combination of [groonga-suggest-httpd] and [groonga-suggest-learner] didn’t work. 
- [doc] Removed needless uuid from *.po [GitHub#531] [Patch by Hiroshi Ohkubo] 
- [highlight_html] Fixed a bug that duplicated text is returned. This bug occurs when highlighted keyword occurred 1024 or more times. 
- Fixed a bug that - KEY_LARGEconflicts with existing flag. If you use- TABLE_HASH_KEY|KEY_LARGEin the previous version, there is a possibility to break database. Please recreate the table.
Thanks¶
- Naoya Murakami 
- Hiroshi Ohkubo 
- Tachikawa Hiroaki 
Release 6.0.1 - 2016-03-29¶
Improvements¶
- [mruby] Updated bundled mruby to fix a crash bug related to GC and backtrace. 
- Exported the following API - grn_expr_take_obj() 
- grn_request_canceler_cancel_all() 
- grn_obj_remove_dependent() 
- grn_obj_is_text_family_type() 
 
- [hash] Supported 4GiB over total key size when - KEY_LARGEflag is set to a table:- table_create Users TABLE_HASH_KEY|KEY_LARGE ShortText 
- [load] Supported Request ID when you specify input data as raw JSON instead of parameter value: - POST /d/load?table=XXX&request_id=x load --table XXX --request_id x [ ... ] 
- [shutdown] Added - modeargument to shutdown immediately. Use- shutdown --mode immediatein such a purpose.
- [Mac OS X] Added a instruction to setup MeCab dictionary for Homebrew. 
- [load] Supported to stop load when cancel is requested. 
- [table_remove] Supported to remove dependent tables. Use - --dependent yesfor it.
- [logical_table_remove] Supported to remove dependent tables. 
- [Windows] Supported memory debug mode on Windows. 
- Supported to dump allocation information by status on memory debug mode 
- [I18N] Added installation step for Sphinx. 
- [experimental] Supported to split chunks in static indexing. Use - GRN_INDEX_CHUNK_SPLIT_ENABLE=yesto enable it. [GitHub#479]
Fixes¶
- [load] Fixed a crash bug when nonexistent column is specified. [GitHub#493] 
- [load] Fixed a bug that load command does not return error code correctly. [GitHub#495] 
- [load] Fixed a memory leak when parsing columns parameter in load command. 
- [load] Fixed a bug that only the first array in - --valuesis handled as a list of column names if- --columnsis not specified. [GitHub#497]
- [load] Fixed to check - --columnsmore precisely [GitHub#496]
- Fixed a insufficient critical section handling for thread-safety. 
- [column_create] Fixed a crash bug when failed to create a column. 
- [table_remove] Fixed a crash bug to remove nonexistent table. [GitHub#504] 
- Fixed a bug that offline index construction against - WITH_POSITION+ non-text- VECTORcolumn ignores position.
- [grndb] Fixed a bug that cycle reference causes stack over flow. 
- [deb] Dropped support for Ubuntu 15.04 (Vivid Vervet) 
Thanks¶
- YUKI Hiroshi 
Release 6.0.0 - 2016-02-29¶
Improvements¶
- [grndb] Supported check against table specified as table domain in - --targetmode.
- [ - grn_pat_fuzzy_search()] Added a new API that provides fuzzy search feature by patricia trie. [GitHub#460][Patch by Naoya Murakami]
- [ - functions/string] Added a new plugin that provides string related functions. [GitHub#459][Patch by Naoya Murakami]
- [ - string_length()] Added a new function that returns the number of characters in the specified string. It’s contained in- functions/stringplugin. [GitHub#459][Patch by Naoya Murakami]
- [ - grn_table_fuzzy_search()] Added a new DB API that provides fuzzy search feature. [GitHub#463][Patch by Naoya Murakami]
- [ - GRN_OP_FUZZY] Added a new operator. [GitHub#463][Patch by Naoya Murakami]
- [ - grn_obj_search()] Supported- GRN_OP_FUZZYoperator. [GitHub#463][Patch by Naoya Murakami]
- [ - GRN_TABLE_FUZZY_SEARCH_WITH_TRANSPOSITION] Added a flag for- grn_table_fuzzy_search(). [GitHub#463][Patch by Naoya Murakami]
- [ - GRN_TOKENIZE_ONLY] Added a new tokenization mode that returns all tokens even if the token doesn’t exist in lexicon. [GitHub#463][Patch by Naoya Murakami]
- [ - grn_obj_type_to_string()] Add a new function that stringify type ID such as- GRN_VOIDand- GRN_BULK.
- [object_inspect] Added a new command that returns information of the target object. 
- Supported compare operations against vector. If left hand side vector includes any element that satisfies - left_hand_side_element OP right_hand_side, it returns true.- Example: - [1, 2, 3] < 2 # -> true because 1 is less than 2 [1, 2, 3] > 4 # -> false because all elements are less than 4 
- [ - fuzzy_search()] Added a new function that provides fuzzy search feature. [GitHub#464][Patch by Naoya Murakami]
- [edit_distance] Supported transposition flag. [GitHub#464][Patch by Naoya Murakami] 
- Supported index search for - vector_column[2] == 29.
- [ - GRN_PLUGIN_CALLOC()] Added a new API for plugin that provides- calloc()feature. [GitHub#472][Patch by Naoya Murakami]
- Supported index search for compare operations against vector element such as - vector_column[2] < 29.
- [ - grn_plugin_proc_get_var_bool()] Add a new API for plugin that provides getting boolean argument value feature.
- [ - grn_plugin_proc_get_var_int32()] Add a new API for plugin that provides getting 32bit integer argument value feature.
- [ - grn_plugin_proc_get_var_string()] Add a new API for plugin that provides getting string argument value feature.
- [object_remove] Added a new command that removes an object. - object_removecan also remove a broken object.
- Supported mips/mipsel. [debian-bugs:770243][Reported by Nobuhiro Iwamatsu][Reported by Thorsten Glaser][Reported by YunQiang Su][Reported by Dejan Latinovic][Reported by Steve Langasek] 
- [grndb][CMake] Supported. 
- [ - grn_expr_syntax_expand_query()] Added a new API that provides query expansion feature.
- [ - snippet()] Add a new function that provides snippet feature. [GitHub#481][Patch by Naoya Murakami]
- [ - highlight()] Add a new function that provides highlight feature. [GitHub#487][Patch by Naoya Murakami]
- Added - XXX && column != xxxoptimization. It’s converted to- XXX &! column == xxxinternally.
- [Memcached binary protocol] Added - --memcached-column. You can access existing column by memcached protocol.
- [groonga-httpd] Supported TLS. [groonga-dev,03948][Reported by KITAITI Makoto] 
- [groonga-httpd] Updated bundled nginx version to 1.9.11 from 1.9.10. 
- [Windows][CMake] Supported LZ4. LZ4 is bundled. 
Fixes¶
- [select] Added a missing error check for outputting column. [GitHub#332][Reported by Masafumi Yokoyama] 
- Fixed a bug that - function(column_with_index) == 29ignores- function(). [groonga-dev,03884][Reported by Naoya Murakami]
- [reindex] Fixed a bug that - reindexdoesn’t clear query cache.
- [patricia trie] Fixed a bug that sorting by integer patricia trie key returns unsorted result. [GitHub#476][Reported by Ryunosuke SATO] 
- [select] Fixed a crash bug that is occurred when too many keywords is specified into - --query. [GitHub#484][Reported by Hiroyuki Sato]
- [select] Fixed a bug that wrong cache is used when Command version or Pretty print is used. [GitHub#490][Reported by KITAITI Makoto] 
Thanks¶
- Masafumi Yokoyama 
- Naoya Murakami 
- Nobuhiro Iwamatsu 
- Thorsten Glaser 
- YunQiang Su 
- Dejan Latinovic 
- Steve Langasek 
- Ryunosuke SATO 
- Hiroyuki Sato 
- KITAITI Makoto