Manael v3.1 リリース!

Manael v3.1 では、画像変換後に独自処理を差し込めるポストプロセッサーフックを追加しました。

概要

Manael v3.1 では、Manael を Go ライブラリとして組み込むアプリケーション向けに、新しい拡張ポイントを追加しました。新しい WithPostProcessor フックを使うと、画像変換に成功した後、レスポンスをクライアントへ返す直前に独自ロジックを実行できます。

v3.1 の新機能: ポストプロセッサーフック

このフックは変換済み画像のバイト列を受け取り、次のような処理に使えます。

  • 何も変更せずそのまま返す
  • 別のペイロードに置き換える
  • 独自のキャッシュや後処理パイプラインへ流す

これにより、変換済み画像のキャッシュ、下流システムへの連携、アプリケーション固有のレスポンス加工といったワークフローを、Manael 本体をフォークせずに組み込めるようになります。

proxy := manael.NewServeProxy(upstreamURL,
	manael.WithPostProcessor(func(data []byte) ([]byte, error) {
		return data, nil
	}),
)

安全なフォールバック動作

このフックは、Manael が実際に画像を変換した場合にのみ実行されます。変換が発生しなければフックはスキップされます。フックがエラーを返した場合は、Manael が失敗をログ出力し、元のアップストリームレスポンスへ安全にフォールバックします。

Go 1.24 サポート終了

ソースからビルドする場合やライブラリとして組み込む場合、Manael は Go 1.25 以降を必要とするようになりました。これは、脆弱性対策として go.opentelemetry.io/otel/sdk を v1.43.0 へ更新したことに伴い、実質的な最低サポート Go バージョンが引き上がったためです。

詳細

ポストプロセッサーフックの新しいドキュメントページと、v3.1 の変更内容をあわせて確認してください。