|
Pegasus Mail and Mercury Developer News 30 November 2011: I realize that it's been a long time since the last entry on this page, and I apologize for that: the delay has come about through a combination of work overload and system migration. The work overload centres around the vast, long-term, ongoing overhaul of now-ancient code in both Pegasus Mail and Mercury, a process that will secure the future maintainability of both programs. In the course of this year, I have rewritten large swathes of the underlying code and have produced more than 50,000 lines of new code, including completely new IMAP client code for the new back-end message store, a full object interface that will be the underpinning of all future development, a comprehensive dynamic string library, and new code to use the industry-standard OpenSSL libraries for secured communications. I have also begun the laborious process of moving the Mercury code from the old Borland compiler I have used for so long to Microsoft Visual C: fortunately, having already done this in the larger and more difficult Pegasus Mail codebase, I expect to find the Mercury port easier and quicker. Clearly, then, there's a lot of work going on "behind the scenes": much of the time, this process feels like walking through treacle - the progress is slow, and it's frustrating having so little to show for the hundreds of hours of work I've done. The only consolation here is that the real benefits will start to flow quickly and clearly once I move to full development of Pegasus Mail v5.0 and Mercury v5.0. In the non-development area, I have now moved all work on Pegasus Mail and Mercury to Windows 7, and have migrated the development and maintenance of this web site to Adobe DreamWeaver, which should make it considerably easier to produce updates to the site and to this page more frequently. Moving development to Windows 7 allows me to consider innovations such as 64-bit versions of the programs, and installation options that more closely follow the Microsoft-mandated directory layouts for software. I have not yet personally tried the Windows 8 betas that Microsoft has released, but members of the test team who have tried them have not currently noticed any problems with either program in the desktop interface of the new version, and should any issues arise during the beta period for Windows 8, I am now in a good position to be able to address them. On the release front, Pegasus Mail v4.63 and Mercury/32 v4.74 are now in final testing. Both programs are maintenance releases that fix numerous small problems (Pegasus Mail has over 60 such fixes, Mercury around 40). They should be released around the first week of December. 20 February 2011: Pegasus Mail v4.61 has now been released. This is really an interim release – it falls between v4.52 and v5.0, but we felt it was important to bring it out to deal with problems in the way other programs are now insisting on formatting their HTML mail (essentially, sending the entire HTML message on a single unwrapped line... <grrr>). That said, there are also some powerful new capabilities in there, and the new look-and-feel gives an idea of what we are trying to develop for the program in the future. On the developer front, things have slowed down a little in the last month as we got v4.61 ready to release (releasing a new version is an extraordinarily difficult and time-consuming process, which is one reason why there are fewer releases these days than there once were), but the new contact manager code is now in its late development stages and should be going into testing shortly: I expect an initial public release containing the new contact manager and further UI improvements sometime in the next couple of months. Work on integrating OpenSSL is proceeding well, hampered mainly by the relative lack of documentation available for OpenSSL, but we expect to have it integrated into both Mercury and Pegasus Mail in the very near future. Finally, the new back-end message store for both programs (see below under the August 2010 entry for more on this) has taken a back seat to releases and other development for the last month or so, but will be back into full development now that v4.61 has been released. 2 November 2010: Progress continues on the new contacts manager for Pegasus Mail version 5. The new contact manager uses an SQL-based back-end for storage, and offers an incredibly rich range of attributes and options: it will exist alongside the now aging Pegasus Mail addressbook format, and while existing addressbooks will continue to work, there will also be options to import their contents into the new contact manager database. The new code has been designed heavily with external synchronization in mind, but at least initially, we will not be including any built-in synchronization clients: there is an extensive API that other developers can use to perform synchronization (down to the attribute level) though, and as real-world usage solidifies after release, we will evaluate what synchronization clients might be most appropriate to provide as standard options. We hope to release an initial version of Pegasus Mail version 5 with the new contact manager in place either late in December this year, or early in 2011. A subsequent version with the entirely-new message store I have been working on for over a year will follow at a later stage. I'm personally very excited about the new contact manager - I believe it could have an enormous impact on the way many people work in a world of e-mail overload. On the Mercury front, we have begun the process of integrating support for OpenSSL into all the Mercury protocol modules. This should provide more robust SSL support, which is becoming increasingly important as the Internet grows. We are also investigating what will be necessary for Mercury to exist in the IPV6 world - we do not expect this to be a large issue, and believe we can have IPV6 support in place well before most sites have any real need for it. Once the OpenSSL transition is complete, there will be a new release of Mercury with that code in place, probably in December 2010 or January 2011. 31 August 2010: Welcome to the new developer news page! I'm conscious that there can often be quite long gaps between releases for both Pegasus Mail and Mercury, so this page is aimed at keeping you informed of what we're working on during those gaps. The intention is to update the page once a month or so, or whenever there's a significant development in the programs. I have spent much of the last year working on the single biggest change to the programs since 1993 - specifically, a completely new message store that will be common to both programs. The Message Store is the "back end" of the program, responsible for organizing and controlling access to mailboxes, folders, messages and other mail-related data. It constitutes about a third of all the programming in Pegasus Mail, and about a quarter of the programming in Mercury, so it's easily the single biggest discrete chunk in both pieces of software. Having an industrial-strength message store that is common to both programs will hugely improve the reliability and maintainability of the whole system, and is a crucial part of the process of taking the programs into the future. As well as the mail store, Pegasus Mail now has an entirely new suite of beautiful user interface graphics by Sven Henze, the development of which was funded entirely by the Pegasus Mail Thousand - thank you all! I'm also working on a new contact manager to replace the aging address book format - the intention is that the contact manager will be as good as or better than anything else in the industry. Finally, Michael in der Wiesche has developed a new HTML renderer for Pegasus Mail that uses the rendering power of Internet Explorer to produce top-class HTML displays. The new renderer will be shipped with the next release as a built-in option - it will still be possible to use the existing renderer, but for higher-grade rendering, the IERenderer can be enabled with a single click. We expect to release an initial Pegasus Mail v5 version with these features before the end of the year, and another version with the new message store early in 2011. Mercury is undergoing extensive internal redevelopment, with the primary initial aim of separating the user interface from the core transports. The aim is to make the server run as a true Windows service all the time, and have configuration and console monitoring done either over HTTP or using a dedicated remote app. We're also redeveloping the way Mercury handles domains, to allow true multi-domain and MX domain support, and the most important long-term goal is to have comprehensive, well-integrated webmail as a core part of the program (this, in fact was the primary driver behind the message store redevelopment). That's all for now - watch out for more updates over the next few months. Cheers! -- David Harris --
[ Page modified 20 February 2011 | Content © David Harris | Design by Technology Solutions ] |