お知らせ - 13系 — Mroonga vmrn_version documentation

本文へスキップ
`Ctrl`+`K`

# お知らせ - 13系

## Release 13.05 - 2023-08-02

### Improvements

- [CentOS][AlmaLinux] MySQL 5.7.43をサポートしました。

- [CentOS][AlmaLinux] MySQL 8.0.34をサポートしました。

- [CentOS][AlmaLinux] Percona Server 5.7.42-46をサポートしました。

- [CentOS][AlmaLinux] Percona Server 8.0.33-25をサポートしました。

- [CentOS][AlmaLinux] MariaDB 10.4.30、10.5.21、10.6.14、10.8.8、10.9.7、10.10.5、10.11.4をサポートしました。

- [Debian GNU/Linux] MariaDB 10.5.19をサポートしました。

- [Debian GNU/Linux] Added newly support for Debian 12 (bookworm).

  However, we only support Mroonga with MariaDB 10.11 in this release.

  Because the source of MySQL Community Server for Debian 12 doesn't exist in MySQL APT Repository(https://repo.mysql.com/apt/debian/dists/) currently.

  Therefore, we don't support Mroonga with MySQL community server 8.0 on Debian 12 temporarily. We will support Mroonga with MySQL community server 8.0 after the source of it for Debian 12 is available.

- MariaDB 10.3のサポートをやめました。

  2023-05-25 にEOLになったためです。

## 13.01リリース - 2023-03-29

### Improvements

