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



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 <pvanhoof gnome org>:

  *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  <jdapena igalia com>:

  *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 <agarcia igalia com>:

  *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  <svillar igalia com>:

  * libtinymail-camel/tny-camel-common.c
   (_string_to_camel_inet_addr): fixes an small memory issue when the
   email address starts with an "<"
  * libtinymail/tny-merge-folder.c
   (tny_merge_folder_get_id): fixed a reference leak
  * Small bugfix in libtinymail-maemo
  * libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-folder.c:
   fixed an small memory leak and set the proper error code when a
   get_msg fails due to full memory conditions in the local storage.
  * libtinymail-camel/camel-lite/camel/camel-folder-summary.c: improved
   error notification when there are problems in the local storage


Dirk-Jan C. Binnema <dirk-jan binnema nokia com>:
  * fix some compiler warnings (return in void functions)
  * move declarations to start of block
  * fix CAMEL_POP3_CAP_LOGIN_DELAY (copy-paste bug where to
  enum items had same value)
  * some g_error => g_warning
  * DELE %u => DELE %s



-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]