2000.07.16 initial release 2000.07.20 bugfixes: - new articles were showing up as old; must sort output of nnmaildir-retrieve-headers 2000.07.31 bugfixes: - new mail is now incorporated by nnmaildir-request-list instead of nnmaildir-retrieve-headers features: - headers and articles can be fetched by Message-ID - nnmaildir-retrieve-headers handles numeric fetch-old - multiple groups per server; one group per maildir - nnmaildir-directory is gone; nnmaildir-groups maps group names to maildirs 2000.08.01 bugfixes: - narrow search for existing Lines: to just this article - request-list was reporting the lowest article number of new, empty maildirs as 1, and the largest as 0 features: - request-expire-articles, controlled by nnmail-expiry-wait{,-function} - request-rename-group - requires user to update select method manually internals: - request-type - returns `mail' 2000.08.02 bugfixes: - nnheader-fold-continuation-lines disappeared; it's back - open-server would trigger an error when reporting one features: - request-delete-group - also requires user assistance 2000.08.03 bugfixes: - -request-expire-articles couldn't default to current group internals: - -i-curgrp is now defvoo'd instead of a server-indexed alist, and refers to a -groups entry instead of a string 2000.08.04 bugfixes: - -open-server no longer stomps on your select method internals: - .nnmaildir-max is now a symlink, no longer in cur/ 2000.08.11 bugfixes: - -request-article could have returned an article from another group when requesting a nonexistent article by article number features: - -request-move-article internals: - -request-list runs faster, updating max only once 2000.09.03 bugfixes: - -retrieve-headers never actually handled numeric fetch-old - -request-{rename,delete}-group no longer require user help - -request-expire-articles returns a correct article list features: - -request-replace-article - -groups is now just a list of maildirs; group names are stored in the maildirs - -add-lines controls whether Lines: is added when missing internals: - major rewrite for performance; .nnmaildir-max replaced with .nnmaildir, storing NOV lines & other info - old tmp/ files are deleted in -open-server instead of -close-server (which has evaporated); tmp/ files with multiple hard links are also deleted 2000.09.21 bugfixes: - -request-move-article now removes the in-memory record of a message along with the message file - more error reporting - generated Xrefs are now well-formed features: - -request-accept-article 2000.09.28 bugfixes: - -request-accept-article correctly finds end of a header - Xrefs track changes in group names - gnus-declare-backend is called features: - -wipe-on-delete 2000.10.04 bugfixes: - -request-list lists groups as writable - no need for 'utc in (format-time-string "%s") - -request-list was setting msgid globally, not in (let) - tabs are replaced with spaces in NOV lines features: - -request-scan - -retrieve-groups 2001.04.11 bugfixes: - tabs are replaced with spaces in Message-IDs - XEmacs doesn't have (forward-point); thanks Rick Wash - XEmacs capitalizes error messages differently; thanks Rick Wash - messages are moved between groups by linking instead of copying (sometimes, anyway. still working on this.) - others; it's hard to keep track during a rewrite features: - marks are stored in the backend; article numbers are dynamically reassigned to keep them small and consecutive, thanks to -request-update-info and -request-set-mark - server parameter "directory" names a directory containing maildirs; new maildirs are scanned for by -request-scan - server parameter "directory-files" specifies the directory-files function to use to scan "directory" - server parameter "-wipe-on-delete" is gone; better to decrypt encrypted articles on the fly in -request-article (but we don't, yet) - all group parameters can be set to forms which will be eval'ed - group parameter "directory-files" specifies the directory-files function to use to scan maildir directories - group parameter "read-only" allows reading unwritable maildirs - group parameter "distrust-Lines:" forces counting of lines for NOV data - group parameter "always-marks" gives a list of marks that all articles should appear to have set - group parameter "never-marks" gives a list of marks that no articles should appear to have set; overrides always-marks - group parameter "expire-age" gives the minimum age of an article before expiry, in seconds - group parameter "expire-group" gives the name of a group to move articles into when expiring - variable "nnmaildir-article-file-name" is set by -request-article - -request-post uses message-send-mail function instead of mail-send-and-exit internals: - major rewrite for flexibility, reliability, and performance - .nnmaildir replaced with .nnmaildir/* - no more nnoo, no more nnmail - no need for gnus-atomic-progn; memory data structures are designed for safe updates 2001.04.14 bugfixes: - -server-opened checks whether the server was opened *successfully* - -open-server sets the error message for the correct server internals: - symlink names are the only way to name groups - -request-scan doesn't need groups' devices and inodes anymore - -request-scan scans the server directory only after it changes - -update-info scans mark directories only after they change - modtimes are now stored as (high low), not (high . low) - use delete-file instead of --unlink for files found in directory-files - don't store maildir paths in groups; calculate them from the server directory and group name - insert numbers with princ 2001.04.16 bugfixes: - new mail is found with only one "g" instead of two internals: - code cleanup for -request-group 2001.04.24 bugfixes: - gnus-extra-headers is handled correctly; thanks Jost Krieger 2001.07.30 bufixes: - narrow to header before nnheader-parse-head features: - server parameter get-new-mail allows conventional mail splitting 2001.08.29 bugfixes: - NOV data containing carriage returns was mangled - -open-server and -close-server were not idempotent; thanks Rob Browning - cached NOV data was not regenerated when NOV file was missing - -request-delete-group was trying to rmdir a symlink - -request-delete-group was trying to lstat ".../" - -request-delete-group didn't delete .nnmaildir/ - -request-delete-group mishandled symlinks to "~..." - nnmaildir--unlink didn't unlink symlinks to nonexistent files features: - -request-create-group (requires the create-directory server parameter) - oops - group parameters can't be lists; wrap them in vectors - -request-newgroups internal: - filenames of delivered messages get the current time, and new messages are sorted by filename, not modtime; thanks Rob Browning 2001.09.11 bugfixes: - use 'address in gnus-declare-backend - don't throw an error for repeated numbers in ranges 2001-12-19 bugfixes: - don't assume -open-server is called before anything else; thanks Harry Putnam - don't assume article range is sorted in -request-retrieve-headers features: - new function -article-number-to-file-name