News
1.8.7: 2026-09-07
Improvements
* `#@sort-query-log-operations`: Made sort result stable.
1.8.7: 2026-09-06
Improvements
* `#@sort-query-log-operations`: Added `drilldown` sort key. `none`
sort key is removed. Use empty sort keys instead.
1.8.6: 2026-09-05
Improvements
* `#@sort-query-log-operations`: Added for `logical_select`'s
`--n_workers` support.
1.8.5: 2026-09-04
Improvements
* `#@generate-series`: Improved performance.
1.8.4: 2026-03-16
Improvements
* Changed to use non-blocking mode for pipe between `grntest` and
`groonga` for stable test result.
1.8.3: 2025-04-29
Improvements
* Improved error output when an exception occurs.
* Required json 2.11.3 or later. Because json 2.11.0 changed
`JSON.pretty_generate` result.
* Note that this broke existing tests. We need to update
`.expected` contents with new output.
1.8.2: 2025-02-18
Improvements
* Changed not to terminate if there is an exception during testing.
* Retry by `--n-retries` is now available even when an exception occurs.
1.8.1: 2025-02-14
Improvements
* `#@require-cpu`: Added to run tests only when Groonga is built for
the given CPU architecture.
1.8.0: 2025-01-23
Improvements
* Added support for normalizing units in `index_column_diff`
progress log.
1.7.9: 2025-01-23
Improvements
* Added support for normalizing `index_column_diff` progress log.
1.7.8: 2025-01-15
Improvements
* `@add-substitution`: Added support for `"` in substituted and
normalized templates.
1.7.7: 2024-11-12
Improvements
* Required json 2.8.1 or later. Because json 2.8.0 changed
`JSON.pretty_generate` result.
* Note that this broke existing tests. We need to update
`.expected` contents with new output.
1.7.6: 2024-09-25
Improvements
* `#@require-os`: Added to run tests only when Groonga is built for
the given OS.
1.7.5: 2024-04-12
Improvements
* `#@generate-series`: Improved performance.
* `#@require-env`: Added to run tests only when the given
environment variable is defined.
1.7.4: 2024-04-05
Improvements
* http: Added support for canceled requests.
1.7.3: 2024-02-20
Improvements
* reporter: benchmark-json: Added support for omission.
1.7.2: 2024-02-06
Improvements
* arrow: Added support for empty result.
* reporter: benchmark-json: Added support for reporting memory leak
information.
* reporter: benchmark-json: Added interface and in/out types to
benchmark name.
1.7.1: 2024-02-05
Improvements
* benchmark: Removed load preparation part from elapsed time.
1.7.0: 2024-02-05
Fixes
* reporter: benchmark-json: Fixed a bug that invalid JSON may be
generated.
1.6.9: 2024-02-05
Improvements
* reporter: benchmark-json: Added a test suite name to benchmark name.
1.6.8: 2024-02-05
Fixes
* reporter: benchmark-json: Fixed a bug that invalid JSON is
generated.
1.6.7: 2024-02-05
Improvements
* Added benchmark mode. It uses Google Benchmark compatible JSON
output.
1.6.6: 2023-10-24
Improvements
* arrow: Removed a needless new line.
1.6.5: 2023-10-24
Improvements
* Added support for trace log.
1.6.4: 2023-10-21
Improvements
* arrow: Added support for metadata normalization.
1.6.3: 2023-09-18
Improvements
* reporter: stream: Changed to show worker ID for each test.
* Added support for backtrace pattern provided by mruby 3.2.0.
Fixes
* reporter: stream: Fixed a bug that worker ID isn't outputted.
1.6.2: 2023-08-24
Improvements
* reporter: stream: Changed to show "start" message in multi-workers
mode.
1.6.1: 2023-08-11
Improvements
* `--n-workers`: Use the max number of cores by default.
1.6.0: 2023-07-21
Improvements
* groonga-nginx: Set `client_body_temp_path`.
1.5.9: 2023-07-21
Improvements
* groonga-nginx: Created `logs/` directory.
1.5.8: 2023-07-21
Improvements
* `--random-seed`: Added.
* xml: Accepted negative elapsed time.
* Added support for groonga-nginx.
1.5.7: 2023-03-08
Improvements
* Added support for `rr`.
* Improved backtrace normalization on macOS.
* Added `add-substitution` and `remove-substitution` to unify common
tests for `NormalizerNFKC*`.
1.5.6: 2022-03-16
Improvements
* Added `groonga-synomym` to required dependencies.
1.5.5: 2022-01-18
Improvements
* Added support for normalizing function name.
1.5.4: 2022-01-17
Improvements
* `http`: Added support for long query.
1.5.3: 2021-08-14
Improvements
* `generate-series`: Added support for multi-byte characters.
1.5.2: 2021-08-05
Improvements
* `stdio`: Improved may be slow command processing.
* `copy-path`: Handled error.
* `generate-series`: Improved multi threading support.
1.5.1: 2021-07-16
Improvements
* `http`: Improved response check.
1.5.0: 2021-07-16
Improvements
* `http`: Added response code check.
* `groonga-httpd`: Increased the max body size.
1.4.9: 2021-07-12
Improvements
* Added `synonyms-generate` directive.
1.4.8: 2020-12-09
Fixes
* `require-apache-arrow`: Fixed inverted Apache Arrow version check condition.
1.4.7: 2020-12-08
Improvements
* `require-apache-arrow`: Added support for version check of Apache
Arrow in Groonga.
1.4.6: 2020-12-08
Improvements
* Added `require-feature` directive.
1.4.5: 2020-11-11
Improvements
* Added `sleep-after-command` directive.
1.4.4: 2020-07-18
Improvements
* Added support for detecting backtrace log for MinGW build.
1.4.3: 2020-05-31
Improvements
* Removed log normalization.
1.4.2: 2020-05-30
Improvements
* Removed log level normalization.
* Added `require-platform` directive.
* Added support for normalizing IO open/close log message with
additional message.
1.4.1: 2020-05-30
Improvements
* Added support for normalizing IO open/close log message.
1.4.0: 2020-05-16
Improvements
* Added support for normalizing mruby's syntax error message.
1.3.9: 2020-05-09
Improvements
* Added `progress` reporter.
* Suppressed Apache Arrow related reports from Valgrind.
* Improved backtrace detection.
1.3.8: 2020-04-23
Improvements
* Improved static port detection.
* Improved backtrace detection.
1.3.7: 2020-03-26
Improvements
* Added `add-ignore-log-pattern` directive.
* Added `remove-ignore-log-pattern` directive.
1.3.6: 2020-03-26
Improvements
* standard-io: Added support for stream output
* Added `require-testee` directive.
* Added `require-interface` directive.
* Added support for Apache Arrow.
* Added `require-apache-arrow` directive.
* http: Added support for debug log by `GRNTEST_HTTP_DEBUG`
environment variable.
* Added `--use-http-chunked` option.
* Stopped counting test failures on retry.
1.3.5: 2020-03-02
Improvements
* Added support for Ruby 2.3 again.
* Changed to use `URI#open` to suppress a warning.
* Added support for Apache Arrow as load data format.
* Added `require-input-type` directive.
* Added `--use-http-post` option.
1.3.4: 2019-10-11
Improvements
* Added support for testing with installed Groonga.
* Added support for `send` operation in query log.
1.3.3: 2019-05-12
Improvements
* Added `eval` directive.
* Added `plugins_directory` expandable variable.
* Added `libtool_directory` expandable variable.
* Added `plugin_extension` expandable variable.
1.3.2: 2019-05-09
Improvements
* Changed to use groonga-log and groonga-query-log gems.
1.3.1: 2018-11-19
Improvements
* Improved HTTP related error handling.
* Added `--shutdown-wait-time` option.
* Improved shutdown process for Groonga HTTP server.
1.3.0: 2018-11-16
Improvements
* Improved to force logging backtrace on crash.
* Added `--n-retries` option.
Fixes
* Fixed encoding error on error report.
1.2.9: 2018-01-18
Improvements
* Added `logical_table_remove` to "may slow commands".
* Added `--read-timeout` option.
1.2.8: 2017-12-04
Improvements
* Added `load` support to `collect-query-log` directive.
1.2.7: 2017-10-31
Fixes
* Fixed incompatible encoding error.
1.2.6: 2017-08-16
Improvements
* Added `db_directory` variable.
* Added `disk_usage` response body value normalization support.
1.2.5: 2017-08-15
Improvements
* Suppressed "thread end" log message.
* Added error line normalization support for command version 3.
1.2.4: 2017-03-27
Improvements
* Supported outputting actual file even if the test detects memory
leaks.
* Supported unused port dynamically if static port is unavailable.
* Ignored "thread start" log messages.
* Supported log with PID.
* Supported auto chunked `load`.
* Added `--no-suppress-backtrace` option.
1.2.3: 2016-07-19
Improvements
* Disabled read time on GDB mode.
* Supported object literal based response introduced by command version 3.
* Suppressed omissions from report.
* Added `generate-series` directive.
* Added `read-timeout` directive.
* Added `long-read-timeout` directive.
* Removed `long-timeout` directive. Use `long-read-timeout` directive instead.
* Supported `#{base_directory}` expansion in variable value.
* Supported variable expansion in environment variable value.
* Supported normalizing plugin path in `object_list`.
1.2.2: 2016-05-18
Improvements
* Improved shutdown process on error.
1.2.1: 2016-05-18
Fixes
* Fixed error on shutdown.
1.2.0: 2016-05-18
Improvements
* Improved shutdown on `--interface stdio`.
1.1.9: 2016-05-17
Improvements
* Improved debug output.
1.1.8: 2016-05-16
Improvements
* Added `--debug` option.
1.1.7: 2016-05-16
Improvements
* Added `timeout` directive.
* Supported defining environment variable by `#$NAME=VALUE` syntax.
1.1.6: 2016-04-27
Improvements
* Added `--timeout` option.
1.1.5: 2016-04-26
Fixes
* [Windows] Fixed a bug that backtrace isn't detected.
1.1.4: 2016-04-26
Improvements
* Supported Windows.
1.1.3: 2016-03-20
Improvements
* Added `sleep` directive.
* Added `collect-query-log` directive.
* Added `buffered-mark` reporter. You can use it by
`--runner=buffered-mark`.
* Improved OS X support.
* Supported `#{db_path}` in `copy-path` directive argument.
* Supported SEGV detection on exit.
* Supported `--columns` option of `load` command.
* Suppressed omit logs by default. You can enable it by
`--no-suppress-omit-log`.
1.1.2: 2015-07-08
Improvements
* Improve HTTP server related error case handlings.
* Support Valgrind.
* Added `--stop-on-failure` that stops testing when one test is failed.
* Support JSONP.
* Add `add-important-log-levels` directive.
* Add `remove-important-log-levels` directive.
1.1.1: 2015-02-03
Improvements
* mark reporter: Show test name on detecting memory leak.
* Support errno value in system call error message.
* Support groonga-httpd.
* Support groonga HTTP server.
1.1.0: 2014-10-25
Improvements
* Add "load" command to "may slow command" list.
Fixes
* Fix a bug that "may slow command" check is broken.
1.0.9: 2014-09-28
Improvements
* Support multi-line log.
[GitHub#2] [Reported by Naoya Murakami]
Thanks
* Naoya Murakami
1.0.8: 2014-08-17
Fixes
* Add missing new line in log message. It was a bug that is
introduced in 1.0.7.
1.0.7: 2014-08-16
Fixes
* Fix new line handling in bactrace log.
[groonga-dev,02663] [Reported by Naoya Murakami]
Thanks
* Naoya Murakami
1.0.6: 2014-08-16
Improvements
* Supported normalizing path in error message.
* Improved backtrace log detection.
[groonga-dev,02650] [Reported by Naoya Murakami]
Thanks
* Naoya Murakami
1.0.5: 2014-02-13
Improvements
* Supported Ruby 2.0.0 or later.
1.0.4: 2013-12-16
Improvements
* Supported `groogna-command-parser` gem.
1.0.3: 2013-08-12
This is a minor improvement release.
Improvements
* Supported XML output.
* Supported to show the actual result on leaked and not checked status.
* Supported warning message test.
1.0.2: 2012-12-11
This is the release that adds some directive.
Improvements
* Used long timeout for `column_create` and `register`.
* Added `long-timeout` directive.
* Added `on-error` directive.
* Added "omit" status and `omit` directive.
* Aborted a test when a command in it can't be parsed by
Groonga::Command::Parser.
Fixes
* Used stty only when the standard input is tty.
1.0.1: 2012-10-15
This has a backward incompatible change. It is directive syntax.
Old:
# NAME ARGUMENT
New:
#@NAME ARGUMENT
This change is for easy to debug. Consider about we have a typo in
NAME. It is just ignored in old syntax because it is also a comment
line. It is reported in new syntax because it syntax is only for
directive. Grntest can know that user want to use a directive. If
grntest knows that user want to use a directive, grntest can report an
error for an unknown directive name.
Improvements
- Inverted expected and actual in diff.
- Added memory leak check.
- Documented many features.
- Changed directive syntax.
- Added
copy-pathdirective. - Supported multiple
--testand--test-suiteoptions. - Added
--databaseoption.
Fixes
- Fixed a problem that test report can't be shown for no tests.
1.0.0: 2012-08-29
The first release!!!