[ANN] msn-pecan-0.1.0-rc1 ready for testing

Felipe Contreras felipe.contreras at gmail.com
Sun Jul 19 13:34:58 EDT 2009


The next msn-pecan release started as 0.0.20 but there are so many changes that
it's going to be 0.1.0. It is way more stable than 0.0.19 but we still would
like to do more extensive testing, so we are rolling a release candidate in
order to fix critical bugs that might be lingering. Hopefully it will be the
only release candidate before the actual release.

The aim of 0.1.0 is going to be our "fist serious release", that doesn't mean
the previous releases were bad, it just means that we were never truly
confident about the code being delivered until now.

Compared to 0.0.19:
 * Timeout issues fixed (switchboard error)
 * Better offline messages receiving support
 * Offline message sending support
 * Reorganization of P2P code (less crashes)
 * Several crash fixes
 * Adium improvements
 * Performance improvements
 * Massive code reorganization

Special thanks for Devid Antonio Filoni, and Andrea Piccinelli who have been
very active fixing issues and making sure msn-pecan is rock-solid. Also Rasmus
Hummelmose who was essential in fixing the timeout issues, it wouldn't have
been possible without his testing. Also thanks to the Pidgin developers (we
picked some patches), and many other contributors.

This is the list of issues fixed so far:
 *  37: Pidgin leaves handle on files after transfers
 *  82: Implement sending of offline messages
 * 117: Received offline messages are being cut
 * 138: Translation is not whole integrated from Launchpad
 * 144: Unable to chat after message timed out
 * 155: Pidgin crashes after connecting (using NTLM Authorization Proxy Server)
 * 156: msn-pecan crash in msg_ack() at cvr/slplink.c:321
 * 157: msn-pecan crash in msn_switchboard_can_send() at switchboard.c:779
 * 158: msn-pecan crash in msn_switchboard_free() at switchboard.c:262
 * 159: Pidgin crash when connecting to MSN
 * 161: 0.0.19 ubuntu package
 * 163: Translations not working on win32
 * 164: msn-pecan crash in pecan_contact_get_personal_message() at
 * 170: Crash upon sign in
 * 171: crash when disabling account
 * 174: Windows 7 RC and Pecan
 * 177: Offline messages of blocked contacts should not be displayed
 * 181: Too many timeout messages
 * 183: msn-pecan should use audio:// links with pidgin 2.6.0
 * 184: already showed OIM message show again using another client
 * 185: Add support for receiving winks
 * 133: pidgin crashed with SIGSEGV in msn_message_destroy()
 * 154: Pidgin Randomly Crashes
 * 166: proxy authorization support missing
 * 153: User Adding Problems

The diffstat is huge:
44 files changed, 3423 insertions(+), 3116 deletions(-)

For the source tarball, win32 installer and maemo package check the
usual location:

And the Adium build is here:

So, start the testing! And please report back any issues :)

Here is the current list of pending issues for 0.1.0 final:

And finally here is the shortlog

Andrea Piccinelli (6):
      Added uninstall target to Makefile.
      Added missing "fr" translation to Makefile.
      Add support for audio:// links in pidgin >= 2.6.0
      Add libmspack and swfobject
      Wink support improvements
      Show the wink preview on a new line

Chris Stafford (1):
      Implement wink receiving

David Geary (1):
      Proxy Authorization

Devid Antonio Filoni (30):
      Fix build on Mac OS X.
      Don't show status name using Adium.
      Enable voice clips and Messenger Plus! sounds supports also using Adium.
      Don't leave the old current media if there isn't a new one.
      Fix regression in 2ca3085
      Fix adium build
      pecan_ud_manager: call queue method only if the object is a
display picture.
      switchboard: don't show a nudge in the conversation window if an
unknown datacast is received.
      dp_manager: remove all PECAN_DP_MANAGER_TIMED stuff.
      dp_manager: retrieve 8 display pictures per minute in order to
