Smdn.Net.Imap4.Clientのリリースと変更履歴の一覧です。

リリース一覧

以下のバージョンはすべてMIT X11ライセンスでのリリースとなります。

バージョン パッケージ
2.0alpha2 (2019-03-23) ソースコード
サイズ
1.0MB
sha1sum
ec5c8ae33f6f0950318776107f2737ff8d6fc9a7
DLL https://www.nuget.org/packages/Smdn.Net.Imap4.Client/
2.0alpha1 (2019-01-30) ソースコード
サイズ
1015.9kB
sha1sum
b62f81886d06176595639657e87448e7cf17002e
DLL https://www.nuget.org/packages/Smdn.Net.Imap4.Client/
1.91 (2018-12-15) ソースコード
サイズ
971.0kB
sha1sum
60a4cbbb9b13e1eafd3ddc2f788ba19dcaa2711f
DLL
サイズ
967.2kB
sha1sum
a1e618d2fce781c0f040f15b94d07a3114fd4b6f
1.90 (2018-12-04) ソースコード
サイズ
988.2kB
sha1sum
ceae9fa63a0b01ded1e9b03eb75f20e8aeb0d18b
DLL
サイズ
1011.8kB
sha1sum
853c91a9e05c046132d501a35e25e73c49ec497c
1.16 (2019-01-30) ソースコード
サイズ
1.1MB
sha1sum
05debe44467439068e8b07a9f8ddaaaea7f2cc28
DLL
ファイル名
Smdn.Net.Imap4.Client-1.16-netfx4.5.zip
サイズ
257.0kB
sha1sum
03e40474bd0b380a0c7787e29948b10320d1b687

ファイル名
Smdn.Net.Imap4.Client-1.16-netfx4.0.zip
サイズ
256.0kB
sha1sum
93435aa7ecb54a1a35a6f914ae35a15cd170e009

ファイル名
Smdn.Net.Imap4.Client-1.16-netfx3.5.zip
サイズ
249.9kB
sha1sum
184ee5a4f2458f7f4bfdf1d2e9cc7c65e2ce984a
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.16-netfx4.5-combined.zip
サイズ
207.3kB
sha1sum
e9d4c1b868f3b5fe19aed5bbb5dff4debef851aa

ファイル名
Smdn.Net.Imap4.Client-1.16-netfx4.0-combined.zip
サイズ
206.2kB
sha1sum
8ad51e9d0cf3ee19ab94b5a1bb09de94ade4832a

ファイル名
Smdn.Net.Imap4.Client-1.16-netfx3.5-combined.zip
サイズ
198.6kB
sha1sum
923a936b75438bf2ac9471b055b62dfc3716a85a
1.15 (2018-12-04) ソースコード
サイズ
1.1MB
sha1sum
66523affb8d81de4bd8c39bd45e2f6d0d75f6aca
DLL
ファイル名
Smdn.Net.Imap4.Client-1.15-netfx4.5.zip
サイズ
257.0kB
sha1sum
a9a5e7c23569fbd56399eff530337baa59bb2192

ファイル名
Smdn.Net.Imap4.Client-1.15-netfx4.0.zip
サイズ
255.9kB
sha1sum
55e83de262caa6f7f5c91f5800a09acbfcbfb1c0

ファイル名
Smdn.Net.Imap4.Client-1.15-netfx3.5.zip
サイズ
249.7kB
sha1sum
2717dee65f1e0b0fff9e10ba31d5bf85a312e496
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.15-netfx4.5-combined.zip
サイズ
207.1kB
sha1sum
73c2de1f7e84bb587845c17b96836d1c65c83433

ファイル名
Smdn.Net.Imap4.Client-1.15-netfx4.0-combined.zip
サイズ
206.1kB
sha1sum
ad1a0473ad5a768892e29443cc0b9394bde9c137

ファイル名
Smdn.Net.Imap4.Client-1.15-netfx3.5-combined.zip
サイズ
198.5kB
sha1sum
2afd2897e7a530adb08bd2abbc121b66a24d52b9
1.14 (2015-02-17) ソースコード
サイズ
433.5kB
sha1sum
560904027505ff88e79b2b05fd2fdf7f20e6eb08
DLL
ファイル名
Smdn.Net.Imap4.Client-1.14-netfx4.5.zip
サイズ
260.9kB
sha1sum
4b2892f77e9b10747b5a340eef1b531babaac3d3

ファイル名
Smdn.Net.Imap4.Client-1.14-netfx4.0.zip
サイズ
261.0kB
sha1sum
74768df1f0747926aae3d9e0564abf84e41324c6

ファイル名
Smdn.Net.Imap4.Client-1.14-netfx3.5.zip
サイズ
255.6kB
sha1sum
d7ca4d03df97d1af86000f36f96a10f82610b3d9
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.14-netfx4.5-combined.zip
サイズ
209.5kB
sha1sum
27920950db752499a74006f89182e6ea185cfd8e

ファイル名
Smdn.Net.Imap4.Client-1.14-netfx4.0-combined.zip
サイズ
209.7kB
sha1sum
0d6d6c9b9bde4d1dce337c14cbb6a2a278a16b42

ファイル名
Smdn.Net.Imap4.Client-1.14-netfx3.5-combined.zip
サイズ
202.0kB
sha1sum
f1df4bb3e7ec6e98ec6e3bfdadeae413e264b188
1.13 (2015-02-04) ソースコード
サイズ
433.8kB
sha1sum
d750c6bcfafb8b9af26ddf94c783de22a3db7047
DLL
ファイル名
Smdn.Net.Imap4.Client-1.13-netfx4.5.zip
サイズ
261.6kB
sha1sum
eb073123ee1cb08ef5c5c4845c40a6c05f539c67

ファイル名
Smdn.Net.Imap4.Client-1.13-netfx4.0.zip
サイズ
261.4kB
sha1sum
10bbef00a47bde50cb3d02f0924ed3e9a5585fb0

ファイル名
Smdn.Net.Imap4.Client-1.13-netfx3.5.zip
サイズ
256.1kB
sha1sum
524e9d23b04efd4c3c4f5ae41ecb5ba3a504a018
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.13-netfx4.5-combined.zip
サイズ
209.9kB
sha1sum
efe2a162ac5ea3a7940bd34c91394cd8990f9102

ファイル名
Smdn.Net.Imap4.Client-1.13-netfx4.0-combined.zip
サイズ
210.1kB
sha1sum
b79826de2608ff8f1eb8d5493e493189eea32039

ファイル名
Smdn.Net.Imap4.Client-1.13-netfx3.5-combined.zip
サイズ
202.4kB
sha1sum
b95a5097b44a2af01dc4eca206b8f23dcb3c6f2b
1.12 (2014-08-15) ソースコード
サイズ
431.7kB
sha1sum
f5e5931cbefbbb3df58510049f93cbfad66ae3c1
DLL
ファイル名
Smdn.Net.Imap4.Client-1.12-netfx4.5.zip
サイズ
260.5kB
sha1sum
91f2a6085c77bb911aa47d87c9704a4453637399

ファイル名
Smdn.Net.Imap4.Client-1.12-netfx4.0.zip
サイズ
260.4kB
sha1sum
e67d7b94641405d61dda67e36fe627d97c0013ec

ファイル名
Smdn.Net.Imap4.Client-1.12-netfx3.5.zip
サイズ
258.6kB
sha1sum
1c305acb160ce2843f9394ffa045c86b75d27bcc
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.12-netfx4.5-combined.zip
サイズ
209.1kB
sha1sum
692ea323d8e7d103ebdd381086cd780beb303a35

ファイル名
Smdn.Net.Imap4.Client-1.12-netfx4.0-combined.zip
サイズ
209.3kB
sha1sum
a794e7fc938a776a1ca2e81e9ddc24957a633328

ファイル名
Smdn.Net.Imap4.Client-1.12-netfx3.5-combined.zip
サイズ
205.6kB
sha1sum
6be69a49af12055a54c0790ece5be6067661d8aa
1.11 (2014-08-01) ソースコード
サイズ
429.0kB
sha1sum
1b462cc6922dd887b889db208f2a1abe49a04985
DLL
ファイル名
Smdn.Net.Imap4.Client-1.11-netfx4.5.zip
サイズ
261.5kB
sha1sum
ae30c4eb0b98bf62101eb974d8a25cf624e73b8c

ファイル名
Smdn.Net.Imap4.Client-1.11-netfx4.0.zip
サイズ
261.7kB
sha1sum
a7ea0f043c3d756857cd4b8702800ad5e90c7d63

ファイル名
Smdn.Net.Imap4.Client-1.11-netfx3.5.zip
サイズ
260.0kB
sha1sum
4a0e1c8ecf18fbe377ef0edbe32ebbacfb733530
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.11-netfx4.5-combined.zip
サイズ
210.4kB
sha1sum
e8e78cbce7a2bd9acf0dcdc17d8d9b45ab46f059

ファイル名
Smdn.Net.Imap4.Client-1.11-netfx4.0-combined.zip
サイズ
210.7kB
sha1sum
006286ba210f599b53eb41f3fe2c40c09ff4c61e

ファイル名
Smdn.Net.Imap4.Client-1.11-netfx3.5-combined.zip
サイズ
206.6kB
sha1sum
e8d1223f1db758605d98e73bbde08283a622510a
1.10 (2014-07-19) ソースコード
サイズ
415.2kB
sha1sum
eeef3a218bb14fa2f9fdb047b2e286f620125948
DLL
ファイル名
Smdn.Net.Imap4.Client-1.10-netfx4.5.zip
サイズ
255.4kB
sha1sum
c275d9235962cf55692eadbc55af18ae88873921

ファイル名
Smdn.Net.Imap4.Client-1.10-netfx4.0.zip
サイズ
256.1kB
sha1sum
05b075f6448e74ddc63d6aaceb2fa320c2e2f4c0

ファイル名
Smdn.Net.Imap4.Client-1.10-netfx3.5.zip
サイズ
254.3kB
sha1sum
211b31b7737505eb314bc3cad6ce5f04e43586b8
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.10-netfx4.5-combined.zip
サイズ
205.7kB
sha1sum
e9deaf12a67120effad8d6df86d13ed215035e39

ファイル名
Smdn.Net.Imap4.Client-1.10-netfx4.0-combined.zip
サイズ
206.5kB
sha1sum
fc9b57fb0605e2a9d005c5e721e563d739b2f468

ファイル名
Smdn.Net.Imap4.Client-1.10-netfx3.5-combined.zip
サイズ
201.0kB
sha1sum
de3e5ea03460d6f89015eeb00900c41bf2c4c875
1.09 (2014-06-21) ソースコード
サイズ
404.9kB
sha1sum
5d6e9cd5e921381a1692b3ad7263cb9785f9b00d
DLL
ファイル名
Smdn.Net.Imap4.Client-1.09-netfx4.5.zip
サイズ
250.5kB
sha1sum
4b4a8bfb5b0c3e48db58868bc24956dc9b39967a

ファイル名
Smdn.Net.Imap4.Client-1.09-netfx4.0.zip
サイズ
251.1kB
sha1sum
280144f3a5a02a04fda8a782760248aea3d29975

ファイル名
Smdn.Net.Imap4.Client-1.09-netfx3.5.zip
サイズ
254.0kB
sha1sum
f1e73b21dfbf3c8622f026ba72b0262f1f8d778a
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.09-netfx4.5-combined.zip
サイズ
199.4kB
sha1sum
9bd60d0428494c2f80a754949abfb492000b015f

ファイル名
Smdn.Net.Imap4.Client-1.09-netfx4.0-combined.zip
サイズ
200.5kB
sha1sum
d9c92fdf7d369092ac4f6916567ec5a8873b62ca

ファイル名
Smdn.Net.Imap4.Client-1.09-netfx3.5-combined.zip
サイズ
201.1kB
sha1sum
1e975b46456e5a1ded45772c76a8e97e1268b594
1.05 (2014-06-21) ソースコード
サイズ
401.8kB
sha1sum
e2a659c398bf590be21fb2c2b0e783af72e7105b
DLL
ファイル名
Smdn.Net.Imap4.Client-1.05-netfx4.5.zip
サイズ
246.3kB
sha1sum
433224e9802ed1be166eb29e147090c90cf485a4

ファイル名
Smdn.Net.Imap4.Client-1.05-netfx4.0.zip
サイズ
247.0kB
sha1sum
05cb4f64f35994af7a535f68752b96aea8198568

ファイル名
Smdn.Net.Imap4.Client-1.05-netfx3.5.zip
サイズ
250.4kB
sha1sum
b700d5b97cc1d84fa197d0046c7a2ca4eadd32e8
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.05-netfx4.5-combined.zip
サイズ
195.9kB
sha1sum
39ffa457724ec8d958863e6bb61dae1d90394f78

ファイル名
Smdn.Net.Imap4.Client-1.05-netfx4.0-combined.zip
サイズ
196.9kB
sha1sum
51cdd157583b2d7a23f04bc54aa2c46d02a4d198

ファイル名
Smdn.Net.Imap4.Client-1.05-netfx3.5-combined.zip
サイズ
198.1kB
sha1sum
8932d4191b8f50abb4dbff35a8fc05981e5d3f4a
1.04 (2014-06-02) ソースコード
サイズ
400.1kB
sha1sum
461d7946a7c452dae4fd605e16cdd4e38a448425
DLL
ファイル名
Smdn.Net.Imap4.Client-1.04-netfx4.5.zip
サイズ
245.2kB
sha1sum
feaaadc49edf0e4699cb1ad59254d35d0f81891c

ファイル名
Smdn.Net.Imap4.Client-1.04-netfx4.0.zip
サイズ
246.2kB
sha1sum
01851484e5a4e8078a7dff9a892c5c928b7cdf4f

ファイル名
Smdn.Net.Imap4.Client-1.04-netfx3.5.zip
サイズ
249.6kB
sha1sum
f8dcd0500541bc9d9f94968b03c18ecada03a3ca
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.04-netfx4.5-combined.zip
サイズ
195.5kB
sha1sum
bd481fd9feafb12cbf4ba665edc4e0c1a58036fc

ファイル名
Smdn.Net.Imap4.Client-1.04-netfx4.0-combined.zip
サイズ
196.5kB
sha1sum
3e1d7911e2e2faf530d20b4f0969c98b3d2e1a17

ファイル名
Smdn.Net.Imap4.Client-1.04-netfx3.5-combined.zip
サイズ
197.8kB
sha1sum
ae3babdbbaf8b5faec80dd827fdc78573895edaf
1.03 (2014-05-24) ソースコード
サイズ
397.0kB
sha1sum
4e1ac26009fdd3a180287f8ae3bb46f74829f8e2
DLL
ファイル名
Smdn.Net.Imap4.Client-1.03-netfx4.5.zip
サイズ
244.9kB
sha1sum
61f1a4d22b2cbba9b86c17d1566ee4f13f35f5e6

ファイル名
Smdn.Net.Imap4.Client-1.03-netfx4.0.zip
サイズ
245.9kB
sha1sum
e076cda7075d31c26ad8750118ee302216f8ec96

ファイル名
Smdn.Net.Imap4.Client-1.03-netfx3.5.zip
サイズ
249.4kB
sha1sum
b9d735b74bce1ab01d6add363f2246ba9326508a
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.03-netfx4.5-combined.zip
サイズ
195.3kB
sha1sum
be95edbf32cae882498fe76b26e8a72c20c678cc

ファイル名
Smdn.Net.Imap4.Client-1.03-netfx4.0-combined.zip
サイズ
196.3kB
sha1sum
4b1b4be9b9afe41c66c659b91fa70101e7ccecc0

ファイル名
Smdn.Net.Imap4.Client-1.03-netfx3.5-combined.zip
サイズ
197.6kB
sha1sum
243dab1250870c7bacd483c3c5dce3e370c16a0e
1.02 (2014-05-07) ソースコード
サイズ
383.9kB
sha1sum
1d2f342351d11e9bb3989b9d8d0fd1545e1b9cb7
DLL
ファイル名
Smdn.Net.Imap4.Client-1.02-netfx4.5.zip
サイズ
240.0kB
sha1sum
ddd66ec980a1c25e306e12b60768a0a5284f535f

ファイル名
Smdn.Net.Imap4.Client-1.02-netfx4.0.zip
サイズ
241.7kB
sha1sum
a342bcb9a41962fca023a34c81c9cf026e35eebd

ファイル名
Smdn.Net.Imap4.Client-1.02-netfx3.5.zip
サイズ
247.8kB
sha1sum
e214660f3dfafce4b544d35e6a2cdaa37f3f6c04
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.02-netfx4.5-combined.zip
サイズ
190.4kB
sha1sum
f7285c1f284943dda0034f305049aaf733c945a3

ファイル名
Smdn.Net.Imap4.Client-1.02-netfx4.0-combined.zip
サイズ
191.3kB
sha1sum
93b95c9192106b35985fb7392df985f7b2c6f162

ファイル名
Smdn.Net.Imap4.Client-1.02-netfx3.5-combined.zip
サイズ
195.4kB
sha1sum
22c7ba27f311bb88ad809abf0689377909ec00c6
1.01 (2014-04-26) ソースコード
サイズ
379.6kB
sha1sum
0b0e2c150e4914ae09f771c453c54de2aaa078ce
DLL
ファイル名
Smdn.Net.Imap4.Client-1.01-netfx4.5.zip
サイズ
237.0kB
sha1sum
de4560b2f62fcee500ac44b9b3b5021f577d67d1

