update translations
[claws.git] / ChangeLog
index 1a53d59ef659933475994efabfba6376f64fde6a..869ec1cbe5a52e3a80d1b10498c4eb20f7735cc5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,697 @@
+2003-12-15
+
+       * version 0.9.8a
+
+2003-12-15
+
+       * src/procmsg.c: procmsg_open_data_file(): set buffer if DATA_READ
+         is specified and a buffer is given.
+         procmsg_open_cache_file_with_buffer(): new.
+         procmsg_read_cache(): fixed a bug that called setvbuf() after an
+         file I/O which caused buffer read error.
+
+2003-12-12
+
+       * version 0.9.8
+
+2003-12-12
+
+       * configure.in: enable IPv6 support by default.
+
+2003-12-11
+
+       * src/inc.c: inc_mail(), inc_all_account_mail(): ask user to switch
+         to online when in offline mode.
+       * src/mainwindow.h: added main_window_toggle_online().
+
+2003-12-11
+
+       * src/foldersel.c
+         src/folderview.[ch]
+         src/mainwindow.c
+         src/stock_pixmap.[ch]
+         src/pixmap/dir-noselect.xpm: made no-select folders display with
+         dim icon and string.
+       * src/Makefile.am: added offline.xpm, online.xpm, and
+         dir-noselect.xpm to EXTRA_DIST.
+
+2003-12-11
+
+       * src/folder.h: added macro FOLDER_ITEM_CAN_ADD().
+       * src/folderview.c: folderview_drag_motion_cb(): code cleanup.
+         folderview_drag_received_cb(): don't accept at no_select folder or
+         from itself.
+       * src/foldersel.c: made folders on which no_select flag is set not
+         selectable.
+
+2003-12-10
+
+       * src/imap.c: imap_do_copy_msgs(), imap_remove_msgs(): code cleanup.
+         set MSG_INVALID flag when messages are deleted.
+       * src/mh.c: mh_do_move_msgs(), mh_remove_msg(): set MSG_INVALID flag
+         when messages are deleted.
+       * src/procmsg.[ch]:
+         procmsg_move_messages()
+         procmsg_copy_messages(): return error status.
+         Added MSG_INVALID to MsgTmpFlags.
+       * src/summaryview.c: summary_execute(): detect errors and only remove
+         nodes that are invalidated.
+         summary_unthread_for_exec(): fixed a bug that didn't remove nodes
+         in collapsed trees.
+
+2003-12-06
+
+       * src/mainwindow.[ch]: added online switch button to the statusbar,
+         and "/File/Work offline" in the menu.
+       * src/pixmaps/offline.xpm
+         src/pixmaps/online.xpm: new (borrowed from
+         themes/classic/communicator/icons/ in Mozilla).
+       * src/stock_pixmap.[ch]: added online.xpm and offline.xpm.
+       * src/textview.[ch]: textview_show_error(): new.
+       * src/summaryview.c: summary_display_msg_full(): update marks only
+         if messages are displayed.
+       * src/prefs_common.[ch]: added PrefsCommon::online_mode.
+       * src/news.c: news_session_get()
+         src/imap.c: imap_session_get(): return NULL when in offline mode.
+       * src/messageview.[ch]: messageview_show(): return status whether
+         messages are successfully displayed. Display error messages in
+         the view when failed.
+       * src/procmsg.c:
+         procmsg_get_message_file()
+         procmsg_open_message(): don't output warnings when fetch failed.
+
+2003-12-04
+
+       * src/html.c: html_get_tag(): support attributes which don't have
+         values.
+
+2003-12-04
+
+       * src/codeconv.c: conv_get_code_conv_func(): return conv_latintodisp
+         only if src_charset and current charset is identical or current
+         one is multibyte (fixes display of ISO-8859-5 on KOI8-R locale etc.).
+
+2003-11-25
+
+       * autogen.sh: don't include m4 directory in aclocal.
+       * intl/libgnuintl.h: removed from cvs.
+       * po/.cvsignore: added stamp-po and remove-potcdate.sed.
+
+2003-11-24
+
+       * upgraded to gettext-0.12.1.
+
+2003-11-24  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * Makefile.am (SUBDIRS): Add m4.
+       (ACLOCAL_AMFLAGS): New variable.
+       (EXTRA_DIST): Add config.rpath.
+       * configure.in (AC_OUTPUT): Add m4/Makefile.
+
+2003-11-21
+
+       * configure.in: added check for d_type member in struct dirent.
+       * src/mh.c: mh_scan_folder(): use d->d_type if available.
+         mh_get_uncached_msgs(): removed redundant stat().
+         mh_parse_msg(): return NULL if not a regular file.
+         mh_scan_tree_recursive(): use d->d_type if available.
+       * src/utils.[ch]:
+         dirent_is_regular_file()
+         dirent_is_directory(): new. Use d->d_type to determine the type
+         of entry if available.
+         remove_dir_recursive(): use dirent_is_directory().
+
+2003-11-14
+
+       * src/folder.h: added 'updated' flag to FolderItem.
+       * src/folderview.[ch]: folderview_update_all_updated(): new. It
+         updates all updated folders.
+       * src/imap.c: set FolderView::update flag on changes of contents.
+       * src/main.c: send_queue()
+         src/mainwindow.c: send_queue_cb(): code cleanup.
+       * src/mh.c: code cleanup.
+         mh_scan_folder(): correctly count new messages.
+       * src/procmsg.[ch]: code cleanup.
+         procmsg_open_cache_file(): new.
+         procmsg_open_mark_file(): enable read/write/append.
+         procmsg_send_queue(): correctly choose outbox for accounts.
+       * src/send_message.[ch]: send_get_queue_info(): get a queue
+         information from queued messages.
+         send_queue_info_free(): free QueueInfo.
+         send_message_queue(): take QueueInfo as an argument instead of file.  
+       * src/summaryview.c: summary_write_cache(): code cleanup.
+
+2003-11-10
+
+       * src/compose.c: compose_redirect_write_headers(): correctly add
+         Resent-Cc: header.
+
+2003-11-05
+
+       * src/imap.c: imap_get_msg_list(): fallback to FETCH command if SEARCH
+         command to get flags failed.
+         imap_search_flags(): returns UID array and flags hash table using
+         SEARCH command.
+         imap_fetch_flags(): returns UID array and flags hash table using
+         FETCH command.
+
+2003-10-28
+
+       * src/summary_search.c: summary_search_execute(): fixed 'Select all
+         matched' when backward search is enabled.
+         Made the backward search button insensitive when 'select all
+         matched' is enabled.
+
+2003-10-15
+
+       * version 0.9.7
+
+2003-10-15
+
+       * src/imap.c: imap_scan_tree(): check the existence of root directory
+         with LIST instead of STATUS.
+
+2003-10-07
+
+       * src/send_message.c: fixed format string bug (exploitable by
+         malicious SMTP server) when calling alertpanel_error()
+         (thanks to Georgi Guninski).
+
+2003-10-03
+
+       * src/folder.[ch]
+         src/imap.[ch]
+         src/mh.[ch]
+         src/news.[ch]: refactoring of the folder system (based on the claws'
+         implementation).
+       * src/account.c
+         src/foldersel.c
+         src/folderview.c
+         src/mainwindow.c
+         src/messageview.c
+         src/procmsg.c
+         src/setup.c
+         src/summaryview.c: use FOLDER_TYPE() macro at every place.
+
+2003-09-17
+
+       * version 0.9.6
+
+2003-09-17
+
+       * src/addressbook.c:
+         addressbook_folder_load_person()
+         addressbook_folder_load_group(): sort the ctree after the end of
+         the loop (fixes performance issue when many addresses are in one
+         folder) (thanks to christian mock).
+
+2003-09-16
+
+       * src/folderview.c: folder_init(): code cleanup.
+       * src/summaryview.c: summary_init(): check if boldfont is
+         successfully loaded.
+       * src/grouplistdialog.c: use proper callback for delete_event (thanks
+         to Takuro Ashie).
+       * src/imap.c: allow zero-length messages.
+       * src/recv.c: recv_bytes_write(): return immediately if size == 0.
+
+2003-09-16
+
+       * src/folderview.c: folderview_init(): if font can't be loaded, fall
+         back to gtk default (fixes crashes on startup). Also removed the
+         redundant code.
+
+2003-09-15
+
+       * src/compose.c: compose_insert_sig(): insert signature at the
+         current cursor position on manual operation.
+
+2003-09-11
+
+       * src/summaryview.c: summary_key_pressed(): don't ignore delete key
+         even if the main window is locked.
+
+2003-09-10
+
+       * src/action.c: improved synchronous action exit code (fixes long
+         delay after action exit on RH9) (thanks to Melvin).
+       * src/stringtable.[ch]: string_table_insert_string(): modified the
+         code to remove the warning "dereferencing type-punned pointer will
+         break strict-aliasing rules".
+         Use const gchar * instead of gchar * for arguments.
+
+2003-09-05
+
+       * src/utils.[ch]: generate_mime_boundary(): a new function to create
+         MIME boundary (moved from rfc2015.c).
+         Removed more special characters.
+         Use random() instead of lrand48() which is obsolete.
+         Added an argument for prefix to prevent duplication.
+         Always add "=_" as a counter-QP sequence to simplify the code.
+       * src/rfc2015.c:
+         rfc2015_decrypt_message()
+         rfc2015_encrypt()
+         rfc2015_sign(): fixed a bug that didn't handle continuous content
+         lines correctly.
+       * src/compose.c
+         src/rfc2015.c: use generate_mime_boundary().
+
+2003-09-05
+
+       * src/folderview.c:
+         folderview_delete_folder_cb()
+         folderview_remove_mailbox_cb(): close currently displayed folder
+         before removing FolderItem (fixes crash on deleting folder).
+       * src/folder.h
+         src/imap.[ch]: imap_scan_tree()
+         src/mh.[ch]: mh_scan_tree(): return -1 when scanning failed.
+       * src/summaryview.c: summary_clear_all(): also clear the message view.
+       * src/imap.c: imap_close(): fail if the specified folder is not
+         selected.
+         imap_scan_tree(): check if the specified root directory exist, and
+         try creating it if not.
+         imap_parse_list(): output warning if a server returns error.
+         imap_find_namespace_from_list(): support not slash-delimited path.
+         imap_status(): don't return values if they're not specified.
+
+2003-09-02
+
+       * sylpheed.spec.in: fixed a typo.
+
+2003-09-02
+
+       * version 0.9.5
+
+2003-09-01
+
+       * src/inc.[ch]
+         src/main.c
+         src/mainwindow.c
+         src/prefs_common.[ch]: added the receive dialog's option to
+         display the dialog only on manual receiving, and the
+         RECV_DIALOG_ACTIVE option was removed.
+
+2003-09-01
+
+       * src/compose.c: compose_write_headers(): also replace ':' in the
+         MIME boundary with '_' (as a workaround for broken servers).
+
+2003-08-28
+
+       * src/imap.c: imap_scan_tree_recursive(): fixed compile error.
+
+2003-08-27
+
+       * src/prefs_filter.c: added 'Top' and 'Bottom' button.
+
+2003-08-26
+
+       * src/folder.[ch]: folder_item_remove_children(): new. It removes
+         all children under a FolderItem.
+       * src/folderview.c: folderview_rescan_tree(): modified the message.
+       * src/imap.c: imap_scan_tree(), imap_scan_tree_recursive(): reuse
+         the previous FolderItem objects.
+
+2003-08-25
+
+       * src/folder.[ch]: added a reference to its own GNode in FolderItem.
+         folder_item_remove(): free all FolderItem's.
+         folder_tree_destroy(): use folder_item_remove().
+       * src/folderview.c: folderview_sort_folders(): keep the order even
+         if special folders' parents are different.
+       * src/imap.c: imap_scan_tree_recursive(): fixed a memory leak.
+       * src/mh.c: mh_scan_tree(): preserve the previous FolderItem's.
+         mh_remove_missing_folder_items(): scan the directories and remove
+         missing folders.
+         mh_scan_tree_recursive(): reuse the previous FolderItem objects.
+
+2003-08-20
+
+       * src/mainwindow.c: always reflect window size changes.
+       * src/folderview.c: folderview_init()
+         src/summaryview.c: summary_init(): realize the widget before
+         creating pixmaps.
+       * src/prefs_common.[ch]: remember the folder and mesage view's
+         visibility.
+
+2003-08-07
+
+       * src/mainwindow.c
+         src/prefs_common.[ch]: remember the size and position of
+         separated views.
+         main_window_set_widgets(): fixed a bug that the hidden items on
+         the header view were shown when changing the view type.
+         Instead of setting the window size, set the each view's size.
+
+2003-08-01
+
+       * src/compose.c: compose_select_account(): don't append signature
+         on redirect mode.
+         compose_insert_sig(): don't insert "\n\n" if signature string
+         doesn't exist. Always insert signature at the end of message.
+
+2003-08-01
+
+       * improved sylpheed.spec.in (thanks to Andre Oliveira da Costa).
+
+2003-07-31
+
+       * minor code cleanups for the folder system.
+       * src/compose.c: compose_queue(), compose_draft_cb(): code cleanup.
+       * src/folder.c: code cleanups.
+       * src/imap.c
+         src/mh.c: calculate message numbers inside the functions.
+       * src/procmsg.c: procmsg_set_flags(): calculate message numbers.
+       * src/summaryview.[ch]: don't calculate and preserve message numbers
+         inside SummaryView,
+
+2003-07-30
+
+       * src/folder.[ch]
+         src/imap.[ch]
+         src/mh.[ch]
+         src/procmsg.c
+         src/summaryview.c: renamed *_msgs_with_dest() to *_msgs().
+
+2003-07-29
+
+       * src/imap.[ch]: use CAPABILITY to use protocol extentions.
+         imap_greeting(): parse initial server greeting. Also support
+         PREAUTH response.
+         imap_add_msgs()
+         imap_cmd_append(): use APPENDUID responses if UIDPLUS is supported.
+
+2003-07-28
+
+       * src/imap.c: imap_get_flag_str(): fixed a buffer overrun.
+
+2003-07-25
+
+       * version 0.9.4
+
+2003-07-25
+
+       * src/main.c: main(): don't save config files on startup.
+
+2003-07-25
+
+       * src/imap.c:
+         imap_get_msg_list(): removed redundant UID SEARCH ALL when not
+         using cache.
+         Unset MSG_NEW flag if \Seen is set.
+         imap_get_uncached_messages(): fetch all messages if both first_uid
+         and last_uid is 0.
+
+2003-07-24
+
+       * src/imap.c: revamped the implementation so that it always
+         exactly reflects the state of IMAP4 servers.
+         imap_get_msg_list(): examine the state of messages using
+         UID SEARCH commands.
+         imap_delete_cached_message(): removes single message cache.
+         imap_get_uid(): removed.
+         imap_cmd_search(): new. It issues UID SEARCH command and returns
+         an array of UIDs.
+         imap_cmd_gen_recv(): made the length of strings unrestricted.
+         imap_get_uid_table(): returns a hash table from UID array.
+
+2003-07-24
+
+       * src/folder.[ch]
+         src/imap.[ch]
+         src/mh.[ch]
+         src/news.[ch]: added Folder::close() method.
+       * src/summaryview.c: summary_clear_list(): call folder_item_close().
+
+2003-07-23
+
+       * flags are now taken over when copying messages into IMAP folders
+         from others.
+       * src/imap.[ch]
+         src/mh.[ch]
+         imap_add_msg()
+         imap_add_msgs()
+         mh_add_msg()
+         mh_add_msgs(): flags can be also specified when adding files.
+       * src/folder.[ch]: added assertions for virtual functions.
+       * src/procmsg.[ch]: procmsg_get_message_file_list(): return the list
+         of MsgFileInfo.
+         procmsg_message_file_list_free(): new.
+
+2003-07-23
+
+       * src/procmsg.h: changed MsgPermFlags and MsgTmpFlags from enum to
+         guint32 for portability (thanks to Alfons).
+       * src/imap.c: imap_add_msgs(): removed redundant unlink().
+
+2003-07-22
+
+       * src/session.[ch]:
+         session_read_msg_cb()
+         session_read_data_cb(): fixed a bug that ran into infinite loop
+         if connection was closed by remote host (thanks to Yoichi Imai).
+         Added SESSION_EOF state to SessionState.
+         session_is_connected(): new.
+       * src/inc.[ch]: inc_put_error()
+         src/send_message.c: send_put_error(): also put log messages.
+
+2003-07-18
+
+       * more optimization of IMAP4.
+       * src/folder.[ch]: added a method add_msgs() that adds multiple files
+         to a folder.
+         Removed redundant scan() for the operations of FolderItem.
+       * src/imap.[ch]: implemented Folder::add_msgs() and optimized move
+         and copy from other Folder instances.
+       * src/mh.[ch]: implemented Folder::add_msgs() and cleaned up the code.
+         mh_fetch_msg(): scan folder if required.
+       * src/procmsg.[ch]: procmsg_get_message_file_list(): returns file
+         list from message list.
+       * src/summaryview.c: don't remove MSG_MARKED flags on
+         delete/move/copy operation.
+         summary_display_msg_full(): removed redundant message fetching.
+
+2003-07-17
+
+       * optimized move/copy/delete/mark operations of IMAP4 by using
+         sequence set when issuing commands (adopted claws' implementation
+         with cleaning it up).
+       * src/imap.[ch]:
+         imap_set_message_flags()
+         imap_cmd_envelope()
+         imap_cmd_copy()
+         imap_cmd_store(): take sequence set string instead of UID number.
+         imap_do_copy_msgs_with_dest(): optimized by using sequence set.
+         imap_cmd_fetch(): use BODY.PEEK instead of BODY.
+         imap_remove_all_msg()
+         imap_set_message_flags(): use FLAGS.SILENT instead of FLAGS.
+       * src/compose.c
+         src/summaryview.c: use imap_msg_list_{set,unset}_perm_flags()
+         instead of issuing commands for each message.
+
+2003-07-15
+
+       * src/inc.c
+         src/prefs_account.[ch]
+         src/send_message.c
+         src/session.[ch]: added an option to enable/disable non-blocking
+         SSL.
+
+2003-07-15
+
+       * src/compose.c: compose_attach_append(): display message's subject
+         when attaching message/rfc822 file.
+
+2003-07-14
+
+       * src/session.[ch]:
+         session_recv_msg()
+         session_recv_data()
+         session_read_msg_cb()
+         session_read_data_cb(): optimized by removing sock_peek() and
+         buffering received data in user space (correctly implemented
+         this time).
+
+2003-07-11
+
+       * src/session.c: reverted the previous change because it couldn't
+         handle data receiving after messages correctly.
+
+2003-07-11
+
+       * src/session.c:
+         session_recv_msg()
+         session_read_msg_cb(): optimized by removing sock_peek() and
+         buffering messages in user space.
+
+2003-07-11
+
+       * src/imap.[ch]: refactored.
+         Changed all functions that have SockInfo arguments to take
+         IMAPSession.
+         Made imap_cmd_count an instance variable: IMAPSession::cmd_count.
+         imap_open(): only establish TCP (or SSL) connection.
+         imap_session_new(): process greeting and authentication here.
+
+2003-07-10
+
+       * src/imap.[ch]: implemented CRAM-MD5 authentication, and made code
+         cleanups.
+       * src/prefs_account.[ch]: added option menu for IMAP4 authentication
+         type in Receive tab, and hide other protocols' frames.
+
+2003-07-10
+
+       * src/mainwindow.c: send_queue_cb(): don't scan folder twice if
+         error occurred.
+       * src/procmsg.c: procmsg_send_queue(): return number of sent
+         messages.
+
+2003-07-09
+
+       * src/mainwindow.c:
+         main_window_set_toolbar_sensitive()
+         main_window_set_menu_sensitive(): removed the locking of file
+         operations while receiving mail.
+
+2003-07-09
+
+       * src/folder.[ch]: folder_item_remove_msg(): take MsgInfo as an
+         argument instead of message number.
+       * src/imap.[ch]: imap_remove_msg(): reimplemented using
+         imap_remove_msgs().
+       * src/mh.[ch]: mh_do_move(): reimplemented using
+         mh_do_move_msgs_with_dest().
+         mh_copy_msg(): reimplemented using mh_copy_msgs_with_dest().
+       * src/procmsg.c: procmsg_send_queue(): modified to use message list.
+
+2003-07-08
+
+       * src/rfc2015.c: rfc2015_is_encrypted(): check MimeInfo::mime_type
+         to suppress some warnings.
+       * src/logwindow.c: log_window_append(): don't scroll up when trimming
+         lines.
+
+2003-07-07
+
+       * src/compose.c: add 'Content-Disposition: inline' to a text/plain
+         part when using PGP/MIME signing.
+
+2003-07-04
+
+       * version 0.9.3
+
+2003-07-04
+
+       * src/defs.h: changed UI_REFRESH_INTERVAL from 40msec to 50msec.
+       * src/session.c: session_read_msg_cb(): make it always fail if
+         sock_read() returns by error.
+       * src/socket.[ch]: sock_check(): handle exceptional SSL condition.
+         sock_has_pending_data(): removed.
+         Removed debug output.
+       * src/send_message.c: send_recv_message(): display messages to
+         statusbar.
+
+2003-07-03
+
+       * src/inc.[ch]: update received message number on CList while
+         retrieving.
+       * src/session.c: session_read_data_cb(): optimized by removing
+         g_malloc() and memcpy().
+
+2003-07-02
+
+       * src/socket.[ch]: sock_add_watch(): new. It monitors SSL by original
+         watch functions (otherwise uses g_io_add_watch()).
+       * src/session.[ch]: removed previous workarounds, and replaced
+         g_io_add_watch() with sock_add_watch().
+
+2003-07-01
+
+       * src/socket.[ch]: added sock_has_pending_data() which returns TRUE
+         if socket has pending data.
+       * src/session.c: session_recv_msg(), session_recv_data(): check if
+         socket has pending data and call the callbacks immediately in that
+         case (fixes the hang at ESMTP EHLO on SSL).
+
+2003-06-30
+
+       * src/socket.c: check return value in SSL functions.
+
+2003-06-30
+
+       * src/mimeview.c: mimeview_init(): initialize TextView to prevent
+         slowdown caused by GTK+ themes (thanks to Yuri Arapov).
+
+2003-06-27
+
+       * src/session.c: session_read_data_cb(): clear Session::read_data_buf
+         before calling callbacks.
+
+2003-06-26
+
+       * src/socket.c: made socket connection protocol independent.
+       * src/session.c: removed debug g_print().
+       * src/inc.c: made status bar output less verbose, and show counter
+         on main window's progressbar.
+
+2003-06-26
+
+       * src/session.c: added missing #include <errno.h>.
+
+2003-06-25
+
+       * src/session.[ch]: reimplemented the Session system with non-blocking
+         I/O to solve the performance and the code design issue.
+       * src/socket.[ch]: added sock_connect_async() and
+         sock_connect_async_cancel() to enable asynchronous connection.
+         sock_peek(): modified the implementation.
+       * src/pop.c: optimized the receiving of the responses of
+         UIDL/LIST/RETR.
+
+2003-06-18
+
+       * src/procmsg.c: procmsg_get_thread_tree(): prevent threading problems
+         when a node is an ancestor (parent / great parent), which mostly
+         happens with circular references (thanks to Phillipe Gramoulle
+         for finding an sample set of messages, and Alfons for the patch).
+
+2003-06-16
+
+       * src/pop3.c: pop3_get_uidl_table(): return empty hash table even if
+         UIDL list is not found (fixes inability of initial retrieval).
+
+2003-06-10
+
+       * src/main.c: added the option '--status-full' which shows the status
+         of each folder specified. The option '--status' also takes
+         following arguments for folders (thanks to Yuri Arapov).
+       * src/folder.[ch]: folder_get_status(): new. it takes the array of
+         folders as the argument and returns their status.
+         folder_count_total_msgs(): removed.
+
+2003-06-06
+
+       * version 0.9.2
+
+2003-06-06
+
+       * src/filesel.c
+         src/foldersel.c
+         src/inputdialog.c: use gtk_main_iteration() instead of gtk_main()
+         to prevent abort when a button is double-clicked.
+
+2003-06-02
+
+       * src/addr_compl.c: invalidate_address_completion(): check if
+         g_completion_list is NULL (thanks to Kazuhiro NISHIYAMA).
+
+2003-06-02
+
+       * src/pop.c: pop3_session_recv_data_finished(): fixed a bug that
+         deleted messages that is to be kept on server (thanks to Tristan
+         Wallis).
+
 2003-05-27
 
        * version 0.9.1