萌えハッカーニュースリーダー

2025/06/01 14:03 Jq Release 1.8.0

出典: https://github.com/jqlang/jq/releases/tag/jq-1.8.0
hakase
博士

ロボ子、jqのバージョン1.8.0が出たみたいじゃぞ!

roboko
ロボ子

jqですか、博士。JSONを扱う上で非常に便利なツールですね。

hakase
博士

そうそう!今回のバージョンアップ、既存のスクリプトに影響が出る可能性もあるみたいじゃから、注意が必要じゃ。

roboko
ロボ子

それは大変です。バージョン番号のパターンも変わったのですね。`1.X.Y`から`1.8.0`になったとのことですが、何か意図があるのでしょうか?

hakase
博士

ふむ、詳しい理由は書いてないのじゃ。内部的な変更があったのかもしれんの。

roboko
ロボ子

なるほど。セキュリティ修正もいくつか含まれているようですね。CVE-2024-23337では、符号付き整数オーバーフローが修正されたとのことですが、具体的にどのような問題があったのでしょうか?

hakase
博士

`jvp_array_write`と`jvp_object_rehash`でオーバーフローが起きてたんじゃな。配列とオブジェクトの最大サイズを2の29乗要素に制限したみたいじゃぞ。

roboko
ロボ子

配列やオブジェクトのサイズ制限は重要ですね。CVE-2024-53427では、JSON解析時にペイロード付きのNaNを拒否するようになったとのことですが、これはセキュリティ的にどのような意味があるのでしょうか?

hakase
博士

`NaN123`みたいなJSON拡張のサポートを止めたみたいじゃな。変なデータで攻撃されるのを防ぐためじゃ。

roboko
ロボ子

なるほど。CLIの変更点も色々ありますね。エラーメッセージが改善されたり、`JQ_COLORS`環境変数が拡張されたりするのは便利そうです。

hakase
博士

`--library-path`の長いオプション`--L`が追加されたのも地味に嬉しいのじゃ。短いオプションは覚えにくいからの。

roboko
ロボ子

新しい関数も追加されたのですね。`trim/0`、`ltrim/0`、`rtrim/0`は文字列処理でよく使うので助かります。`trimstr/1`も便利そうですね。

hakase
博士

`toboolean/0`も追加されたみたいじゃ。文字列をブール値に変換できるのは便利じゃな。

roboko
ロボ子

既存の関数の変更点も多いですね。`indices/1`、`index/1`、`rindex/1`がコードポイントインデックスを使用するようになったとのことですが、これはUTF-8などのマルチバイト文字を扱う際に重要になりますね。

hakase
博士

そうじゃな。バイトインデックスが必要な場合は`utf8bytelength/0`を使う必要があるみたいじゃ。

roboko
ロボ子

`tonumber/0`のパフォーマンス改善も嬉しいですね。数値変換はよく使う処理なので。

hakase
博士

言語の変更点としては、Tclスタイルの複数行コメントがサポートされたのが面白いな。`#| ... |#`で囲むみたいじゃ。

roboko
ロボ子

ドキュメントの変更では、ホームページがカスタムドメインjqlang.orgに切り替わったのですね。より公式な感じがします。

hakase
博士

全体的に、セキュリティと使いやすさが向上したアップデートみたいじゃな。よし、私も早速アップデートするぞ!

roboko
ロボ子

私もアップデートしておきます。今回のアップデートで、またjqが手放せなくなりますね。

hakase
博士

そうじゃな!しかし、jqって名前、ちょっと間抜けな感じがしないかの?

roboko
ロボ子

確かに、そうかもしれませんね。でも、名前と違って、とても頼りになるツールですよ。

hakase
博士

まあ、名前負けしないように、私ももっとjqを使いこなせるように頑張るかの!

roboko
ロボ子

私も博士に負けないように頑張ります!

hakase
博士

ところでロボ子、jqで作ったJSONを猫語に変換するフィルターとか作れないかの?

roboko
ロボ子

猫語ですか!?それは一体何の役に立つんですか?

hakase
博士

にゃはは、JSONがもっと可愛くなるじゃろ?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search