ファイル名
Smdn.Net.Imap4.Client-1.01-netfx4.0.zip
サイズ
238.8kB
sha1sum
bca5be64e47a199084518e4becd07b6b69602f39

ファイル名
Smdn.Net.Imap4.Client-1.01-netfx3.5.zip
サイズ
244.9kB
sha1sum
eb2713ef09b0b1a509ea9a523a71137bcb2808b3
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.01-netfx4.5-combined.zip
サイズ
186.5kB
sha1sum
1ac4ce1f8b7743e7fb188bc7d779c0fceb2f67da

ファイル名
Smdn.Net.Imap4.Client-1.01-netfx4.0-combined.zip
サイズ
189.8kB
sha1sum
2e681af650d28e5c40500e744a84e738dd9fb0ef

ファイル名
Smdn.Net.Imap4.Client-1.01-netfx3.5-combined.zip
サイズ
193.7kB
sha1sum
a6d37e40f0ec6320d5fe9dea28013495a490eb87
1.00 (2014-04-23) ソースコード
サイズ
377.0kB
sha1sum
ce3c7b79fccdd5feeaa0c5fb76850b99e5961916
DLL
ファイル名
Smdn.Net.Imap4.Client-1.00-netfx4.5.zip
サイズ
236.3kB
sha1sum
07b4ed548b007aec88e52893af234dbbe2f3bd18

ファイル名
Smdn.Net.Imap4.Client-1.00-netfx4.0.zip
サイズ
238.0kB
sha1sum
c117cbe69712828a1d56039fbb30f7eb22c02a0c

ファイル名
Smdn.Net.Imap4.Client-1.00-netfx3.5.zip
サイズ
244.3kB
sha1sum
4c134b9f55b3dc1794d695ee4713b05107271e08
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-1.00-netfx4.5-combined.zip
サイズ
185.9kB
sha1sum
986df714d6ad9b81a5b1600d958dee55e9f1cd72

ファイル名
Smdn.Net.Imap4.Client-1.00-netfx4.0-combined.zip
サイズ
188.5kB
sha1sum
02428e9e3c313ea24968f66c2761ed1dae03184a

ファイル名
Smdn.Net.Imap4.Client-1.00-netfx3.5-combined.zip
サイズ
191.9kB
sha1sum
510fe204e687aeec65e1074e20e234a6941a21d3
0.91 (2014-03-16) ソースコード
サイズ
387.2kB
sha1sum
485f5e97bf96c94f1d00b25200279444f85cc808
DLL
ファイル名
Smdn.Net.Imap4.Client-0.91-netfx4.5.zip
サイズ
233.5kB
sha1sum
1e43d408d3d39412b648c74189ee5b7c15be834f

ファイル名
Smdn.Net.Imap4.Client-0.91-netfx4.0.zip
サイズ
235.4kB
sha1sum
6034ffb5105349aa0cf2a4f9691b1caa546432c3

ファイル名
Smdn.Net.Imap4.Client-0.91-netfx3.5.zip
サイズ
241.1kB
sha1sum
1a316296b2ebd3410d7de7d66d4de586cd434e47

ファイル名
Smdn.Net.Imap4.Client-0.91-netfx2.0.zip
サイズ
246.1kB
sha1sum
27301bb66f835e2c214c50df15140fd20f92d7fe
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.91-netfx4.5-combined.zip
サイズ
180.6kB
sha1sum
4f7ff48fd17ebbfc8ca2968ae9b1b803b51a1b96

ファイル名
Smdn.Net.Imap4.Client-0.91-netfx4.0-combined.zip
サイズ
183.6kB
sha1sum
f2a12f4eeca4959bf8bc728052c1f3aeaf37c17e

ファイル名
Smdn.Net.Imap4.Client-0.91-netfx3.5-combined.zip
サイズ
188.3kB
sha1sum
964aa4d9732654a6a95ab211a5949e1ed88f3374

ファイル名
Smdn.Net.Imap4.Client-0.91-netfx2.0-combined.zip
サイズ
192.2kB
sha1sum
607e8aaaf613af3b8a3524182374400ac400fd0b
0.90 (2013-07-17) ソースコード
サイズ
387.2kB
sha1sum
3548c8d94aa9e5163ffc090f52c1301b047692c9
DLL
ファイル名
Smdn.Net.Imap4.Client-0.90-netfx4.5.zip
サイズ
234.1kB
sha1sum
b13948c62724aec81a160f708c69b6062711fdd2

ファイル名
Smdn.Net.Imap4.Client-0.90-netfx4.0.zip
サイズ
238.0kB
sha1sum
2256ade841254cf7580c124bcbdbb9f9ce972eed

ファイル名
Smdn.Net.Imap4.Client-0.90-netfx3.5.zip
サイズ
241.4kB
sha1sum
b45751d36b156cdcd38ef7d90b87d1db16738040

ファイル名
Smdn.Net.Imap4.Client-0.90-netfx2.0.zip
サイズ
246.4kB
sha1sum
b030077eeaa0946fefca95f08dead5920bd7f799
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.90-netfx4.5-combined.zip
サイズ
181.6kB
sha1sum
583d9464df868ffc87d79b40d9f01d1a3329d8d5

ファイル名
Smdn.Net.Imap4.Client-0.90-netfx4.0-combined.zip
サイズ
186.9kB
sha1sum
9beddd09c141acdf00c409fb43b451f9b154a3d6

ファイル名
Smdn.Net.Imap4.Client-0.90-netfx3.5-combined.zip
サイズ
188.7kB
sha1sum
a64875388f4cd8059621d8ad7697c620c15dc901

ファイル名
Smdn.Net.Imap4.Client-0.90-netfx2.0-combined.zip
サイズ
192.5kB
sha1sum
f31d8d0c2d4a07c52f608e86a7bab0d4d8c24c32
0.85 (2013-02-07) ソースコード
サイズ
378.2kB
sha1sum
9add23ca8e8a313b38e365bb0a41af47e14d610d
DLL
ファイル名
Smdn.Net.Imap4.Client-0.85-netfx4.5.zip
サイズ
230.2kB
sha1sum
de1f8b168f3b428509750b9a099ecc840cbf3a10

ファイル名
Smdn.Net.Imap4.Client-0.85-netfx4.0.zip
サイズ
232.9kB
sha1sum
d50b3ef01b649fb84015175d390a37cb6069848d

ファイル名
Smdn.Net.Imap4.Client-0.85-netfx3.5.zip
サイズ
236.4kB
sha1sum
89255f3b5e33e660f7e7f45c34e8e24ee7847f33

ファイル名
Smdn.Net.Imap4.Client-0.85-netfx2.0.zip
サイズ
241.7kB
sha1sum
e1df1cb9ab229b7352acb9f7d8c99d2926ec3151
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.85-netfx4.5-combined.zip
サイズ
179.2kB
sha1sum
87be1cc7e99ca03982f2cce8a27b88d992899877

ファイル名
Smdn.Net.Imap4.Client-0.85-netfx4.0-combined.zip
サイズ
180.4kB
sha1sum
d3fcb69bb523daa4e49498a8248d906cead439a1

ファイル名
Smdn.Net.Imap4.Client-0.85-netfx3.5-combined.zip
サイズ
181.8kB
sha1sum
634a21a527d157d89710a76379fb51d8cc41f540

ファイル名
Smdn.Net.Imap4.Client-0.85-netfx2.0-combined.zip
サイズ
187.3kB
sha1sum
a5159e7cb46498d95c65c29b4f665722729f015d
0.84 (2012-10-08) ソースコード
サイズ
376.0kB
sha1sum
bbb9354ccb385268c41ea39ece7741bc443e142a
DLL
ファイル名
Smdn.Net.Imap4.Client-0.84-netfx4.5.zip
サイズ
227.2kB
sha1sum
483db34966412eefd497d145fa9aadca41a88094

ファイル名
Smdn.Net.Imap4.Client-0.84-netfx4.0.zip
サイズ
229.3kB
sha1sum
9d1a3ba4c174884377e137b24a28882b2871bd8c

ファイル名
Smdn.Net.Imap4.Client-0.84-netfx3.5.zip
サイズ
232.8kB
sha1sum
5b3f261ed81e1b7287d7350c825a7f942651c11c

ファイル名
Smdn.Net.Imap4.Client-0.84-netfx2.0.zip
サイズ
237.7kB
sha1sum
eec0f965055851496e8187cfed2ff5037ca61d3c
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.84-netfx4.5-combined.zip
サイズ
177.4kB
sha1sum
e2a8de4f2c3518f482520dfafe15e555a3507a15

ファイル名
Smdn.Net.Imap4.Client-0.84-netfx4.0-combined.zip
サイズ
178.0kB
sha1sum
443719d13c9b9b38ca576cb76947960ac3ed2852

ファイル名
Smdn.Net.Imap4.Client-0.84-netfx3.5-combined.zip
サイズ
179.3kB
sha1sum
d5506e44c00f13a8e2b87c4416e9a7eaf16bb0ba

ファイル名
Smdn.Net.Imap4.Client-0.84-netfx2.0-combined.zip
サイズ
184.5kB
sha1sum
9b5d5ae95b7d11de7c297239dafdf5b0d79ec4d2
0.83 (2012-10-01) ソースコード
サイズ
375.5kB
sha1sum
0689286fc4f5b6e2670977c6f179644ec3aca6b1
DLL
ファイル名
Smdn.Net.Imap4.Client-0.83-netfx4.5.zip
サイズ
226.6kB
sha1sum
7a62c753406fd6b210fc5a3f00f0d49e2d1dff68

ファイル名
Smdn.Net.Imap4.Client-0.83-netfx4.0.zip
サイズ
228.9kB
sha1sum
3957554eef96daba3cbbac5e887d1ab6bfb80709

ファイル名
Smdn.Net.Imap4.Client-0.83-netfx3.5.zip
サイズ
232.2kB
sha1sum
a61a6eeed454be54655ba4b7f661a708217a146b

ファイル名
Smdn.Net.Imap4.Client-0.83-netfx2.0.zip
サイズ
236.9kB
sha1sum
fb7f2baad36b7a5e9190c7f77e51c1780e29f148
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.83-netfx4.5-combined.zip
サイズ
177.0kB
sha1sum
7abb0d77ef5efc888292a3111f54c00d25027c51

ファイル名
Smdn.Net.Imap4.Client-0.83-netfx4.0-combined.zip
サイズ
178.5kB
sha1sum
73c187237a951837f18f18b729800216c35f8028

ファイル名
Smdn.Net.Imap4.Client-0.83-netfx3.5-combined.zip
サイズ
178.9kB
sha1sum
fbd0333b390cb58fe80b94d6c0cfc8ff9390893c

ファイル名
Smdn.Net.Imap4.Client-0.83-netfx2.0-combined.zip
サイズ
184.1kB
sha1sum
afa1669972e3b780911ff12051d2e9293d7ca32b
0.82 (2012-09-24) ソースコード
サイズ
373.0kB
sha1sum
0203a10f5b08f332d0e3e176adf6c381aec47aa3
DLL
ファイル名
Smdn.Net.Imap4.Client-0.82-netfx4.5.zip
サイズ
225.8kB
sha1sum
53277e1f7073e828ab964b647fbcf1161cb1ca82

ファイル名
Smdn.Net.Imap4.Client-0.82-netfx4.0.zip
サイズ
228.1kB
sha1sum
c41157a9874f3b9f120f41f731d4708a3560e2b8

ファイル名
Smdn.Net.Imap4.Client-0.82-netfx3.5.zip
サイズ
231.4kB
sha1sum
28752a137f21a8289f428ae90fdaf91b77c1eae0

ファイル名
Smdn.Net.Imap4.Client-0.82-netfx2.0.zip
サイズ
236.0kB
sha1sum
29ea4b6108543b8c3758dd717d1782cc1fcbb83a
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.82-netfx4.5-combined.zip
サイズ
175.4kB
sha1sum
5028c4e0a1e40ffd49a941d74d56f41100c81645

ファイル名
Smdn.Net.Imap4.Client-0.82-netfx4.0-combined.zip
サイズ
177.7kB
sha1sum
f86b7bcbfeae2963d5b981a6e853fe661e5b76f6

ファイル名
Smdn.Net.Imap4.Client-0.82-netfx3.5-combined.zip
サイズ
178.8kB
sha1sum
4114dc6ce46d4b4063035310ddda630898613a40

ファイル名
Smdn.Net.Imap4.Client-0.82-netfx2.0-combined.zip
サイズ
182.8kB
sha1sum
9ffa363b4c4d55504f972a66379cc6808f97679d
0.81 (2012-09-08) ソースコード
サイズ
366.6kB
sha1sum
008d73870cc59f1a6d1ab238d40b5cddaa4cc025
DLL
ファイル名
Smdn.Net.Imap4.Client-0.81-netfx4.0.zip
サイズ
225.8kB
sha1sum
51ad5b416653cc50a1079a948690d36fe4fa2189

ファイル名
Smdn.Net.Imap4.Client-0.81-netfx3.5.zip
サイズ
229.4kB
sha1sum
4ed4fa80c8fa4f71c946bde59aa3039a3ff7b708

ファイル名
Smdn.Net.Imap4.Client-0.81-netfx2.0.zip
サイズ
234.0kB
sha1sum
9f51716ab54a4ed591b4a1a1721cc41ef456a9cd
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.81-netfx4.0-combined.zip
サイズ
175.8kB
sha1sum
06bf19cd0f3c80d0bb424d97f5db9ec2cf884406

ファイル名
Smdn.Net.Imap4.Client-0.81-netfx3.5-combined.zip
サイズ
177.5kB
sha1sum
fe5e6b6fb9ff4a0e90b8ca68724efed82798ef5d

ファイル名
Smdn.Net.Imap4.Client-0.81-netfx2.0-combined.zip
サイズ
180.9kB
sha1sum
d7e0b481681a49209be53a9e532ffaa948a1f888
0.80 (2011-02-18) ソースコード
サイズ
369.9kB
sha1sum
df90244c99691c197398cbd143531fd286a103ca
DLL
ファイル名
Smdn.Net.Imap4.Client-0.80-netfx4.0.zip
サイズ
224.9kB
sha1sum
3ed2d755b7035b5aeebabc3f6f78601f063f2f4e

ファイル名
Smdn.Net.Imap4.Client-0.80-netfx3.5.zip
サイズ
228.2kB
sha1sum
3e88b32261331c3159f12d4812293ffc31d137d3

ファイル名
Smdn.Net.Imap4.Client-0.80-netfx2.0.zip
サイズ
232.9kB
sha1sum
50bd086be0f4fe3e008762ff78362b42887f95ac
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.80-netfx4.0-combined.zip
サイズ
174.9kB
sha1sum
437a960ebb8cacc65a96bdf996cf1216ad596893

ファイル名
Smdn.Net.Imap4.Client-0.80-netfx3.5-combined.zip
サイズ
177.1kB
sha1sum
4309ccfe61d8f94f421fd6d4f6d656854117be9a

ファイル名
Smdn.Net.Imap4.Client-0.80-netfx2.0-combined.zip
サイズ
180.5kB
sha1sum
9c855aded42af8237070732447ca5c2b7959fa2b
0.36 (2011-02-03) ソースコード
サイズ
390.3kB
sha1sum
bc91e21ecb6c3fabc7c41e4849893a25e7b30d2a
DLL
ファイル名
Smdn.Net.Imap4.Client-0.36-netfx4.0.zip
サイズ
224.6kB
sha1sum
8f71adf6dc1ca92c16dbd7f5b2ad176f87a6bf99

ファイル名
Smdn.Net.Imap4.Client-0.36-netfx3.5.zip
サイズ
228.0kB
sha1sum
c79ab93343bfdf44074ae6fdc92c7df07c9a461d

ファイル名
Smdn.Net.Imap4.Client-0.36-netfx2.0.zip
サイズ
232.7kB
sha1sum
465a9d6c4f51419d3e3488af6d4c18667ae1ad86
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.36-netfx4.0-combined.zip
サイズ
174.6kB
sha1sum
565765a274bc663aab62b6af914a726f5e7ba80b

ファイル名
Smdn.Net.Imap4.Client-0.36-netfx3.5-combined.zip
サイズ
176.8kB
sha1sum
fa8d2712630e8f8762ef4062caf58a21738f5ee5

ファイル名
Smdn.Net.Imap4.Client-0.36-netfx2.0-combined.zip
サイズ
180.3kB
sha1sum
4289859530f67eaef39080388b6faab89c28e85c
0.35 (2011-01-08) ソースコード
サイズ
384.0kB
sha1sum
551b72ab19b56fc00630d13305f0e9ae5c9c3297
DLL
ファイル名
Smdn.Net.Imap4.Client-0.35-netfx4.0.zip
サイズ
221.9kB
sha1sum
03e6edcdc19cfb0ce46f57adcda923532f688b67

ファイル名
Smdn.Net.Imap4.Client-0.35-netfx3.5.zip
サイズ
225.3kB
sha1sum
9382f63dbcaf4bf9086631cd1d809795aaa4fc0d

ファイル名
Smdn.Net.Imap4.Client-0.35-netfx2.0.zip
サイズ
229.9kB
sha1sum
e7e478f13d304323f288fcd71d96ed165ef5a985
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.35-netfx4.0-combined.zip
サイズ
172.5kB
sha1sum
5095fc7e93ca9c98cdf83d1057fb3fe65aa50233

ファイル名
Smdn.Net.Imap4.Client-0.35-netfx3.5-combined.zip
サイズ
173.2kB
sha1sum
27b13a1c2d039ebf025a07d9a1a03a1fe6d17566

