[gmime-devel] GMime 3.0.0 released
- From: Jeffrey Stedfast <fejj gnome org>
- To: gmime development <gmime-devel-list gnome org>
- Subject: [gmime-devel] GMime 3.0.0 released
- Date: Sun, 23 Apr 2017 12:17:22 -0400
After a long hiatus from GMime development, I am pleased to announce the
release of GMime 3.0.0!
See below for a list of new features and bug fixes.
About GMime
===========
GMime is a C library which may be used for the creation and parsing of
messages using the Multipurpose Internet Mail Extension (MIME), as
defined by numerous IETF specifications.
GMime features an extremely robust high-performance parser designed to
be able to preserve byte-for-byte information allowing developers to
re-seralize the parsed messages back to a stream exactly as the parser
found them. It also features integrated GnuPG and S/MIME v3.2 support.
Built on top of GObject (the object system used by the GNOME desktop),
many developers should find its API design and memory management very
familiar.
Noteworthy changes in version 3.0.0
===================================
* Overhauled the GnuPG support to use GPGME under the hood rather
than a custom wrapper.
* Added S/MIME support, also thanks to GPGME.
* Added International Domain Name support via GNU's libidn.
* Improved the GMimeMessage APIs for accessing the common address
headers. They now all return an InternetAddressList.
* g_mime_init() no longer takes any flag arguments and the
g_mime_set_user_charsets() API has also been dropped. Instead,
GMimeParserOptions and GMimeFormatOptions have taken the place of these
APIs to allow customization of various parser and formatting options in
a much cleaner way. To facilitate this, many parsing functions and
formatting functions have changed to now take these options arguments.
* InternetAddress now has a 'charset' property that can be set to
override GMime's auto-detection of the best charset to use when encoding
names.
* GMimeHeaderIter has been dropped in favor of a much simpler
index-based API on GMimeHeaderList.
* GMimeHeaderList no longer caches the raw message/mime headers in
a stream. Instead, each GMimeHeader now has its own cache. This means
that changing the GMimeHeaderList or any of its GMimeHeaders no longer
invalidates the entire cache.
* GMimeParser has been fixed to preserve (munged or otherwise)
From-lines that sometimes appear at the start of the content of
message/rfc822 parts.
* GMimeParser now also scans for encapsulated PGP blocks within
MIME parts as it is parsing them and sets a flag on each GMimePart that
contains one of these blocks.
* GMimePart now has APIs for dealing with said encapsulated PGP blocks.
Developers interested in migrating to the upcoming GMime 3.0 API should
take a look at the PORTING document included with the source code as it
contains a fairly comprehensive list of the API changes that they will
need to be aware of.
Getting the Source Code
=======================
You can download official public release tarballs of GMime at
https://download.gnome.org/sources/gmime/ or
ftp://ftp.gnome.org/pub/GNOME/sources/gmime/.
If you would like to contribute to the GMime project, it is recommended
that you grab the source code from the official GitHub repository at
https://github.com/jstedfast/gmime. Cloning this repository can be done
using the following command:
git clone https://github.com/jstedfast/gmime.git
Documentation
=============
API reference documentation can be found at
https://developer.gnome.org/gmime/stable/.
Documentation for getting started can be found in the README.md or on
the GitHub project page at https://github.com/jstedfast/gmime
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]