News - 6 series#

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#

Fixes#

  • [select] Fixed a bug that index search may not return matched record.

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-restart when groonga-httpd isn’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#

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 PID case.

  • [CentOS] Improved installation procedure about recent groonga-release package.

  • [load] Supported to show {"n_loaded_records": N} in response for command version 3 or later.

  • [load] Supported --output_ids yes parameter for command version 3 or later. If --output_ids yes is 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.

  • [httpd] Updated bundled nginx to 1.11.8.

  • Improved to reduce AND search 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 NULL check 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_ZLIB or COMPRESS_LZ4 or COMPRESS_ZSTD is specified. By this change, performance and space efficiency will be improved.

  • [column_create] Supported Zstandard. COMPRESS_ZSTD flag 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 yes option. 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 --query and/or --filter are 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_value to 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 force parameter.

  • [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_create command accepts no key type for TABLE_PAT_KEY, TABLE_HASH_KEY and TABLE_DAT_KEY tables. 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_size and n_elements in 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_copy command which copies specified table.

  • [column_copy] Supported to cast A table record to B table record. It fixes a case that column_copy failure 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 _key when 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_size option returns wrong node. It causes a problem that fuzzy_search returns 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_substring function to extract a substring from given string. The syntax of string_substring is string_substring(string, from, [length]). [GitHub#564] [Patch by Naoya Murakami]

  • [experimental] Added GRN_II_MAX_N_SEGMENTS_TINY and GRN_II_MAX_N_CHUNKS_TINY environment 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_slice function to extract specific elements in vector column. [GitHub#582] [Patch by Naoya Murakami]

  • Supported index range search for _key of PAT/DAT table. [GitHub#583]

  • [object_list] Added object_list command for debugging. It is useful to investigate whether database is corrupted or not.

  • Added a script that checks object_list response.

  • [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 gzcat instead of zcat if 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 Time column 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_ZLIB even 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_distance option 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 --drilldown with 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_SECTION flag. [GitHub#551]

  • Fixed a crash bug that searching while loading data with GRN_II_CURSOR_SET_MIN_ENABLE=yes. GRN_II_CURSOR_SET_MIN_ENABLE is 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 --drilldown against a temporary column created by --columns refers 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_ENABLE and GRN_NGRAM_TOKENIZER_REMOVE_BLANK_DISABLE environment 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, --normalizer or --token_filters parameter 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_classify function 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_year function to classify by value.

  • [select] Supported dynamic column. Dynamic columns can be used in output_columns, drilldown and 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_RATIO environment 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 filter in 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 --sortby and --drilldown_sortby. Use --sort_keys and -drilldown_sort_keys instead.

  • [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_timeout parameter. Canceled request returns HTTP/1.1 408 Request Timeout status code.

  • [table_tokenize] Added index_column option. [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-timeout option.

  • [windows] Supported DLL version.

  • Supported index used search even if value only term exists. For example, true || column > 0 doesn’t use index even if column has 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_inspect instead 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-platorm option.

  • [ubuntu] Supported Ubuntu 16.04 (Xenial Xerus)

Fixes#

  • Fixed a bug that tokenization of zero-length values are failed. For example, if description column 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_info structure 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_LARGE conflicts with existing flag. If you use TABLE_HASH_KEY|KEY_LARGE in 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_LARGE flag 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 mode argument to shutdown immediately. Use shutdown --mode immediate in such a purpose.

  • [macOS] 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 yes for 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=yes to 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 --values is handled as a list of column names if --columns is not specified. [GitHub#497]

  • [load] Fixed to check --columns more 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 VECTOR column 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 --target mode.

  • [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/string plugin. [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_FUZZY operator. [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_VOID and 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_remove can 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 != xxx optimization. It’s converted to XXX &! column == xxx internally.

  • [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) == 29 ignores function(). [groonga-dev,03884][Reported by Naoya Murakami]

  • [reindex] Fixed a bug that reindex doesn’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