mboxgrep/NEWS.md

130 lines
4.2 KiB
Markdown
Raw Normal View History

2023-02-12 16:51:10 +00:00
# Changes of mboxgrep
## Changes since 0.7.9
2023-02-23 11:59:33 +00:00
- development has been restarted after a longer hiatus
- moved the source tree to git
Bump to version 0.7.10 and import of changes that have been made between 2003 and 2006 and haven't been tracked by any SCM. The changes are the following, in reverse order: * src/mboxgrep.h, src/main.c, src/mbox.c, src/mbox.h, src/scan.c: Temporary mbox file (used for deleting messages) is now created by tmpmbox_create(); tmpp global pointer is killed; portions of code in scan.c are replaced by single call of mbox_write_message(); scan.c no longer includes zlib.h and bzlib.h. * src/mboxgrep.h, src/main.c, src/maildir.c, src/scan.c: Got rid off tmpp and maildir_count global variables (code cleanup). * src/mboxgrep.h, src/main.c, src/scan.c: Introduction of the global runtime_t structure; mailbox counter, MD5 hash and other global variables are now part of it (code cleanup). * src/mboxgrep.h, src/re.c, src/re.h, src/scan.c: Portions of scan_mailbox() have been moved to new functions, pcre_match() and regex_match() (code cleanup). * src/main.c, src/mboxgrep.h, src/re.c, src/re.h, src/scan.c: main() has been partially uncluttered by moving portions of the code to functions pcre_init() and regex_init(). * src/main.c, src/mboxgrep.h, src/misc.c, src/misc.h: Variables regex_s and haveregex are now part of the option_t structure (code cleanup). * src/main.c, src/misc.c, src/misc.h: Parts of main() have been moved to set_default_options() and get_runtime_options() (code cleanup). * src/mbox.c, src/mbox.h: File mode and ownership-altering code has been moved to a separate function, tmpfile_mod_own (code cleanup). * src/mbox.c, src/mbox.h: Portions of the code from tmpfile_open moved to a new function, tmpfile_name (code cleanup). * src/maildir.c, src/mh.c: Removed some unused variables (have_return_path). * src/mboxgrep.h, src/maildir.c, src/mh.c, src/mbox.c, src/scan.c, src/main.c: boxname, outboxname, pipecmd and tmpfilename are now a part of the config_t structure and no longer global variables. * src/scan.c, src/misc.c, src/misc.h: Created postmark_print() to unclutter scan_mailbox(). * src/misc.c, src/misc.h, src/mbox.c, src/maildir.c, src/mh.c: Some repetitive code moved to malloc_message(). * src/mbox.c: Cleanup of mbox_write_message(); use of gzwrite_loop() and bzwrite_loop(). * src/scan.c, src/wrap.h, src/wrap.c: Wrote gzwrite_loop() and bzwrite_loop() to remove some repetitive code from scan.c. * src/scan.c: md5_check_message(): array b and cast in strncmp are no longer unsigned. * src/info.c, src/mboxgrep.h: Updated copyright information, changed author's email address to the one at Panix. * src/mbox.h, src/mbox.c, src/scan.c, src/main.c: mbox_write_message(); further fixes of message deletion code. * src/scan.c: Fixed deleting messages from mbox folders compressed with bzip2. * src/main.c, src/mbox.c: Moved James P. Dugal's ownership-preserving code from main() to tmpfile_open(). * src/info.c: If bzip2 support is compiled in, `--help' command should list `bz2mbox' as a valid option to `--mailbox-format='.
2018-10-04 20:07:27 +00:00
- fixed compile bug on FreeBSD and other systems
- fixed deleting messages mbox folders compressed with bzip2
2023-02-23 11:59:33 +00:00
- fixed multiple compilation errors and warnings on Linux and FreeBSD
- started implementing a debug mode
Bump to version 0.7.10 and import of changes that have been made between 2003 and 2006 and haven't been tracked by any SCM. The changes are the following, in reverse order: * src/mboxgrep.h, src/main.c, src/mbox.c, src/mbox.h, src/scan.c: Temporary mbox file (used for deleting messages) is now created by tmpmbox_create(); tmpp global pointer is killed; portions of code in scan.c are replaced by single call of mbox_write_message(); scan.c no longer includes zlib.h and bzlib.h. * src/mboxgrep.h, src/main.c, src/maildir.c, src/scan.c: Got rid off tmpp and maildir_count global variables (code cleanup). * src/mboxgrep.h, src/main.c, src/scan.c: Introduction of the global runtime_t structure; mailbox counter, MD5 hash and other global variables are now part of it (code cleanup). * src/mboxgrep.h, src/re.c, src/re.h, src/scan.c: Portions of scan_mailbox() have been moved to new functions, pcre_match() and regex_match() (code cleanup). * src/main.c, src/mboxgrep.h, src/re.c, src/re.h, src/scan.c: main() has been partially uncluttered by moving portions of the code to functions pcre_init() and regex_init(). * src/main.c, src/mboxgrep.h, src/misc.c, src/misc.h: Variables regex_s and haveregex are now part of the option_t structure (code cleanup). * src/main.c, src/misc.c, src/misc.h: Parts of main() have been moved to set_default_options() and get_runtime_options() (code cleanup). * src/mbox.c, src/mbox.h: File mode and ownership-altering code has been moved to a separate function, tmpfile_mod_own (code cleanup). * src/mbox.c, src/mbox.h: Portions of the code from tmpfile_open moved to a new function, tmpfile_name (code cleanup). * src/maildir.c, src/mh.c: Removed some unused variables (have_return_path). * src/mboxgrep.h, src/maildir.c, src/mh.c, src/mbox.c, src/scan.c, src/main.c: boxname, outboxname, pipecmd and tmpfilename are now a part of the config_t structure and no longer global variables. * src/scan.c, src/misc.c, src/misc.h: Created postmark_print() to unclutter scan_mailbox(). * src/misc.c, src/misc.h, src/mbox.c, src/maildir.c, src/mh.c: Some repetitive code moved to malloc_message(). * src/mbox.c: Cleanup of mbox_write_message(); use of gzwrite_loop() and bzwrite_loop(). * src/scan.c, src/wrap.h, src/wrap.c: Wrote gzwrite_loop() and bzwrite_loop() to remove some repetitive code from scan.c. * src/scan.c: md5_check_message(): array b and cast in strncmp are no longer unsigned. * src/info.c, src/mboxgrep.h: Updated copyright information, changed author's email address to the one at Panix. * src/mbox.h, src/mbox.c, src/scan.c, src/main.c: mbox_write_message(); further fixes of message deletion code. * src/scan.c: Fixed deleting messages from mbox folders compressed with bzip2. * src/main.c, src/mbox.c: Moved James P. Dugal's ownership-preserving code from main() to tmpfile_open(). * src/info.c: If bzip2 support is compiled in, `--help' command should list `bz2mbox' as a valid option to `--mailbox-format='.
2018-10-04 20:07:27 +00:00
2023-02-12 16:51:10 +00:00
## Changes since 0.7.8
- implemented support for mbox folders compressed with bzip2 algorithm
- improved detection of PCRE library; this also fixes a compilation bug
on recent RedHat Linux systems
- fixed a problem with message deletion, which used to occur if an mbox
folder and temporary directory were on different filesystems;
2023-02-12 16:51:10 +00:00
thanks to James P. Dugal <jpd AT louisiana.edu> for providing a patch
## Changes since 0.7.7
- fixed crashes on MH folders, as well as a potential problem with mbox
and maildir folders with the same cause
2023-02-12 16:51:10 +00:00
- debugging with the dmalloc library
- MH and maildir functions no longer read files which aren't RFC 2822 messages
- mboxgrep can now read gzip compressed mbox folders from standard input
(which is a side effect of a code cleanup!)
2023-02-12 16:51:10 +00:00
## Changes since 0.7.6a
- mboxgrep can now read mbox folders from standard input
2023-02-12 16:51:10 +00:00
## Changes since 0.7.6
- fixed a bug which prevented mboxgrep from being compiled
2023-02-12 16:51:10 +00:00
## Changes since 0.7.5
- fixed a bug which caused mboxgrep to coredump on recursive search of
maildirs
- code cleanups
2023-02-12 16:51:10 +00:00
## Changes since 0.7.4
- recursive search through directories has been reimplemented
2023-02-12 16:51:10 +00:00
## Changes since 0.7.3
- mboxgrep can now ignore messages with identical bodies
2023-02-12 16:51:10 +00:00
## Changes since 0.7.2
- file locking method can be selected at runtime
- mboxgrep used to coredump on messages with empty headers; the problem is
now hopefully fixed
- mboxgrep now compiles on FreeBSD
2023-02-12 16:51:10 +00:00
## Changes since 0.7.1
- file locking with `flock()` instead of `fcntl()` is now supported
- mboxgrep should now compile on systems which don't have `getopt_long()`
- other minor bugfixes
2023-02-12 16:51:10 +00:00
## Changes since 0.7.0
- bugfixes
2023-02-12 16:51:10 +00:00
## Changes since 0.5.3
- NOTE: there was no stable version between 0.5.x and 0.7.x
- mboxgrep is almost completely rewritten
2023-02-12 16:51:10 +00:00
- implemented message deleting feature (`--delete`)
- implemented piping messages to a command (`--pipe`) (using this option,
each selected message is piped to a separate instance of the specified
command)
- added support for compressed mbox folders
2023-02-12 16:51:10 +00:00
## Changes since 0.5.2
- implemented ability to write found messages to another folder (instead
2023-02-12 16:51:10 +00:00
of standard output)
- started writing a *real* changelog (while this file has been renamed to
"NEWS")
- wrote a manual in Texinfo format
2023-02-12 16:51:10 +00:00
## Changes since 0.5.1
- implemented message counting (`-c, --count`)
- fixed manual page installation target in src/Makefile.in -- manual page
2023-02-12 16:51:10 +00:00
is now installed in `$(manpath)/man1/` rather than `$(prefix)/man/man1/`
- added `--without-sense-of-humor` switch to the configure script, which
disables checking whether Garfield still hates Mondays
2023-02-12 16:51:10 +00:00
- short version of `--version` switch is now `-V` instead of `-v`,
because `-v` will be used for inverted matching
- implemented inverted matching (`-v, --invert-match`)
- implemented recursive search through directories (`-r, --recursive`)
- config.h[.in] is now wrapped (`#ifndef CONFIG_H` and stuff)
## Changes since 0.5.0
- added support for qmail-style maildir folders
2023-02-12 16:51:10 +00:00
## Changes since 0.4.0
- the source of `getopt_long()` is now included, so long options are also available
on platforms that don't use GNU libc
- file locking is now performed on mbox folders only
2023-02-12 16:51:10 +00:00
## Changes since 0.2.0
- added support for MH mailboxes
2023-02-12 16:51:10 +00:00
- added scope selection switches `-B` (or `--body`) and `-H` (or `--headers`)
- `getopt()` (or `getopt_long()`, if available) is now used to parse command line
arguments, instead of my own lousy routine
2023-02-12 16:51:10 +00:00
- the configure script now looks for PCRE by default, unless `--with-pcre=no` or
`--without-pcre` is specified
- the feature of reading from standard input is gone
2023-02-12 16:51:10 +00:00
- added `-v` (or `--version`) switch
## Changes since 0.1.1
- mboxgrep now puts a shared lock on a mailbox before reading it
- various code cleanups
2023-02-12 16:51:10 +00:00
## Changes since 0.1.0
2023-02-12 16:51:10 +00:00
- fixed install target in Makefile (`install` is now used instead of `cp`)
- added support for mailboxes generated by Gnus