ファイル名
Smdn.Net.Imap4.Client-0.35-netfx2.0-combined.zip
サイズ
178.7kB
sha1sum
18f2c49d4f3bb97b600902af49e5cafeccab158a
0.34 (2010-12-11) ソースコード
サイズ
369.8kB
sha1sum
77b623f48f2a690af906e22b112ec5d21d7de811
DLL
ファイル名
Smdn.Net.Imap4.Client-0.34-netfx4.0.zip
サイズ
212.0kB
sha1sum
2285b5154e6279b16a3d5024acc77f74e37539f8

ファイル名
Smdn.Net.Imap4.Client-0.34-netfx3.5.zip
サイズ
214.8kB
sha1sum
bed4025817b1b04bafbb38689258dce2ae8a50ba

ファイル名
Smdn.Net.Imap4.Client-0.34-netfx2.0.zip
サイズ
219.2kB
sha1sum
7ea8105097d28a5208f871f5ee59794fcbc8fa90
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.34-netfx4.0-combined.zip
サイズ
162.8kB
sha1sum
db04c3f37400248d7e70baf144b5fbcf794b7592

ファイル名
Smdn.Net.Imap4.Client-0.34-netfx3.5-combined.zip
サイズ
164.5kB
sha1sum
e9318da87d2665884d7d3a417506f1cb79f8c42f

ファイル名
Smdn.Net.Imap4.Client-0.34-netfx2.0-combined.zip
サイズ
168.5kB
sha1sum
ea4eb8b8c10c3819f3f143a53103d686b90896b3
0.33 (2010-05-15) ソースコード
サイズ
360.6kB
sha1sum
327e7527af0e30e1786d4a333b4d036bfe25e580
DLL
ファイル名
Smdn.Net.Imap4.Client-0.33-netfx4.0.zip
サイズ
205.7kB
sha1sum
971c64daec4afa540bf697d28bf5b670d9c44584

ファイル名
Smdn.Net.Imap4.Client-0.33-netfx3.5.zip
サイズ
208.5kB
sha1sum
60a21a4ed168ef77a856ad387c0fc0ba5d4fd6cb

ファイル名
Smdn.Net.Imap4.Client-0.33-netfx2.0.zip
サイズ
213.0kB
sha1sum
944a8b41aa540b7558de4988633655bc6c60d265
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.Client-0.33-netfx4.0-combined.zip
サイズ
158.7kB
sha1sum
90ebbae146713b157552ddde7d14835b36f5cdc2

ファイル名
Smdn.Net.Imap4.Client-0.33-netfx3.5-combined.zip
サイズ
159.0kB
sha1sum
5323ff196bb9d1ef6bb833ba6a438f021fb796f3

ファイル名
Smdn.Net.Imap4.Client-0.33-netfx2.0-combined.zip
サイズ
164.0kB
sha1sum
a6727b994ee8e3abb3bbbf48bda1f4537609cf67
0.32 (2010-04-25) ソースコード
サイズ
348.9kB
sha1sum
0139f3e38bb1cf29ab49fa6e0149f64a4f927759
0.31 (2010-04-18) ソースコード
サイズ
330.9kB
sha1sum
afeb9c33f9d10940a15cf096a056982625f6d748
0.30 (2010-04-04) ソースコード
サイズ
316.4kB
sha1sum
8ba2a3be477810a7b71cc43edeb2e32f4c263206
0.29 (2010-03-22) ソースコード
サイズ
307.5kB
sha1sum
0d8695dc2507f3891c274eb6fb78434166a56407
0.28 (2010-03-15) ソースコード
サイズ
286.8kB
sha1sum
80ef4442d87a758a9d417cfa07154c4e3985b580
0.27 (2010-02-28) ソースコード
サイズ
279.0kB
sha1sum
1d6c5c766aa4d40d36c19fd6c63153c08fc99afb
0.26 (2010-02-22) ソースコード
サイズ
269.9kB
sha1sum
e08837c95c8edb930acf7740c98c43c9555392a6
0.25 (2010-02-15) ソースコード
サイズ
266.3kB
sha1sum
e73006fc938e12b8c5e8dd1234d8d2b9fb0554f4
0.24 (2010-02-06) ソースコード
サイズ
247.8kB
sha1sum
a705a36164aa99067ac58eada919d09e3e4e33ff
0.23 (2010-01-30) ソースコード
サイズ
227.0kB
sha1sum
5da7ddd6b50145750afe3603f9285ceae433046e
0.22 (2010-01-23) ソースコード
サイズ
211.9kB
sha1sum
d7d85698b9cd98d601627107397f14c2e0e4db85
0.21 (2009-12-16) ソースコード
サイズ
192.4kB
sha1sum
6d062777b554a6ef094c27920bec0c1ef14667d0
バージョン パッケージ

以下0.20より前のバージョンについては特に使用条件を定めていません。

バージョン パッケージ
0.20 (2009-06-13)
サイズ
107.6kB
sha1sum
bc13b96d6095d374288ac385ea65d286c296b3d9
0.13 (2008-04-27) TundereBirdに含まれているものを使ってください
0.12 (2008-04-07) TundereBirdに含まれているものを使ってください
0.11 (2008-03-10) TundereBirdに含まれているものを使ってください
0.10 (2008-03-06) TundereBirdに含まれているものを使ってください
バージョン パッケージ

単一アセンブリ版

試用や配布がしやすいようにすべてのファイルを一つのアセンブリにまとめてビルドしたものです。 Smdn.Net.Pop3.ClientSmdn.Formats.Mimeと組み合わせて使用する場合は、型名が衝突するため通常版を使用してください。 詳しくはドキュメントのアセンブリ構成に関する解説を参照してください。

Smdn.Net.Imap4.WebClients

0.36までのバージョンでは、Smdn.Net.Imap4.ClientのパッケージにSmdn.Net.Imap4.WebClientsのソースコードを同梱しています。 0.20を除き、すべてMIT X11ライセンスでのリリースとなります。

0.80 (2011-02-18) ソースコード
サイズ
393.4kB
sha1sum
02d27aa2370b5c81e2b27a541d37211f6f393a69
DLL
ファイル名
Smdn.Net.Imap4.WebClients-0.80-netfx4.0.zip
サイズ
243.5kB
sha1sum
ae66aeeef396629a37c412d9406b36f45ac21b10

ファイル名
Smdn.Net.Imap4.WebClients-0.80-netfx3.5.zip
サイズ
246.8kB
sha1sum
7d4d1a1a421d50760ae03303e132e4400c4f83fe

ファイル名
Smdn.Net.Imap4.WebClients-0.80-netfx2.0.zip
サイズ
251.5kB
sha1sum
b315037a6d7f4efc1122b89737daa6c7c9e6770f
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.WebClients-0.80-netfx4.0-combined.zip
サイズ
189.0kB
sha1sum
bdf40b8ab2bb41df854a91998de134211ac9bcf8

ファイル名
Smdn.Net.Imap4.WebClients-0.80-netfx3.5-combined.zip
サイズ
189.8kB
sha1sum
09001f7326f6b66fffd727695739f3a942977580

ファイル名
Smdn.Net.Imap4.WebClients-0.80-netfx2.0-combined.zip
サイズ
194.8kB
sha1sum
f705cff607f4a98ddcfef5f54deb914860955040
0.36 (2011-02-03) ソースコード
サイズ
390.3kB
sha1sum
bc91e21ecb6c3fabc7c41e4849893a25e7b30d2a
DLL
ファイル名
Smdn.Net.Imap4.WebClients-0.36-netfx4.0.zip
サイズ
243.2kB
sha1sum
cdc9c3c5f6466f7ddb25097da1ff244e0602a414

ファイル名
Smdn.Net.Imap4.WebClients-0.36-netfx3.5.zip
サイズ
246.6kB
sha1sum
0408217dde805ef8eb5498e66ee9cf04f9dd0925

ファイル名
Smdn.Net.Imap4.WebClients-0.36-netfx2.0.zip
サイズ
251.3kB
sha1sum
b52b9033e7a041660478d9327441360568e233db
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.WebClients-0.36-netfx4.0-combined.zip
サイズ
188.7kB
sha1sum
452295380edf64b61f799769d68385149bc20ce5

ファイル名
Smdn.Net.Imap4.WebClients-0.36-netfx3.5-combined.zip
サイズ
189.6kB
sha1sum
608dd29de66a650c4b40387e4052e592b7ae0948

ファイル名
Smdn.Net.Imap4.WebClients-0.36-netfx2.0-combined.zip
サイズ
194.7kB
sha1sum
3606f2b79eb3d53f39f1b1818187c061a65f9638
0.35 (2011-01-08) ソースコード
サイズ
384.0kB
sha1sum
551b72ab19b56fc00630d13305f0e9ae5c9c3297
DLL
ファイル名
Smdn.Net.Imap4.WebClients-0.35-netfx4.0.zip
サイズ
240.6kB
sha1sum
c09f7a747a177ebec56f23550119c7f7d175bf6e

ファイル名
Smdn.Net.Imap4.WebClients-0.35-netfx3.5.zip
サイズ
244.0kB
sha1sum
0842fed92ab9017eebf47d8c0d162f853f2a97ca

ファイル名
Smdn.Net.Imap4.WebClients-0.35-netfx2.0.zip
サイズ
248.6kB
sha1sum
73252565e59ac2fd7fa672558fcdf339c423b15a
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.WebClients-0.35-netfx4.0-combined.zip
サイズ
184.3kB
sha1sum
b1151c906055d810cc4bd3df57832b87b2a43360

ファイル名
Smdn.Net.Imap4.WebClients-0.35-netfx3.5-combined.zip
サイズ
186.9kB
sha1sum
7b9879d87fececbcf4df34ff4e24bfa1f42897c8

ファイル名
Smdn.Net.Imap4.WebClients-0.35-netfx2.0-combined.zip
サイズ
191.4kB
sha1sum
404ca373acd7ad4b2545552aa9450ccd1210dbab
0.34 (2010-12-11) ソースコード
サイズ
369.8kB
sha1sum
77b623f48f2a690af906e22b112ec5d21d7de811
DLL
ファイル名
Smdn.Net.Imap4.WebClients-0.34-netfx4.0.zip
サイズ
230.8kB
sha1sum
08ecf80e7c61cfab7ca398e96d626a3d05a62ed3

ファイル名
Smdn.Net.Imap4.WebClients-0.34-netfx3.5.zip
サイズ
233.5kB
sha1sum
84a03ce27cff4b31138b9b6ebee87b3280373577

ファイル名
Smdn.Net.Imap4.WebClients-0.34-netfx2.0.zip
サイズ
237.9kB
sha1sum
a25bea0a055b7366d70c066bb3945bec2822dd44
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.WebClients-0.34-netfx4.0-combined.zip
サイズ
175.3kB
sha1sum
76406a2a408b40f151916aa0e983724c127d60ad

ファイル名
Smdn.Net.Imap4.WebClients-0.34-netfx3.5-combined.zip
サイズ
176.7kB
sha1sum
78aa3da6595bf6e72d4593c27006225f5848057c

ファイル名
Smdn.Net.Imap4.WebClients-0.34-netfx2.0-combined.zip
サイズ
180.9kB
sha1sum
8752382cb839ff906767f193c70dc6877914df94
0.33 (2010-05-15) ソースコード
サイズ
360.6kB
sha1sum
327e7527af0e30e1786d4a333b4d036bfe25e580
DLL
ファイル名
Smdn.Net.Imap4.WebClients-0.33-netfx4.0.zip
サイズ
224.4kB
sha1sum
7151824fdc114a412ee71b7e59f644553c59f88f

ファイル名
Smdn.Net.Imap4.WebClients-0.33-netfx3.5.zip
サイズ
227.2kB
sha1sum
85b068e7f35785aab0d6aea5920ec1d9bc2a1802

ファイル名
Smdn.Net.Imap4.WebClients-0.33-netfx2.0.zip
サイズ
231.6kB
sha1sum
9432893c750a2251b05ab6516f55ffbb2b3f7c02
DLL
(単一アセンブリ版)
ファイル名
Smdn.Net.Imap4.WebClients-0.33-netfx4.0-combined.zip
サイズ
170.6kB
sha1sum
9c914c8b50ab2912f272e8083f0b1d8538439fd6

ファイル名
Smdn.Net.Imap4.WebClients-0.33-netfx3.5-combined.zip
サイズ
170.9kB
sha1sum
aa363dabdea6d4dc8c5e4ccba1c0ae387b33989d

ファイル名
Smdn.Net.Imap4.WebClients-0.33-netfx2.0-combined.zip
サイズ
176.3kB
sha1sum
135413dadd46ce2aa5739cba5c22149d7eebc9b5
0.32 (2010-04-25) ソースコード
サイズ
348.9kB
sha1sum
0139f3e38bb1cf29ab49fa6e0149f64a4f927759
0.31 (2010-04-18) ソースコード
サイズ
330.9kB
sha1sum
afeb9c33f9d10940a15cf096a056982625f6d748
0.30 (2010-04-04) ソースコード
サイズ
316.4kB
sha1sum
8ba2a3be477810a7b71cc43edeb2e32f4c263206
0.29 (2010-03-22) ソースコード
サイズ
307.5kB
sha1sum
0d8695dc2507f3891c274eb6fb78434166a56407
0.28 (2010-03-15) ソースコード
サイズ
286.8kB
sha1sum
80ef4442d87a758a9d417cfa07154c4e3985b580
0.27 (2010-02-28) ソースコード
サイズ
279.0kB
sha1sum
1d6c5c766aa4d40d36c19fd6c63153c08fc99afb
0.26 (2010-02-22) ソースコード
サイズ
269.9kB
sha1sum
e08837c95c8edb930acf7740c98c43c9555392a6
0.25 (2010-02-15) ソースコード
サイズ
266.3kB
sha1sum
e73006fc938e12b8c5e8dd1234d8d2b9fb0554f4
0.24 (2010-02-06) ソースコード
サイズ
247.8kB
sha1sum
a705a36164aa99067ac58eada919d09e3e4e33ff
0.23 (2010-01-30) ソースコード
サイズ
227.0kB
sha1sum
5da7ddd6b50145750afe3603f9285ceae433046e
0.22 (2010-01-23) ソースコード
サイズ
211.9kB
sha1sum
d7d85698b9cd98d601627107397f14c2e0e4db85
0.21 (2009-12-16) ソースコード
サイズ
192.4kB
sha1sum
6d062777b554a6ef094c27920bec0c1ef14667d0
0.20 (2009-06-13) ソースコード
サイズ
107.6kB
sha1sum
bc13b96d6095d374288ac385ea65d286c296b3d9

変更履歴

開発版

1.9x/2.0系のバージョンは現在開発中の状態です。 alpha版のリリースではAPIの破壊的変更を伴う機能追加・実装改善を行っています。 大まかな予定と方針についてはIMAP4/POP3/MIME関連のロードマップをご覧ください。

