+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.