Here are the changes new in release 2.1 on July 7, 2004 (from 2.0):

* Made PocketPurchase.prc TOTALLY optional
* Delete Read Arts functionality restored to Yanoff-
* Fixed crash when using "Test SMTP Server" in Yanoff-
* Fixed crash when modifying Server #0 (SMTP; see above) in Yanoff-
* Fixed bug causing non-0 "Use" value in "Poll Prefs" to be lost
* Fixed bug causing occasional wrong ButtonAction to be performed
* Fixed bug causing "Misc Prefs" checkmarks to be settable but non clearable
* Removed debugging "BUG expired..." alert
* Removed debugging "Toggle Debug" menu items from Yanoff-


Here are the features on our ToDo list:

* Ability to use multiple mail servers
* Full MIME support
* format=flowed support (support infrastructure currently exists)
* Multi-language support
* Memory Free in upper-right corner updated during Install/Index
* Turn off backlight during article thread/index
* Export article to address book (Name=Name/Email=Email/Note=article)
* Beam article as Memo
* VFS support (including log-to preference)
* Preference: Exported Memo destination category
* Export URL (selected text) to various browser's bookmark file(s)
  (e.g. Blazer, Eudora, etc.)
* Take WordWrap setting into account when Quoting article text for F'Up/Re
* Custom-Headers-Exist indicator on NG Prefs
* XFace support
* JogDial and other "funky controls" support
* Hi-Res support
* Long (non-square) screen support with landscape (90deg rotation) support
* Left-handed scrollbar support (infrastructure exists now)


Here are the bugs that are outstanding:

* Cursor sometimes misplaced when returning to NG list screen
* Occasional post-poll crash on some devices when memory is low (< 1M)
* Incompletely redrawn screen when alarm or other non-Yanoff drawing occurs


Here are the changes new in release 2.0 on June 26, 2004 (from GPL Yanoff):

* Full compatibility with OS4, OS5 (Garnet)
* Go online/offline within the app (new preference)
* 3-level "Confirm Deletes" preference (none/many/all)
* Font selection (currently just for article view but later everywhere)
* Scores of memory leak plugs and memory waste shrinks
* Full Global Find support (with Enable/Body/Subject/From/Reply-To/MsgID/Refs
  preferences)
* Proper "articles deleted" code to handle repositioning of selected article
* All long-duration operations report thier current stage of operation and
  can be aborted AND RESTARTED WHERE THEY WERE
* All long-duration operations respond to (accept interrupts for) system
  events (power button, alarms, etc.)
