Makefile.am changes for my last commit (removal of .xpm's)
[claws.git] / ChangeLog
index 6908af8a9872fe1f7b619b852d7b7eefba762c3d..fabe37dcbee68c075429f10796c05a069f76d857 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,617 @@
+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
+
+2003-05-26
+
+       * src/socket.[ch]:
+         sock_set_io_timeout(): new. It sets the timeout interval.
+         sock_gdk_input_add(): removed since it's not used anymore.
+       * src/prefs_common.[ch]: added an option to set the timeout parameter.
+
+2003-05-26
+
+       * src/action.c: fixed a bug that didn't hide user string in
+         create_io_dialog() (thanks to Markus Amersdorfer).
+         Removed ChildInfo::type and added Children::action_type.
+
+2003-05-23
+
+       * src/inc.c: inc_start(): ask every password before retrieving.
+         Don't popup the redundant error dialog.
+         inc_account_mail()
+         inc_all_account_mail()
+         inc_progress_dialog_set_list(): separated account list display
+         into a new function.
+         inc_progress_dialog_set_label()
+         inc_recv_data_finished()
+         inc_recv_message(): properly update the dialog when RETR finished.
+
+2003-05-22
+
+       * src/imap.c:
+         imap_modified_utf7_to_locale()
+         imap_locale_to_modified_utf7(): fixed compilation failure when not
+         using iconv().
+
+2003-05-21
+
+       * src/procmime.c: procmime_scan_multipart_message(): fixed parsing
+         of message/rfc822 parts.
+
+2003-05-21
+
+       * src/pop.c: pop3_ok(): detect timeout error.
+
+2003-05-20
+
+       * src/imap.c: imap_locale_to_modified_utf7(): fixed the encoding bug
+         when locale strings include '+'.
+         imap_modified_utf7_to_locale()
+         imap_locale_to_modified_utf7(): at least escape/unescape '&' even
+         if iconv() is not supported.
+
+2003-05-20
+
+       * src/compose.c:
+         compose_insert_sig()
+         compose_get_signature_str(): include separator in signature string.
+         Don't insert separator if signature file is not found.
+         Disabled use of implicit default signature path (~/.signature) when
+         sig_path is NULL.
+
+
+2003-05-20
+
+       * src/codeconv.c
+         src/gtkshruler.c
+         src/news.c
+         src/procmsg.c
+         src/quote_fmt_parse.y
+         src/smtp.c: suppress warnings that gcc-3.3 issues.
+         src/stringtable.c: use string_entry_free().
+
+2003-05-19
+
+       * src/compose.c: compose_insert_sig(): fixed the bug that always
+         appended signature separator if signature file was not found.
+         compose_get_signature_str(): fixed the bug that caused crash if
+         signature file cannot be opened.
+
+2003-05-16
+
+       * version 0.9.0
+
 2003-05-16
 
        * src/session.c: session_recv_msg(): removed debug print.