--save-temps only speeds up compilation when valac is invoked for compile-only and C compilation and linking are done separately and in parallel. Since --save-temps leaves a lot of extraneous files sitting around that clutter "git status" (see #3690), removing it from the Makefile.
Message contents are now fetched from the server and displayed in the third pane when a message is selected. Also made session management a bit smarter via ReferenceSemantics.
The result of a SELECT or EXAMINE command is now parsed and returned to the caller. This information is boiled down to the Geary.Folder interface, which adds information about the folder to the object.
The ClientSessionManager maintains a pool of connections to an IMAP server, reusing them whenever possible. It allows for multiple folders to be managed and monitored by an application without having to change contexts constantly (which also introduces side-effects, esp. with expunging deleted messages).
geary now has an (unsorted) list of folders in its sidebar. When one is clicked on the messages in that folder are displayed. This patch also fixes an issue in the Serializer that wasn't dealing with quoted strings properly.
This adds a VAPI (including generation files and Makefile) for GMime to the repo, which we'll be using extensively to come. This VAPI is incomplete in many ways, so care should be used going forward.
Also, with GMime now interpreting RFC822 dates, can now pretty-print them. Prettier From: names also added this time around.
Client code will display a window listing Date, Subject, and From of all messages in inbox. Username and password must be specified as a command argument. Note that current IMAP envelope parsing doesn't handle group lists, which means some messages will be skipped over.
ClientSession can now automatically send NOOP commands as keepalives at a specified interval. Also, the CommandResponse decoders have been moved into their own directory (they will soon be fertile and multiply). More work ahead on the FetchResults object, which should be like NoopResults and completely encapsulate all the information returned from a FETCH.
Implemented a first stab at buffer management for IMAP literals. Added FETCH decoding of various RFC822 elements. Implemented a crude readmail program which will dump the full RFC822 message of any message in a mailbox.
Library now uses an extensible system for decoding the various structured data that FETCH returns. This system may be expanded later for decoding other CommandResponses (although FETCH is the command most in need of this). Also created an RFC822 directory for data structures and code to deal with mail messages and a common directory for code that is used throughout the library but doesn't belong to util as they're "core" classes.