Skip to content

Releases: emersion/go-imap

2.0.0-beta.4

28 Sep 13:33
v2.0.0-beta.4
Compare
Choose a tag to compare
2.0.0-beta.4 Pre-release
Pre-release
go-imap v2.0.0-beta.4

Alireza Ghasemi (1):
      imapclient: fixup fetch BINARY.SIZE decode bug

Ksenia Roshchina (6):
      imap: add ACL types
      imapclient: add MYRIGHTS command
      imapclient: add SETACL command
      imapclient: add GETACL command
      imapclient: turn on ACL extension for Dovecot
      imapclient: add ACL tests

Simon Ser (7):
      imapclient: add timeout to Client.Caps
      readme: drop CI badge
      imapclient: fix missing UIDPLUS metadata in MOVE fallback
      imap: add a few recently standardized capabilities
      imapclient: add EXPUNGE test
      imapclient: avoid leaking cmd.Wait method
      imapclient: handle nil literals

Zhi Qu (4):
      imapclient: add support for ID
      Ignore space before first item in flag list
      imapwire: allow closing bracket in astring
      imapclient: remove outer parentheses in SEARCH criteria

2.0.0-beta.3

25 Apr 10:55
v2.0.0-beta.3
Compare
Choose a tag to compare
2.0.0-beta.3 Pre-release
Pre-release
go-imap v2.0.0-beta.3

Conrad Hoffmann (1):
      imapclient: add DialInsecure() for plain-text IMAP

Simon Ser (25):
      imapclient: treat io.ErrClosedPipe as net.ErrClosed
      imapclient: stop IdleCommand.run when connection is closed
      imapclient: allow IdleCommand.Wait to be called before Close
      imapclient: add Create test
      imapclient: UTF-7-encode pattern in List
      utf7: use named field in struct literal
      utf7: accept raw UTF-8 when decoding
      utf7: add AcceptUTF8Encoding
      imapwire: don't encode UTF-8 in mailboxes with UTF8=ACCEPT
      imapclient: add Create test with UTF-8 characters
      utf7: simplify implementation
      utf7: drop repl
      Upgrade github.com/emersion/go-message
      imapclient: fix data race with Command.tag
      imapclient: add basic SELECT test
      imapclient: fix race condition in test initialization
      imapserver: fix race condition in Server.Close
      imapclient: add STARTTLS test
      imapclient: wait for handshake to complete during STARTTLS
      imapclient: document upgradeStartTLS
      imapclient: use defer to close startTLSCommand.upgradeDone
      imapclient: add STATUS test
      imapclient: add LIST test
      imapclient: set separator to "/" in Dovecot tests
      imapclient: fix timeout for initial greeting

2.0.0-beta.2

20 Mar 15:26
v2.0.0-beta.2
f438355
Compare
Choose a tag to compare
2.0.0-beta.2 Pre-release
Pre-release
go-imap v2.0.0-beta.2

Ksenia Roshchina (1):
      imapclient: handle nil options in Client.Status

Shugyousha (1):
      imapclient/search: handle UID SEARCH results without hits

Simon Ser (11):
      imapclient: add NewStartTLS
      imapclient: ensure nil Options are correctly handled
      imapclient: accept IMAP4rev2 in ENABLE command
      imapclient: set debug writer when running verbose tests
      imapclient: use IMAP command to append test data
      imapclient: add env var to run tests with Dovecot
      ci: run client tests with Dovecot
      imapclient: set default dial timeout to 30s
      imapclient: fix missing SelectCommand.Wait call in Idle example
      imapclient: add basic ESEARCH test
      imapclient: turn on IMAP4rev2 for imapmemserver

jebbs (1):
      imapwire: accept trailing space in CAPABILITY/SEARCH responses

2.0.0-beta.1

07 Feb 15:56
v2.0.0-beta.1
Compare
Choose a tag to compare
2.0.0-beta.1 Pre-release
Pre-release
go-imap v2.0.0-beta.1

This is the first beta release. The API hasn't stabilized yet but no
more major/invasive changes are expected.

Diana F (1):
      imapclient: fix deadlock on error before greeting

Matthieu Rakotojaona (1):
      Write all found params keys in lowercase, mime-decode values

