0.9.5claws released
[claws.git] / ChangeLog
index a39a6baab91bd704558b8839a4035be7f4a672d9..851c62d52136226f3b680655b78721e3241de220 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+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.
+
+2003-05-15
+
+       * src/imap.c:
+         imap_parse_atom()
+         imap_get_header()
+         imap_cmd_fetch(): check for data size that servers return (fixes
+         vulnerability found in BugTraq).
+
+2003-05-14
+
+       * src/addr_compl.c: get_complete_address()
+         src/addressbook.c: addressbook_format_address()
+         src/compose.c: QUOTE_IF_REQUIRED(): quote if name contains
+         characters that is not defined in atext (RFC 2822, 3.2.4. Atom).
+       * src/main.c: main(): set colormap and visual to solve color problem
+         in Solaris (thanks to Markus Schwarzenberg).
+
+2003-05-12
+
+       * version 0.9.0pre1
+
+2003-05-12
+
+       * src/prefs_account.c: temporarily removed POP before SMTP option.
+
+2003-05-09
+
+       * src/prefs_common.[ch]: changed the description of "Open message when
+         cursor keys are pressed on summary".
+       * src/summaryview.c: summary_show(): open message when always_show_msg
+         is TRUE.
+
+2003-05-09
+
+       * src/logwindow.[ch]: restrict the maximum lines of the log messages
+         to reduce the memory usage.
+
+2003-05-07
+
+       * src/compose.c: compose_insert_sig(): fixed a crash when signature
+         string contains illegal sequence.
+       * src/utils.[ch]: changed get_wcs_len() to get_mbs_len() for accuracy.
+
+2003-05-07
+
+       * major refactoring of MIME structure.
+       * src/procmime.c: procmime_scan_message(): decrypt message if
+         gpgme is enabled. Create multipart tree only if content-type is
+         multipart/* or message/rfc822.
+         procmime_scan_multipart_message(): fixed the scanning of
+         message/rfc822 part.
+       * src/action.c: parse_append_msgpart()
+         src/messageview.c: messageview_show()
+         src/mimeview.c: mimeview_show_message(): use procmime_scan_message()
+         instead of procmsg_open_message() and procmime_scan_mime_header().
+         mimeview_set_multipart_tree(): conform to the new MIME structure.
+       * src/textview.c: textview_show_part(): removed unnecessary check.
+       * src/procmsg.c: procmsg_open_message_decrypted(): fixed the file
+         pointer when decryption failed.
+
+2003-05-06
+
+       * src/ssl.c: ssl_init_socket_with_method(): replaced log_warning()
+         by g_warning(), and log_print() by debug_print().
+       * src/pop.[ch]: added an error code PS_NOTSUPPORTED, and retry with
+         LAST if UIDL is not supported.
+
+2003-05-01
+
+       * src/codeconv.c: conv_get_code_conv_func(): convert to EUC-JP only
+         if it is the current locale encoding when dest_charset_str is NULL.
+
+2003-05-01
+
+       * src/action.c: execute_actions(): fixed crash when no text widget
+         is selected (thanks to Paul and Melvin).
+       * src/action.c
+         src/prefs_actions.c: added missing reference to Claws team in the
+         copyright.
+
+2003-04-28
+
+       * src/session.c:
+         session_send_msg()
+         session_send_data(): fixed a memory leak and data sending bug.
+       * src/send_message.c:
+         send_message_smtp(): fixed focus management.
+
+2003-04-25
+
+       * src/smtp.[ch]: set the response string to SMTPSession::error_msg
+         if error occurred.
+       * src/send_message.c: show error dialog if error occurred.
+       * src/main.c: send_queue()
+         src/mainwindow.c: send_queue_cb(): don't show error dialog here.
+
+2003-04-25
+
+       * src/session.c: session_close(): kill child process only if
+         state is not SESSION_DISCONNECTED.
+       * src/send_message.c: send_cancel_button_cb()
+         src/inc.c: inc_cancel(): don't set Session::state to
+         SESSION_DISCONNECTED.
+       * src/prefs.[ch]: modified the names of prefs_write_*().
+       * src/address.[ch]: removed.
+
+2003-04-24
+
+       * src/compose.c: compose_template_apply(): overwrite recipients.
+
+2003-04-23
+
+       * src/procheader.c: procheader_date_parse(): removed debug print.
+       * src/session.c: changed every g_print to debug_print.
+         session_child_input(): removed unrequired session_close() (it'll
+         be closed anyway after returning FALSE).
+       * src/send_message.c: send_message_smtp(): changed g_print to
+         debug_print.
+
+2003-04-23
+
+       * src/procheader.c: procheader_procheader_date_parse(): don't add
+         local timezone offset if timezone is unknown.
+         Made the Y2K workaround code to follow RFC 2822.
+         procheader_scan_date_string(): workaround for date strings which
+         don't have timezone specification.
+       * src/utils.c: remote_tzoffset_sec(): return -1 if timezone is
+         unknown.
+
+2003-04-22
+
+       * src/action.[ch]: refactored. Also fixed a bug on MIME mode, and
+         some memory leaks on error.
+         action_update_msgview_menu(): new.
+       * src/messageview.[ch]: added "Tools/Actions" menu. Keep window list.
+         messageview_get_selected_mime_part(): returns MimeInfo of selected
+         part when MessageView is in MIME mode.
+       * src/mimeview.[ch]: mimeview_get_selected_part(): returns MimeInfo
+         of selected part.
+       * src/summaryview.[ch]: summary_get_selected_msg_list(): returns
+         MsgInfo list of selected messages.
+
+2003-04-21
+
+       * src/prefs_filter.[ch]: include original message's headers as
+         the preset keywords. Modified the sizes of the widgets.
+       * src/utils.[ch]: added str_case_equal() and str_case_hash() for
+         case-insensitive hash.
+
+2003-04-18
+
+       * src/procmsg.c: procmsg_get_filter_keyword(): added X-Sequence to
+         auto-detected headers.
+       * src/action.[ch]
+         src/prefs_actions.c
+         src/compose.c
+         src/mainwindow.c: modified function names.
+         get_user_string(): Use input_dialog() instead of its own
+         implementation.
+
+2003-04-17
+
+       * src/codeconv.[ch]: conv_encode_header(): don't include '(' and ')'
+         in encoded strings if addr_field is TRUE.
+       * src/compose.c: compose_convert_header(): added a flag 'addr_field'.
+
+2003-04-16
+
+       * src/prefs_actions.[ch]: separated action execution routine into
+         action.[ch].
+
+2003-04-16
+
+       * src/prefs_actions.c: minor code cleanup.
+
+2003-04-16
+
+       * src/codeconv.[ch]: conv_iconv_strdup(): fixed the handling of
+         EILSEQ.
+
+2003-04-16
+
+       * src/inc.c:
+         inc_recv_data_progressive()
+         inc_recv_data_finished()
+         inc_recv_message()
+         send_recv_message()
+         send_send_data_progressive()
+         send_send_data_finished(): added assertion.
+
+2003-04-16
+
+       * src/codeconv.[ch]: conv_iconv_strdup(): fixed potential memory
+         corruption bug.
+
+2003-04-16
+
+       * src/codeconv.[ch]: conv_iconv_strdup(): don't include nul character
+         in source buffer since it messed up some encoding conversion (like
+         UTF-7).
+
+2003-04-15
+
+       * src/procmsg.c: procmsg_get_filter_keyword(): unfold headers and
+         extract ID from List-Id header.
+       * src/utils.[ch]: extract_one_parenthesis_with_skip_quote(): removed.
+         extract_list_id_str(): extract ID string from List-Id header.
+
+2003-04-15
+
+       * src/prefs_actions.c: merged from the claws branch. Fixes several
+         bugs and adds some features.
+
+2003-04-14
+
+       * src/compose.c: compose_parse_header(): fixed a bug that unnecessary
+         linebreaks were included on reediting.
+       * src/imap.c
+         src/pop.c: fixed typos: 'occured'.
+
+2003-04-11
+
+       * src/compose.[ch]: implemented auto signature replacement on
+         changing accounts.
+         compose_insert_sig(): added a flag to replace current signature.
+         compose_get_signature_str(): new. It returns signature string.
+         compose_insert_command_output(): removed.
+         compose_select_account(): call compose_insert_sig() on account
+         change.
+         compose_destroy(): fixed a memory leak of UndoMain object.
+         Compose::sig_str: new. It stores current signature string.
+       * src/gtkutils.[ch]: gtkut_stext_find(): new.
+         Renamed gtk_stext_clear() to gtkut_stext_clear().
+       * src/utils.[ch]: get_wcs_len(): returns wide-character length of
+         multibyte string.
+         normalize_newlines(): converts CR+LF and CR into LF.
+         get_command_output(): returns command output.
+
+2003-04-08
+
+       * src/procmsg.[ch]: procmsg_get_filter_keyword(): new. It returns
+         filter keyword for messages.
+       * src/summaryview.c: summary_filter_open(): use
+         procmsg_get_filter_keyword().
+       * src/messageview.c: create_filter_cb(): implemented.
+
+2003-04-07
+
+       * src/inc.c:
+         inc_start()
+         inc_put_error(): display server responses on error.
+       * src/pop.[ch]: added Pop3Session::error_msg, and set server responses
+         on error.
+
+2003-04-04
+
+       * src/messageview.[ch]: separated the forced charset of message view
+         in separate window from the main window.
+         src/textview.c:
+         textview_show_message()
+         textview_show_part()
+         textview_add_part(): use MessageView::forced_charset if specified.
+
+2003-04-03
+
+       * src/mainwindow.c: modified File menu a bit.
+       * src/menu.[ch]: added functions to handle item factory rc strings.
+       * src/messageview.[ch]: added a menu, and made it take over main
+         window's menu shortcuts.
+         added msginfo which is duplicated on display to MessageView.
+       * src/prefs_common.c: prefs_keybind_apply_clicked(): use
+         menu_factory_clear_rc().
+
+2003-03-28
+
+       * send_message.c: send_message_smtp():
+         re-enabled forcing of SMTP AUTH method.
+         Clear temporary password if authentication failed.
+       * smtp.c: output warning to log and set SMTPSession::error_val
+         if error occurs.
+       * smtp.h: changed error value to enum. Added SMTPSession::error_val.
+       * src/mbox.c: proc_mbox(): force updating of folder.
+
+2003-03-28
+
+       * src/pop.h: changed error value to enum.
+       * src/pop.c: pop3_retr_recv(): return PS_IOERR when inc_drop_message()
+         failed.
+         pop3_ok(): return appropriate error value based on current state.
+         Output warning to log if error occurs.
+
+2003-03-27
+
+       * src/nntp.[ch]
+         src/news.[ch]: refactored. Remove NNTPSockInfo and use NNTPSession
+         in nntp.c.
+
+2003-03-27
+
+       * src/inc.c: inc_pop3_session_do(): retrun appropriate error if
+         Session::state == SESSION_ERROR.
+       * po/POTFILES.in: removed src/automaton.c and src/send.c.
+         Added src/send_message.c.
+
+2003-03-26
+
+       * src/pop.[ch]
+         src/session.c: fixed breakage of POP3 retrieval.
+         session_recv_data_from_sock_unescape(): read until terminator
+         appears and also return the actual size.
+
+2003-03-25
+
+       * src/automaton.[ch]: removed.
+       * src/session.c: removed some of the debug output.
+       * src/smtp.c: smtp_session_recv_msg(): workaround in case server
+         returns EHLO-style response to HELO command.
+         Ignore all multiline responses except for EHLO since they are
+         allowed for any command.
+
+2003-03-25
+
+       * src/session.[ch]
+         src/pop.c: fixed retrieval of messages which contain dot-escaped
+         lines.
+         session_recv_data(): added a flag for unescape.
+         session_recv_data_from_sock_unescape(): new. It receives message
+         for each line and unescapes dot-escaped lines.
+         Removed the previous workaround.
+       * src/defs.h: decreased UI_REFRESH_INTERVAL to 40 msec.
+
+2003-03-25
+
+       * src/pop.[ch]: workaround for brekage of retrieval when given size
+         and actual one is different.
+
+2003-03-24
+
+       * src/pop.c: pop3_retr_eom_recv(): ignore invalid end of message
+         since some servers sometimes return incorrect message size.
+       * src/news.c: news_session_new(): zero clear NNTPSession object.
+         Don't initialize Session::sock with nntp_sock->sock to prevent
+         double-free of SockInfo.
+       * src/imap.c: zero clear IMAPSession object.
+         imap_cmd_append(): don't close SockInfo.
+
+2003-03-22
+
+       * src/pop.c: pop3_session_recv_msg(): fixed STLS.
+
+2003-03-22
+
+       * src/inc.[ch]
+         src/pop.[ch]: reimplemented using new I/O system.
+       * src/session.[ch]: session_recv_data(): new.
+         session_send_data_to_sock()
+         session_recv_data_from_sock(): decreased the frequency of progress
+         notification.
+
+2003-03-22
+
+       * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
+
+2003-03-20
+
+       * src/session.[ch]: session_start_tls(): new.
+         session_recv_msg(): made it static.
+
+2003-03-20
+
+       * implemented asynchronous network I/O.
+       * src/session.[ch]: the interface to communicate with servers through
+         child process.
+       * src/smtp.[ch]
+         src/send_message.[ch]: rewrote using new I/O system.
+       * src/socket.[ch]: renamed *_write() to *_write_all(), and made
+         *_write() as just a simple wrapper for write().
+       * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
+         message to send with SMTP or NNTP.
+         file_read_stream_to_str(): new.
+
+2003-03-12
+
+       * src/textview.c: textview_button_pressed(): corrected the range of
+         URI link.
+       * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
+         represented with more than 2 bytes as 2 character width and 2 bytes
+         one as a single character width as a workaround for wrapping problem.
+
+2003-03-12
+
+       * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
+         summary sorting).
+
+2003-03-11
+
+       * implemented HTML link correctly.
+       * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
+         tags.
+         html_get_tag(): new. It parses tag and returns HTMLTag object.
+         html_parse_tag(): also parses <a> tags and 'href' attributes.
+       * src/textview.c: textview_write_link(): new. It creates link string.
+
+2003-03-10
+
+       * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
+         loop / crash bug (thanks to Darko Koruga).
+         compose_write_to_file(): put correct charset element when
+         conversion failed but want to send anyway.
+
+2003-03-10
+
+       * src/headerview.c: headerview_show()
+         src/textview.c: textview_write_line(): remove unreadable characters
+         from displayed strings to prevent crashes on multi-byte
+         environments.
+       * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
+         from conv_localetodisp().
+
+2003-03-10
+
+       * src/procmsg.c: procmsg_cmp_by_subject()
+         src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
+         comparing subjects.
+       * src/utils.[ch]:
+         subject_compare_for_sort()
+         trim_subject_for_sort(): new.
+
+2003-03-07
+
+       * version 0.8.11
+
+2003-03-07
+
+       * src/defs.h: added -i option to the default sendmail command.
+
+2003-03-06
+
+       * src/codeconv.[ch]: added missing character encodings and locales.
+
+2003-03-06
+
+       * src/procmsg.[ch]:
+         procmsg_get_mark_sum()
+         procmsg_open_mark_file()
+         procmsg_read_mark_file(): take FolderItem instead of directory
+         path.
+
+2003-03-05
+
+       * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
+         which is on the wrap boundary would be lost when encoding long
+         non-ascii strings (thanks to Sergey Vlasov).
+         Don't force wrapping within a long word until it reaches hard line
+         length limit (998 characters) (workaround for the breakage of
+         long address list with no spaces).
+
+2003-03-03
+
+       * src/prefs_account.c: fixed compile failure when using neither
+         gpg or ssl.
+
+2003-03-03
+
+       * src/codeconv.c: fixed UTF-8 locale support.
+         conv_get_code_conv_func(): return conv_noconv if locale encoding
+         is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
+         conversion.
+         conv_convert(): call conv_iconv_strdup() instead of
+         conv_codeset_strdup().
+         conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
+
+2003-02-28
+
+       * src/prefs_account.[ch]: added an option to use command output for
+         signature.
+       * src/compose.c: compose_insert_sig(): use command output if
+         specified.
+         compose_insert_command_output(): new.
+
+2003-02-28
+
+       * src/main.c: main(): remove lock socket if sylpheed is not running
+         when --status command is executed.
+         lock_socket_remove(): new.
+
+2003-02-27
+
+       * src/codeconv.c: conv_codeset_strdup(): don't convert if current
+         codeset is US-ASCII (or POSIX).
+
+2003-02-21
+
+       * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
+         and continue conversion.
+
+2003-02-21
+
+       * src/summaryview.c: summary_selected(): always update widget
+         sensitivity.
+
+2003-02-20
+
+       * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
+         date in timezones more than GMT+12 or less than GMT-12.
+
+2003-02-18
+
+       * src/prefs_common.[ch]
+         src/sourcewindow.c: remember the size of source window.
+       * src/md5.c: fixed a compile problem with gcc 3.3.
+
+2003-02-17
+
+       * src/about.c: about_create(): modified the copyright notice.
+
+2003-02-17
+
+       * src/colorlabel.c: don't use pixmaps for label color rect but draw
+         rectangles so we can respect the color map of palette based visuals
+         (fixes the long time crashes on Solaris - thanks to Alfons
+         Hoogervorst).
+
+2003-02-17
+
+       * src/procheader.c: procheader_date_parse(): made month string case
+         insensitive.
+       * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
+         selection list is empty.
+
+2003-02-14
+
+       * src/quote_fmt_parse.y: removed gettext translatable strings.
+       * src/unmime.c: unmime_header(): remove broken characters when
+         code conversion failed.
+       * src/codeconv.c: conv_encode_header(): fixed a bug that broken
+         headers if long words more than 75 characters are entered.
+
+2003-02-13
+
+       * src/prefs_account.c: prefs_account_receive_create()
+         src/utils.c: to_human_readable(): made units translatable.
+
+2003-02-13
+
+       * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
+         at first byte (fixes abort() problem of glibc).
+       * src/html.c: html_read_line(): remove characters which can't be
+         displayed on the current locale.
+
+2003-02-11
+
+       * src/utils.[ch]:
+         trim_subject_for_compare(): renamed from trim_subject().
+         trim_subject(): new. It removes [...] or (...) at the beginning
+         of subject.
+       * src/prefs_folder_item.c
+         src/folder.[ch]:
+         added options for trimming summary / compose subject.
+       * src/summaryview.c: summary_set_header(): trim subject if the folder
+         option is set.
+       * src/compose.c: compose_reply_set_entry(): trim subject if the folder
+         option is set.
+
+2003-02-09
+
+       * src/codeconv.c:
+         LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
+         X-Face header problem).
+         conv_encode_header(): allow up to 97 characters for one word.
+
+2003-02-07
+
+       * src/filter.c: filter_match_condition(): fixed the bug that
+         second condition ignored regex.
+       * src/news.h: NewsGroupInfo: use guint for message numbers
+         (fix count in grouplist dialog) (thanks to Thorsten Maerz).
+
+2003-02-06
+
+       * src/codeconv.c: conv_encode_header(): fixed a segfault bug
+         on code conversion failure.
+         conv_get_charset_str()
+         conv_get_charset_from_str(): optimized using hash table.
+
+2003-02-06
+
+       * src/quote_fmt_parse.y:
+         SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
+         treat only "\n-- \n" as a signature separator.
+
+2003-02-05
+
+       * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
+       * src/summary_search.c: summary_search_execute(): search collapsed
+         nodes, too.
+
+2003-02-05
+
+       * src/codeconv.c:
+         conv_unreadable_latin(): include 0x7f as an unreadable character.
+         conv_localetodisp(): don't remove 8bit characters by default.
+         conv_get_current_charset()
+         conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
+         appended at the last of locale name.
+       * src/compose.c: compose_write_to_file(): show from and to encoding
+         when code conversion failed.
+
+2003-02-04
+
+       * version 0.8.10
+
+2003-02-04
+
+       * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
+         (thanks to Colin Leroy).
+       * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
+         Maerz).
+
 2003-02-03
 
        * src/textview.c: textview_write_line(): don't convert if conv is