2.0alpha2 (2019-03-23)

  • API変更
    • API差分: 2.0alpha1-netstandard2.0_vs_2.0alpha2-netstandard2.0.apilist.diff
    • Smdn.Net.Imap4.Client名前空間
      • Smdn.Net.MessageAccessProtocols 2.0alpha2での変更に伴う影響
        • ImapClient.Connect等の引数UpgradeConnectionStreamCallbackについて、デリゲートのシグネチャが変更となった (戻り値をStreamからTask<Stream>にし、引数にCancellationTokenを追加)
        • IReadOnlyStringSetの名前空間がSmdn.Net.MessageAccessProtocolsからSmdn.Net.MessageAccessProtocols.Stringsになった
      • ImapMessage.FindAllMessageParts()の戻り値の型をList<ImapMessage>からIReadOnlyList<ImapMessage>に変更
      • ImapMessagePart.FindAll(), Flatten()の戻り値の型をList<ImapMessage>からIReadOnlyList<ImapMessage>に変更
      • ImapOpenMailboxInfo.QueryMessages()/QuerySortedMessages()/QueryMessagesGmailSearch()等を追加 (2.0alpha1以前のGetMessages()/GetSortedMessages()/GetMessagesGmailSearch()と同等)
      • ImapOpenMailboxInfo.GetMessages()/GetSortedMessages()/GetMessagesGmailSearch()等の戻り値をImapMessageQueryからIReadOnlyList<ImapMessage>に変更 (これまでどおりの戻り値と動作が必要な場合はQueryMessages()/QuerySortedMessages()/QueryMessagesGmailSearch()を使用してください)
      • ImapMessage.BodyおよびImapMessagePart.Bodyを追加し、ImapMessage.Read*(), ImapMessagePart.Read*()等のメソッドをこちらに移設
      • ImapMessage.HeaderおよびImapMessagePart.Headerを追加し、ImapMessage.GetHeader*(), ImapMessagePart.GetHeader*()等のメソッドをこちらに移設
    • その他
      • ImapConnection.TraceSourceをConnectionTraceSourceにリネーム
      • ImapSequenceSet等の共通インターフェイスとしてIImapNumberSetを定義、また引数等におけるImapSequenceSetをIImapNumberSetに変更 (インスタンスの作成はImapUidSetまたはImapSequenceSetのstaticメソッドを使用してください)
      • ImapFetchRange.Allを追加、また引数等におけるImapFetchRange?をImapFetchRangeに変更 (デフォルト値としてnullを指定している場合は、代わりにdefault(ImapFetchRange)またはImapFetchRange.Allを指定してください)
      • ImapQuotaResourceをImapQuotaResourceUsageにリネーム、ImapQuota.Resourcesの型をImapQuotaResourceUsageに変更
      • ImapQuotaResourceLimitを追加、SETQUOTAコマンドの引数をImapQuotaResourceからImapQuotaResourceLimitに変更
      • ImapStringEnumSetをImapEnumValueSetにリネーム
      • ImapStringEnumをImapEnumValueにリネーム
  • 機能追加
    • ImapSession
      • ImapSessionに引数なしのコンストラクタオーバーロードおよびConnectAsyncメソッドを追加し、インスタンス作成と接続を個別に行えるようにした
      • ImapSession.ConnectAsyncメソッドにSmdn.Net.Connection.ResolveHostAddressCallbackを指定できるようにし、ホスト名解決の動作をフレームワークのデフォルト実装以外にカスタマイズできるようにした
      • ImapSession.Disposeをpublicメソッドにした
  • 修正・改善・動作変更
    • TLS/SSLへの接続アップグレード時にスローする例外ImapSecureConnectionExceptionのInnerExceptionについて、ImapUpgradeConnectionExceptionにラップされた状態ではなく、スローされた例外をそのまま格納するように変更
    • ImapClient.Connect/ConnectAsyncメソッド等での接続時におけるタイムアウト/キャンセルの動作を次のように変更
      • 接続確立時においては、ImapClient.Timeoutに設定された値を参照せず、引数のCancellationTokenでのみキャンセルするように変更
      • 接続確立後のserver greetingおよびサーバー情報取得コマンドの送受信においては、ImapClient.Timeoutに設定された値を参照し、指定された時間でタイムアウトするか、CancellationTokenに従いキャンセルするように変更
      • メソッドの処理全体を指定時間でタイムアウトさせたい場合は、delayを指定したCancellationTokenSourceのTokenプロパティを渡すなどしてください
    • ImapSequenceSet等のToString()メソッドについて、インスタンス情報を文字列化した結果を返すように変更 (これまでと同じ結果を取得したい場合はIImapNumberSet.Expressionプロパティを参照してください)
    • ImapCopiedUidSetを列挙した場合、CopiedUidSetではなくAssignedUidSetと同じ値を列挙する(コピー元UIDではなくコピー先のUIDを列挙する)ように変更
    • ImapMessage.Read*()等のメソッド、およびImapMessageBodyの各メソッドについて、特定パートの本文を取得する場合や、長さ(終端)の指定がないImapFetchRangeを指定した場合においても、IProgress<ImapMessageFetchProgressInfo>によって進捗を通知するようにした
      • この場合、取得が完了する(Streamが終端に到達する)までの間はImapMessageFetchProgressInfo.TotalOctetCountは常に0未満の値、ProgressPercentageは常に値0を返し、またすべて取得完了した状態ではTotalOctetCountは実際の値を、ProgressPercentageは値100を返す動作となる
    • ImapMessage.Read*()等のメソッド、およびImapMessageBodyの各メソッドのコールバックに渡されるStreamについて
      • Lengthプロパティを参照した場合はNotSupportedExceptionをスローするように動作を変更
      • メッセージの本文全体を取得する場合において、Streamから読み出される内容の上限が必ずRFC822SIZEとなるように動作を厳密化
    • ImapSession
      • IDLEコマンドを発行したあと、continuation requestを受信するより前に何らかのレスポンスを受信してIDLEの中断を要求した場合に、IDLE状態のまま停止してしまう不具合を修正
      • ImapSessionState.Disconnectedを追加、また状態遷移を次のように変更
        • 未接続状態の場合はNotConnectedとする
        • ConnectAsyncメソッドでの接続確立後に切断・ログアウト(LOGOUTコマンド)した場合、またDisposeした場合はDisconnectedとする
        • ConnectAsyncメソッドでソケットの接続確立時に例外となった場合はImapSessionState.NotConnectedのままとし、ConnectAsyncメソッドでの再接続を可とする
        • ConnectAsyncメソッドでソケットの接続確立後、server greetingで例外となった場合はImapSessionState.Disconnectedとし、ConnectAsyncメソッドでの再接続を不可とする
        • 未接続状態でコマンドを発行しようとした場合にスローする例外をImapProtocolViolationExceptionからInvalidOperationExceptionに変更
  • 廃止予定・廃止
    • ImapMessage.Read*(), ImapMessagePart.Read*()を廃止予定にした (代わりにImapMessage.Body.Read*(), ImapMessagePart.Body.Read*()を使用してください)
    • ImapMessage.OpenRead()/OpenText(), ImapMessagePart.OpenRead()/OpenText()を廃止予定にした (代わりにImapMessage.Body.Download()/Read*(), ImapMessagePart.Body.Download()/Read*()を使用してください)
    • ImapMessage.Get*Header(), ImapMessagePart.Get*Header()を廃止予定にした (代わりにImapMessage.Header.Read*(), ImapMessagePart.Header.Read*()を使用してください)
    • ImapSession
      • ImapSessionCreatorを廃止 (ImapSession.CreateAsyncを使用してください)
  • 付記
    • Obsolete警告メッセージ"省略可能な引数を取るバージョンのメソッドオーバーロードを使用してください/Use method version that takes optional parameters"について
      • 今後のバージョンにて、この警告が出るバージョンのオーバーロードは廃止し、省略可能な引数を取るバージョンに置き換えます。 この警告が出る箇所では、呼び出し側にて引数名を明示的に指定するようにしてください。 引き続き警告は提示されますが、メソッド廃止後もコードの修正なしで変更に追従することができます。

2.0alpha1 (2019-01-30)

  • API変更
    • API差分: 1.91-netstandard2.0_vs_2.0alpha1-netstandard2.0.apilist.diff
    • 変更した型名一覧: v2.0alpha1で移動した型の対応表
    • Smdn.Net.Imap4.Client名前空間
      • クラス全域にて、メソッドオーバーロードを省略可能な引数を使ったものに集約 (付記参照)
      • 下記クラスの型名を変更
        • ImapMailboxInfo→ImapMailbox
        • ImapMessageInfo→ImapMessage
        • ImapMessageInfoBase→ImapMessageBase (今後改めて変更する可能性があります)
        • ImapMessageInfoList→ImapMessageQuery (今後改めて変更する可能性があります)
        • ImapMessageInfoThread→ImapMessageThread
        • ImapMessagePartInfo→ImapMessagePart
        • ImapOpenedMailboxInfo→ImapOpenMailbox
      • ImapClient.ServerCapabilitiesの型をImapCapabilitySetからIReadOnlyStringSet<ImapCapability>に変更
      • ImapClient.DisabledCapabilitiesの型をImapCapabilitySetからISet<ImapCapability>に変更
      • ImapMessage.Flagsの型をImapMessageFlagSetからIReadOnlyStringSet<ImapMessageFlag>に変更
      • ImapMessage.GetHeader(Async)の戻り値をKeyValuePair<string, string>[]からIReadOnlyList<KeyValuePair<string, string>>に変更
      • ImapMessagePart.GetHeader(Async)の戻り値をKeyValuePair<string, string>[]からIReadOnlyList<KeyValuePair<string, string>>に変更
      • ImapMailbox.Flagsの型をImapMailboxFlagSetからIReadOnlyStringSet<ImapMailboxFlag>に変更
      • ImapOpenMailbox.ApplicableFlagsの型をImapMessageFlagSetからIReadOnlyStringSet<ImapMessageFlag>に変更
      • ImapOpenMailbox.PermanentFlagsの型をImapMessageFlagSetからIReadOnlyStringSet<ImapMessageFlag>に変更
      • ImapClientProfile.UsingSaslMechanismsの型をstring[](get/set)からIList<string>(get)に変更、SetUsingSaslMechanisms()を追加
      • ImapMessageThread.Childrenの型をReadOnlyCollection<ImapMessageThread>からIReadOnlyList<ImapMessageThread>に変更
      • ImapIncapableException.RequiredCapabilitiesの型をImapCapability[]からIReadOnlyList<ImapCapability>に変更、また常に非nullとなるように変更
      • ImapMessageStatusChangedEventArgs.Messagesの型をImapMessage[]からIReadOnlyList<ImapMessage>に変更
      • ImapAppendMessage.InternalDateを読み取り専用に変更
    • その他
      • 下記クラスの型名を変更
        • IImapBodyStructureExtension→IImapExtendedBodyStructure
        • ImapStoreDataItem→ImapStoreDataItems
        • ImapFetchDataItem→ImapFetchDataItems
        • ImapStatusDataItem→ImapStatusDataItems
      • 下記プロパティの型をImapStringEnumSet<T>またはその派生型から、IReadOnlyStringSet<T>に変更
        • ImapAuthenticationMechanism.AllMechanisms
        • ImapCapability.AllCapabilities
        • ImapCollationAlgorithm.AllAlgorithms
        • ImapCompressionMechanism.AllMechanisms
        • ImapMailboxFlag.AllFlags
        • ImapMessageFlag.AllFlags
        • ImapMessageFlag.FetchFlags
        • ImapMessageFlag.PermittedFlags
        • ImapMessageFlag.NonApplicableFlags
        • ImapResponseCode.AllCodes
        • ImapServerDataResponseType.AllTypes
        • ImapThreadingAlgorithm.AllAlgorithms
  • 修正・改善・動作変更
    • FETCH→EXPUNGEの順にレスポンスを受信した場合、ImapMessageStatusChangedEventArgs.Messagesに設定されるべき内容がずれる場合がある不具合を修正
    • ImapMessageFetchAttributeOptions.DynamicAttributes(またはAllAttributes)を指定せずに取得したImapMessageInfoについて、ImapOpenedMailboxInfo.RefreshやImapMessageInfo.Read***()等でImapMessageInfoに対応するFETCHレスポンスを受信すると、ImapMessageInfo.Flags(IsSeen等のFlags参照プロパティも含む)およびModSeqが未取得状態のまま不正な値を返してしまう不具合を修正
      • (過去のバージョンでは、ImapMessageFetchAttributeOptions.DynamicAttributes(またはAllAttributes)を指定してImapMessageInfoを取得することにより本不具合を回避可能)
    • ImapMailboxのAppendMessage(Async)メソッドのlong lengthとAction<Stream> writeMessageを引数に取るバージョンについて、writeMessageで書き込まれた内容がlengthで指定した長さ未満だった場合に、TRACEが無効な場合はInvalidOperationExceptionがスローされるべきところ、ImapExceptionにラップされたInvalidOperationExceptionがスローされる不具合を修正
    • IImapAppendMessage.Lengthプロパティを追加、APPEND時に送信するメッセージ長をStream.Lengthではなく常にLengthプロパティより取得するように動作を変更
    • ImapClientProfile.UsingSaslMechanismsのデフォルト値に"NTLM"を含めないように変更
    • ImapSession
      • 接続確立からgreetingレスポンス受信の間に例外が発生した際、接続が即座にクローズ・解放されない場合があったのを修正
      • サーバーがLIST-STATUSをサポートする場合、かつSTATUSレスポンスで大文字小文字混在のINBOXが返された場合に、INBOXのステータスが正しく取得されない不具合を修正
      • コマンド送受信中に未処理の例外が発生した場合、ImapExceptionにラップせず発生した例外が直接スローされるように動作を変更
      • IDLEコマンドの実行中にIDLEコマンドを実行しようとした場合にスローする例外をImapProtocolViolationExceptionからInvalidOperationExceptionに変更
      • TransactionTimeoutにTimeout.Infiniteが設定されている場合でも、同期実行ではなく常にTaskによってコマンドを実行するように動作を変更
      • レスポンスコード[METADATA MAXSIZE/LONGENTRIES nnn]を受信した場合、ImapResponseText.Arguments[0]にMAXSIZE/LONGENTRIESではなくnnnの値が入るように動作を修正
      • ImapServerDataResponse.SizeStatusNumberを追加、レスポンス"* <number> EXISTS/RECENT"および"* <nz-number> EXPUNGE/FETCH"の数値はData[0]ではなくSizeStatusNumberに格納するように動作を変更
      • BODY[]/RFC822/BINARY等にNILが設定されたFETCHレスポンスを受信した場合、ImapMessageBody/ImapMessageには格納しないように動作を変更
      • 不正な形式のFETCHレスポンスを受信した場合、outパラメータmessagesに異常な状態のインスタンスを含めないように動作を変更
      • LISTレスポンスにCHILDINFOが含まれている場合において、大文字小文字が混在するSUBSCRIBEDが設定されていると無視される不具合を修正
      • その他レスポンス解析処理の効率化・完全性の向上を実施
  • 機能追加
    • ImapSession
      • ImapCommandContinuationRequest.ResponseTextを追加、resp-textが設定されたcontinue-reqを受信した場合は、その内容をResponseTextに設定するようにした
  • 廃止予定・廃止
    • ImapClient.OpenMailboxAsync()/OpenMailboxAsync(bool)を廃止予定にした (OpenInboxAsync()/OpenInboxAsync(bool)を使用してください)
    • ImapClient.ExistMessageCountChangedを廃止予定にした (ImapClient.ExistingMessageCountChangedを使用してください)
    • ImapMailbox.ExistMessageCountを廃止予定にした (ImapMailbox.ExistingMessageCountを使用してください)
    • ImapSession
      • ImapServerDataResponse.Dataを廃止 (ImapServerDataResponse.DataListを使用してください)
      • IImapBodyStructureからIEnumerable<IImapBodyStructure>を削除 (ImapBodyStructureUtils.Traverse/FindAll等のメソッドを使用してください)
  • 付記
    • Obsolete警告メッセージ"省略可能な引数を取るバージョンのメソッドオーバーロードを使用してください/Use method version that takes optional parameters"について
      • 今後のバージョンにて、この警告が出るバージョンのオーバーロードは廃止し、省略可能な引数を取るバージョンに置き換えます。 この警告が出る箇所では、呼び出し側にて引数名を明示的に指定するようにしてください。 引き続き警告は提示されますが、メソッド廃止後もコードの修正なしで変更に追従することができます。

1.91 (2018-12-15)

  • 重要な変更
    • Smdn.Net.Imap4.dllをSmdn.Net.Imap4.Client.dllへ統合 (API上の差分は無し)
    • NuGetパッケージ形式での配布を開始
  • 修正・改善・動作変更
    • (.NET Standard 1.6) ログ出力に使用するTraceSourceの名前がSmdn.Net.Imap4.Clientであるべきところ、Systemになっていた不具合を修正
    • サンプルコードのプロジェクトを.NET Coreに対応

1.90 (2018-12-04)

(以下はversion 1.14からの変更点となります)

  • 重要な変更
    • .NET Framework 3.5/4.0への対応を廃止
    • 単一アセンブリ版を廃止
    • NTLM認証のサポートを廃止
    • .NET Standard 2.0/1.6に対応
    • .NET Framework 4.7.1に対応
    • 上位ライブラリ(Smdn.dll, Smdn.Core.Standards.dll)を統合、インターフェイス変更にあわせて実装を修正
      • 上記ライブラリの型を直接使用している場合は、名前空間あるいは型名の修正が必要になる場合あり (詳細)
  • 機能追加
    • ImapSslConnections.EnabledSslProtocolsプロパティを追加、使用するTLS/SSLプロトコルをSslProtocols列挙体で指定できるようにした
    • ImapSslConnections.DangerousAcceptAnyServerCertificateValidatorを追加 (常にtrueを返すRemoteCertificateValidationCallback、HttpClientHandler.DangerousAcceptAnyServerCertificateValidatorの類似相当)
  • 修正・改善・動作変更
    • TLS/SSLへの接続アップグレード時にConnectionBase.UpgradeStream()がNotSupportedExceptionをスローする場合、ImapSecureConnectionExceptionにラップした上で再スローするように動作を変更
    • ImapMessageInfo.DownloadAsync()およびImapMessagePartInfo.DownloadAsync()のオーバーロードにおいて、パラメータcancellationTokenの指定が無視されていた誤りを修正
    • ImapOpenedMailboxInfo.Idle()およびWaitForMessageArrival()について、メソッド実行中にStopIdle()またはStopWaitForMessageArrival()が呼び出されて停止した場合、メソッド終了時に送出されるべき例外InvalidOperationExceptionが正しく送出されていなかった不具合を修正
    • ImapMailbox.AppendMessage*()の引数名をinternalDateからappendDateに変更
    • 非同期接続(BeginConnect)まわりの実装をTask<T>を用いたものに置き換え簡略化
      • ImapClient.EndConnect等のメソッドでは、内部で処理されなかった例外がAggregatedExceptionによってラップされた状態でスローされる場合あり
    • コマンド送受信処理およびIDLEコマンド待機まわりの実装をTask<T>を用いたものに置き換え簡略化
      • ImapOpenedMailboxInfo.StopIdle StopWaitForMessageArrival等のメソッドでは、内部で処理されなかった例外がAggregatedExceptionによってラップされた状態でスローされる場合あり
  • 廃止予定・廃止
    • ImapMessageInfo.InternalDateをobsoleteにし、代わりにImapMessageInfo.DeliveredDateを追加
    • ImapClient.OpenedMailboxをobsoleteにし、代わりにImapClient.OpeningMailboxを追加
    • ImapAddress.AtDomailListをobsoleteにし、代わりにImapAddress.AtDomainListを追加
    • v1.11にてobsolete(NotSupportedException)にした以下のメンバを完全に削除した
      • ImapMessagePartInfo.BodyStructure
      • ImapMessageInfo.BodyStructure
      • ImapMessageInfo.GetStructureOf()
      • ImapMessageInfo.OpenRead, Save, WriteToなどのメソッドのオーバーロードのうち、string sectionおよびIImapBodyStructure sectionを引数にとるバージョン

メンテナンス版