* Include only highlighted text when quoting the original article (Re/F'Up);
  this allows the removal of the "Quote article" dialog!
* New ".sig Blanks" Misc Pref inserts space between quoted text and signature
* Quoted followups/replies put the cursor AFTER the quoted text (before the
  .sig delimiter); most top-posters are just L-A-Z-Y and this will deter 99%
  of them
* Added "Button Action Prefs" allowing users to configure 6 hardbuttons and up
  to 3 soft buttons on each screen allowing for things such as automatically
  calling "Delete Read Articles" when jumping between newsgroups
* Better connect/disconnect rules:
     If not connected: connect, poll, disconnect.
     If connected: poll (stay connected).
* Anti-Spam feature to skip article bodies if "Lines:" or "Newsgroups:"
  headers exceed user-specified limits.
* Killfile support (selected authors' articles not downloaded and headers
  discarded)
* Added "Purge Killfile" which works the same as "Purge MsgIDs" (a killfile
  entry's timestamp is updated whenever an article is killed)
* Editing of Killfile
* Editing of Scoring DB
* Logging preferences: Dailog/Memo w/wo timestamp for Error/Minor/Major/Debug;
  this allows uninterupted polling (uncheck Error:Dialog)!
* Find (and Find Again) text within article
* Much more Hi-Res friendly (no hard-coded screen assumptions); completely
  Hi-Res compatible (can't try it)
* Speeded up threading several thousand percent and flattened the performance
  curve (speed/articles-in-newsgroup) to almost completely linear (before it
  was a steep "hockey-stick" based on number of articles already threaded).
  Right now it threads at about 1.5 articles/second when using the newly
  implemented "thread cahces" (reference, subject, or both) on my Visor Prism.
  With mostly short threads, it is more like 3a/s; with mostly long threads it
  is more like 1a/s. The RAM cost is quite satisfactory; only about
  3K/100articles/cache (or, to put it another way, about 110% of the size of
  the Newsgroup-# file for each cache).
* Added new thread caching preference to NG Prefs: None, Subject, Reference,
  or both (radical speed increase for post-poll index/thread function)
* "Indexing" (threading) is radically enhanced (more accurate) and speeded up
  (even when not using caches)
* Automatic generation of thread databases (don't need to reindex after
  changing caching preference)
* Each thread DB may be manually queried to im/prove threading (partner to
  above change)
* "Recalculate next reindex" function to allow recovery of where reindex
  should begin if there's a crash/reset during indexing/threading
* Handle white space in downloaded headers (i.e. "Newsgroups": articles were
  being lost)
* Handle "lost articles" better (notify user they exists and ask what to do
  with them)
* "Bip" aural feedback for (non-evident) successful operations (e.g. author
  added to killfile)
* Fixed "Beep" preference so it is global and expanded the concept to what is
  now "Sound Prefs".
* Several "lost pixels" have been reclaimed for all list screens
* Smart newsgroup name reduction (e.g rec.games.video.arcade.marketplace ->
  rec.g.v.arcade.marketplace)
* Rot13 and "ReverseText" available on all edit menus
* Enhanced "saved state" allowing you "jump back" to:
   * Header/Body
   * Scroll position
   * Highlighted text
* Body/Header view is persistent; if you move to an article with no Body,
  you are no longer thrown into the header.  If you are viewing a header and
  move to another article, you will continue viewing headers until you push
  the "Body" button
* Many new (or newly menued) article Goto commands including:
   * Goto top
   * Goto bottom
   * Goto first Marked article
   * Goto first Locked article
   * Goto first Unread article
   * Goto Prev Subject
   * Goto Next Subject (thread) while reading (i.e. kill thread)
   * Goto Next Subject
   * Goto Prev Article
   * Goto Next Article
   * Goto Prev Unread
   * Goto Next Unread
   * Goto Prev Marked
   * Goto Next Marked
   * Goto Prev Locked
   * Goto Next Locked
* Non-progress-dialog (i.e. pre OS 3.5) support for long-duration-operations
  can be cancelled by tapping Menu silk (can't tap "cancel" button if there's
  no dialog)
* Delete Unlocked Articles (i.e. "catch up") feature added
* New "Tap Action" preference to toggle your choice of Lock/Read/Mark flags in
  article list view
* "Get:" Poll Preference fixed to properly support "Headers-first" use.  It
  now has, "New Headers", "New Bodies", "Old Bods+New Heads", and "All Bodies".
  Set "Get" to "OB+NH" and "Tap Action" to "Un/Lock".  Then scan the headers,
  tap-locking the ones for which bodies are desired.  Then "Delete Unlocked"
  and Poll again (reading bodies and unlocking articles as desired).
  The last 3 features are partners
* Along with Cut Sig (now "Trim .sig" which has been moved to Poll
  Preferences) are:
   * Trim MIME [if "plain text" stanza present, trim all other stanzas (also
     decodes '=##' tags).  Whenever this is done, it sets the "Mark" bit
     because it is possible this might actually not work properly in all
     cases; this way you can know it was "de-MIMEd" and send me a bug report]
   * Trim Lead(ing White Space: BLANK LINES ONLY)
   * Trim Trail(ing White Space)
   * "MutliTrim" All 4 (MIME/.sig/Lead/Trail) [i.e. 'at once', saving user 3
     stylus strokes]
   * Decode OR Trim MIME '=##' tags (don't those drive you CRAZY?)
* The above options plus "Trim selected text" are available as manual
   operations, too
* "MultiTrim all articles" function (uses trim settings on Poll Prefs) to
  regain wasted space on existing articles
* MANY menu options renamed, shortcutted, and moved around to more "proper"
  places.
* NG Poll Prefs removed entirely (it was 100% redundant after minor code
  changes)
* "General Poll Prefs" renamed to "Global Poll Prefs" (partner to above change)
* Export to Memo exports selected text only (plus header) if any is selected
* Put "Subject" on top in header (looks better when exported to memo)
* Low Memory Poll Auto-Abort ("Poll abort at ####KB" on Poll Prefs)
* Memory Free in upper-right corner updated during Polling (partner to above
  change)
* Enhanced header display (Reply-To: and References: added plus space-savings)
* PageUp/PageDown buttons for all list screens
* "Intro" preference split into "Re Intro" and "F'Up Intro"
* Tons of scrolling/redrawing (too frequently) bugs fixed; this radically
  increases speed/performance
* When viewing article header, the title bar shows DB vitals:
  NGDB Position.NGDB UID:ArtDB Position.ArtDB UID
* Rearrange Newsgroups (or alphabetize them back the way they were)
* Multiple mail server definitions allowed
* Optional SentBox support
* Added function to Find/Fix bogus article references in corrupted NGs
* Editing and manipulating of outgoing articles sensibly redesigned
* Now possible to delete individual articles at any time
* Added new "Next Article to Poll" preferences to NG Prefs
* Preference: Use MsgIDs (for people low on RAM: this takes a good bit of RAM)
* "Sample arts" moved from NG Prefs to Poll Prefs
* Slight redesign of "Poll What" preference (added "Old Bodies + New Headers")
* Update of Server Pref 'port' from 4 digits to 6 digits
* Word wrap can now be turned completely OFF (Quoted-Printable MIME is used
  instead)
* Fixed and automated the TimeZone to use OS data (removed server pref)
* No longer shows "Re: " in title bar of article body (shows more text for
  long subjects)
* Don't "stack" forms; rather discard them as user moves deeper/shallower
  through them (saves memory/heap; small time penalty)
* Recreate Newsgroups (i.e. start over using only NewsArts and
  NewsSubscriptions PDBs; useful for "swapping" w/ other users [e.g. bug
  reports] and for renumber NewArts[#].pdb files)
* Email the author button
* Test SMTP configuration (send an email and receive immediate reply)
* Auto-email crash report if app ever crashes (configurable)
* "Repopulate MIDs" function to add current articles' MIDs to History DB
* Delete temporary buffer file, "Newsbuffer" (32K) when done using it
* Set backup bits for very important files/DBs (killfile, arts, scorefile,
  subscriptions; everything else can be reconstructed fairly easily)
* Display Hex ASCII (of selected text); I needed this for debug but why
  remove it?
* All help texts rewritten for clarity and code changes
* Vestigial-most-significant-digit "KB free" display bug fixed
* Patch scroll_acc leaks (pending scrolls "lost" if app exit before returning
  to frame)
* If one clicks the left column in article list it used to redraw all rows,
  now just that 1 row
* "Select/ed" changed to "Mark/ed" for clarity and ambiguity resolution (and
  it saves 1 char); considering doing this again to change it to "Tag/ged".
* "Keep/t" changed to "Lock/ed" for clarity
* Fixed bug that when drag-highlight-scrolling, scrollbar does follow and is
  out-of-sync
* Added "key" icon and "From" -> "|From" in article view header
* Automatic mandatory signature delimiter ("-- ") insertion
* Update of default signature to praise Jesus!
* Update of massena default server to falch.net
* MAJOR reformatting of the source including:
   * Removal of all tabs
   * My personal preferences for brace positioning, etc.
   * #defines -> typedef enums wherever possible
   * "const" added to function parameters wherever possible
   * Several new code sections
   * More useful return codes (usually Booleans) added wherever possible
   * Better and more consistent variable and function (re)naming
   * Whenever I had to figure something out, I added comments to explain how it
     worked and why
   * Lots of hardcoded text moved to lang.c and lang.h (I mean *LOTS*)
   * Added programmability to enable/disable existing Ydebug facility
   * Added menu options to manually enable/disable Ydebugs at run-time
     (partner to above change)
   * Added optional memory tracker feature to locate memory leaks (beta only)