Simon Ser (23):
      imapserver: fix encoding ESEARCH response with no result
      imapmemserver: fix dynamic NumSet handling in nested search criteria
      imapserver: add support for SEARCHRES
      imapmemserver: implement SEARCHRES
      Decode In-Reply-To and Message-ID
      imapwire: add -1 workaround for body-fld-octets
      imapwire: limit max list nesting depth
      imapclient: add Options.TLSConfig
      imapclient: check for nil in Options.tlsConfig
      imapclient: unexport Client.StartTLS
      imapclient: keep track of enabled capabilities
      imapclient: add basic support for UTF8=ACCEPT
      imap: QRESYNC implicitly advertises CONDSTORE
      imapclient: only allow users to enable supported extensions
      imapclient: omit CHARSET in SEARCH when UTF8=ACCEPT is enabled
      imapserver: add support for UTF8=ACCEPT
      imap: UTF8=ONLY implies UTF8=ACCEPT
      imapclient: drop GetMetadataData.EntryList
      imapclient: add UnilateralDataHandler.Metadata
      imapclient: handle split METADATA responses
      imapclient: improve METADATA routing robustness
      imapserver: add BINARY support
      imapclient: add TODO for the APPEND side of BINARY

2.0.0-alpha.8

10 Jan 17:34
v2.0.0-alpha.8
Compare
Choose a tag to compare
2.0.0-alpha.8 Pre-release
Pre-release
go-imap v2.0.0-alpha.8

This release introduces a new UID type, as well as separate types for
message sequence number sets and UID sets. SeqSet now contains only
sequence numbers, and the new UIDSet type contains only UIDs. The NumSet
type is used when both SeqSet and UIDSet are accepted. Client.UID*
methods have been removed (the non-UID variant now accepts UIDSet).

Alexander Kazantsev (1):
      imapmemserver: fix usage NumUnseen instead of NumDeleted

Diana F (3):
      add rfc 8457 mailbox attr
      imapclient: fix closing unread Fetch body
      imapclient: Close returned err.NetClosed after Logout

Matthieu Rakotojaona (1):
      imapclient: allow NIL Content-Transfer-Encoding in body structure

Simon Ser (26):
      imap: add examples for SearchCriteria.Not and Or
      imapclient: accept missing message and text fields in body structure
      imapclient: move examples to example_test.go
      imapclient: add basic login test
      imapclient: add basic idle test
      imapclient: fix panic on nil options in Fetch
      imapclient: make encoding errors fatal
      imapclient: add invalid fetch command test
      Introduce a UID type
      imapwire: add dedicated UID functions
      Rename SeqSet to NumSet
      Rename Seq to NumRange
      Move NumSet parsing to imapwire
      ci: add gofmt check
      imapclient: fix routing for FETCH responses to STORE commands
      imapclient: add STORE test
      imapclient: fix net.ErrClosed decoder check
      Upgrade dependencies
      imapclient: add Fetch example which parses the body
      imap: add a few examples to FetchItemBodySection docs
      imapclient: fix typo in example name
      imapclient: remove outdated TODO
      imapclient: ensure SEARCH ALL set is not dynamic
      imapclient: ensure COPYUID set is not dynamic
      imapclient: add basic Append test
      Add SeqSet and UIDSet

2.0.0-alpha.7

05 Oct 10:45
v2.0.0-alpha.7
Compare
Choose a tag to compare
2.0.0-alpha.7 Pre-release
Pre-release
go-imap v2.0.0-alpha.7

Simon Ser (13):
      imapclient: add CONDSTORE
      imapserver: add UNAUTHENTICATE support
      imapclient: drop special case for BYE response-data handling
      imapclient: fix stalled commands on readResponseTagged() error
      imapclient: relax text requirements for resp-cond-bye
      imapclient: relax text requirements for resp-cond-state
      imapwire: accept trailing space before CRLF
      imapclient: fix missing import in charset decoding docs
      imapclient: simplify charset instructions
      imapclient: drop unused Client.unregisterContReq
      imap: add AuthCap
      imapclient: add AUTHENTICATE example
      imapclient: restart IDLE automatically

Tim Culverhouse (1):
      imapclient: add SPECIAL-USE LIST option support

2.0.0-alpha.6

