Jump to content
Compatible Support Forums
Sign in to follow this  
news

Tinymail pre-release v0.0.9 - E-mail library

Recommended Posts

About:

------

 

Tinymail is a library for developing mobile applications with E-mail

functionality. The framework provides components that aid the developer

with the user interface but of course also with the connectivity and the

caching of messages.

 

Release highlights:

 

o. Changed the TnyHeader API to return string duplicates

o. A lot of major and minor bugfixes

o. Deprecated all the synchronous API that has asynchronous API

 

For more information: http://tinymail.org

 

Known E-mail clients using Tinymail:

------------------------------------

 

Modest (under development, betas are being released):

http://modest.garage.maemo.org/

 

TMut (released software):

http://tinymail.org/trac/tmut

 

Let me know if you started a project and want to be in these release

notes with it.

 

Demos:

------

 

http://tinymail.org/demos.html

 

Availability:

-------------

Branch in the Subversion repository:

https://svn.tinymail.org/svn/tinymail/releases/v1.0/pre-releases/v0.0.9

 

Trunk in the Subversion repository:

https://svn.tinymail.org/svn/tinymail/trunk/

 

Online API documentation of this pre-release:

http://tinymail.org/API/pre-releases/libtinymail-0.0.9

 

Tarball:

http://tinymail.org/files/releases/pre-releases/v0.0.9/libtinymail-0.0.9.tar.gz

http://tinymail.org/files/releases/pre-releases/v0.0.9/libtinymail-0.0.9.tar.bz2

 

MD5SUMS:

http://tinymail.org/files/releases/pre-releases/v0.0.9/MD5SUMS

674db3cb4750ba0a3e90aa95ec28bcc7 libtinymail-0.0.9.tar.bz2

8570c8140b07e03a5a6226e786e3094c libtinymail-0.0.9.tar.gz

 

Packages (usually older versions of Tinymail):

 

Ubuntu Gutsy:

http://packages.ubuntu.com/gutsy/mail/libtinymail-1.0-0

 

OpenEmbedded:

http://www.openembedded.org/filebrowser/org.openembedded.dev/packages/tinymail

 

Maemo:

http://modest.garage.maemo.org/repos/dists/chinook/mail/binary-armel/

http://modest.garage.maemo.org/repos/modest-chinook.install

 

Changes since pre-release 0.0.8:

--------------------------------

 

The pre-release 0.0.8 can be found here:

http://tinymail.org/files/releases/pre-releases/v0.0.8

 

 

Philip Van Hoof :

 

*Removed unnecessary old code rot in TnyCamelSendQueue that might

cause a deathlock

*Decprecated tny_send_queue_add, use tny_send_queue_add_async

*Corrections to reference handling for TnyCamelSendQueue

*Removed a tny_folder_get_headers (deprecated API)

*Fixed alerts when get-msg-async takes place to have their account

not set to NULL

*Moved the POP's get-msg-qasync queue to its normal interactive queue

*Various bugfixes

*Weak referenced folders in the folder-factor methods

*Handling uncaching the password during account finalization

*mlock-ing the password memory of accounts

*Uncaching of the folder-list in case of tree-changing operations

*Experimentally nuked the caching of services ...

*Fixed a bug in case LIST and LSUB are not in agreement

*Marking certain symbols as deprecated

*Fixed a glitch in Jose Dapena Paz's patch of yesterday

*Added API documentation about cancelling

*Bugfix in folder listing

*Refcount problem in async contexts

*Fixing the actual problem, too

*Merged patch for upstream camel-lite bug #257361

*Bugfix for ticket #76

*Added some robustness code

*Added a name file, just like the url_string file, to each account

*Moved the sendqueue's outbox and sentbox under a sendqueue subdir

*Storing certificate fingerprints in cache_dir

*Writing a file called url_string in the account's cache dir, to make

it more easy for searchers and meta indexers to identify this account

*Status reporting fix for POP accounts

*Merging with camel upstream

*Creating the POP account's cache dir when/if removed

*Cleaning up cache when canceling a POP message download

*Support for Importance header

*Fixed several problems like documentation problems in Jose's patch

*Review of Jose's patch

*Fixed several insignificant smaller robustness problems

*Fixed a major leak

*Fixed a regression due to a performance fix when moving and renaming

Maildir folders

*Replaced a GByteArray with a EByteArray

*Rewrote tny_camel_folder_remove_msgs_default

*Added tny_folder_remove_msgs_async

*Death-lock bugfix when canceling the sendqueue

*This was a minor API change

*Implementation of a connect() that will timeout within 15 seconds

for the non-SSL connection types. Experimental.

*Fast message moves when source and dest folder are both Maildir

*Bugfix when sending large E-mails to GMail's SMTP service

*When a large mail is being sent, it takes a long time to move it

from Outbox to Sentbox. If during that time a flush() is requested on

the TnySendQueue, then it's possible that the message gets send twice.

To avoid this, we mark the message as TNY_HEADER_FLAG_ANSWERED

*Made tny_folder_transfer_msgs_async cancellable

