We've had numerous bugs due to improper MIME comparisons and dealing
with Content-Type and Content-Disposition (or their lack of presence
in a message). Now the Engine offers MIME classes that better deal
with these issues without exporting the GMime structures, which
are not as easy to manage and don't offer some of the things that
have bitten us in the past (such as case-insensitive comparisons).
Two problems:
(a) Vala 0.22.1 fixes a binding change in libnotify
that has to be fixed but causes Geary to be unable to build on prior
versions of Vala. libnotify.vapi added to solve this problem.
(b) New version of Vala appears to be more sensitive to detecting
problems in .gir files. Using our .metadata file to paper over these
issues in WebKit-3.0.gir.
With IceWarp IMAP server, the non-wildcarded form of LIST that
Geary was some times using was causing the Spam folder to return
a different name, triggering an assertion in Geary. This patch
works around that problem using an internal cache of folder names
and attributes, which is something we should've been doing anyway.
This constructor didn't initialize the required RFC822.Date field,
which causes a crash with the geary-mailer (and could potentially
cause issues elsewhere in the future). However, had to expand the
RFC822.Date class in order to accomodate this fix.
Geary will autodetect which version of the library is installed
and select the appropriate .metadata file to use for bindings.
Still backwards-compatible with Geary 1.10 to 2.0.
Previously ClientSession.connect_async() could leave the object in
a LOGGED_OUT state if the connection was denied by the server or
a timeout occurred when connecting. This was bad because that
state indicates that the underlying connection may still be active
and needs an async close to occur. Now connect_async() guarantees
that the connection is closed/disconnected/dead if it throws an
Error.
Not sure if something changed in git, but we discovered the debian
directory was being included in the dist tarball, after Geary 0.3. This
change seems to fix it in modern git.
Unfortunately, CMake doesn't allow us to exclude WebKitGTK 2.1.1
to 2.1.90.0, which are the versions that don't have the symbols
we need to build cleanly. We'll have to assume that anyone building
with an installed WebKitGTK package is using a stable release.
Found a hole in vector synchronization that could cause new
message UIDs not to be pulled. However, did set epoch for
account synchronizing to 1971 (rather than 1 A.D.) out of sanity's
sake.
The pipes from last time were probably allowing any webkitgtk version,
which isn't what we want. With this, we don't support old builds, but
we don't even try to support old builds anyway.