1.1x系のバージョンは現在メンテナンス状態です。 今後は主に不具合修正・セキュリティ対応のみを行い、新規機能の追加は行いません。 開発版が安定次第、バージョンの更新を停止する予定です。

1.16 (2019-01-30)

  • 修正・改善・動作変更
    • サーバーがLIST-STATUSをサポートする場合、かつSTATUSレスポンスで大文字小文字混在のINBOXが返された場合に、INBOXのステータスが正しく取得されない不具合を修正
    • FETCH→EXPUNGEの順にレスポンスを受信した場合、ImapMessageStatusChangedEventArgs.Messagesに設定されるべき内容がずれる場合がある不具合を修正
    • ImapClientProfile.UsingSaslMechanismsのデフォルト値に"NTLM"を含めないように変更
    • ImapMessageFetchAttributeOptions.DynamicAttributes(またはAllAttributes)を指定せずに取得したImapMessageInfoについて、ImapOpenedMailboxInfo.RefreshやImapMessageInfo.Read***()等でImapMessageInfoに対応するFETCHレスポンスを受信すると、ImapMessageInfo.Flags(IsSeen等のFlags参照プロパティも含む)およびModSeqが未取得状態のまま不正な値を返してしまう不具合を修正
      • (過去のバージョンでは、ImapMessageFetchAttributeOptions.DynamicAttributes(またはAllAttributes)を指定してImapMessageInfoを取得することにより本不具合を回避可能)
    • ImapSession
      • 空のメールボックス名に対してAPPENDコマンドを送信しようとした場合にArgumentExceptionをスローするよう動作を変更
      • LISTレスポンスにCHILDINFOが含まれている場合において、大文字小文字の異なるSUBSCRIBEDが設定されていると無視される不具合を修正
  • 未修正の不具合
    • ImapMailboxのAppendMessage(Async)メソッドのlong lengthとAction<Stream> writeMessageを引数に取るバージョンについて、writeMessageで書き込まれた内容がlengthで指定した長さ未満だった場合に、TRACEが無効な場合はInvalidOperationExceptionではなくImapExceptionにラップされたInvalidOperationExceptionがスローされる (version 2.0alpha1以降で修正)
    • IDLEコマンドを発行したあと、continuation requestを受信するより前に何らかのレスポンスを受信してIDLEの中断を要求した場合に、IDLE状態のまま停止してしまう不具合 (version 2.0alpha2以降で修正)

1.15 (2018-12-04)

  • 機能追加
    • ImapSslConnections.EnabledSslProtocolsプロパティを追加、使用するTLS/SSLプロトコルをSslProtocols列挙体で指定できるようにした
    • ImapSslConnections.DangerousAcceptAnyServerCertificateValidatorを追加 (常にtrueを返すRemoteCertificateValidationCallback、HttpClientHandler.DangerousAcceptAnyServerCertificateValidatorの類似相当)
  • 修正・改善・動作変更
    • TLS/SSLへの接続アップグレード時にConnectionBase.UpgradeStream()がNotSupportedExceptionをスローする場合、ImapSecureConnectionExceptionにラップした上で再スローするように動作を変更
    • ImapMessageInfo.DownloadAsync()およびImapMessagePartInfo.DownloadAsync()のオーバーロードにおいて、パラメータcancellationTokenの指定が無視されていた誤りを修正
    • ImapMailbox.AppendMessage*()の引数名をinternalDateからappendDateに変更
  • 廃止予定・廃止
    • NTLM認証のサポートを廃止予定にした
    • ImapMessageInfo.InternalDateをobsoleteにし、代わりにImapMessageInfo.DeliveredDateを追加
    • ImapClient.OpenedMailboxをobsoleteにし、代わりにImapClient.OpeningMailboxを追加
    • ImapAddress.AtDomailListをobsoleteにし、代わりにImapAddress.AtDomainListを追加

ブランチ分岐

v1.14を起点として開発版の1.9x系メンテナンス版の1.1x系の2ブランチに分岐しました。

1.14 (2015-02-17)

  • 修正・改善
    • NAMESPACEレスポンスの階層区切り文字がNILだった場合にレスポンス解析エラーとなる不具合を修正
    • Yahoo!メールIMAPサーバーがRFCに反するSEARCHレスポンスを返送してくる問題に対するワークアラウンドを適用
    • v1.11にてobsoleteにしたメンバの実装を削除し、メンバを呼び出そうとする場合はコンパイルエラーとするようにした

1.13 (2015-02-04)

  • 修正・改善
    • Yahoo!メールなどINBOXの名称が大文字小文字混在となるサーバーでSTATUSコマンドによるINBOXのステータスが取得出来ない不具合を修正

1.12 (2014-08-15)

主に軽微な機能追加と動作変更。

  • 機能追加
    • ImapEnvelope.GetDecodedDate()を追加、DateTimeOffsetにデコードしたdateを取得できるようにした
    • ImapClient
      • ImapMessageFetchBodyOptions.OmitHeaderを追加、ImapMessageInfoクラスおよびImapMessageInfo.MessagePartプロパティでメッセージ本文の取得時にヘッダを除いたボディ部分のみを取得できるようにした
      • ImapMessagePartInfo.OpenText[Async], ReadAllLines[Async], ReadAllText[Async]などのメソッドにEncodingSelectionCallbackを指定できるオーバーロードを追加、BODYSTRUCTUREの文字セットが不正・非対応の場合・取得できなかった場合のフォールバックを指定できるようにした
      • ImapMessagePartInfo.GetHeader[Async](), GetRawHeader[Async]()を追加
      • ImapMessagePartInfo.ContentTypeCharsetを追加
      • ImapMessagePartInfo.IsEncapsulatedMessagePartを追加
      • ImapMessagePartInfo.NestLevelを追加
      • ImapOpenedMailboxInfo.GetMessageFirstUnseen[Async]()を追加
      • ImapClient.Connect()にCancellationTokenを指定できるバージョンを追加
  • 修正・改善
    • コマンド送信が完了した時点で、コマンド内容のバッファを削除するようにした
    • SASL認証の進行中にCancellationTokenによる中断要求があった場合は認証処理を中断するようにした
    • ImapEnvelope.GetDecodedSubject()について、subjectが空の文字列の場合はnullを返すように動作を変更
    • ImapClient
      • ImapMessageInfoクラスのメソッドでImapMessageFetchBodyOptions.DecodeContentを指定した場合はNotSupportedExceptionをスローするように動作を変更
      • ImapPartialMessageInfoクラスのメソッドでImapPartialRangeとImapMessageFetchBodyOptions.DecodeContentを同時に指定した場合はNotSupportedExceptionをスローするように動作を変更
      • ImapMessageInfo.EnvelopeDateについて、空白や改行・コメントを含む日時の場合でも正しいデコード結果を返すように改善
      • ImapMessageInfo.EnvelopeDateおよびEnvelopeSubjectについて、値をキャッシュせず呼び出しの都度デコードを行い、結果を返すようにした
      • ImapMessageInfo.OpenRead(), Save(), WriteTo()などのメソッドのオーバーロードのうち、string sectionを引数にとるバージョンを廃止、使用している場合はエラーとするようにした
      • ImapMessageInfo.OpenRead(), OpenText()で開いたStream/StreamReaderについて、Flushメソッドを呼び出してもNotSupportedExceptionをスローしないように修正

1.11 (2014-08-01)

主にImapMessagePartInfoクラスの追加とIImapBodyStructureを使用するメンバの廃止。

  • 機能追加
    • IImapBodyStructure.HasEncapsulatedMessageを追加
    • ImapClient
      • メッセージの構造(BODYSTRUCTURE)およびメッセージパート情報を扱うクラスImapMessagePartInfoを追加
      • ImapMessageInfo.HasEncapsulatedMessageを追加
      • ImapMessageInfo.MessagePartを追加、メッセージの構造とメッセージパート情報をImapMessagePartInfoクラスで扱えるようにした
      • ImapMessageInfo.GetMessagePart(), FindMessagePart(), FindAllMessageParts()を追加、メッセージ内のメッセージパート情報をImapMessagePartInfoクラスで取得できるようにした
  • 修正・改善
    • ImapClient
      • 以下のメンバをobsoleteにした(動作に変更なし、今バージョンでは警告のみで引き続き使用可能、今後のバージョンでエラー化、後に削除予定)
        • ImapMessageInfo.BodyStructure
        • ImapMessageInfo.OpenRead, Save, WriteToなどのメソッドのオーバーロードのうち、string sectionおよびIImapBodyStructure sectionを引数にとるバージョン

1.10 (2014-07-19)

主に非同期操作用のメソッドの追加。

  • 機能追加
    • ImapClient
      • (.NET 4.0以上のみ) ImapClient, ImapMailboxInfo, ImapMessageInfo, ImapMassageInfoList, ImapOpenedMailboxInfoの各クラスに非同期操作用のメソッドを追加
  • 修正・改善
    • 取得しようとするメッセージのサイズが10240の倍数の場合に不必要なコマンド送信が行われる不具合を修正
    • 以前のバージョンでobsoleteにしたメンバーを削除
    • ImapClient
      • ImapMailboxInfo.GetQuota()の戻り値について、遅延実行を行うIEnumerator<ImapQuota>を返す動作を変更し、読み取り専用のIList<ImapQuota>(.NET 4.5ではIReadOnlyList<ImapQuota>)を返すようにした

1.09 (2014-06-21)

主に非同期操作用のメソッドを追加するための下準備。

  • 機能追加
    • ImapClient
      • ImapOpenedMailboxInfo.IsIdling, ImapClient.IsIdlingプロパティを追加、クライアントがImapOpenedMailboxInfo.Idle()メソッドなどを使ったIDLE処理中かどうかを判別できるようにした
      • ImapClient.SynchronizingObjectを追加、ImapClientに設定されたイベントハンドラを呼び出す際に指定された同期オブジェクトを使うようにした
  • 修正・改善
    • ImapClient
      • ImapMessageInfo.OpenRead()/OpenText()で取得したStream/StreamReaderをClose()しない限り、以降の操作を開始しようとした時点でInvalidOperationExceptionとなるように動作を変更
      • ImapOpenedMailboxInfo.Idle()で開始したIDLEをStopIdle()で停止した場合、Stop/StartIdle()を異なる組み合わせで呼び出した場合、Idle()を開始していない状態でStopIdle()を呼び出した場合にスローする例外の種類をImapProtocolViolationExceptionからInvalidOperationExceptionに変更
      • ImapOpenedMailboxInfo.Idle()等で開始したIDLE操作がNOOPによるフォールバックとなる場合でもIsBusyがtrueとなるように動作を改善
      • ImapClient.GetMailboxes(), ImapMailboxInfo.GetChildren()の戻り値について、遅延実行を行うIEnumerable<ImapMailboxInfo>を返す動作を変更し、読み取り専用のIList<ImapMailboxInfo>(.NET 4.5ではIReadOnlyList<ImapMailboxInfo>)を返すようにした
      • ImapMessageInfoList.GetEnumerator()の戻り値について、遅延実行を行うIEnumerator<ImapMessageInfo>を返す動作を変更し、GetEnumerator()を呼び出した時点ですべての結果を生成し、その結果を読み取るIEnumerator<ImapMessageInfo>を返すようにした
      • ImapClientの各イベントの発生タイミングを、レスポンス受信時ではなく操作終了時に変更
      • ImapClientではイベントハンドラで発生した例外を無視するようにした

1.05 (2014-06-21)

  • 機能追加
    • ImapClient
      • ImapMessageInfoListクラスにToList(), ToArray()を追加
      • ImapOpenedMailboxInfoクラスにGetMessagesRecent(), GetMessagesUnseen(), GetMessagesNew()を追加
  • 修正・改善
    • アセンブリの製品名(AssemblyProductAttribute)およびバージョン情報(AssemblyInformationalVersionAttribute)にバージョン番号と対象フレームワークを含むパッケージ名の情報を埋め込むようにした
    • 65536回目に送信するコマンドのタグが意図しない値となっていたのを修正
    • ImapClient
      • IDLE中にメッセージ削除・メールボックスステータス変更のレスポンスを受信した場合、レスポンスを二重に処理して内部状態と実際の状態が不一致となる不具合を修正
      • ImapMessageInfo.OpenRead()などFETCHコマンドを発行するメソッドを呼び出した際において、動的属性が変更されていない場合でもMessageStatusChangedイベントが発生してしまう不具合を修正
      • 未取得のImapMessageInfoの動的属性が変更された場合にはMessageStatusChangedイベントを発生させないように動作を変更
      • ImapOpenedMailboxInfo.Idle()などIDLEを行うメソッドについて、一定間隔毎にIDLEしなおすことによりサーバー側からの自動切断を抑止するようにした
      • ImapMailboxInfo.GetMailboxes()をobsoleteにし、代わりにImapMailboxInfo.GetChildren()を追加

1.04 (2014-06-02)

  • 機能追加
    • ImapClient
      • (.NET 4.0以降のみ) ImapClient.ConnectAsync()にCancellationTokenを指定できるバージョンを追加
  • 修正・改善
    • TraceSourceに出力する都度Flushするように修正
    • 接続を拒否されて例外をスローする場合などにおいて、接続が即座に切断されない不具合を修正
    • SaslClientMechanismを指定して接続を行う場合において、CAPABILITYが返送されてこなかった場合は追加でCAPABILITYコマンドを発行するように修正

1.03 (2014-05-24)

  • 機能追加
    • ImapClient
      • (.NET 4.0以上のみ) ImapMessageInfoクラスにOpenReadAsync(), SaveAsync(), ReadAsAsync()など非同期バージョンのメッセージ取得メソッドを追加 (ドキュメント・サンプル §.非同期操作)
      • (.NET 4.0以上のみ) ImapMessageInfo.OpenReadにCancellationTokenおよびIProgressを指定できるバージョンを追加
      • ImapMessageInfo.Download()を追加、メッセージ本文をメモリ上にダウンロードしたStreamを取得できるようにした
  • 修正・改善
    • 適切な認証方式が見つからない場合にスローする例外をImapAuthenticationExceptionからImapNoAppropriateAuthMechanismExceptionに変更
    • ImapClient
      • ImapMessageInfo.Save(), WriteTo(Stream), WriteTo(BinaryWriter)の各メソッドについて、引数が不正な場合はコマンドを送信する前に例外をスローするように動作を変更
      • ImapMessageInfo.Save(), WriteTo(Stream), WriteTo(BinaryWriter)の各メソッドについて、可能な場合はバッファを介さず直接ストリームに書き込むように動作を変更
      • ImapMessageInfo.ReadAs()メソッドの型パラメータの名称をTOutputからTResultに変更
      • ImapMessageInfo.OpenRead(), Save()などのうちImapPartialRangeを指定するバージョンについて、取得するメッセージのサイズによってはArgumentOutOfRangeExceptionがスローされる場合がある不具合を修正
      • ImapMessageInfo.GetHeader(), GetRawHeader()メソッドでヘッダを取得する場合にRFC822.SIZEの取得を要求しないように修正

1.02 (2014-05-07)

  • 機能追加
    • ImapClient
      • ImapOpenedMailboxInfo.GetThreadedMessages()を追加、スレッド化されたメッセージを取得できるようにした
      • ImapOpenedMailboxInfo.GetSortedMessages()にImapSearchCriteriaの指定を省略できるオーバーロードを追加、メールボックス内のすべてのメッセージをソート済みの状態で取得できるようにした
      • ImapOpenedMailboxInfo.GetMessages()にUIDのIEnumerable<long>を指定できるオーバーロードを追加
      • ImapMessageInfo.GetHeader(), GetRawHeader()にIEnumerable<string>を指定できるオーバーロードを追加
  • 修正・改善
    • 不正な形式のレスポンスを受信した際に、例外が正しくスローされない可能性があった不具合を修正
    • ImapFetchDataItemについて、CONDSTOREとBINARYの両方が必要となる場合でも、どちらか一方のみがサポートされていればImapIncapableExceptionがスローされずに処理が続行してしまう不具合を修正
    • T[]として公開していた以下のプロパティについて、.NET 4.0以前ではIsReadOnly=trueのIList<T>、.NET 4.5以降ではIReadOnlyList<T>として公開するように変更、また常に非nullの値を返すように変更
      • ImapEnvelope.From, Sender, ReplyTo, To, Cc, Bcc
      • IImapBodyStructureExtension.Languages, Extensions
      • ImapExtendedMessageRfc822BodyStructure.Languages, Extensions
      • ImapExtendedMultiPartBodyStructure.Languages, Extensions
      • ImapExtendedSinglePartBodyStructure.Languages, Extensions
      • ImapMultiPartBodyStructure.NestedStructures
      • ImapNamespace.PersonalNamespaces, OtherUsersNamespaces, SharedNamespaces
      • ImapQuta.Resources
      • ImapThreadList.Children
    • ImapClient
      • ImapOpenedMailboxInfo.GetSortedMessage()について、SORTレスポンスの順序ではなくFETCHレスポンスの順序で列挙されてしまう不具合を修正
      • ImapMessageInfo.OpenRead(), ReadAs(), Save(), GetStructureOf()およびImapBodyStructureUtils.FindSection()などのメソッドについて、セクションが文字列形式で指定された場合はその値を検証し、不正な場合はArgumentExceptionをスローするように変更
      • ImapOpenedMailboxInfo内部処理の一部を最適化