*Added extra insurance that an INBOX folder will be present

*IMAP provider: bugfix when asking for a list of folders that has no

subfolders, on Cyrus.

*Experimental improvement in locking

*Introduction of TnySeekable

*This is experimental

*Experimental improvement in locking in the POP3 provider

*Bugfix when canceling POP summary retrieval

*Check-for-duplicates in TnyFolderObserver and TnyFolderMonitor

*Introduction of tny_gtk_header_list_model_set_no_duplicates

*Introduction of tny_gtk_header_list_model_get_no_duplicates for

completeness of language bindings who'll make getters/setters from

this.

*This was a minor API change

*Leave on disk, MIME parsing. Highly experimental

*Smaller bug fixes in the build

*filename= encoding fixes

*Fixes in the POP code for POP servers that return invalid CAPA

responses (like pop.sina.com)

*Experimental reduction of libraries (camel-lite merged with

camel-lite-providers)

*Non-initialization of a variable caused memory corruption on the

stack

* Fixed race condition in case re-selecting the same folder

* Attempt at making mime parsing use the seekable capability of

streams in stead of copying them in memory. This is experimental!

 

José Dapena Paz :

 

*libtinymail-camel/tny-camel-mime-part.c

(tny_camel_get_decoded_stream_default): now we detect errors getting

the decoded stream from camel.

*libtinymail-gnomevfs/tny-vfs-stream.c (tny_vfs_stream_read):

return -1 if there was an error reading from the vfs stream.

*Added libtinymail-camel/camel-lite/camel/camel-certdb-cst.c.

Implementation of certificates database using maemo libcst. This

makes you can manage certificates using the maemo tablet certificate

manager.

*libtinymail-camel/camel-lite/camel/camel-certdb.h,

libtinymail-camel/camel-lite/camel/camel-private.h: modified to

have a pointer to the CST object in certdb and certificate id in

certificate object in case we compile with CST support.

*libtinymail-camel/camel-lite/camel/camel-tcp-stream-ssl.c:

Modified a bit the code for proper integration with cst (mainly

removing direct access to internal fields).

*libtinymail-camel/camel-lite/configure.ac,

libtinymail-camel/camel-lite/camel/Makefile.am:

Added support for detection and configuration of libcst.

*libtinymail-camel/tny-camel-account.c:

(tny_camel_account_set_pass_func_default) reactivate the account

always, even when we're setting the same pass func again.

*Replace old tny_header_get_ api for strings with

tny_header_dup_ api. This should be a bit better for

being thread safe. Also modified code using this. The

goal is being able to do the string copy in a lock.

*Now moving a folder copies all the cached messages,

but not the summaries, to avoid crashes trying to

reuse the old summary.

*Respect better the attachment flag headers also in POP (equivalent

to previous change in imap.

*libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-folder.c

(message_from_data): don't free the message before evaluating

headers. Also take into account the case we get ms has attachments but

we don't have priority flag, for avoiding using heuristics.

*libtinymail-gnome-desktop/tny-gnome-device.c:

(tny_gnome_device_is_online) if we try to get the network

state and find that the network manager context is invalid,

we shutdown it AND after this we nullify the context

reference.

*libtinymail-camel/tny-camel-folder.c:

Now poke_status only tries to do the job if folder is

connected/active. Should prevent getting lots of attempts to

connect in queue that have to be finished later.

*tests/c-demo/tny-demoui-summary-view.c:

Added a simple syntax to provide different parent folders

in rename/copy operation. Now you can provide

paths as "/newfolder", "../another-parent/folder", etc.

*libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c:

(connect_to_server): we don't abort connection attempt if we get

LOGINDISABLED but we have secure auth methods in capabilities.

*libtinymail-camel/tny-camel-mime-part.c:

Now, when we get the parts of a mime part that's a message,

we check if any part has an attachment content disposition,

and update the attachments flag properly.

*Moved bodystructure parser to camel, so that we

can use it there.

*libtinymail-camel/camel-lite/bs/bodystruct.c:

Added missing if, to avoid fetching the header badly (and

causing coredumps) for bodystructure strings not

including BODYSTRUCTURE prefix.

 

 

Alberto Garcia Gonzalez :

 

*libtinymail-gnomevfs/tny-vfs-stream.c:

(tny_vfs_reset): Set priv->position to 0 after a successful reset

*Reverted the "Leave on disk, MIME parsing" patch, as it's

causing serious problems.

*tinymail/libtinymail-camel/tny-camel-mem-stream.h

*tinymail/libtinymail-camel/tny-camel-mem-stream.c:

Added tny_camel_mem_stream_new_with_buffer()

*debian/libtinymail-camel-1.0-0.install

*debian/libtinymail-camel-1.0-0-dev.install:

Install libcamel-lite

*debian/libtinymail-camel-1.0-0.install

*debian/libtinymail-camel-1.0-0-dev.install:

Removed obsolete libraries

 

 

Sergio Villar Senin :

 

* libtinymail-camel/tny-camel-common.c

(_string_to_camel_inet_addr): fixes an small memory issue when the

email address starts with an "

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×