avoid error 800.
      dp_manager: add again contact to queue after an error.
      Fix adium build
      pn_oim.c: fix issue 117
      Don't display OIMs of blocked contacts.
      Move rand_guid to pn_util.c.
      pn_util: add product_key to pn_handle_challenge
      Implement OIMs sending support.
      pn_oim: delete received oims from the server
      pn_oim.c: improve process_body_send
      ns: fix OIMs receiving when logged as invisible
      pn_oim: fix some issues on sending
      session: add PnPermission type
      Fix Adium build
      Adium: adjust voice clips and Plus! sounds messages
      ink receiving: use fwrite instead of PurpleStoredImage
      swboard: cleanup
      contactlist: remove useless stuff
      session: add PURPLE_MESSAGE_NOTIFY flag to purple_conversation_write
      show a better message when someone tries to initiate a video call
      dp_manager: don't try to receive failed dps after 5 attempts

Elliott Sales de Andrade (4):
      Properly send MSN nudges in a chat to the right window, and not
open a new conversation for the person who sent the nudge.
      When receiving an MSN custom smiley, look at the switchboard for
the PurpleConversation, instead of searching for it.
      Re-combine large (multi-part) messages on MSN.
      New support for receiving handwritten implementation.

Felipe Contreras (214):
      Fix win32 build
      Trivial cleanup
      Improve win32 build (and other platforms)
      sb: remove CAL timeouts
      printf: allow %x
      Add simple doxygen configuration
      Avoid pecan_strdup_printf
      Whitespace cleanups
      Trivial cleanups
      parser: no need for MSN_BUFF_LEN
      notification: improve system message
      Improve package name handling
      pecan_oim: cleanup
      Rename pecan_ud to pecan_dp_manager
      dp-manager: cleanup
      Fix copyrights
      Cleanup msnobj
      Cleanup pecan_buffer
      Cleanup pecan_socket
      Cleanup pecan_ssl_conn
      Cleanup pecan_parser
      Reorganize pecan_cmd_server a bit
      Cleanup pecan_cmd_server
      Cleanup pecan_http_server
      Remove slpsession
      Cleanup cvr
      Reorganize file transfer struff
      Cleanup pecan_group
      Cleanup addressbook stuff
      Fix package handling
      Cleanup client id stuff
      Move msn.h to pecan_global
      msn: cleanup and fix regression in f93474d
      Fix regressions in 502fc5, and cleanups
      cvr/slp: avoid crash when object is invalid
      Avoid setting wrong display picture
      ns: fix display picture retrieval when a user logs in
      dp-manager: fix possible crash
      dp_manager: remove unnecessary checks
      dp_manager: add sb window todo
      dp_manager: fix wrong loop break
      slpcall: remove from slplink at the right time
      Improve debug log level configuration
      cmdproc: initialize trans ref count correctly
      status: plug a leak
      tests/Makefile: trivial improvements
      tests: add util test
      util: random improvements
      Make ARRAY_SIZE part of util
      util: new pecan_html_unescape()
      tests: add unit test for pecan_html_unescape()
      contact: cleanup set_current_media()
      contact: fix previous commit
      Rename pn_log
      Rename pn_printf
      Rename pn_error
      Rename pn_util
      Rename pn_locale
      Rename pn_global
      Rename pn_oim
      Rename pn_dp_manager
      Rename pn_status
      Rename pn_siren7
      Rename pn_msnobj
      Rename pn_stream
      Rename pn_buffer
      Rename pn_socket
      Rename pn_node
      Rename pn_ssl_conn
      Rename pn_parser
      Rename pn_http_server
      Rename pn_cmd_server
      Rename pn_group
      Rename pn_contact
      Rename pn_contactlist
      dp_manager: minor cleanups
      cmd-server: plug a leak
      Makefile: fix PECAN_LOG -> PN_LOG rename
      Use PECAN_ prefix for defines
      parser: codestyle cleanup
      msn: add error message when sb is not ready
      slplink: reorganize destroy()
      Remove history
      Add p2p-design document
      Allow slightly wrong msnobjs
      Warn instead of erroring out on non fatal errors
      Plug a leak introduced by 00cedc
      msnobj: fix regression in 03b9a37
      sb: more proper usage of P4-Context
      session: reorder free sequence
      Fix transaction recounting
      Trivial cleanups
      slplink: general cleanups
      dp-manager: stop when logging off
      session: lookg up for chats in the right table
      dp-manager: improve message for empty queue
      Rename pn_peer_link
      Add refcount to peer_link
      Add some extra peer_link ref handling
      Remove unnecessary and wrong slp checks
      Improve switchboard refcounting
      Remove sb flag
      peer-link: rename destroy() to free()
      Convert peer_link list to hash table
      sb: avoid double freeing on error
      Cleanup message_destroy stuff
      sb: plug a leak when re-using messages
      General cleanups
      Rename pn_peer_call
      peer-call: add ref-count
      General peer-call cleanups
      peer-call: make timeout function internal
      peer-call: rename destroy() to free()
      Make xfer specific to libpurple
      Cleanup slp.c
      Rename pn_sip
      Rename pn_peer_msg
      Rename pn_direct_conn
      peer-msg: add ref-count
      peer-link: fix peer-msg refcount
      Reorganize peer code for tracking sbs better
      Trivial cleanups
      Cleanup peer-link, split into _priv.h
      Rename PnPeerLink to 'struct pn_peer_link'
      Rename PnPeerCall to 'struct pn_peer_call'
      peer-call: remove type field
      Rename PnPeerMsg 'struct pn_peer_msg'
      Rename PnDirectConn to 'struct pn_direct_conn'
      Rename PnMsnObj to 'struct pn_msnobj'
      cvr: some header reorganization
      pn-msnobj: cleanup type field
      Rename PnGroup to 'struct pn_group'
      Rename PnContact to 'struct pn_contact'
      Rename PnContactList to 'struct pn_contact_list'
      Rename PnContactListFunc to 'pn_contact_list_func_t'
      ab: reorganize headers
      Rename PnBuffer to 'struct pn_buffer'
      Reorganize headers for pn_buffer
      Move pn_buffer away from io subdir
      Remove peer_link_priv.h
      peer-call: split into _priv.h
      sip: whitespace cleanups
      Build fixes
      Move sip stuff to peer_msg
      Cleanup peer_msg stuff
      Split peer-msg into _priv.h
      peer-link: minor cleanup/optimization
      pn-printf: better implementation from klibc
      Fix tests' build
      Make printf test work again
      Fix klib's printf pointer format
      pn-log: cleanups
      pn-log: avoid debugging when it's disabled
      Avoid some warnings
      peer-link: fix ack msg issue
      dp-manager: improve fail log message
      peer-msg: show sip messages in the log
      peer-call: increase timeout
      dp-manager: more logging improvements
      sb: remove unnecessary checks
      tests: more printf checks
      Improve logging stuff
      http-server: fix auth while polling
      Rename po's so that launchpad is happy
      peer-link: avoid re-using peer_msg->msg
      msn: fix potential invalid mem usage
      peer-link: set peer_msg->msg, again
      cmdproc: add comment regarding cmdproc->multiparts
      Improve cmd logging stuff
      log: new pn_test macro
      parser: add pn_parser_read function
      oim: improve the soap parser
      oim: finalize parsing
      Move 'lib' to 'ext'
      ns: also set node id when invited to a sb
      sb: don't clear conv
      New pn_timer helper
      Improve ping functionality
      transaction: remove timeout stuff
      Remove msg->ack_ref stuff
      sb: close on inactivity
      msn: trivial cleanup and possible leak fix
      msn: trivial cleanups
      sb: a few cleanups and extra checks
      Completely remove msg timeout stuff
      sb: fix regression in 935613
      sb: unref messages appropriately
      timer: fix a silly memleak
      contact: set media status correctly
      msn: improve current media stuff
      http-server: trivial leak fix
      log: random improvements
      peer-call: fix timer id
      peer-call: remove 'progress' flag
      sb: fix potential memleak
      Remove name param from pn_cmd_server_new()
      http-server: reset timer on read
      http-server: fix previous commit
      peer-link: fix timeout removal
      peer-link: trivial cleanups
      node: add 'open' field
      node: skip unnecessary steps
      http-server: check if the node is alive
      Random cleanups
      Reorganize peer_msg
      node: make pn_node_set_id() reusable
      sb: cleanup error handling
      util: fix warning on win32
      log: add printf warnings
      Makefile: improve cross-compilation
      Localization improvements
      Random updates
      Build fixes for Maemo
      mspack: fix trivial warning

Mike Ruprecht (2):
      Inform the user when someone tries to initiate a video call.
      Notify the user if a contact invites him to a voice call.

Felipe Contreras

More information about the Devel mailing list