1.01 (2014-04-26)

  • 機能追加
    • ImapEnvelope.GetDecodedSubject()を追加、デコード済みのsubjectを取得できるようにした
    • ImapAddress.GetDecodedName()を追加、デコード済みのdisplay-nameを取得できるようにした
    • ImapAddress.ToMailAddress(), ToMailAddressCollection()にオーバーロードを追加、フォールバック用Encodingを指定するためのコールバックデリゲートと、不正なフォーマットの場合に例外をスローするかどうかを指定できるようにした
    • ImapBodyStructureUtils.GetContentFileName()を追加、BODYSTRUCTUREのContent-Type nameパラメータもしくはContent-Disposition filenameパラメータからファイル名を取得し、デコードしたものを取得できるようにした
  • 修正・改善
    • ImapBodyDisposition.FilenameプロパティをFileNameに改名、動作上の変更点はなし
    • ImapClient
      • ImapClient.CopyMailbox(ImapMailboxInfo, ImapClient, string, ...)がMoveMailboxと同じ動作となっていた不具合を修正

1.00 (2014-04-23)

  • 機能追加
    • ImapClient
      • 静的メソッドImapClient.CopyMailbox(), MoveMailbox()を追加、異なるセッション間でのメールボックスの移動・コピーが出来るようにした
      • ImapOpenedMailboxInfo.GetMessagesGmailSearch()を追加、X-GM-RAWによるGmail search syntaxを使ったメッセージの検索ができるようにした
      • ImapClient.CombineMailboxName()を追加、サーバーの階層区切り文字を取得してメールボックス名の結合を行えるようにした
      • ImapMailboxInfo.GetFullNameOf()にオーバーロードを追加、複数の階層からなるメールボックス名を結合出来るようにした
      • ImapMailboxInfo.SplitMailboxHierarchy()を追加、メールボックスの階層区切り文字を使ってメールボックス名を階層ごとに分割できるようにした
      • ImapClient.DisabledCapabilitiesプロパティを追加、サーバーが特定のIMAP拡張をサポートしていてもそれを使用しないようにできるようにした
      • ImapClient.IsBusyプロパティを追加、BeginConnect()/ConnectAsync()による非同期接続中、及びIDLE中にはtrueを返すようにした
      • ImapMailboxInfo.Refresh()にオーバーロードを追加し、メールボックスのフラグも再取得するか指定できるようにした
      • ImapSequenceSetクラスおよびImapMessageNotFoundException.SequenceOrUidSetがシリアライズできるようにした
  • 修正・改善
    • .NET Framework 2.0のサポートを廃止
    • Modified UTF-7のエンコード・デコード処理を最適化
    • ImapClient
      • ImapClient.OpenOrCreateMailbox()ではSTATUSを発行しないようにした
      • ImapMailboxInfo.GetParent()およびGetOrCreateParent()について、メールボックスが最上位の場合にはnullを返すのではなくImapProtocolViolationExceptionをスローするようにした
      • ImapOpenedMailboxInfo.GetMessages()等でサーバーがNO [BADCHARSET]を返した場合、Smdn.Formats.EncodingNotSupportedExceptionをスローするようにした
      • ImapOpenedMailboxInfo.WaitForMessageArrival()について、IDLEをサポートしていないサーバーに対してもNOOPを使って動作をエミュレートできるようにした
      • ImapMailboxInfo.GetFullNameOf(), CreateChild(), GetChild(), GetOrCreateChild()の各メソッドについて、CanHaveChildの場合にスローする例外をNotSupportedExceptionからImapProtocolViolationExceptionに変更
      • ImapClient.BeginConnect()の実装を簡略化

0.91 (2014-03-16)

  • 修正・改善
    • 以前のバージョンでObsoleteにした型・メンバを削除
    • Windows環境でSSL接続時にIDLEを行った場合に、予期しないレスポンスを受信して正常にIDLEを継続できなくなる不具合を修正
    • ImapClient
      • ImapMessageInfoBase.ReplaceFlags(), ReplaceKeywords()をobsoleteにし、それぞれSetFlags(), SetKeywords()にリネーム

0.90 (2013-07-15)

主に最近更新されたRFCへのキャッチアップと、利用不可能となったインスタンスの扱いに関する動作変更。

  • 機能追加
  • 修正・改善
    • draft-draft-ietf-morg-inthread-00関連の実装を削除
    • Gmail XLIST関連の実装を削除
    • IDictionary<,>として公開していたいくつかのメンバについて、.NET Framework 4.5以降においてはIReadOnlyDictionary<,>として公開するように変更
    • ファイルへの上書きを行う場合に以前の内容が残ったままとなる可能性があったのを修正
    • キャッシュされた長さ0の配列を使用するように修正
    • List<>およびDictionary<,>が確保する初期サイズが必要最低限となるように修正
    • その他内部実装のパフォーマンス改善
    • ImapClient
      • Smdn.Net.Imap4.Protocol.Client.ImapConnectionクラスのプロパティClientCertificates, ServerCertificateValidationCallback, ClientCertificateSelectionCallbackをSmdn.Net.Imap4.Client.ImapSslConnectionに移動
      • 閉じたImapOpenedMailboxInfo、移動・削除したImapMessageInfo・ImapMessageInfoListの扱いに関して、以下のように変更
        • ImapMessageVanishedExceptionを追加、ImapMessageInfoのメソッド・プロパティを呼び出した結果、他のクライアントにより該当するメッセージが削除されていること検出した場合にスローするようにした
        • ImapUnavailableExceptionを追加、既に削除・移動したメッセージや、取得元のメールボックスが既に閉じているメッセージに対して操作を行おうとした場合にスローするようにした
        • ImapMessageDeletedException・ImapMailboxClosedExceptionをObsoleteにし、状況によりImapUnavailableExceptionまたはImapMessageVanishedExceptionをスローするように変更
        • 同名のメールボックスを再度Open()してImapOpenedMailboxInfoを取得する場合、以前に開かれていたImapOpenedMailboxInfoは利用不可能となるようにした (例外ImapUnavailableExceptionをスローする)
        • 同名のメールボックスを再度Open()してImapOpenedMailboxInfoを取得する場合、以前に開かれていたImapOpenedMailboxInfoのIsOpenプロパティはfalseを返すように変更
        • ImapMailboxInfo.MoveTo()により現在開いているメールボックスを移動もしくは名前の変更をした場合、再度Openせず、該当するImapOpenedMailboxInfoは利用不可能となるようにした (例外ImapUnavailableExceptionをスローする)
      • 既に閉じられた状態でImapOpenedMailboxInfo.Close/Disposeメソッドを呼び出した場合、無関係のメールボックスが閉じられてしまう可能性があったのを修正
      • レスポンスの解析を二重に行なっていた箇所を修正
    • ImapSession
      • ESEARCHまたはESORTの送信後にキャパビリティのチェック処理が正しく動作しなくなる不具合を修正

0.85 (2013-02-07)

  • 機能追加
    • Content-Typeがuuencodeのメールをデコード出来るようにした (ただし、本文中にuuencodeされたファイルが複数格納されている場合は、先頭のファイルのみを取得可能)

0.84 (2012-10-08)

  • 修正・改善
    • Mono 2.6関連のワークアラウンドを削除
    • 上位ライブラリの不具合修正

0.83 (2012-10-01)

  • 修正・改善
    • 上位ライブラリのインターフェイス変更にあわせて実装を修正

0.82 (2012-09-24)

  • 機能追加
    • メッセージのヘッダ部分のみを取得するメソッドImapMessageInfo.GetHeader(), GetRawHeader()を追加
    • ImapClient.ConnectAsync()を追加
    • .NET 4.5用のcsprojファイルを追加

0.81 (2012-09-08)

  • 修正・改善
    • 上位ライブラリのインターフェイス変更にあわせて実装を修正

0.80 (2011-02-18)

主にIDLE関連の機能追加と実装の細かい修正等。

  • 機能追加
    • ImapClient
      • IDLE/NOOPを使って特定メールボックスでの待機を行うメソッドImapOpenedMailboxInfo.Idle(), StartIdle(), StopIdle()を追加
      • IDLEを使って特定メールボックスでの新着メッセージの待機を行うメソッドImapOpenedMailboxInfo.WaitForMessageArrival(), StartWaitForMessageArrival(), StopWaitForMessageArrival()を追加
  • 修正・改善
    • IDLE中にMono.Security.Protocol.Tls.TlsExceptionがスローされた場合、無視して処理を継続するように修正 (暫定処置)
    • コマンドの非同期実行開始時にヌル参照が発生する可能性があったのを修正
    • Mono 2.6.xでコマンドの非同期実行が不完全に停止する場合がある不具合に対する暫定対処を追加
    • ソケットエラーによりImapConnectionExceptionをスローする場合、例外メッセージに原因となったSocketErrorを含めるように修正
    • ImapClient
      • 既に切断された状態でImapOpenedMailboxInfo.IDisposable.Disposeを呼び出しても例外をスローしないように修正
      • コマンドを送信した結果BYEが返された場合、ImapErrorResponseExceptionではなくImapConnectionExceptionをスローするように変更
    • WebClients

0.36 (2011-02-03)

主にメールボックス関連の機能の強化、その他実装の細かい修正等。

  • 機能追加
    • RFC 5957をサポート (差分なし)
    • 既存の実装をdraft-ietf-morg-list-specialuse-06に更新
    • ImapStringおよびいくつかの派生クラスにSerializableAttributeを設定
    • ImapMalformedDataException.CausedDataがシリアライズされるようにした
    • ImapErrorResponseException.Resultがシリアライズされるようにした
    • ImapIncapableException.RequiredCapabilitiesがシリアライズされるようにした
    • ImapClient
      • 名前にワイルドカード(%, *)を含むメールボックスの取得・作成・移動等をサポート
      • ImapClient.GetMailbox(ImapSpecialMailbox), ImapClient.OpenMailbox(ImapSpecialMailbox)を追加
      • ImapMailboxInfo.AppendMessage(ImapMessageInfo)を追加
      • サーバからのアラートを受信した場合に発生するイベントImapClient.AlertReceivedを追加
      • 以下のメソッドについて、指定された移動・コピー先のImapMailboxInfoが異なるクライアントで取得した場合や異なるサーバの場合でも正しく動作するようにした
        • ImapMessageInfoList.MoveTo/CopyTo
        • ImapMessageInfo.MoveTo/CopyTo
        • ImapOpenedMailboxInfo.MoveMessagesTo/CopyMessagesTo
  • 修正・改善
    • コマンド送信時に必要な場合のみメールボックス名をクオートするように変更
    • ImapString->stringの明示的な型変換を廃止し、代わりにValueプロパティを追加
    • ImapClient
      • メールボックス名の比較にカルチャ依存の比較を行っていた箇所があったのを修正
      • ImapClient.SendTimeout, ImapClient.ReceiveTimeoutにTimeout.Infinite(-1)を設定した場合、0ではなく-1を返すように修正
      • ImapMailboxInfo.WriteMessageをImapMailboxInfo.AppendMessageにリネーム
      • ImapMailboxInfo.GetFullNameOfに渡された引数がnullもしくは空の文字列だった場合に例外をスローするように変更
      • ImapMailboxInfo.Createについて、NO [ALREADYEXISTS]が返された場合は例外をスローしないように変更
      • ImapMailboxInfo.Deleteについて、NO [NONEXISTENT]が返された場合は例外をスローしないように変更
      • ImapMailboxInfo.AppendMessage/AppendMessagesについて、NO [TRYCREATE]が返された場合はImapMailboxNotFoundExceptionをスローするように変更
      • ImapMailboxInfo.AppendMessage/AppendMessagesについて、メールボックスが存在しない場合、もしくは選択できない場合、ImapProtocolViolationExceptionをスローするように変更
      • ImapOpenedMailboxInfo.GetMessages(ImapSearchCriteria)について、NO [NOTSAVED]が返された場合、例外をスローせず通常のSEARCHコマンドに切り替えて再送信するように変更
      • 以下のメソッドについて、指定された移動・コピー先のIsUnselectableがtrueの場合、ImapProtocolViolationExceptionをスローするように修正
        • ImapMessageInfoList.MoveTo/CopyTo
        • ImapMessageInfo.MoveTo/CopyTo
        • ImapOpenedMailboxInfo.MoveMessagesTo/CopyMessagesTo

0.35 (2011-01-08)

主に機能追加と細かい修正等。

  • 機能追加
    • ImapClient
      • ImapOpenedMailboxInfo.CopyMessagesTo(), ImapOpenedMailboxInfo.MoveMessagesTo()を追加
      • ImapClient.OpenOrCreateMailbox()を追加
      • ImapClientProfileにISerializableを実装
  • 修正・改善
    • ImapCapabilityList等のクラスについて、ISetインターフェイス(.NET 2.0, 3.5ではISet相当のインターフェイス)を実装し、クラス名をImapCapabilitySet等に変更
    • 接続時のタイムアウトが有効になっていなかったのを修正
    • シンボルTRACEを無効にするとビルドエラーとなる箇所があったのを修正
    • その他内部実装の細かい修正と若干のパフォーマンス改善
    • ImapClient
      • ImapClient.OpenMailbox()で異なるクライアントで取得したImapMailboxInfoを開こうとした場合、ArgumentExceptionをスローするように修正
      • ImapMailboxInfo.MoveTo()、ImapMessageBase.CopyTo/MoveTo()に指定された移動・コピー先が異なるクライアントで取得したImapMailboxInfoだった場合、NotImplementedExceptionをスローするように修正 (今後のバージョンで実装予定)
      • ImapMessageInfoBase.MoveTo()の移動先が移動元と同じメールボックスだった場合、何もしないように修正

0.34 (2010-12-11)

主にバグ修正。

  • 機能追加
    • ImapClient
      • ImapMessageInfo.ReadAs(Func)を追加 (Func<Stream, T, TResult>からFunc<Stream, T1, T2, T3, T4, TResult>までの4つ)
  • 修正・改善
    • ライブラリがスローするArgumentExceptionなどいくつかの例外メッセージをよりわかりやすい表記に統一
    • その他上位ライブラリのバグ等細かい修正
    • ImapClient
      • ImapMessageInfo.OpenRead等が返すStreamを閉じた場合、CanRead, CanWrite, CanSeek, CanTimeoutはObjectDisposedExceptionをスローせず常にfalseを返すように修正 (Streamの仕様に合わせた修正)

0.33 (2010-05-15)

主に匿名・平文での認証に関する機能の強化、不具合と実装の細かい修正等。

  • 機能追加
    • TraceSourceへのプロトコルログの出力時に、フォーマット済みのstringではなく構造化された型(Smdn.Net.MessageAccessProtocols.Diagnostics)を使用するように修正
    • ImapConnection.TraceSourceプロパティを公開
    • ImapClient
      • セッションがSSL/TLSで保護されているかどうかを取得するImapClient.IsSecureSessionプロパティを追加
      • SSL/TLSで保護されていない接続で認証方式を自動的に選択する場合、平文による認証を許可するかどうかを設定するImapClientProfile.AllowInsecureLoginプロパティを追加 (デフォルトはfalse)
      • ImapAuthenticationExceptionを追加、認証に失敗した場合および適切な認証方式が見つからない場合にスローするようにした
    • WebClients
      • SSL/TLSで保護されていない接続で認証方式を自動的に選択する場合、平文による認証を許可するかどうかを設定するImapWebRequest.AllowInsecureLoginプロパティを追加 (デフォルトはfalse)
  • 修正・改善
    • 接続時のエラー原因をより把握しやすいように例外処理を修正、InnerExceptionを設定するようにした
    • ImapSecureConnectionExceptionをSmdn.Net.Imap4.Protocol名前空間に移動
    • URLのuserinfo部分にエスケープされていない':'が含まれている場合、':'以前の部分のみをユーザ名・認証方式として扱うように修正
    • ImapUriBuilder.Portに0を指定した場合、ToString()が返すURLにポート番号が含まれない不具合を修正
    • ImapStringからstringへの明示的な型変換で、nullからの変換でもArgumentNullExceptionをスローしないように修正
    • SocketExceptionがキャッチされず一般的な例外としてスローしてしまう場合があったのを修正
    • ImapClient
      • 既に接続済み、未接続、切断済みの状況で操作をしようとした場合にスローする例外をImapProtocolViolationExceptionからInvalidOperationExceptionに変更
      • ImapClientProfile.UsingSaslMechanismsに"ANONYMOUS"が含まれていてもANONYMOUS認証は試行せずに無視するように修正
      • ImapClientProfile.AnonymousCredentialを廃止、常にImapClientProfile.UserNameの値(指定されていない場合は'anonymous@')を使うように変更
      • ImapClientProfile.UsingSaslMechanismsにnullを設定した状態でClone()を呼ぶとNullReferenceExceptionがスローされる不具合を修正
      • ImapClient.BeginConnect()/EndConnect()
        • BeginConnect()が返す値をSystem.Runtime.Remoting.Messaging.AsyncResultからImapClient.ConnectAsyncResultに変更
        • BeginConnect()による接続が完了していても、EndConnect()を呼び出すまではIsConnectedをtrueにしないように修正
        • EndConnect()を呼び出す前にLogout(), Disconnect()を呼び出した場合、InvalidOperationExceptionをスローするように修正
        • EndConnect()を呼び出す前にImapClient.IDisposable.Dispose()を呼び出した場合、セッションが確立してもバックグラウンドで破棄し、EndConnect()が呼ばれてもIsConnectedをfalseのままとするように修正
        • 既に接続済みの場合、BeginConnect()を呼び出した時点でInvalidOperationExceptionをスローするように修正
    • WebClients
      • ImapWebRequest.UsingSaslMechanismsに"ANONYMOUS"が含まれていてもANONYMOUS認証は試行せずに無視するように修正
      • ImapWebRequestDefaults.AnonymousTokenを廃止、常にリクエストURIのユーザ名(指定されていない場合は'anonymous@')を使うように変更

