Skip to content

Instantly share code, notes, and snippets.

@ma8ma
Last active July 11, 2023 12:32
Show Gist options
  • Save ma8ma/fdae165246a2b3872b853e4089470274 to your computer and use it in GitHub Desktop.
Save ma8ma/fdae165246a2b3872b853e4089470274 to your computer and use it in GitHub Desktop.
JDim 0.10.0 release note draft

JDim 0.10.0-20230708

JDim 0.10.0-20230708 リリースノートの草案(2023年7月8日)
いくつかのリンクは未作成のため404 Not Foundが表示されます

#1191 まで

主な変更点

詳細は マージされたPull requests または マニュアル を参照してください。
リリース計画のissue: #1135

👉 ユーザーインターフェース

  • (#1097) 不正なShift_JIS(MS932)文字列をUTF-8と見なすオプションを about:config に追加しました。
  • (#1122) ユーザーインターフェースに表示する文字エンコーディング名を分かりやすくしました。
    互換性を破る変更
    以下の2つのコミットは前方互換性が無くなります。
    • (#1118) edcd3bd (2023-03-04) Use enum Encoding for conversion functions and encoding settings
    • (#1119) 93749e7 (2023-03-04) Iconv: Remove unused constructors with std::string parameters
  • (#1123) スレ一覧のプロパティにテキストエンコーディングを切り替える設定を追加しました。 この設定は実験的なサポートで安全ではありません。
  • (#1123) スレビューのプロパティに文字エンコーディングを切り替える設定を追加しました。 この設定は実験的なサポートで安全ではありません。
  • (#1123) スレ一覧やスレビューのプロパティにあるテキストエンコーディングの設定は安全でないため about:config に設定欄の有効・無効を切り替える項目を追加しました (デフォルト設定では無効)。 無効のときは設定欄(コンボボックス)を隠してエンコーディングの情報だけ表示します。
  • (#1143) ID抽出表示で新方式のID(12文字)の末尾情報を表示するように更新しました。

🖼️ スレビューの表示

  • (#1153) スレビューのテキスト表示にUnicodeのゼロ幅(非)接合子と双方向テキストを反映するように修正しました。 この修正で Emoji ZWJ Sequences (複数の絵文字を連結して1文字として見せる絵文字) の表示に対応します。
  • (#1154) スレビューなどの表示でHTML<b>要素の中にあるテキストを太字で表示するように変更しました。
  • (#1158) 掲示板のスレッドなどを表示するときHTML<span><mark>要素で指定された文字色と背景色を表示できるように更新しました。
    • <span> はCSSのクラス名を取得して対応する色設定があれば適用します。
    • <mark> は要素に対する色設定を適用します。
  • (#1159) フォントと色の詳細設定に掲示板のスレッドなどを表示するとき HTMLタグで指定された文字色・背景色を使用する設定を追加しました。
  • (#1162) URLのパーセントエンコーディングをデコードして表示するスレビューのオプションを about:config に追加しました。
  • (#1163) スレビューなどを表示するときHTML<ul>タグがある部分で改行するように変更しました。
  • (#1165) スレビューなどを表示するときBE linkのアンカーを "?" 一文字からBPのテキスト部分に変更しました。
  • (#1168) スレビューのアンカー抽出で"+"を使ったレス本文連結(e.g. >>100+200) のレイアウトを修正し本文と本文の間に空行を追加ました。

🌐 ネットワーク通信

  • (#1126) HTTPヘッダーのContent-Typeを解析してテキストの文字エンコーディングを検出する機能を追加しました。
  • (#1128) HTMLのmeta要素を解析してテキストの文字エンコーディングを検出する機能を追加しました。 Webの規格に合わせるためHTTPヘッダーでエンコーディングを指定されたときはmeta要素を無視します。
  • (#1137) TLSでノンブロッキングI/Oを使用するかしないか切り替えるオプションを about:config に追加しました (デフォルト設定は"はい")。
  • (#1137) TLSでサーバー証明書を検証するかしないか切り替えるオプションを about:config に追加して実験的にサポートしました (デフォルト設定は"はい")。 安全性が下がるためオプションを削除してサーバー証明書の検証を必須に戻すかもしれません。
  • (#1137) プロキシ設定で指定されたURLのスキーマがsocks4またはsocks4aだったときは ユーザーID無しでSOCKS接続を試みるように更新しました。
  • (#1167) スレッドの読み込みでHTTP 416 Range Not Satisfiableが返ってきたとき スレッドが壊れた(復旧不可能)と判定しないように修正しました。

📦 Snapパッケージ

no changes

✨ 他に変更・追加された機能

  • (#1096) テキストの文字エンコーディングをUTF-8へ変換する処理のとき不正なバイト列を � (U+FFFD) へ置き換えるように修正しました。
  • (#1105) URLエンコードの処理ではURLの規格を参考にして@(U+0040)をパーセント符号化するように変更しました。
  • (#1108, #1109) ユーザーコマンドの置換文字で使われるURLエンコードをwebブラウザのform要素の形式 ( application/x-www-form-urlencoded ) に変更しました。
  • (#1113) HTMLフォームのデータを送信するときに使われるURLエンコードをwebブラウザのform要素の形式 ( application/x-www-form-urlencoded ) に変更しました。
  • (#1133) 画像URLがリダイレクトしたときに404 Not Foundと判定する条件を修正しました。
  • (#1155) 掲示板のスレッドなどにあるリンクを表示するためHTML<a>要素が相対URLのときは絶対URLに変換するように変更しました。
  • (#1156) 掲示板のスレッドなど表示するときHTMLタグやCSSで指定された文字色と背景色を表示に反映するためのコードを実装しました。
  • (#1166) 外部板に追加した2ch,5chの板でもユーザーエージェントやプロキシなど ネットワーク通信の2ch,5ch向け全体設定を利用するように変更しました。
  • (#1166) 2ch,5chの板は板移転する前のURLを外部板に追加できる状態だったため 追加するときに板移転の処理を行って重複してないか判定するように修正しました。

🐞 バグ修正

  • (#1093) gcc13を使ってビルドするとコンパイルエラーになる問題を修正しました。 Thanks @mtasaka for PR.
  • (#1107) char型がunsignedのプラットフォームだと比較が誤った結果になる箇所を修正しました。 Thanks @mtasaka for report and PR.
  • (#1120) 板やスレッドの情報を保存したファイルにある文字エンコーディング情報の互換性を確保するため設定の読み込みを修正しました。 この修正で文字エンコーディング設定からISO-8859-1 (LATIN1)を指定することができなくなりますが 2ch互換のサイトでISO-8859-1は利用されていないため問題になる可能性は低いです。
  • (#1139) まちBBS(machi.to)のDATデータに変換するための正規表現パターンを修正しました。
  • (#1184) 浮動小数点数(double)の等価比較を誤差を考慮した処理に書き換えて修正しました。

📗 ドキュメント

  • (#1092) Meson: JDimのビルドやインストール、テストの実行方法を説明するドキュメントを ./configure + makeからmesonに更新しました。 また、./configure を実行したとき将来のバージョンで廃止されることを警告メッセージで表示します。
  • (#1092) Meson: 互換性のため残されているセットアップ方法(meson builddir)を使った説明を setupサブコマンド(meson setup builddir)に変更しました。

🔧 ソフトウェアの構築(ビルド)

  • (#1090) 廃止された正規表現のライブラリを選択するビルドオプションを消去しました。
  • (#1091) GTKMM3: バージョン要件を3.24.0以上に更新しました。
  • (#1091) GnuTLS: バージョン要件を3.6.7以上に更新しました。
  • (#1091) OpenSSL: バージョン要件を1.1.1以上に更新しました。

♻️ 継続的インテグレーション(CI)

  • (#1189) 毎週月曜日にUnity buildを有効にしてビルドするジョブを追加しました。
  • (#1189) 毎週月曜日にビルドツールmuonを使ってJDimをビルドするジョブを追加しました。

🀄 Meson

  • (#1091) mesonのバージョン要件を0.53.0以上に更新しました。 Debian busterではbackportsを有効にしてインストールしてください。
  • (#1092) setupを実行したときビルドオプションの構成を装飾して見やすくしました。
  • (#1131) GTest(googletest)のバージョン要件を1.10.0以上に更新しました。 Debian busterではbackportsを有効にしてインストールしてください。
  • (#1186) mesonを使ったUnity buildをサポートするためコンパイルエラーを修正しました。

👻 廃止された機能

  • (#1169) 2chやbbspinkのログ取得に使用されていたRokkaシステムは廃止されたため接続処理を削除しました。 また、ログイン処理の代わりに現在サポート中止していることを通知するように修正しました。
  • (#1170) DATをキャッシュに保存する前の前処理を修正して廃止されたrawモードの処理を取り除きました。

🔜 サポート

  • (#897) ビルドツールAutotools(./configure)のサポートは0.10.0のリリースをもって終了します。(RFC 0012)

不具合のご報告やパッチのご提供をいただきまして重ねてお礼申し上げます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment