Smdn.Net.Imap4.Client.dll / Smdn.Net.Pop3.Client.dll / Smdn.Formats.Mime.dll / Smdn.Security.Authentication.Sasl.dllについての、今後の開発予定です。 厳密な予定ではないので状況により可変します。 リリース時期は名言できません。
最新の安定版
ライブラリ | バージョン | |
---|---|---|
開発版 | メンテナンス版 | |
Smdn.Net.Imap4.Client | 1.90 | 1.15 |
Smdn.Net.Pop3.Client | 1.90 | 1.27 |
Smdn.Formats.Mime | 0.90 | 0.40 |
Smdn.Security.Authentication.Sasl | 1.90 | 1.01 |
Smdn | 3.0beta1 | 2.02 |
上記のバージョンでは、開発版とメンテナンス版でAPIはほぼ同等ですが、メンテナンス版から開発版へ移行する場合は多少のコード修正が必要になる場合があります。 (ただし、Smdn.dllを除きます。 詳細はSmdn.dll §.Smdn.Core.*.dllの統合を参照してください。)
今後のリリース予定
メンテナンス版
ライブラリ | バージョン |
---|---|
Smdn.Net.Imap4.Client | 1.15 |
Smdn.Net.Pop3.Client | 1.27 |
Smdn.Formats.Mime | 0.40 |
Smdn.Security.Authentication.Sasl | 1.01 |
Smdn | 2.03 |
今後APIは固定し、機能追加等は基本行わず、変更は重要な更新のみ行います。 開発版と平行して、必要が生じた場合に適宜リリースします。 メンテナンス版は.NET Framework 4.6以降、および.NET Standard(.NET Core)には対応しないので、必要な場合は上記の最新安定版の開発版を使用してください。
開発版
ライブラリ | バージョン |
---|---|
Smdn.Net.Imap4.Client | 1.90 |
Smdn.Net.Pop3.Client | 1.90 |
Smdn.Formats.Mime | 0.90 |
Smdn.Security.Authentication.Sasl | 1.90 |
Smdn | 3.0beta1 |
今後のバージョンで、内部実装を中心としたAPIの破壊的変更を行います。 alpha・betaバージョンをリリース予定です。 最終的なAPIはまだ決定していません。
下記名前空間直下の型、およびドキュメントで使用例を明記しているような型に関しては、型名変更以外の変更はできるだけ抑える予定です。 型名・メソッド名の修正、キャッチする例外型の修正が必要になる場合はあると思われますが、ロジックレベルでの修正は概ね変更なしで済むようにする予定です。
- Smdn.Net.Imap4.Client
- Smdn.Net.Pop3.Client
- Smdn.Formats.Mime
- Smdn.Security.Authentication.Sasl
- Smdn.Security.Authentication.Sasl.Client
上記以外の名前空間については、名前空間の移動・型名の変更、その他必要に応じてAPIの変更を予定しています。
ImapOpenedMailboxInfoについて。 IDisposable.Dispose(usingステートメント)によるメールボックスのクローズ処理は廃止を検討しています。 代替となる機能は提供予定ですが、APIは検討中です。 今後ImapOpenMailboxInfoを使ったコードを記述する場合は、usingステートメント内ではなく、
- メソッドとして分離して記述する
- try/finallyで記述する
のいずれかで記述することを推奨します。
また、ImapOpenedMailboxInfoを含む*Info系クラスもリネームを予定しているので、型名にエイリアスを付けて参照するなどしてください。 特に、ImapOpenedMailboxInfoはImapOpenMailboxにリネームする予定です。 (リネーム後のクラス名は未確定です。)
alpha
- Smdn.Net.Imap4.dllのSmdn.Net.Imap4.Client.dllへの統合
- 名前空間・クラスのリネーム
- Smdn.Net.Imap4.Client.ImapOpenedMailboxInfo→ImapOpenMailboxInfo
- (Imap|Pop)*Info系クラスのリネーム(Info削除)
- ImapOpenMailboxInfo→ImapOpenMailbox
- PopMessageInfo→PopMessage
- など
- その他内部クラスの配置整理
- T[]→IReadOnlyList<T>, IEnumerable<T>へのインターフェイス変更
- readonly用インターフェイスの定義、現在get/set可能な部分への適用
- IImapMailboxFlagSet/IImapMessageFlagSetなど
- ImapClient・PopClientの共通部分の整理
- PopSecureConnectionExceptionの導入 (IMAP側と合わせる)
- Smdn.ByteString→Span<byte>, Memory<byte>へのリプレース
- これを実施する場合、.NET Framework 4.8には未対応となる可能性があります
- デフォルト引数によるメソッドオーバーロードの削減
- FormatExceptionをスローしている箇所の修正
- InvalidDataExceptionあるいはArgumentException等への変更
ライブラリ | バージョン |
---|---|
Smdn.Net.Imap4.Client | 2.0alpha1 |
Smdn.Net.Pop3.Client | 2.0alpha1 |
Smdn.Formats.Mime | 1.0alpha1 |
Smdn.Security.Authentication.Sasl | 2.0alpha1 |
Smdn | 3.0beta2 |
beta
- 不足APIの追加
- 追加されたIMAP/POP extension等への対応
ライブラリ | バージョン |
---|---|
Smdn.Net.Imap4.Client | 2.0beta1 |
Smdn.Net.Pop3.Client | 2.0beta1 |
Smdn.Formats.Mime | 1.0beta1 |
Smdn.Security.Authentication.Sasl | 2.0beta1 |
Smdn | 3.0beta3 |
RC
- API固定
ライブラリ | バージョン |
---|---|
Smdn.Net.Imap4.Client | 2.0rc1 |
Smdn.Net.Pop3.Client | 2.0rc1 |
Smdn.Formats.Mime | 1.0rc1 |
Smdn.Security.Authentication.Sasl | 2.0rc1 |
Smdn | 3.0rc1 |