ChangeLog for GroupSTAT (was AlexDW's Newsgroup Statistics): 0.01 -- Initial version (~August 1999): * Was a bash(1) script * Made use of cut 'n paste code * Wrapped around StatNews * Used the OUTFILE variable to cut down on the cut 'n paste blues There were several minor modifications to this program between version 0.01 and 0.02, but they had little or no impact on its structure. 0.02 -- Revised and Perlized version (November 12th 1999): * Converted it to Perl * Removed the cut 'n paste code * Added the @grouplist variable * Added minimal file availability checking * Removed custom group names (this is a BAD THING!) 0.03 -- Updated for REC.ARTS.DRWHO stats use (November 26 1999): * Now using a directory of files instead of a single output file * Only grabs one week of stats * Proper credit to StatNews 0.04 -- More RADW updates (December 2 1999): * Got rid of that multiple group crap 0.05 -- Complete overhaul (December 4-6 1999): * Officially renamed program to GroupSTAT. * FIRST DISTRIBUTABLE VERSION!!! I read the GPL and made the appropriate additions to my program. * "Ripped off" quite a bit of code from the StatNews program by Davide G. M. Salvetti. I didn't like how StatNews did things in several places, but some of the other things that it did were very neat! Thanks Davide! * Due to my discovery of the News::Scan module in CPAN and my "ripping off" of StatNews, I was able to make all sorts of changes to GroupSTAT, including: - Use of the "locale" pragma, which does some l10n magic. - Pseudo-conversion to OO-style programming - No longer calls StatNews - Custom headers and stats order - GroupSTAT now limits itself to the "Top 25" - Split the CHANGELOG file from the source * Got the "This is free software..." from GNU cp 0.06 -- Minor code cleanup and bugfix (December 7 1999): * Got rid of a few useless variables * Error checking on News::Scan "improved" * Added "# of Posters This Week" * Fixed problem with percentages for "25 Most Prolific Posters" * Oh yeah, INITIAL RELEASE!!! 0.06.1 -- Minor language adjustment (December 11 1999): * Changed "Bandwidth-Wasting" to "Bandwidth-Using" at the request of Charles Daniels * Output file name now includes the version number * Changed "25 Worst Me-Too'ers" to "25 Highest Quoting Ratios" * Added warning about small sample sizes in quoting ratios 0.06.2 -- Minor language adjustment (December 14 1999): * Changed "Bandwidth-Using" to something `funnier' at the request of Charles Daniels... 0.07 -- Fixup release (December 20 1999): * Added the `headstrip' function; this function eats the email address in the `From:' field. This should clean up GroupSTAT's output. (Partly stolen from StatNews in lieu of a proper function to do this in News::Scan.) * Made the source a little easier to read. * Added the --days option, use it to specify the number of days (ago) you want the scan to cover (default is 7). * Now you can specify the group(s) you want to scan on the command line. The groups will be scanned in the order you specify. (If no groups are specified, rec.arts.drwho will be scanned.) 0.08 -- Feature-add, source cleanup, and minor bug fix (Jan 22 2000): * Now uses File::Path to create missing directories, that way *ANY* output base can be specified, and it will still work. * Oh yeah, added the --output-base option, which allows you to choose where to put the files that GroupSTAT makes. The default is (and always has been) ~/News/STATS * Cleaned up the option parsing code. GetOptions() comes before global variable assignment (so as to avoid accessing %opt directly), and the final parsing of @ARGV is now done in one line. (This is the part that grabs the names of the groups to process.) * Changed from using 80-column output to 75-columnt output. This should make things more readable when quoted (on Usenet). This should probably be a defined constant or command-line option anyway. I just wanted to do things differently from StatNews. Oh well... * Re-wrote headstrip() to use Mail::Address instead of a regex. This produces *much* better output. 0.09 -- More fixes :-) (February 3, 2000): * Wrote a CHANGELOG entry for 0.08 using the output of diff(1) (I keep old versions around for times like these.) * Updated the README file. * Added the --width option. The StatNews feature-for-feature matching is nearly there... * Added the --spool option which sets the spool base. Yet another StatNews feature which I should have adopted in v0.05 (you know, the first REAL version). * Changed explicit writes to OUTFILE to implicit ones: GroupSTAT now select()s OUTFILE as the default for things like printf, print, line(), etc. 0.10 -- Quoting ratio fixes (February 8, 2000 and February 17, 2000): * Changed the quoting ratio code slightly. Now posters aren't considered for the quoting ratio unless they have posted at least 50 lines within the chosen period. * Since quoting ratios are fixed, I removed the WARNING about skewed results due to infrequent posters. * Fixed a bug: GroupSTAT iterated over %people instead of %me_too inside the quoting ratio code. * Experimental "10 Lowest Quoting Ratios" feature, I had to drop the normal quoting ratio list to 10 from 25 to make room. 0.11 -- Bug fix/feature add (April 11, 2000 to April 12, 2000): * Added the --verbose and --headstrip options (default: on) to turn on debugging and "From: " header stripping, respectively. * Made changes to option handling code to cover the case where a value in %opt was defined-but-false. * Added a "Original Content Rating" category. This is basically the opposite of the quoting ratio category of old, but with much nicer results. Idea (no code) credit goes to Greg Bacon's news-stats sample implementation. * Added options for the number items in the Major and Minor categories. * Changed default --width to 72 to be more "standard". * Changed gmtime() to gmtime($^T) in two places. * Changed center() to allow multi-line arguments. * Now "advanced newsgroup statistics program" instead of being gratuitously self-referrential 0.11.1 -- Small bug fix release/optimisations (April 13, 2000): * Fixed original content ratings to print out the proper ratio. * Fixed 0.11 changelog entry. Now properly credits Greg Bacon. * Removed the last of the quoting ratio code. GroupSTAT is now 100% commited to Original Content Ratings. :-) * Fixed error-handling bug. * Added some optimisations to various subroutines. 0.12 -- Cross-platform fixes (Win32 ActivePerl) (April 20-21, 2000): * Added "getnews" to the distribution. getnews is a very small alternative to packages like slrnpull. It downloads articles from your news server and puts them into a "spool". * Added lots of "just in case" code to headstrip(). It seems that Mail::Address doesn't behave very well on some platforms/ setups, so it may NOT be relied upon to work nicely. If Mail::Address misbehaves, GroupSTAT will act as though --noheadstrip was set. * Converted the date formats used by GroupSTAT to RFC 822 date format. I should have been using this format in the first place (it is more easily read/recognized). Another advantage of doing this is that RFC 822 format doesn't use strftime()'s "%e" format, which misbehaves on some platforms. * Now uses File::Spec to discover all sorts of things. :-) * Added the --input-dir, --dotted, --output-dir, and --output-file options. These options are intended to turn off GroupSTAT's guesswork with regards to where everything should be. (Like translating /var/spool/news into /var/spool/news/news/group/name) The old options still work, though. * --verbose is no longer the default. * Added a --help option. * Increased the amount of room allocated for OCRs and crossposts. This should make the numbers line up better. :-) * Added a manual page and a better README file. The README file is really just an ASCII version of the manual page, though. 0.12.1 -- Very very small bugfix (April 24, 2000) * Fixed a bug which would cause GroupSTAT to fail whenever you selected more than one group. This is NOT related to News::Scan.