2.0.0-alpha.1
Pre-release
Pre-release
go-imap v2.0.0-alpha.1 Simon Ser (140): Initial commit imapwire: add IMAP encoder and decoder imapclient: add IMAP client imapwire: add support for encoding literals imapclient: add support for continuation requests imapclient: add APPEND imapwire: add Decoder.Skip imapwire: include last unread byte in error messages imapclient: add SELECT imapwire: add Encoder.{Special,Number,Number64} imapwire: add Decoder.Number64 imapwire: add support for decoding literals imapclient: add FETCH imapclient: add STARTTLS imapclient: add IDLE imapclient: make beginCommand take the command as input imapclient: add commandEncoder imapclient: track continuation requests per-command imapclient: use per-command encoder imapwire: make literals cancellable imapwire: add some docs imapclient: move Client.read up imapclient: return data from SELECT command imapclient: add Options imapclient: add basic support for unilateral data imapclient: fix races in StartTLS and Idle imapwire: don't panic on number64 overflow imapwire: add number decoding methods imapclient: add STATUS imapwire: add Encoder.List imapwire: add Decoder.ExpectList imapclient: simplify FetchCommand.Next imapclient: fix FETCH replies dropped by FetchCommand.Next imapwire: add Decoder.Quoted imapclient: add LIST imapclient: add ListCommand.Collect imapclient: add FetchItem imapclient: decode FETCH FLAGS imapclient: add FetchCommand.Collect and FetchMessageData.Collect imapclient: add FetchMessageData.SeqNum imapwire: accept literals in Decoder.ExpectAString imapclient: handle nil literal in FETCH BODY[] imapclient: add FETCH ENVELOPE imap: add toplevel package doc comment imapclient: add FETCH INTERNALDATE imapclient: split FetchMessageBuffer item handling in function imapclient: add FETCH RFC822.SIZE imapclient: add FETCH UID imapclient: add FETCH BODYSTRUCTURE imapclient: add BodyStructureSinglePart.Filename imapclient: add BodyStructure.Walk imapclient: add BodyStructure.Disposition imap: add SeqSet imapclient: take SeqSet as input in Client.Fetch imapwire: make SP optional before parenthesized list imapclient: add FetchItemDataBodyStructure.IsExtended imap: move over MailboxAttr imap: add Flag imapclient: add Options.WordDecoder internal/utf7: new package imapwire: encode/decode UTF-7 in mailbox names imapclient: use imapwire.Decoder.ExpectMailbox imapclient: turn FetchItem into an interface imapclient: decode FETCH BINARY.SIZE[] imapclient: handle FETCH BODY[] and BINARY[] imapclient: collect BINARY.SIZE[] in FetchMessageBuffer imapclient: add UIDFetch imapclient: add DialStartTLS imapclient: populate tls.Config.NextProtos imapclient: split into per-command files imapclient: add EXPUNGE imapclient: add STORE imapclient: add MOVE imapclient: add COPY imapclient: make text optional when decoding continuation request imapwire: add ContinuationRequest imapclient: add AUTHENTICATE imapclient: complete commands when decoder goroutine exits imapclient: recover from panics in decoder goroutine imapclient: handle initial greeting imapclient: add EXAMINE imap: add StatusResponse and Error imapclient: add options to Client.Append imap: add SeqSet.Nums imapclient: add SEARCH imapclient: add CREATE and DELETE imapclient: add RENAME imapclient: add SUBSCRIBE and UNSUBSCRIBE imapclient: add UNSELECT imapclient: add CLOSE imapclient: add UID EXPUNGE imapclient: decode PERMANENTFLAGS, UIDNEXT and UIDVALIDITY imap: add FlagWildcard imapclient: add State imapclient: drop LogoutCommand imapclient: always use string for LIST pattern imapclient: add extended LIST imapclient: attach STATUS responses to ListData imap: add Cap and CapSet imapclient: add ENABLE imapclient: add Client.Caps imapclient: replace FetchItemDataSection with two variants imapclient: drop FetchItemData.FetchItem imapwire: use pointer args for Number/Number64 imapclient: decode and expose APPENDUID imapclient: parse and expose COPYUID in reply to COPY command imapclient: handle ENABLED response imapclient: handle COPYUID response code for MOVE commands imapclient: add SelectData.List imapclient: document optional SelectData fields in RFC 2060 imapclient: validate flags before encoding them imapclient: document requirements for IMAP4rev2 imapclient: switch unilateral data handler to a struct imapclient: add Client.{Mailbox,NumMessages} fixup! imapclient: switch unilateral data handler to a struct imapclient: print stack trace on panic in decoder goroutine imapclient: add SelectedMailbox imapclient: propagate decoder goroutine errors imapclient: fix deadlock when server sends unilateral FETCH imapclient: set read timeout imapclient: set write timeout imapclient: add support for LITERAL- imapclient: add flags to UnilateralDataMailbox imapclient: add UnilateralDataHandler.Fetch imap: STATUS=SIZE is part of IMAP4rev2 imapclient: add support for APPENDLIMIT imapclient: fix command priority in STATUS response handler imapclient: match mailbox when handling STATUS response imapclient: restrict generic type in findPendingCmdByType imapclient: improve FETCH response routing imapclient: fix command priority in LIST response handler imapclient: implement fallback for MOVE imapclient: add support for NAMESPACE imapclient: add example ci: add .build.yml imapwire: rename Decoder.Skip to DiscardUntilByte imapwire: add Decoder.DiscardValue readme: add CI badge imapclient: add METADATA imapclient: drop ALL from criteria in SEARCH command