0.32 (2010-04-25)

.NET Frameworkの各バージョン向けビルドのサポート、不具合と実装の細かい修正等。

  • 機能追加
    • .NET Framework 2.0, 3.5, 4の各バージョン用のプロジェクトファイルを追加 (ただし2.x系は2.1以上にのみ対応)
    • ImapClient
      • ImapClientProfileにICloneableを実装
      • ImapClient.BeginConnect()/EndConnect()を追加
      • ImapMessageInfo.WriteTo(BinaryWriter)を追加
  • 修正・改善
    • ImapTransactionResultをSmdn.Net.Imap4.Protocol.Client.ImapCommandResultに移動・改名
    • internal classをsealedにした
    • コマンド送受信関連の内部処理を簡略化
    • ImapClient
      • 既に接続されている状態でImapClient.Connect()を呼ぶと新たにセッションが作成されてしまう不具合を修正、接続中の場合はImapProtocolViolationExceptionをスローするようにした
      • ImapMessageInfo.InternalDateをNullable<DateTimeOffset>からDateTimeOffsetに変更

0.31 (2010-04-18)

主に若干のパフォーマンス改善、実装の細かい修正等。

  • 機能追加
    • ImapClient
      • ImapMessageInfo.WriteTo(Stream)を追加
      • コンストラクタでもSSL/TLSを用いた接続を使用するかどうか、およびタイムアウト時間を指定できるようにした
  • 修正・改善
    • 上位ライブラリのインターフェイス変更にあわせて実装を修正
    • StringComparerの指定があいまいだった部分で明示的に指定するようにした
    • ImapSession.ServerIDのComparerをStringComparer.OrdinalIgnoreCaseに変更
    • 例外を再スローしている箇所でスタックトレースを破棄しないように修正
    • 例外クラスのインターフェイスをカスタム例外のガイドラインに適合するように改善 (一部未完)
    • いくつかの冗長な内部処理をデバッグ時のみ有効になるように修正
    • .NET Framework 2.0 SP2以前などの環境でMissingMethodExceptionがスローされないようにメソッド呼び出しを修正
    • ImapClient
      • コンストラクタのauthTypeに指定した値が無視されていたのを修正
      • ImapMessageInfo.Save()がArgumentExceptionをスローする場合、空のファイルが作成されないようにした
      • 動的属性を取得していない状態でImapMessageInfo.ToggleFlags(), ToggleKeywords()を呼び出そうとするとNullReferenceExceptionがスローされる不具合を修正
    • WebClients
      • ImapWebRequestDefaults.ClientIDのComparerをStringComparer.OrdinalIgnoreCaseに変更
      • ImapWebResponse.ServerIDをIDictionaryに変更、常にread-onlyな同一インスタンスを返すようにした

0.30 (2010-04-04)

主にImapClientの機能強化・テストケースの追加と細かい修正等。

  • 機能追加
    • IImapBodyStructure.Parentプロパティを追加
    • 例外クラスにSerializableAttributeを設定 (実装は不完全)
    • ImapClient
      • ImapClientにイベントExistMessageCountChanged, RecentMessageCountChanged, MessageDeleted, MessageStatusChangedを追加
      • ImapMessageInfoにプロパティMediaType, IsMultiPart, IsDeleted, IsAnswered, IsDraft, IsFlaggedを追加
      • ImapMessageInfo.GetStructureOf()を追加
      • 1つ以上のUIDを指定できるバージョンのImapOpenedMailboxInfo.GetMessages()を追加
      • EXPUNGEコマンド等の発行、もしくは他のクライアントによりメッセージが削除された場合、該当するメッセージのImapMessageInfo.Sequenceを減算するようにし、IsDeletedがtrueとなるようにした
      • STOREコマンド等の発行、もしくは他のクライアントによりメッセージの属性が変更された場合、該当するメッセージのImapMessageInfo.Flags等の値を更新するようにした
  • 修正・改善
    • ImapErrorResponseExceptionをSmdn.Net.Imap4名前空間に移動
    • ImapFormatExceptionをSmdn.Net.Imap4.Protocol名前空間に移動、基底クラスをSystem.FormatExceptionに変更
    • ImapDefaultPortクラスをImapDefaultPortsに改名
    • ソケットエラー等の場合、ImapExceptionではなくImapConnectionExceptionをスローするように変更
    • ArgumentOutOfRangeExceptionをスローする際に、ActualValueプロパティを設定するようにした
    • ArgumentExceptionのMessageとParamNameが逆になっていた箇所を修正
    • 拡張の必要がないクラスをsealedに変更
    • ImapClient
      • メールボックスを選択する際にNOMODSEQが提示された場合、MODSEQを取得しないように修正
      • メールボックスが閉じられるまでの間、ImapOpenedMailboxInfoからは同一UIDのメッセージに対して同一のインスタンスを返すようにした
      • ImapClient.NoOp()を廃止、代わりにImapClient.Refresh()を追加
      • ImapMessageInfo.Open*(), Read*()に渡すIImapBodyStructureが異なるImapMessageInfoのものだった場合、ArgumentExceptionをスローするようにした
      • ImapMessageInfo.ReadLines(), ImapMessageInfo.ReadAllLines()が常に例外をスローする不具合を修正
      • ImapMessageInfo.Refresh()では動的属性のみを更新するように動作を変更
      • ImapMessageInfo.OpenRead(ImapMessageFetchBodyOptions)が常にBODYSTRUCTUREを取得し不要なデコードを行ってしまう不具合を修正
      • ImapMessageFetchBodyOptions.Peekを削除、代わりにSetSeenを追加

0.29 (2010-03-22)

主にImapClientの機能追加・不具合修正とSmdn.Net.Imap4.WebClientsのアセンブリ化

  • 機能追加
    • IImapBodyStructureからMediaTypeおよびPredicate<IImapBodyStructure>にマッチするセクションを取得するメソッドを追加
    • LOGIN/AUTHENTICATEを発行する際、CAPABILITYを更新するかどうか指定できるバージョンを追加
    • ImapThreadListにIEnumerable<ImapThreadList>を実装
    • ImapClient
      • ImapClient.GetOrCreateMailbox()を追加
      • ImapOpenedMailboxInfo.IsReadOnlyプロパティを追加
      • ImapMailboxInfo.Clientプロパティを公開
      • ImapMailboxInfo.IsOpen, IsInboxプロパティを追加
      • ImapMailboxInfo.GetOrCreateParent(), GetChild(), GetOrCreateChild(), WriteMessage(Action<Stream>)を追加
      • ImapMessageInfoBase.Clientプロパティを公開
      • ImapMessageInfoBase.MarkAsSeen()を追加
      • ImapMessageInfo.IsSeen, IsRecentプロパティを追加
      • ImapMessageInfo.Save()を追加
      • ImapMessageInfo.OpenText(), ReadAllBytes(), ReadAllText(), ReadLines(), ReadAllLines()を実装
      • ImapMessageInfo.OpenRead()でContent-Transfer-Encodingに基づいてデコード済みのストリームを取得するオプションを追加
    • WebClients
      • ImapThreadTreeにIEnumerable<ImapThreadTree>を実装
  • 修正・改善
    • StringComparison.Ordinal*の動作を期待していた箇所でInvariantCulture*を使用していたのを修正 (ご指摘ありがとうございました)
    • stringの操作を行っている箇所について、StringComparison.Ordinalを指定するようにした
    • 階層を持たないメールボックスのImapMailbox.LeafName, ImapMailbox.SuperiorNameが不正な値を返す不具合を修正
    • メールボックスをINBOXにRENAMEしようとした場合、ImapProtocolViolationExceptionをスローするようにした
    • \NonExistent属性の付いたメールボックスに対してSUBSCRIBEしようとした場合、ImapProtocolViolationExceptionをスローするようにした
    • 変更前と同じ名前にRENAMEしようとした場合、ArgumentExceptionをスローするようにした
    • ImapMailbox.Flags, ApplicableFlags, PermanentFlagsの各プロパティが未取得の場合、nullではなく空のインスタンスを返すようにした
    • ImapPartialRangeをstruct typeに変更
    • IMAP URL関連のパフォーマンスを若干改善
    • ImapClient
      • ImapMailboxInfo.MoveTo()でメールボックス名を変更する際、購読していない下位のメールボックスを購読状態にしてしまう不具合を修正
      • 接続時およびLOGIN/AUTHENTICATEの後、必要な場合はCAPABILITYを再取得するようにした
      • メールボックスを作成した後、メールボックスの属性を更新するようにした
      • ImapInvalidOperationExceptionおよびその派生クラスをSmdn.Net.Imap4名前空間に移動
      • 既に閉じられたメールボックスに対して操作を行おうとした場合にスローする例外をImapMailboxClosedExceptionに変更
      • ImapOpenedMailboxInfoのImapMessageInfoListを返す各メソッドについて、列挙が開始されるまでコマンドを発行しないようにした
      • ImapOpenedMailboxInfoのメソッドから返されたImapMessageInfoListが空となる場合、MoveTo(), CopyTo()を呼んでも例外をスローせずなにもしないようにした
      • ImapMailboxInfo.CanCreateChildプロパティをCanHaveChildに変更、デリミタが空の場合もfalseを返すようにした
      • ImapMailboxInfoのプロパティのうち、SELECT/EXAMINするまで値を取得できないものをImapOpenedMailboxInfoに移動
      • ImapMailboxInfo.GetQuota(string)およびGetQuotaUsage()をImapClientに移動
    • WebClients
      • 実装をアセンブリSmdn.Net.Imap4.WebClientsとして分離 (アプリケーション構成ファイルを使用している場合は、アセンブリ名の変更が必要)
      • 接続時およびLOGIN/AUTHENTICATEの後、必要な場合はCAPABILITYを再取得するようにした

0.28と0.29のパフォーマンスの比較。

テストケース テスト環境
Ubuntu 9.10 + Mono(r153937) Windows Vista + .NET Framework 3.5
4kBのメッセージを1500回ダウンロード
3回試行
[1]01.65sec -> 00.92sec
[2]01.67sec -> 00.90sec
[3]01.68src -> 00.94sec
[1]03.40sec -> 03.14sec
[2]03.38sec -> 03.10sec
[3]03.37src -> 03.09sec
  • SSL/TLS不使用
  • Ubuntuでは同一マシン上のサーバ、Windowsでは別マシン上のサーバを使用

0.28 (2010-03-15)

主にImapClientの機能追加、AIM Mailで発覚した不具合の修正

  • 機能追加
    • 既存の実装をRFC 5819に更新
    • draft-ietf-morg-list-specialuse-01に対応
    • draft-ietf-morg-sortdisplay-03に対応
    • ImapClient
      • 該当するメールボックス・メッセージが無い場合、ImapMailboxNotFoundException, ImapMessageNotFoundExceptionをスローするようにした
      • \NoInferiorsフラグがセットされているメールボックスの下にメールボックスを作成しようとした場合、ImapProtocolViolationExceptionをスローするようにした
      • ImapOpenedMailboxInfo.GetMessages()で取得する属性を指定するオプションを指定できるバージョンを追加
      • ImapOpenedMailboxInfo.GetMessageBySequence()を追加
      • ImapOpenedMailboxInfo.GetSortedMessages()を追加
      • ImapOpenedMailboxInfo.Expunge()を追加
      • ImapClient.GetMailbox()/GetMailboxes()でメールボックスを列挙する際のオプションを指定できるバージョンを追加
      • ImapOpenedMailboxInfo.GetMessages()/GetSortedMessages()の戻り値を用いてMoveTo(), CopyTo()などの操作をできるようにした
      • サーバがCONDSTOREをサポートする場合は、STATUS発行時にHIGHESTMODSEQも取得するようにした
      • サーバがCONDSTOREをサポートする場合は、SELECT/EXAMINE発行時にCONDSTOREオプションを指定するようにした
      • 新着メッセージが来るまでメールボックスを監視するメソッドImapOpenedMailboxInfo.WaitForMessageArrival()を追加
      • 選択中のメールボックスに対してはSTATUSを送信しないようにした
      • 選択中のメールボックスに対してRENAME/DELETEしようとした場合、先にCLOSEするようにした
  • 修正・改善
    • 既にTLS/SSLでの接続が確立している状態でもSTARTTLSを発行してしまう不具合を修正
    • "(SP DIGIT)"の形式のdate-day-fixedを不正な書式とみなしていた不具合を修正
    • ImapSession.ListExtended()に非ASCII文字を含むメールボックス名を渡すと例外となる不具合を修正
    • ImapClient
      • エラーレスポンスの場合にImapExceptionをスローしていた箇所をImapErrorResponseExceptionをスローするように変更
      • InvalidOperationExceptionをスローしていた箇所をImapProtocolViolationExceptionをスローするように変更
      • ImapOpenedMailboxInfo.GetMessageByUidでSEARCHを発行しないように実装を修正

0.27 (2010-02-28)

主に新しいクライアント実装ImapClientの追加、ImapMessageまわりのインターフェイスの整理、LIST-EXTENDEDとLIST-STATUS関連の実装の修正。

  • 機能追加
    • 新しいクライアント実装ImapClientをSmdn.Net.Imap4.Client名前空間に追加(ただしインターフェイスは未確定、実装は不完全)
    • ImapMessageまわりの実装・インターフェイスを変更、動的属性・静的属性・本文を別々のクラスで取り扱うようにした
  • 修正・改善
    • ImapMailboxFlagListの代わりにIImapMailboxFlagSetインターフェイスを公開するように変更
    • ImapMessageFlagListの代わりにIImapMessageFlagSetインターフェイスを公開するように変更
    • \NonExistentフラグがセットされている既知のメールボックスに対してRENAME/CREATEできなくなる不具合を修正
    • \NonExistentフラグがセットされている既知のメールボックスに対してSELECT/STATUSしようとした場合にImapProtocolViolationExceptionをスローするようにした
    • APPENDの引数をImapMessageからIImapAppendMessageに変更
    • STOREのoutパラメータをImapMessageからImapMessageAttributeに変更
    • body-fld-dspのbody-fld-paramがNILの場合にArgumentNullExceptionがスローされる不具合を修正
    • WebClients名前空間
      • ImapWebResponse.Messagesプロパティを廃止、代わりにImapWebResponse.MessageAttributesプロパティを追加
      • ResponseStreamからのReadの際に生じる内部バッファのコピー回数を減らした

0.26と0.27のパフォーマンスの比較。

テストケース テスト環境
Ubuntu 9.10 + Mono(r152382) Windows Vista + .NET Framework 3.5
4kBのメッセージを1500回ダウンロード
3回試行
[1]03.82sec -> 03.99sec
[2]03.70sec -> 03.91sec
[3]03.78src -> 03.76sec
[1]04.82sec -> 05.12sec
[2]04.69sec -> 04.91sec
[3]04.74src -> 05.46sec
17MBのメッセージを10回ダウンロード
3回試行
[1]33.50sec -> 31.37sec
[2]32.50sec -> 30.45sec
[3]32.62src -> 31.22sec
[1]42.58sec -> 39.39sec
[2]39.59sec -> 39.43sec
[3]40.06src -> 39.94sec

0.26 (2010-02-22)

主にBODYSTRUCTURE関連の機能強化、下位ライブラリの実装改善、新しいクライアント実装を追加するための下準備。

  • 機能追加
    • BODYSTRUCTUREまわりの実装とインターフェイスを整理した
    • BODYSTRUCTUREを含むレスポンスからすべてのextension dataを取得できるようにした
    • すべてのIImapBodyStructureからSECTIONを取得できるようにした
    • FETCHでUIDも取得した場合に限り、すべてのIImapBodyStructureからSECTIONを含むURLを取得できるようにした
    • ImapMailboxに上位のメールボックス名、階層末尾の名前を取得するプロパティを追加
    • WebClients名前空間
      • ImapWebRequest.FetchDataItemを追加 (MethodがSEARCH/SORT/THREAD/FETCHの場合、取得する属性を指定するマクロを指定。 デフォルトはALL)
  • 修正・改善
    • ストリームのアップグレードに失敗した場合、ImapUpgradeConnectionExceptionをスローするようにした
    • SSL接続/STARTTLSに失敗した場合、ImapSecureConnectionExceptionをスローするようにした
    • IDコマンドで送信するIDをDictionary<string, string>ではなくIDictionary<string, string>で引き受けるように変更
    • ログ
      • POP/IMAPのプロトコルログを分けて収集できるように修正
      • プロトコルログのTraceSourceのnameを'IMAP'に変更
    • パフォーマンス関連
      • 下位ライブラリの実装の最適化、バッファアロケーションと動作速度を改善
    • WebClients名前空間
      • すべて小文字でなければimapsスキームとみなされない不具合を修正
      • LOGIN-REFERRAL, MAILBOX-REFERRALのサポートを削除

0.25と0.26のパフォーマンスの比較。

テストケース テスト環境
Ubuntu 9.10 + Mono(r151732) Windows Vista + .NET Framework 3.5
4kBのメッセージを1500回ダウンロード
3回試行
[1]04.50sec -> 04.47sec
[2]04.38sec -> 04.38sec
[3]04.58src -> 03.90sec
[1]05.03sec -> 04.89sec
[2]04.77sec -> 04.62sec
[3]04.98src -> 04.70sec
17MBのメッセージを10回ダウンロード
3回試行
[1]34.95sec -> 33.68sec
[2]33.87sec -> 34.79sec
[3]33.78src -> 34.62sec
[1]41.65sec -> 38.39sec
[2]39.92sec -> 39.02sec
[3]38.61src -> 38.14sec

