Skip to content

2.0.0-alpha.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@emersion emersion released this 17 Mar 19:57
v2.0.0-alpha.1
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