1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
<refentry id="gmime-changes-2-6" revision="06 Feb 2010">
<refmeta>
<refentrytitle>Changes from 2.4 to 2.6</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Changes from 2.4 to 2.6</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Changes from 2.4 to 2.6</refname>
<refpurpose>Changes made between version 2.4 and version 2.6</refpurpose>
</refnamediv>
<refsect1>
<title>Changes from 2.4 to 2.6</title>
<para>After releasing GMime 2.4, it was discovered that
g_mime_stream_length() still returned ssize_t which, on 32bit systems,
meant that the function was useless if the actual stream was larger
than 2GB (which could happen if GMime was built with large file
support).</para>
<para>As I fixed this, I also found some API inconsistencies which I felt I
might as well fix up since I had to break API/ABI compatibility with
2.4 anyway.</para>
<para>Most notable in GMime 2.6 is the lack of GMimeSession which has been
dropped in favor of a much simpler callback
mechanism. GMimeCipherContexts constructors now take a
password_request callback function rather than forcing you to subclass
GMimeSession to get this functionality.</para>
<para>Other API changes include:</para>
<itemizedlist>
<listitem><para>GMimeBestEncoding has been renamed to
GMimeEncodingConstraint</para></listitem>
<listitem><para>GMimeSignatureValidity has been dropped in favor
of GMimeSignatureList which is simply a collection of
signatures.
</para></listitem>
<listitem><para>GMimeSigner has been replaced by GMimeSignature
and GMimeCertificate which added a number of new fields and
accessors making it much more complete.
</para></listitem>
<listitem><para>GMimeCipherContext has been renamed to
GMimeCryptoContext and the method names for this class have also
been renamed in a similar fashion.
</para></listitem>
<listitem><para><function>g_mime_crypto_context_encrypt()</function>
now takes a digest algorithm argument which is used when the
'sign' argument is TRUE.
</para></listitem>
<listitem><para><function>g_mime_multipart_encrypted_encrypt()</function>
also now takes a digest algorithm argument which it passes along
to <function>g_mime_crypto_context_encrypt()</function>.
</para></listitem>
<listitem><para><function>g_mime_crypto_context_decrypt()</function>
now returns a GMimeDecryptResult which contains a list of
signatures (if signed), a list of recipients that the stream had
been encrypted to, and also the cipher and digest algorithms
used.
</para></listitem>
<listitem><para><function>g_mime_multipart_encrypted_decrypt()</function>
no longer caches the decrypted part and also now takes a
GMimeSignatureList** output argument which it sets in place of
having to call
<function>g_mime_multipart_encrypted_get_signature_validity()</function>
afterward.
</para></listitem>
</itemizedlist>
</refsect1>
</refentry>
|