Let's start Scheme

2012-05-16

Sagittarius version 0.3.2リリース

なんだかんだ言って、月1でリリースする。

Sagittarius Scheme 0.3.2をリリースしました。今回のリリースはメンテナンスリリースです。

修正された不具合
  • call-next-methodがsyntax-caseマクロ内で呼び出せない不具合が修正されました。
  • 特定のプロシージャ呼び出しが失敗する不具合が修正されました。
  • transcoded-portを使ってカスタムバイナリポートを変換するとput-string等のプロシージャでSEGVを起こす問題が修正されました。
  • R6RSで定義されていて、実装されていなかったマクロassertが追加されました。
  • portクラスの階層が修正されました。
  • ソケットポートを使用してget-bytevector-allを呼び出すと終了しない場合がある不具合が修正されました。
  • X.509証明書を読み込む際にmake-basic-constraintsがエラーを投げる不具合が修正されました。
  • open-inflating-input-portのreadプロシージャで読み込み数が1より大きい場合に例外を投げる不具合が修正されました。これは今回のカスタムポート改善で発覚したもので、0.3.1以前では発現しません。
  • X.509証明書をキーストアから読み込む際、秘密鍵のみを読み込んで証明書自体を読み込まない不具合が修正されました。
  • bytevector、stringアウトプットポートから出力されたデータを読み出した際に、ポート位置がリセットされていない不具合が修正されました。
改善点
  • カスタムバイナリアウトプットポートの出力の際に、ある程度のサイズのバッファを渡すように修正されました。パフォーマンスが改善されているはずです。
  • bytevector-copyがオプション引数startとendをとるように改善されました。
  • base64-decode-stringがオプショナル引数のtranscoderで#fを受け取った際に生のバイトベクタを返すように改善されました。
  • バイトベクタ及びストリングのアウトプットポートのパフォーマンスが改善されました。およそ2倍程度高速になっているはずです。
  • 擬似乱数クラスがハッシュやCipherと同様拡張可能になりました。
  • キャッシュ機構がScheme側からも制御できるようになりました。
  • 上記の改善により、正規表現パターンのリーダがS式ではなくパターンオブジェクトを返すようになりました。
 互換性の無い変更
  • 擬似乱数クラスの変更により、custom-prng?プロシージャが削除されました。
新たに追加されたライブラリ
  • OAuthライブラリ(net oauth)が追加されました。OAuth 1.0のコンシューマをサポートしています。
  • TLSプロトコルライブラリ(rfc tls)が追加されました。TLS1.0からTLS1.2までをサポートしていますが、1.2に関しては動作保障がありません。セキュリティホール等があるかもしれません。
  • (srfi :27 random-bits)が追加されました。
  • バリデーションメタクラスライブラリ(sagittaius mop validator)が追加されました。

No comments:

Post a Comment