# 変更履歴
## v2.0.0
### 不正なフィードで panic しなくなりました
パーサは信頼できない入力に対して `unwrap()` と `assert!()` を53箇所で呼んでおり,必須
フィールドを欠くエントリがあるとプロセスが異常終了していました.これらの経路はすべて
[`ParseError`](errors.ja.md) を返すようになりました.
### `ParseError` の刷新
`DeserializeError`・`Utf8Error`・`IoError` を追加し,一度も構築されていなかった
`DateParseError` を削除し,enum に `#[non_exhaustive]` を付けました.`InvalidFeedFormat`
と `MissingField` は定義されているだけの状態から,実際に返る状態になりました.
### 依存関係
未使用だった `anyhow`・`chrono`・`reqwest`・`tokio`・`tokio-test` を削除しました.
`quick-xml` を 0.41 へ更新しました.
### ツールチェーンとメタデータ
エディションを 2024 に上げ(MSRV 1.85,[方針](development.ja.md)を参照),
crates.io 向けのメタデータを追加し,存在しないリポジトリを指していた `repository` の URL を
修正しました.
### 1.x からの移行
`parse` のシグネチャは変わらないため,結果に `.unwrap()` を呼んでいるコードはそのまま
コンパイルできます.注意が必要な変更は2点です.
- これまで panic していた入力が `Err` を返すようになったため,エラー分岐に初めて到達する
ことがあります.
- `ParseError` に対する `match` にはワイルドカードの腕が必要で,`DateParseError` は
存在しなくなりました.
## v1.0.12
`ParseError` と `ParseResult` を追加しました.
## v1.0.11
`<title></title>` と `<description></description>` 内の HTML を解析できるようにしました.