- [CentOS][AlmaLinux] 新しくMariaDB 10.11をサポートしました。 [GitHub#606][Patched by Josep Sanz]

- [Amazon Linux] MariaDB 10.5.18-1.amzn2をサポートしました。

- [CentOS][AlmaLinux] Percona Server 8.0.32-24をサポートしました。

- [CentOS][AlmaLinux] Percona Server 5.7.41-44をサポートしました。

- [Oracle Linux] Dropped support for Oracle Linux 8 and 9 をサポートしました。

  MroonaをMySQLの公式DockerイメージにインストールするためにOracle Linuxをサポートしました。しかし、MySQLの公式Dockerイメージにインストールするために必要なパッケージはMySQL community server minimal用のMroongaでした。

  そのため、Oracle Linux用のMroongaを使ってもMySQLの公式DockerイメージにはMroongaをインストールできません。

- [Ubuntu] Ubuntu 18.04 のサポートをやめました。

  Ubuntu 18.04 はEOLとなったためです。

- [AlmaLinux] MySQL community server minimal 8.0 をサポートしました。

  このパッケージは、 `mysql:8.0-oracle` Dockerイメージをサポートするためのものです。

## 13.00リリース - 2023-02-09

メジャーバージョンアップです! メジャーバージョンアップですが、互換性は壊れていないので、データベースを再構築することなく13.00へアップグレードできます。

まずはじめに 13.00の主な変更点を紹介します。次に、Mroonga 12.00 から 12.12 までの変更点を紹介します。

### 13.00の新規機能と改良

注釈

現在、Percona Server向けMroonga 13.00のパッケージを提供していません。Percona Server向けパッケージのビルドに問題があるためです。この問題が解決したら、再度Percona Server向けパッケージを提供します。

### Improvements

- [CentOS][AlmaLinux] MariaDB 10.3.38、10.4.28、10.5.19、10.6.12、10.7.8、10.8.7、10.9.5、10.10.3をサポートしました。

### Mroonga 12.00から 12.12までの主な変更点

#### ハイライト

- Added support for reference count mode.

  Though this feature can keep fixed memory usage, its performance would be dropped. Thus, memory increments should be first consideration before using this feature.

  The reference count mode is used with `table_open_cache <https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_open_cache>`_ of MySQL.

  MySQLは `table_open_cache` で指定した個数のテーブルをキャッシュしておくことができます。キャッシュされているテーブルはまだ使用中なので、Groongaのオブジェクトも解放されません。

  `table_open_cache` で指定した個数よりも多いテーブルが開かれたとき、使用頻度が低いテーブルが閉じられます。参照カウントモードが有効なとき、そのタイミングでGroongaのオブジェクトも閉じられます。

  These are how the reference count mode keep fixed memory usage.

  実際に使用する際には、ステータス変数の `Open_tables <https://dev.mysql.com/doc/refman/8.0/ja/server-status-variables.html#statvar_Open_tables>`_ の値とメモリー使用量を見ながら `table_open_cache` の値を調整することで、メモリー使用量とパフォーマンスのバランスを調整する必要があります。なぜなら、この機能はメモリー使用量を一定に保ちますが、その分パフォーマンスが悪化するためです。

  `Open_tables` の確認方法は以下の通りです。

        SHOW GLOBAL STATUS LIKE 'Open_tables';
        -- +---------------+-------+
        -- | Variable_name | Value |
        -- +---------------+-------+
        -- | Open_tables   | 643   |
        -- +---------------+-------+

  通常は `Open_tables` より `table_open_cache` を大きくして常に使っているすべてテーブルをキャッシュします。しかし、メモリーに余裕がない環境では一部の使用頻度の低いテーブルをキャッシュから落として解放することでメモリー使用量を削減します。使用頻度の低いテーブルをキャッシュから落とすには `Open_tables` より `table_open_cache` を小さくします。`table_open_cache` を小さくすればするほど、より多くのテーブルがキャッシュから落ちます。その分メモリー使用量は減りますが、テーブルの開き直しが必要になるためパフォーマンスは悪化します。`table_open_cache` を小さくすればするほど、パフォーマンスが悪化するので、小さくするのはメモリー使用量が許容範囲内に収まる程度までにしておきます。

  In order to enable reference count mode, we need to specify values in my.cnf as follows;

        loose-mroonga-enable-reference-count = ON

  注釈

  MySQL起動後に変数で指定しても参照カウントモードは有効になりません。my.cnfで指定してください。

        SET GLOBAL mroonga_enable_reference_count = ON

- Added support for execution timeout parameter.[GitHub #344][Reported by Kazuhiko]

  MySQL/MariaDB はクエリーの実行時間がタイムアウトパラメータで指定した時間を超過した場合、クエリーを中断することができます。タイムアウトパラメータは、MySQL では `MAX_EXECUTION_TIME` 、MariaDBでは `max_statement_time` です。

  However, Mroonga did not abort executing queries even after MySQL/MariaDB abort the queries and return results. So if the Groonga queries match too many results, it could continue to consume memory and CPU resources even after MySQL/MariaDB abort the queries.

  From this version, Mroonga can abort queries in the specified time and the execution timeout parameter works correctly. So Mroonga don't continue to consume memory and CPU resources after MySQL/MariaDB abort the queries.

  The following how to use this feature.

  Here is a sample for MySQL.

        CREATE TABLE diaries(
          title TEXT
          FULLTEXT INDEX (title)
        ) ENGINE = Mroonga DEFAULT CHARSET=utf8mb4;

        INSERT INTO diaries (title) VALUES ("It'll be fine tomorrow.");
        INSERT INTO diaries (title) VALUES ("It'll rain tomorrow");

        SELECT /*+ MAX_EXECUTION_TIME(1) */ title
          FROM diaries
         WHERE MATCH(title) AGAINST("+fine" IN BOOLEAN MODE);

  Here is a sample for MariaDB.

        CREATE TABLE diaries(
          title TEXT
          FULLTEXT INDEX (title)
        ) ENGINE = Mroonga DEFAULT CHARSET=utf8mb4;

        INSERT INTO diaries (title) VALUES ("It'll be fine tomorrow.");
        INSERT INTO diaries (title) VALUES ("It'll rain tomorrow");

        SET STATEMENT max_statement_time = 0.001 FOR
        SELECT title
          FROM diaries
         WHERE MATCH(title) AGAINST("+fine" IN BOOLEAN MODE);

  この機能は、 `mroonga_command()` でも使えます。

- Fixed a bug to fail to install or upgrade Mroonga with install.sql.[GitHub #525][Reported by Tomohiro KATO][Patched by Jérome Perrin]

  Broken install.sql caused this bug. This bug had occurred since Mroonga 12.06.

- Fixed a memory leak on full text search. [Reported by OHTSUKA Soushi and Mitsuo Yoshida]

  This is occurred when `order limit optimization <https://mroonga.org/ja/docs/reference/optimizations.html#order-by-limit>`_ is used. However, if we use MariaDB, this occurs even if we don't use order limit optimization.

  This bug had occurred since Mroonga 11.03.

- Fixed a bug that Mroonga for Windows does not bundle groonga-normalizer-mysql.

#### 概要

#### Improvements

[12.12リリース - 2023-01-29]

- [AlmaLinux] AlmaLinux 9 を新しくサポートしました。

- [CentOS][AlmaLinux][Debian GNU/Linux][Ubuntu] MySQL 8.0.32をサポートしました。

- [CentOS][AlmaLinux][Debian GNU/Linux][Ubuntu] MySQL 5.7.41をサポートしました。

- Added support for updating normal columns with composite primary key table. [GitHub#592][Reported by handmound]

[12.11リリース - 2020-01-06]

- [CentOS][AlmaLinux] 新しく、MariaDB 10.10をサポートしました。

- [Amazon Linux] MariaDB 10.5.10-2.amzn2.0.2をサポートしました。

- [サーバ変数の一覧] 新しいサーバーステータス変数 `libgroonga_support_mecab` を追加しました。

- [Debian GNU/Linux] MariaDB 10.5.18をサポートしました。

[12.10リリース - 2022-11-29]

- [CentOS][AlmaLinux] MariaDB 10.3.37、10.4.27、10.5.18、10.6.11、10.7.7、10.8.6、10.9.4をサポートしました。 [GitHub #564][Josep Sanzさんの報告][かとうさんがパッチ提供]

- [CentOS][AlmaLinux] Percona Server 8.0.30-22をサポートしました。

- [CentOS] Percona Server 5.7.40-43をサポートしました。

- [Windows] MariaDB 10.7、10.8、10.9をサポートしました。

- [Windows] 32bitバージョンのサポートをやめました。

- [mroonga_highlight_html()] 新しいパラメータ `open_tag` と `close_tag` を追加しました。 [GitHub #537][ishitakaさんによる報告]

- Added support for reference count mode.

[12.09リリース - 2022-10-28]

- [CentOS][AlmaLinux] MariaDB 10.9.3をサポートしました。

- [CentOS][Ubuntu] MySQL 5.7.40をサポートしました。

- [CentOS][AlmaLinux][Debian GNU/Linux][Ubuntu] MySQL 8.0.31をサポートしました。

- [Ubuntu] Ubuntu 22.04 (Jammy Jellyfish) の MariaDB 10.6 をサポートしました。

- Added support for execution timeout parameter.[GitHub #344][Reported by Kazuhiko]

[12.08リリース - 2022-10-03]

- [CentOS][AlmaLinux] MariaDB 10.6.10, 10.7.6, 10.8.5をサポートしました。

- [Oracle Linux] MySQL 8.0.30をサポートしました。

[12.07リリース - 2022-08-30]

- [CentOS][AlmaLinux] MariaDB 10.3.36、10.4.26、10.5.17、10.6.9、10.7.5、10.8.4をサポートしました。

- [CentOS][AlmaLinux] Percona Server 5.7.39-42をサポートしました。

- [CentOS][AlmaLinux] Percona Server 8.0.29-21をサポートしました。

[12.06リリース - 2022-08-04]

- [CentOS] MySQL 5.7.39をサポートしました。

- [CentOS][AlmaLinux] MySQL 8.0.30をサポートしました。

- [CentOS][AlmaLinux] Percona Server 8.0.28-20をサポートしました。

- [CentOS][AlmaLinux] MariaDB 10.8をサポートしました。

- [CentOS][AlmaLinux] MariaDB 10.2のサポートをやめました。

- [Debian GNU/Linux] Debian 10 (buster)のサポートをやめました。

- Changed to not require to run update.sql for registering Mroonga to MySQL.[GitHub #509][Reported by Jérome Perrin]

[12.04リリース - 2022-06-01]

- [サーバ変数の一覧] 新しいサーバー変数 `Mroonga_memory_map_size` を追加しました。

- [CentOS][AlmaLinux] Percona Server 8.0.28-19をサポートしました。

- [CentOS][AlmaLinux] Percona Server 5.7.38-41をサポートしました。

- [CentOS][AlmaLinux] MariaDB 10.2.44, 10.3.35、10.4.25、10.5.16、10.6.8、10.7.4をサポートしました。

[12.03リリース - 2022-05-06]

- [CentOS] Percona Server 5.7.37-40をサポートしました。

- [CentOS] MySQL 5.7.38をサポートしました。

- [CentOS][AlmaLinux] MySQL 8.0.29をサポートしました。

[12.02リリース - 2022-03-29]

- Dropped support wrapper mode with MySQL 8.0 or later.

- Added support for disabling a back trace by the server variable.

- 重み付きベクターの重みに `float32` 型を追加しました。

- [CentOS][AlmaLinux] MariaDB 10.3.34、10.4.24、10.5.15、10.6.7、10.7.3をサポートしました。

- [CentOS] MariaDB 10.2.43をサポートしました。

- [CentOS][AlmaLinux] Percona Server 8.0.27-18をサポートしました。

- `MISSING_*` と `INVALID_*` フラグをサポートしました。

[12.00リリース - 2022-02-09]

- [Ubuntu] Ubuntuの mysql-server パッケージの最新バージョンをサポートしました。

- [CentOS] MariaDB 10.2.42、10.3.33、10.4.23、10.5.14、10.6.6をサポートしました。

- [AlmaLinux] MariaDB 10.3.33、10.4.23、10.5.14、10.6.6をサポートしました。

#### Fixes

[12.11リリース - 2020-01-06]

- [mroonga_highlight_html()] `mroonga_highlight_html` を `AS query` と一緒に使った際にメモリーリークする問題を修正しました。

- Fixed a bug that initialization of MeCab is fail when we use Mroonga on MariaDB 10.9 or later for Windows.

[12.10リリース - 2022-11-29]

- Fixed a bug that Mroonga for Windows does not bundle groonga-normalizer-mysql.

[12.09リリース - 2022-10-28]

- Fixed a bug that Mroonga for Windows does not bundle groonga-normalizer-mysql.

[12.07リリース - 2022-08-30]

- Fixed a bug to fail to install or upgrade Mroonga with install.sql.[GitHub #525][Reported by Tomohiro KATO][Patched by Jérome Perrin]

- MySQL 8.0 以上を使用しているとき、`mroonga_command()` が16進数ダンプで結果を返す問題を修正しました。

- [AlmaLinux] AlmaLinux 8 向けMroongaのインストール手順を修正しました。[Gitter/ja:62fe4ca5b16e8236e3ef225c][handmoundさんの報告]

[12.04リリース - 2022-06-01]

- Fixed a bug that Mroonga may update failed. [groonga-dev,04982, groonga-dev,04987][Reported by Mitsuo Yoshida and OHTSUKA Soushi]

[12.03リリース - 2022-05-06]

- Fixed a bug that Mroonga may fail create the index on MariaDB 10.5.14. [GitHub clear-code/redmine_full_text_search#103][Reported by wate]

- Fixed a memory leak on full text search. [Reported by OHTSUKA Soushi and Mitsuo Yoshida]

#### Thanks

- handmound

- Josep Sanz

- Tomohiro KATO

- ishitaka

- Kazuhiko

- Jérome Perrin

- Mitsuo Yoshida

- OHTSUKA Soushi

- wate