リリースノート

Sisimai 5.3.0


2025/03/29

Sisimai 5.3.0をリリースしました。 このバージョンにおける主な変更点は、Go版Sisimaiの壊れたモジュールPATHの修正と変更、 メモリ割当関係の改善とSMTP応答コード関連処理の改善と更新です。 Perl版Sisimaiに特有の変更はPerlが、 Ruby版Sisimaiに特有の変更はRubyが、 Go版Sisimaiに特有の変更はGoが、 それぞれ冒頭に入っています。

Sisimai 5.0.0でVersion 4系とは非互換な変更が多く入っていますので、 インストールまたはアップグレードの前に実行環境のPerlやRubyのバージョンを確認してください。

変更点

  • Go Sisimai 5.2.1以前のモジュールPATHが壊れていた問題を修正しました。 v5.3.0からimport pathは"libsisimai.org/sisimai/v5"になっています。 Thanks to @inboxsphere #96 #98
  • Go Go 1.24でビルド可能です。
  • Go メモリ関連の改善をしてv5.2.1よりも1.7倍程度の高速化となりました。
    • 文字列と構造体のコピーを大幅に削減し、いくつかの関数はポインターを返すように 変更しました。 #76 #80 #83 #84 #85 #86 #87
    • fmt.Sprintf()の使用回数を削減しました。 #78
    • MTAモジュールの呼び出し順序を最適化しました。 #88 #89
  • Go 各関数のコメントをGoの作法に従ったものに修正しました。 #75
  • Go RFC3834.Inquire()関数内でfmt.Sprintf()の 引数を修正しました。 #79
  • Go sis.BeforeFact.Empty()関数はIsEmpty に改名されました。 #82
  • SMTP応答コードを処理するクラスおよび関数・メソッドを改善しました。 #90 #92
    • ハードコードしているSMTP応答コードの一覧を更新しました。
    • AssosiatedWith()関数をsmtp/replyに実装しました。
    • IsExplicit()関数をsmtp/statusに実装しました。
  • Ruby Ruby 3.4で動作するのを確認しました。