0.25 (2010-02-15)

主に未サポートだった拡張の実装、アプリケーション構成ファイルでの設定のサポート、パフォーマンスと.NET Frameworkでの動作の改善。

  • 機能追加
    • QUOTAに対応
    • BINARY FETCH/APPENDに対応(実機での動作は未確認)
    • METADATAに対応(実機での動作は未確認)
    • FILTERSに部分的に対応(実機での動作は未確認)
    • WebClients名前空間
      • アプリケーション構成ファイルのconfiguration/system.net/webRequestModules要素でimap/imapsスキームを登録できるようにした
      • ImapWebRequestDefaultsクラスを追加、コード内もしくはアプリケーション構成ファイルでImapWebRequestの各プロパティのデフォルト値を設定できるようにした
      • ImapWebRequest.FetchPeekプロパティを追加 (trueの場合はBODY.PEEK、falseの場合はBODYで本文を取得する。 デフォルトはtrue)
  • 修正・改善
    • ImapResponseCodeをSmdn.Net.Imap4.Protocol.ClientからSmdn.Net.Imap4.Protocolに移動
    • SslStream.AuthenticateAsClientでAuthenticationExceptionが発生した場合、ストリームを閉じるようにした
    • ライブラリ内のメッセージとサーバからのレスポンスを区別できるように内部処理と書式を変更した
    • Mono 2.6.x, Mono 2.4.xで文字列からDateTimeOffsetへの変換でFormatExceptionがスローされないようにした
    • パフォーマンス関連
      • レスポンスパーサの実装を最適化、冗長な処理を削除
      • 文字列比較処理を最適化
      • ロック処理にSemaphoreを使用していた箇所をMonitorに置き換えた
    • .NET Framework関連
      • NetworkCredentialの各プロパティがnullを返すことを期待していた実装を修正、nullではなくstring.Emptyの場合に認証をキャンセルするようにした
      • SocketError.TimedOutのSocketExceptionが発生した場合、ImapConnectionExceptionではなくTimeoutExceptionをスローするようにした
    • WebClients名前空間
      • SslStream作成用のコールバック、証明書関連のコールバックのプロパティ名を変更、また値をImapConnectionと共有しないようにした
      • ImapSessionManagerからIWebRequestCreateの実装を分離、WebRequest.RegisterPrefixはImapWebRequestCreator.RegisterPrefixで行うようにした
      • RequestStreamへの書き込み待ち合わせにAutoResetEventを使用していた箇所をMonitorに置き換えた
      • ImapWebRequestDefaults.Subscriptionがtrueの場合はLSUB、falseの場合はLISTをImapWebRequest.Methodプロパティのデフォルトとするようにした

0.24と0.25のパフォーマンスの比較。

テストケース テスト環境
Ubuntu 9.10 + Mono(r148762) Windows Vista + .NET Framework 3.5
4kBのメッセージを1500回ダウンロード
2回試行
[1]06.05sec -> 03.80sec
[2]06.40sec -> 04.46sec
[1]03.94sec -> 03.68sec
[2]04.04sec -> 03.57sec
17MBのメッセージを10回ダウンロード
2回試行
[1]45.00sec -> 31.95sec
[2]46.43sec -> 32.78sec
[1]37.09sec -> 32.54sec
[2]36.99sec -> 32.63sec

0.24 (2010-02-06)

主にIMAP URL関連の修正と、WebClients名前空間のクラスでの非ASCII文字を含む検索とpartial fetchのサポート。

  • 機能追加
    • ImapUriBuilderの実装を追加
    • WebClients名前空間
      • 検索クエリに非ASCII文字および同期リテラル・非同期リテラルを含むURLでのSEARCH/SORT/THREADをリクエストできるようにした (同期リテラルはリクエスト前に非同期リテラルに書き換え)
      • /;SECTION=および/;PARTIAL=を含むURLでのリクエストできるようにした
      • サーバがCOPYUIDレスポンスコードを返す場合、ImapWebResponse.ResponseUriに返されたUIDを含むURLを設定するようにした
      • ImapWebRequest.Subscriptionプロパティを追加 (trueの場合、作成・削除・リネームする際にメールボックスの購読・購読解除を同時に行う)
      • ImapWebResponse.SupportedCharsetsプロパティを追加 (BADCHASETレスポンスコードでサーバがサポートする文字コードを返してきた場合、Encoding型に変換して取得)
  • 修正・改善
    • IMAP URL関連
      • ImapStyleUriParserの実装を整理、IMAP URL Schemeに従った動作となるようにエスケープされた文字を含むURLの取扱いを修正
      • クエリのデリミタのみを含むURL(例 imap://localhost/INBOX/?)が検索クエリを含んでいないと判断される不具合を修正
      • ImapMailbox.Url, ImapMessage.Urlのメールボックス名がModified UTF7でエンコードされていたものを、UTF-8+URLエンコードでエンコードするように修正
      • ImapMailbox.Url, ImapMessage.Urlのメールボックス名を'/'で終端しないようにした
      • クエリ・UIDなどが含まれていてメールボックス名を含まないURL(例 imap://localhost/?...、imap://localhost/;uid=1)を不正なURLとして扱うようにした
      • Modified-UTF7エンコードされたメールボックス名が含まれているURLからメールボックス名を取得する場合、デコードせずModified-UTF7エンコードされたままの値を取得するようにした
      • URLのクエリに同期リテラルを含む場合、非同期リテラルに書き換えた上でSEARCHコマンドを開始するようにした
    • コマンド送受信関連
      • BADCHASETレスポンスコードに文字コードが含まれている場合、パースエラーとなる不具合を修正
      • 長さを指定せず開始オクテットのみの指定でpartial fetchできてしまう不具合を修正
      • 空のsequence-set, uid-setと結合した場合に、文字列中に不要な','が含まれる不具合を修正
      • ImapSession.EndAppendが呼ばれる前にImapSession.BeginAppendを呼んでも例外とならない場合がある不具合を修正
      • ImapSession.BeginAppendを呼び出した場合、処理が開始されるまではIAsyncResultを返さないようにした
      • saved result($)を含むImapMatchedSequenceSetのToArrayを呼んだ場合、NotSupportedExceptionをスローするようにした
      • 接続時に不正なレスポンスを受信した場合、タイムアウトまで待ち合わせず、即座にImapConnectionExceptionをスローするようにした
    • 認証処理関連
      • ImapSession.Credentialsプロパティを廃止し、ICredentialsByHostは認証系メソッドの引数で受け渡すように変更 (ICredentialsByHostのインスタンスを参照したままにしないための処置)
      • 認証時に参照するNetworkCredentialのUserNameおよびPasswordプロパティがnullだった場合の動作を整理、例外をスローせず認証をキャンセルするようにした
    • WebClients名前空間
      • ImapWebRequest.SearchCriteriaEncodingプロパティを削除 (検索クエリの文字コードはリクエストURL内で指定されているものとして処理するように実装を変更)
      • APPENDコマンドでのRequestStreamへの書き込み中に、書き込み遅延が起きていなくてもバッファーアンダーランが発生する不具合を修正
      • サーバがLITERAL+に対応していても、APPENDコマンドでは常に同期リテラルを使用するようにした
      • サーバがLITERAL+に対応していない場合で、URLのクエリ部分にリテラルを含む場合、ProtocolViolationExceptionをスローするようにした
      • FETCHコマンドでのメッセージの属性とメッセージ本文の取得を単一のコマンドで行うようにした
      • FETCHコマンドで取得するメッセージの属性を、ALLマクロ相当からFULLマクロ相当の値に変更

0.23 (2010-01-30)

主に未サポートだった拡張の実装、メールボックス操作系コマンドの実装不備の修正。

  • 機能追加
    • SASL-IRに対応
    • COMPARATORに対応(実機での動作は未確認)
    • LANGUAGEに対応(実機での動作は未確認)
    • Gimap XLISTコマンドに対応
    • Extension to IMAP CREATE command to set special-use flagsに対応
    • draft-ietf-morg-status-in-list-01に対応
    • ImapMailbox.Url, ImapMessage.UrlにUIDVALIDTYを含めるようにした
    • コマンドを発行する際に引数のチェックを行い、ArgumentExceptionをスローするようにした(未完了につき不完全)
    • プロトコル上不正な以下の操作を行おうとした場合、ImapProtocolViolationException(SystemExceptionから派生)をスローするようにした
      • 選択済みメールボックスに対してSTATUSしようとした場合
      • \NoSelectフラグが設定されているメールボックスに対してSTATUSしようとした場合
      • \NoSelectフラグが設定されていて、下位のメールボックスを持つ既知のメールボックスをDELETEしようとした場合
      • 既知のメールボックス名にRENAMEしようとした場合
      • 既知のメールボックス名でCREATEしようとした場合
      • INBOXをCREATEしようとした場合
      • 上記以外でInvalidOperationExceptionをスローしていた箇所はImapProtocolViolationExceptionに変更
    • コマンド処理中にタイムアウト値を変更しようとした場合、InvalidOperationExceptionをスローするようにした
    • ImapSession.ServerID, ImapSession.ServerCapabilitiesに対してコレクションの変更を行おうとした場合、NotSupportedExceptionをスローするようにした
    • WebClients名前空間
      • XLISTコマンドを発行できるようにした
      • RENAMEに成功した後、変更前のメールボックスをUNSUBSCRIBEするようにした
      • RENAMEに成功した後、下位のメールボックスに対してSUBSCRIBE/UNSUBSCRIBEするようにした
      • DELETEに成功した後、削除したメールボックスをUNSUBSCRIBEするようにした
      • COPYで自動的にメールボックスを作成した後、作成したメールボックスをSUBSCRIBEするようにした
      • 単一のメッセージを表すURL形式でもCOPYできるようにした
      • サーバがサポートしない機能を使用しようとした場合、およびプロトコル上不正な操作を行おうとした場合、System.Net.ProtocolViolationExceptionをスローするようにした
  • 修正・改善
    • 受信したレスポンスをstringで保持する機能を削除
    • コマンド[LIST "" ""]を送信できない、レスポンスを受信できない不具合を修正
    • 同一メッセージのFETCHレスポンスが複数に分割して返された場合、複数のメッセージとして解釈してしまう不具合を修正
    • RLSUB/RLISTのレスポンスを正しく取得していない不具合を修正
    • ImapSession.HandlesIncapableAsExceptionがtrueの場合かつ、サーバがIMAP4rev1に対応していないかCAPABILITYコマンド未発行の場合、CAPABILITYコマンドが発行できない不具合を修正
    • RENAMEで下位のメールボックスをもつメールボックスの名前を変更した場合、内部で管理している下位のメールボックス名も変更するようにした
    • 切断状態になった時点でImapSession.SelectedMailboxをnullにするように修正
    • 選択済みメールボックスに対してRENAMEしても例外を送出しないように変更
    • 選択済みメールボックスに対してDELETEしても例外を送出しないように変更
    • ImapSession.BeginIdleメソッドでIDLEを開始した後、継続要求応答もしくはエラー応答が返されるまではIAsyncResultを返さないように変更
    • ImapSession.Idleメソッドでタイムアウト時間を指定してIDLEを開始した場合、エラー応答が返された場合は即座に結果を返すように変更
    • ImapSession.StatusChangedイベントを廃止し、ImapSession.Idleメソッドへコールバック用のデリゲートを指定できるように変更
    • ImapSession.(Begin)IdleメソッドでIDLEを開始した後TraceSourceにアイドル中であることを出力する間隔を、ImapSession.ReceiveTimeoutから30秒の固定値に変更

0.22 (2010-01-23)

主にWebClients名前空間のクラスの改善。

  • 機能追加
    • INBOXをDELETEしようとした場合、InvalidOperationExceptionをスローするようにした
    • コマンド実行中にタイムアウトが発生した場合、TimeoutExceptionをスローするようにした
    • コマンドを発行する際に引数のチェックを行い、ArgumentExceptionをスローするようにした(未完了につき不完全)
    • WebClients名前空間
      • 任意の形式のIMAP URLでNOOPコマンドを発行できるようにした
      • CHECKコマンド、SELECTコマンドを発行できるようにした
      • リクエスト実行中にImapWebRequestの各プロパティを設定しようとした場合、InvalidOperationExceptionをスローするようにした (未完了につき不完全)
      • ImapWebRequest.MethodプロパティおよびImapWebRequest.DestinationUriプロパティの値のチェックを、リクエスト実行時ではなく値の設定時に行うようにした
      • ImapWebRequest.MethodプロパティがFETCHの場合、取得するメッセージのContent-TypeをWebResponse.ContentTypeプロパティに設定するようにした
      • ImapWebRequest.UsingSaslMechanismsプロパティを追加 (AUTH=*が指定された時に使用する認証メカニズムとその優先順位を指定)
      • ImapWebRequest.ReadWriteTimeoutプロパティを追加 (ソケットの送受信などのタイムアウト時間を指定、デフォルトは5分)
      • ImapWebRequest.FetchBlockSizeプロパティを追加 (メッセージを取得する際に一回のFETCHコマンドで取得するブロックのサイズを指定、デフォルトは10240)
      • WebClient.Download*Asyncメソッドから呼び出されても正しく動作するようにした
  • 修正・改善
    • LIST/LSUBを発行せずにRENAMEすると例外エラーとなる不具合を修正
    • ImapSession.ReceiveTimeoutを設定・取得しようとするとImapSession.SendTimeoutが設定・取得されてしまう不具合を修正
    • タイムアウト関連の実装を整理
    • タイムアウト・内部例外エラーが発生した場合、セッションを切断・破棄するように変更
    • WebClients名前空間
      • 名前空間をWebClientからWebClientsに変更
      • Imap*Exceptionなど内部で発生した例外をWebExceptionにラップしてスローするように修正
      • STARTTLSを発行した後でも、レスポンス・メールボックス等のURLのスキーム部分をimapのままにするように修正
      • AUTH=*の場合、LOGINDISABLEDが指示されていてもLOGINコマンドを発行してしまう不具合を修正
      • ImapWebRequest.BeginGetResponseメソッドにコールバックメソッドを指定しても呼び出されない不具合を修正
      • ImapWebRequest.KeepAliveプロパティがtrueの場合、異なるメールボックスを選択する際にUNSELECTコマンドを使用しないよう変更
      • ImapWebRequest.MethodプロパティがNOOPの場合、NOOPコマンドが2回発行されてしまう不具合を修正
      • ImapWebRequest.MethodプロパティがFETCHの場合、該当するメッセージが無い場合にWebExceptionStatus.SuccessのWebExceptionをスローするようにした
      • ImapWebRequest.MethodプロパティがCOPYの場合、AllowCreateMailboxプロパティに指定されている値と逆の動作になる不具合を修正
      • その他、HttpWebRequest・FtpWebRequest等と同じような動作となるように改善
  • その他
    • WebClients名前空間のテストケースを追加
    • 上記以外の細かい修正など

0.21 (2009-12-16)

  • 機能追加
    • WebClient名前空間
      • ImapWebRequest.ReadOnlyプロパティを追加 (SELECTが指定されない限りEXPUNGEでメールボックスを選択する)
      • ImapWebRequest.AllowCreateMailboxプロパティを追加 (TRYCREATEレスポンスコードが返された場合、自動的にメールボックスを作成。 COPYのみで有効)
      • ImapWebRequest.ExpectedErrorResponseCodesプロパティを追加 (予期されるレスポンスコードが返された場合はWebExceptionをスローしない)
  • 修正・改善
    • DIGEST-MD5認証時にOverflowExceptionとなる不具合を修正(Windowsのみ)
    • COMPRESS=DEFLATEの実装を無効化 (呼び出した場合NotImplementedExceptionをスロー)
    • ImapUriクラスを廃止、IMAP URL関連の実装を修正
    • WebClient名前空間
      • 検索条件にマッチするメッセージが無い場合に例外エラーとなる不具合を修正
      • CREATE/RENAME後にLSUBでメールボックスの属性を更新するように改善
  • その他
    • アセンブリ名・名前空間をSmdn.Protocols.Imap4からSmdn.Net.Imap4に改名
    • アセンブリ構成を変更

0.20 (2009-06-13)

  • 機能追加
  • 修正・改善
    • コマンド・リクエストの処理をセッションに共通スレッドからセッション毎のスレッドプールを使用するように変更
    • リクエストの処理速度を改善
  • その他
    • ライセンスをMIT X11に変更

0.13 (2008-04-27)

  • STARTTLSコマンドによるTLSへのアップグレードに対応
  • 不正な形式のModified UTF-7文字列のデコードで例外となる場合の対処を追加
  • PREAUTH応答のグリーティングメッセージからのcapability dataの取得に失敗する不具合を修正
  • FETCHリクエストを10240オクテット毎にpartial fetchするように改善
  • 未知の種類のBODYSTRUCTUREの場合でも解析を継続するように改善

0.12 (2008-04-07)

  • Modified UTF-7(日本語等非ASCII文字を含むメールボックス名)に対応
  • レスポンス解析処理のバグを修正
  • IDLE後のレスポンス処理が即座に行われない不具合を修正
  • HMACMD5アルゴリズムの実装を独自の実装からライブラリ標準のクラスを用いたものに変更

0.11 (2008-03-10)

  • グリーティングメッセージからのcapability dataの取得に失敗する不具合を修正
  • セッションのステートチェック処理の誤りを修正
  • AUTHENTICATEで使用できる認証方法がない場合の動作を変更

0.10 (2008-03-06)

  • 初版