RELEASE NOTES FOR THE PINE MESSAGE SYSTEM Version 3.90 University of Washington August, 1994 TABLE OF CONTENTS (1) Summary of Recent Changes (2) PC-Pine Notes (3) Configuration (4) Coming Attractions (5) History (6) Credits (7) Legal Notices --------------------------------- | (1) Summary of Recent Changes | --------------------------------- Changes since Pine 3.89. o Finished all the "Not implemented yet" commands: -Bounce (Remail) -Flag (Set message status) -Pipe (Pipe msg to external cmd; Unix only) -Select,Apply,Zoom (Aggregate operations) -Setup/Config (Pinerc configuration screen) o News posting. o News subscription/unsubscription. o Multiple address books. o Postpone multiple messages. o Customizable headers for Composer. o Mailcap support. o Improved support for multiple incoming message folders. o enable-alternate-editor-implicitly feature (except for editing headers). o All .pinerc features now settable from command line. o Way to control which options are user-configurable (Unix only). o Way to have Save *not* implicitly delete. o Way to use current-working-directory for Export, Read File, etc. o A *preliminary* version of PC-Pine for Windows/Winsock. (Alas, it doesn't work on OS/2 yet.) Beginning with Pine 3.90 there will also be an additional file created for each address book the first time you use it. It has the same name as the address book but with the suffix ".lu" added. It helps speed up lookups while you are composing messages. Do not edit or remove any of these ".lu" files. If the .lu index file cannot be created in the directory containing the address book, Pine will attempt to create it in a temporary directory. NOTE: Comments in your .pinerc file are now very much out of date. With the advent of the builtin SETUP CONFIGURATION screen, we hope you won't need to look at those comments any more, but we nevertheless encourage you to run the following command to update those comments: pine -pinerc .pinerc Changes Since Pine 3.07. For some of you, Pine 3.90 may be the first version of Pine you have used since Pine 3.07, which is now quite ancient. There have been literally hundreds of changes since then, but a few that may surprise you are listed below. These user-interface changes were needed to allow for new features: o Print is now "Y" instead of "L" o The Folder List is now uniformly accessible via "L" o Viewing/saving attachments is now done via "V" instead of "A" o SortIndex is now "$" instead of "Z" o pinerc features may now be set via the Setup/Config screen --------------------- | (2) PC-PINE NOTES | --------------------- PC-Pine is now available for Windows/Winsock as well as the following DOS versions: packet driver, Novell LWP, FTP PC-TCP, Sun PC-NFS. There are several characteristics of PC-Pine that should be noted: o There is no spelling checker. o The alternate editor function is not available. o The pipe-to-unix-cmd function is not available. o Sorting the Index (by other than Arrival) is *hopelessly* slow. o Performance optimization still needs to be done. Some specific limitations of the DOS version (these do not apply to the Windows/Winsock version of PC-Pine): o Memory: the DOS version needs about 500K out of 640K. o The DOS version can't run image viewer from within Pine, due to memory. o Messages (excluding attachments) must fit in DOS memory; However, attachments may be any size. Additional notes: -The Windows/Winsock version of PC-Pine is NOT a full GUI Windows application. It has the same character-oriented user interface as Unix Pine and PC-Pine for DOS, but with a few Windows-specific features such as a resizable window. However, as with PC-Pine for DOS, you can use the mouse to select commands or messages in the Index, or to move the cursor in the composer. The big advantage is that PC-Pine for Winsock runs as a true Windows application, so it doesn't have the DOS memory limitations, and of course it uses the Winsock network interface. -Performance optimization has still not been done. This will be most noticeable when using NNTP to access newsgroups, or when Index screens are redrawn while using PC-Pine over low-speed lines (via SLIP or PPP). Encoding a decoding attachments is also very slow in this version. -While message folders may be either local or remote, several support files must be available on the local disk. In particular your PINERC config file, ADDRBOOK, NEWSRC, and PINE.SIG your signature file. Other files (postponed and interrupted messages, debug files) are also stored locally. Some users of both PC-Pine and Unix Pine must worry about keeping their pinerc, address book, and newsrc files in sync. This may be done using remote file system protocols or manual copying. (Remote access to these support files is planned for the future.) -The PC-PINE message folder format is based on byte-counts for maximum efficiency, so they must not be edited. The format is non-standard, but conversion utilities would not be difficult. This format is supported in Unix Pine as well. PC-Pine can also open Unix-style folders for READ-ONLY access. -PC-Pine mouse support is not yet available on some screens -Don't expect to display a picture without exiting PC-Pine for DOS, due to DOS memory limitations. In some configurations, there *may* be enough memory for the viewer and a small image, but don't count on it. With PC-Pine for Windows/Winsock, the memory constraints are greatly diminished, and viewing image attachments seems to work quite well. We have been testing with the "lview" package by Leonardo Loureiro, which can be obtained from oak.oakland.edu or any other SimTel mirror site. --------------------- | (3) Configuration | --------------------- Configuration precedence. There are several levels of Pine configuration. Configuration values at a given level over-ride corresponding values at lower levels. In order of increasing precedence: o built-in defaults. o system-wide pine.conf file. o personal .pinerc file (may be set via built-in Setup/Options menu.) o command-line options. o system-wide pine.conf.fixed file. There is one exception to the rule that configuration values are replaced by the value of the same option in a higher-precedence file: the feature-list variable has values that are additive, but can be negated by prepending "no-" in front of an individual feature name. File name defaults. Notes: = directory where pine.exe found. = directory where pinerc found. * = default file name is overridable in pinerc. $HOME, if not explicitly set, defaults to root of the current drive. $MAILCAPS, if set, is used in lieu of the default mailcap search paths. + between the mailcap paths implies that the two files are combined. ; between other default paths implies that the first one found is used. PC-Pine: executable \pine.exe help index \pine.ndx help text \pine.hlp pers config $PINERC ; $HOME\pine\pinerc ; \pinerc global cfg $PINECONF password \pine.pwd debug \pinedebg.txt signature* \pine.sig addressbook* \addrbook addrbook lu \addrbook.lu (appends .lu to addrbk name.) sentmail* $HOME\mail\sentmail.mtx postponed* $HOME\mail\postpond.mtx interrupted $HOME\mail\intruptd newsrc* $HOME\newsrc ; \newsrc mailcap \mailcap + \mailcap Unix Pine: executable /pine persnl cfg ~/.pinerc global cfg /usr/local/lib/pine.conf fixed cfg /usr/local/lib/pine.conf.fixed local help /usr/local/lib/pine.info debug ~/.pine-debug[n] signature* ~/.signature addressbook* ~/.addressbook addrbook lu ~/.addressbook.lu (appends .lu to actual addrbk name.) sentmail* ~/mail/sent-mail postponed* ~/mail/postponed-msgs interrupted ~/.pine-interrupted-mail newsrc* ~/.newsrc mailcap ~/.mailcap + /etc/mailcap lock files /tmp/.\usr\spool\mail\xxxx inbox /usr/spool/mail/xxxx password /etc/passwd Mailcap files. Pine now honors the mailcap configuration system for specifying external programs for handling attachments. The mailcap file maps MIME attachment types to the external programs loaded on your system which can display and/or print the file. A sample mailcap file comes bundled with the Pine distribution. It includes comments which explain the syntax you need to use for mailcap. With the mailcap file, any program (mail readers, newsreaders, WWW clients) can use the same configuration for handling MIME-encoded data. Environment variables. PC-Pine uses the following environment variables: PINERC (Optional path to pinerc file.) PINECONF (Optional path to global pine config file.) HOME TMP or TEMP COMSPEC MAILCAPS (semicolon delimited list of path names to mailcap files) Unix Pine uses the following environment variables: TERM (Tells Pine what kind of terminal is being used.) DISPLAY (Determines if Pine will try to display IMAGE attachments.) SHELL (If not set, default is /bin/sh ) MAILCAPS (A semicolon delimited list of path names to mailcap files) -------------------------- | (4) Coming Attractions | -------------------------- NOT DONE, BUT WE WANT THEM AS MUCH AS YOU DO... o Additional MIME support, esp. controlling file TYPING o PEM and/or PGP support o External directory services access o Kerberos support o RFC 1522 header encoding for 8bit character sets o Location independence of support files o Offline support o Hierarchy support (awaits IMAP4) o Answered flag not set if Reply is postponed (awaits IMAP4) o Faster detection of folders with Recent messages (awaits IMAP4) o Faster fetching of headers (awaits IMAP4) o Determination of which flags are permanent (awaits IMAP4) --------------- | (5) HISTORY | --------------- Pine was originally conceived in 1989 as a simple, easy-to-use mailer for administrative staff at the University of Washington in Seattle. This constituency had previously been using a very nice mail system derived from UCLA's "Ben" mailer for the MVS operating system, but when the cost of maintaining our MVS system became prohibitive, we needed to find a Unix-based mailer that preserved the user-interface strengths of "Ben". Our goal was to provide a mailer that naive users could use without fear of making mistakes. We wanted to cater to users who were less interested in learning the mechanics of using electronic mail than in doing their jobs; users who perhaps had some computer anxiety. We felt the way to do this was to have a system that didn't do surprising things and provided immediate feedback on each operation; a mailer that had a limited set of carefully-selected functions. At that time, we could not find any Unix mailer (commercial or freely available) that met our requirements. Consequently, we reluctantly concluded that we would need to develop our own. The Elm mailer seemed like a reasonable starting point since its source code was freely available, so we started modifying it. Today there is virtually no Elm code left, and Pine has evolved so that many "power-user" features may be (optionally) enabled. We have tried to remain true to our original simplicity and ease-of-use goals by providing *optional* features for sophisticated users. In fact, if none of Pine's options are enabled, the latest version has almost the same look-and-feel as the very first version. One of the greatest problems with most mailers on Unix systems is the editor. One can normally choose between emacs and vi. We experimented with some versions of emacs and settled on a hacked version of micro emacs. Eventually it became heavily modified and tightly integrated with the rest of Pine. One of the main features of having a tightly coupled editor is that it can guide the user through editing the header of the message, and Pine takes great care to do this. A very simple and efficient interface to the Unix spell command was also added. The emacs- style key bindings were retained, though most of the other wild and wonderful emacs functions were not. The Pine composition editor is also available as a very simple stand alone editor named "pico". Also working at the University of Washington is the original author of the Internet Message Access Protocol (IMAP). IMAP is a functional superset of POP, and provides a way to manipulate mailboxes on remote servers as if they were local. Specific advantages of IMAP over POP include: support for inbox access from multiple computers, access to more than one remote folder, selective access to MIME message parts, and support for disconnected operation. Not long after the Pine project began, The IMAP author had finished writing the "c-client" library as an interface to IMAP and as a switch between drivers for IMAP mailboxes, Berkeley mail files and Tenex mail files. In time, "c-client" became a full messaging API with support for RFC-822 parsing, MIME parsing and decoding, SMTP and NNTP drivers, and so forth. Great care was taken to make the code writing the mail files robust against disks filling up, and inter-process locking in order to guarantee mail file consistency. It was clear that Pine would benefit greatly from using the c-client to access mail storage so the original low-level Elm code was replaced by calls to c-client library routines. Consequently Pine can write and access a variety of different mail file formats and new ones can be added by creating a simple driver. In addition the c-client does a very careful job of doing all the RFC 822 header parsing and achieves the highest compliance with the RFC. Most of the work done on Pine from 6/92 to 6/93 focused on changes needed to support a truly distributed electronic messaging environment (e.g. remote folder manipulation), and getting Pine to run on DOS (which was a *lot* of work). The first version of PC-Pine (3.84) was released in July 1993, and included first steps toward integrating news and email access in Pine. Doing the DOS port was very difficult for a variety of reasons, but especially because of DOS memory management (or lack thereof). However, simply porting Pine 3.07 to DOS was not sufficient. For a desktop mailer such as PC-Pine to be useful at UW, it was necessary to fully support access to existing *remote* saved-message folders, as well as local (desktop) folders -- and of course, the remote INBOX. Accomplishing this required extensions to IMAP, a new version of the IMAPd server code, and extensive work in Pine to support multiple collections of folders. The principal reason for porting Unix Pine to DOS was to obviate the need for PC users to transfer files between their PC and the Unix system running Pine. Now it is possible to save messages directly to the PC's filesystem, and to directly include PC files in outgoing messages. And with Pine's MIME capability, binary files (e.g. word processing documents, spreadsheets, image files, executables) may be directly attached to your messages. With Pine 3.90, significant new functionality has been added, notably aggregate operations for manipulating groups of messages at once, the first (alpha) release of PC-Pine for the Winsock network interface standard, and greatly improved Usenet (News) support. One of the early interpretations of the name "Pine" was "Pine Is No-longer Elm"; today a "Program for Internet News and Email" seems more apropos. Chronology of Pine versions: * denotes a version with major new features + denotes a version that proved to be long-lived/stable * Pine 3.90 Aug 24, 1994 Major release: Winsock, News, AggrOps + Pine 3.89 Dec 7, 1993 Final bug-fix release of 3.8x series Pine 3.88 Nov 22, 1993 Pine 3.87 Oct 8, 1993 Pine 3.86 Oct 5, 1993 Pine 3.85 Sep 21, 1993 Pine 3.84 Jul 12, 1993 * Pine 3.83 Jun 17, 1993 Major release: includes DOS support Pine 3.81 Oct 16, 1992 Pine 3.80 Oct 4, 1992 Merge of changes in 3.05, 3.73, 3.52 Pine 3.73 Sep 17, 1992 Last BWC version, based on 3.5x Pine 3.52 Sep 17 1992 Pine 3.51 Aug 31 1992 Pine 3.51-haifa Aug 08, 1992 Pine 3.50 Jul 23 1992 BWC/Haifa branch, based on 3.03 + Pine 3.07 Mar 30, 1993 Final bug-fix release of 3.0x series Pine 3.06 Sep 30, 1992 Pine 3.05 Sep 11, 1992 Pine 3.04 Sep 8, 1992 Pine 3.03 Jul 20, 1992 Pine 3.02 Jul 15, 1992 Pine 3.01 Jul 13, 1992 * Pine 3.00 Jul 6, 1992 Second source release; MIME support Pine 2.33 Jul 4, 1992 Pine 2.32 Jul 2, 1992 Pine 2.31 Jun 30, 1992 Pine 2.30 Jun 29, 1992 Pine 2.29 Jun 12, 1992 Pine 2.28 Jun 2, 1992 Pine 2.27 May 22, 1992 Pine 2.26 May 15, 1992 Pine 2.25 May 12, 1992 Pine 2.24 May 1, 1992 Pine 2.21 Mar 25, 1992 Pine 2.20 Mar 25, 1992 First internal release with MIME Pine 2.15 Mar 17, 1992 Pine 2.10 Feb 25, 1992 Pine 2.4 Feb 28, 1992 Pine 2.3 Feb 18, 1992 Pine 2.2 Jan 31, 1992 Pine 2.1 Jan 21, 1992 * Pine 2.0 Jan 15, 1992 First public source release; IMAP support Pine 1.0.26 Jan 13, 1992 Pine 1.0.25 Jan 10, 1992 Pine 1.0.24.1 Jan 1992 Pine 1.0.23.1 Dec 31, 1991 Pine 1.0.22.1 Nov 20, 1991 Pine 1.0.21.1 Nov 14, 1991 Pine 1.0.20.1 Nov 12, 1991 Pine 1.0.19.1 Oct 26, 1991 Experimental newsreading via IMAP Pine 1.0.17.1 Sep 25, 1991 Pine 1.0.16.100 Sep 23, 1991 Pine 1.0.16.1 Sep 21, 1991 Pine 1.0.15.150 Sep 20, 1991 Pine 1.0.14.100 Sep 6, 1991 Pine 1.0.3, Apr 17, 1991 1.0 pre-release; has all 1.0 functions Pine 0.9.650 Mar 17, 1991 Pine 0.9.650 Feb 25, 1991 Pine 0.9.600 Feb 13, 1991 Pine 0.9.500 Sep 25, 1990 Pine 0.9.439 Aug 27, 1990 Pine 0.9.42x Jul 30, 1990 Pine 0.9.40x Jun 25, 1990 Pine 0.9.31x May 30, 1990 Design evaluation version Pine 0.6.273 Jan 05, 1990 --------------- | (6) CREDITS | --------------- The University of Washington Pine development team (part of the UW Office of Computing & Communications) includes: Project Leader: Mike Seibel. Principal authors: Mike Seibel, Steve Hubert, Laurence Lundblade*. C-Client library & IMAPd: Mark Crispin. Pico, the PIne COmposer: Mike Seibel. Bug triage, user support: David Miller. Port integration: David Miller. Documentation: Sheryl Erez, Kathryn Sharpe. PC-Pine for DOS: Mike Seibel. PC-Pine for Windows: Tom Unger. Project oversight: Terry Gray. Principal Patrons: Ron Johnson, Mike Bryant. Additional support: NorthWestNet. Initial Pine code base: Elm, by Dave Taylor & USENET Community Trust. Initial Pico code base: MicroEmacs 3.6, by Dave G. Conroy. User Interface design: Inspired by UCLA's "Ben" mailer for MVS. * Emeritus (Laurence is now at Virginia Tech.) We'd also like to acknowledge the following contributions and contributors: Pine for VMS: Portia Shao and Yehavi Bourvine Special mention: Dave Wall Bug reports, bug fixes, ports, suggestions & encouragement: The world-wide Pine community, including... Shoa Aminpour Gordon Good Richard Murphy J.J. Baily Bob Gregory Il Oh Billy Barron Ed Greshko Mike Ramey Chris Beecher Dmitri L. Gringauz Phil Rand John Benjamins David Halliwell Jochiam Richter Birko Bergt Peter Hausken Thomas Riemer Ken Bobey Jeff Hayward Alexis Rosen Andy Brager Ron Johnson Michael Ross D.K. Brownlee William Kreuter Bob Sandstrom Brian Burriston Pekka Kytolaakso Michael F. Santangelo Bill Campbell Barry Landy Shin-ya Satoh Russel Campbell Chris Latham Corey Satten Donn Cave Jon Lebo Michael Shepard Richard Cheever Allen Leonard Alan Thew Mike Coghlan Robert L. Lewis Jason R. Thorpe Justine Comer Bruce Lilly Marc Unangst Chuck Cooper Matthew Lyle Edward Vielmetti Barry Cornelius John Mackin Ross Wakelin Tony Flemming James Matheson Rich Wales Matthew Freedman Mark McNair David Wall Richard Fritz Pete Mellor Bob Williams Marcelo A. Gallardo Dave Miller Steve Woodyatt Adam Garrett Robert Morris Michael A. Crowley And many others... Our thanks to all! Pine files and documentation are available via FTP or WWW: ftp://ftp.cac.washington.edu/pine http://www.cac.washington.edu/pine In particular, the latest version of Pine source code is available via anonymous FTP from Internet host ftp.cac.washington.edu in the file /pine/pine.tar.Z. Please send comments and correspondence to: pine@cac.washington.edu --------------------- | (7) LEGAL NOTICES | --------------------- Pine and Pico are trademarks of the University of Washington. No commercial use of these trademarks may be made without prior written permission of the University of Washington. Pine and Pico software and its included text are Copyright 1989-1994 by the University of Washington. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee to the University of Washington is hereby granted, provided that the above copyright notice appears in all copies and that both the above copyright notice and this permission notice appear in supporting documentation, and that the name of the University of Washington not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. This software is made available "as is", and THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.