05 Jul 07:41
v2.0.0-alpha.6
Compare
Choose a tag to compare
2.0.0-alpha.6 Pre-release
Pre-release
go-imap v2.0.0-alpha.6

Andrew Regner (1):
      imapclient: fix FetchItems to end encoded list

2.0.0-alpha.5

29 Jun 08:42
v2.0.0-alpha.5
Compare
Choose a tag to compare
2.0.0-alpha.5 Pre-release
Pre-release
go-imap v2.0.0-alpha.5

The main change is around FETCH: the items to fetch are no longer passed
as a list, instead FetchOptions struct fields are used.

Simon Ser (6):
      go fmt
      imapclient: add IDLE example
      imapclient: add docs about charset decoding
      imapserver: pass extended bool to writeBodyStructure
      imap: turn FetchItem into FetchOptions
      imap: improve docs for various FETCH-related structs

2.0.0-alpha.4

30 Apr 13:29
v2.0.0-alpha.4
Compare
Choose a tag to compare
2.0.0-alpha.4 Pre-release
Pre-release
go-imap v2.0.0-alpha.4

Simon Ser (13):
      cmd/imapmemserver: fix -tls-cert/key flags
      imap: switch Envelope.Date to time.Time
      imap: convert SearchReturnOption into struct fields
      imap: replace StatusItem with StatusOptions
      imapserver: add LITERAL+
      imapwire: remove misleading UTF8=ACCEPT reference
      imapclient: add LITERAL+
      imapclient: fix deadlock during STARTTLS
      imap: allow multiple SeqSets per SearchCriteria
      imap: add SearchCriteria.And
      imapserver: simplify readSearchKeyWithAtom
      imapclient: remove SeqNum special case when encoding SEARCH
      Add support for SEARCHRES

2.0.0-alpha.3

17 Apr 08:57
v2.0.0-alpha.3
Compare
Choose a tag to compare
2.0.0-alpha.3 Pre-release
Pre-release
go-imap v2.0.0-alpha.3

Simon Ser (42):
      cmd/imapmemserver: new command
      cmd/imapmemserver: fix -password flag
      imapmemserver: add per-mailbox UIDVALIDITY
      imapmemserver: bump UIDVALIDITY when a mailbox is re-created
      imapmemserver: return NONEXISTENT/ALREADYEXISTS response codes
      imapmemserver: return TRYCREATE for COPY and MOVE
      readme: add usage and note about v1
      imapserver: add Server.ListenAndServe{,TLS}
      imapclient: make text after resp-text-code optional
      imapwire: use unicode.MaxASCII
      imapclient: use CHARSET for SEARCH when necessary
      imapclient: refuse PREAUTH when using STARTTLS
      imapclient: fix typo
      imapserver: error greeting can only be BYE
      imapserver: add support for custom SASL mechanisms
      imapserver: rename variable in handleAuthenticate
      imap: add placeholder for Error with no text
      imap: include response code in Error message
      imapclient: ignore literal8 marker for FETCH BINARY[]
      imapserver: send literal8 marker for FETCH BINARY[]
      imapwire: add Encoder.SeqSet
      imap: add SelectOptions
      imap: add CreateOptions
      imapserver: add missing CreateOptions argument
      imapclient: don't encode UTF-8 quoted strings with UTF8=ACCEPT
      imap: add FetchOptions
      imap: add StoreOptions
      imapclient: add support for UNAUTHENTICATE
      Add support for CREATE-SPECIAL-USE
      imapserver: allow CREATE-SPECIAL-USE to be advertised by the backend
      imapserver: allow CREATE-SPECIAL-USE to be advertised with IMAP4rev2
      imapclient: simplify UIDNEXT/UIDVALIDITY parsing
      imapclient: request capabilities if needed
      internal: rename ReadFlag{,List} to ExpectFlag{,List}
      imapwire: add Encoder.MailboxAttr
      internal: add ExpectMailboxAttr{,List}
      internal: canonicalize well-known flags and mailbox attrs
      imapserver: add support for PREAUTH
      imapclient: add a few more examples
      imapclient: add streaming LIST example
      imapclient: add pipelining example
      imapserver: forbid unknown commands before authentication

mariwilliam (1):
      imapclient: fix deadlock in commandEncoder.Literal