mailhandler (2.06.00)

  * s_nThreads is reduced to 2 bcause of weird load increases at oo6. May be
    spurious. 

  * Because of a google weirdness returned pdfs are now encrypted using pwd
    C++. If not then google sometimes refuses them because of a 'security
    issue'...

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 01 Oct 2025 16:13:45 +0200

mailhandler (2.05.00)

  * As of now .i files may follow .i files

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 14 Feb 2025 18:44:27 +0100

mailhandler (2.04.00)

  * As of now header files may also use extension .hpp
    (cf. Jurjen's Mon, 30 Sep 2024 12:48:35 +0200 mail).

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 30 Sep 2024 14:00:30 +0200

mailhandler (2.03.03)

  * Typo fix (handler/setraterinfo.cc0

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sun, 29 Sep 2024 11:54:56 +0200

mailhandler (2.03.02)

  * Log entries always start with the pid
  * All log messages end in '\n'

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 12 Sep 2024 10:24:54 +0200

mailhandler (2.03.01)

  * log() calls ending in 'endl' now end in '\n';

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 09 Sep 2024 14:48:23 +0200

mailhandler (2.03.00)

  * added new options --std and --from, both w/o defaults

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 05 Sep 2024 12:34:04 +0200

mailhandler (2.02.01)

  * mailer/sendmail specifies -r f.b.brokken@rug.nl when calling s-nail

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 02 Sep 2024 11:36:10 +0200

mailhandler (2.02.00)

  * Using icmake's MULTICOMP and SPCH specifications.

  * The compiler (>= 14.2.0) is called with --std=c++26

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 20 Aug 2024 19:00:41 +0200

mailhandler (2.01.00)

  * Source (.cc) files are no longer required in order.txt files

  * Filenames in order.txt files starting with + (e.g., +parser/grammar) are
    typeset like source files.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sun, 07 Apr 2024 13:33:22 +0200

mailhandler (2.00.00)

  * Redesigned ZipCheck

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 13 Nov 2023 15:56:17 +0100
  
mailhandler (1.21.01)

  * compilefork/childprocess.cc now writes the used C++ std. version to the
    log file (currently c++23). 

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 27 Sep 2023 13:04:20 +0200

mailhandler (1.21.00)

  * A '\n' is added to textfiles found in the zip that don't  end in a '\n'

  * c++std was dropped. Starting with icmake V10.05.01 the C++ std. to use by
    the compiler can be set by the CPPENVOPTS environment variable
    (cf. icmconf(7))

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 20 Sep 2023 21:59:31 +0200

mailhandler (1.20.01)

  * Sources are compiled using std=c++23

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 25 Aug 2023 12:28:15 +0200

mailhandler (1.20.00)

  * Added istxt.cc and using that program to verify that a plain ascii file
    is indeed a plain ascii file.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 15 Dec 2022 09:06:39 +0100

mailhandler (1.19.02)

  * The metadata.txt file may contain tabs

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 09 Dec 2022 11:55:14 +0100

mailhandler (1.19.01)

  * ZipCheck::checkTextFile now also verifies that filenames are named as
    described in item 4 of submitinfo.txt

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 25 Nov 2022 11:56:57 +0100

mailhandler (1.19.00)

  * Entries in order.txt files containing - characters are ignored.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 24 Nov 2022 10:29:06 +0100

mailhandler (1.18.06)

  * Handler::saveTheZip verifies that the submitted zip has the extension .zip

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 21 Sep 2022 10:00:44 +0200

mailhandler (1.18.05)

  * Handler::storeSpoolPath chmods zips stored in rater subdirs to 0664,
    so the rater can remove those zips.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 19 Sep 2022 11:23:15 +0200

mailhandler (1.18.04)

  * Ready for libbobcat6

  * 'icmconf' now reads 'c++std' to determine the C++ standard to use, and
    compiles with -Werror

  * Repaired some flaws detected by -Werror

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 12 Sep 2022 16:55:24 +0200

mailhandler (1.18.03)

  * Fixed a bug in handler/outputlatex.cc (error in inserting \\ separators)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 21 Jan 2022 09:57:26 +0100

mailhandler (1.18.02)

  * Cosmetics: added missing \n

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 07 Dec 2021 20:44:35 +0100

mailhandler (1.18.01)

  * Added some additional information to not-accepted submission (main.cc)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 02 Dec 2021 09:33:22 +0100

mailhandler (1.18.00)

  * Changed c++2a to c++20

  * Added option -cc to specify extra addresses where mail is sent to (in
    addition to the raters)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 20 Oct 2021 11:33:44 +0200

mailhandler (1.17.00)

  * Because of an occasionally very large amount of error output the
    compilation process is now handled by CompileFork, whose parent process
    reads the compiler's output until the process has ended, thus avoiding
    an overfull output pipe.

  * Added options --error-dir and --error-url to specify where long error
    messages are stored and optionally can be retreived from.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 18 Feb 2021 14:19:48 +0100

mailhandler (1.16.02)

  * Erroneously declaring 'FBB::Log log()' instead of '... &log()' in
    compiler.ih caused segmentation faults or bus errors :-(. Fixed in this
    release.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 16 Feb 2021 20:19:41 +0100

mailhandler (1.16.01)

  * removed assigning the mail's Date to d_date (Handler::mailHeaders)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 12 Feb 2021 13:25:54 +0100

mailhandler (1.16.00)

  * log entries start with the process-id to allow selection of log messages
    beloinging to a process if parallel invocations of the mailhandler occur

  * the local time is determined immediately when the program starts
    (as an attempt to avoid weird time-zone shifts)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 12 Feb 2021 12:36:24 +0100

mailhandler (1.15.00)

  * changed the error message in zipcheck/oneregularfile.cc

  * added a timesstamp log-entry

  * added additional info to acceptance e-mails

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 16 Dec 2020 13:53:15 +0100

mailhandler (1.14.00)

  * when using the --zip-check option directories merely containing a single
    text file (intended for local headers not belonging to the exercise but
    read by classes that do belong to the exercise) are now accepted.

  * added support members and a member 'glob' visiting all elements of the
    cwd to ZipCheck.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 19 Nov 2020 09:33:40 +0100

mailhandler (1.13.02)

  * added a safeguard against invalid rater keys in the 'rater' file
    (handler/rotate.cc) 

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 10 Nov 2020 22:08:48 +0100

mailhandler (1.13.01)

  * fixed a bug in detecting the zip-file's name: it's always in or following
    the line containing 'Content-Disposition: attachment;'

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 10 Nov 2020 12:50:16 +0100

mailhandler (1.13.00)

  * added option --zip-check checking the content of submitted zips.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 07 Nov 2020 14:02:27 +0100

mailhandler (1.12.01)

  * rater rotation suppressed if only a pdf is requested

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 04 Nov 2020 22:10:55 +0100

mailhandler (1.12.00)

  * added option --rotate to rotate initial submissions over available raters

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 19 Oct 2020 11:17:02 +0200

mailhandler (1.11.06)

  * spoolzip filename and its sender mail address are logged
  
  * received spoolzips are copied to ~/spool-saved

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 13 Oct 2020 18:58:56 +0200

mailhandler (1.11.05)

  * Ignore 1.11.04: it doesn't contain the function Handler::setRaterInfo.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 08 Oct 2020 10:46:36 +0200

mailhandler (1.11.04)

  * Setting rater-specific information in 'verifyMetadata' to avoid creating
    incorrect rater directories

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 05 Oct 2020 18:21:39 +0200

mailhandler (1.11.03)

  * Removed the onlyPdf() call in handler/mailheaders.cc, suppressing
    compilation. It's now only called when subject 'pdf' was specified.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 03 Oct 2020 10:37:11 +0200

mailhandler (1.11.02)

  * Fixed error in displayed time in the pdf's title section

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 30 Sep 2020 19:08:31 +0200

mailhandler (1.11.01)

  * Added the submission time to the title

  * Long author lines are printed over two lines

  * Updated latex.skel accordingly

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 29 Sep 2020 13:52:36 +0200

mailhandler (1.11.00)

  * The mail handler expects a second argument defining the CC addresses
    (ccinfo in this distribution)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sun, 27 Sep 2020 12:04:55 +0200

mailhandler (1.10.01)

  * When using 'Subject: pdf' the constructed zip is removed

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 21 Sep 2020 10:56:30 +0200

mailhandler (1.10.00)

  * Using subject 'pdf' results in constructing the pdf and sending it back to
    the From: address

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 19 Sep 2020 12:44:10 +0200

mailhandler (1.09.00)

  * actually spooled document is now logged to the log file

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 14 Sep 2020 12:12:32 +0200

mailhandler (1.08.00)

  * handler/fillordertxt.cc now checks whether order.txt files exist in
    subdirectories, and only handlers those

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 14 Sep 2020 10:05:05 +0200

mailhandler (1.07.00)

  * added options --spool-zip, --spool-path, dropped option --pdf-destination
    the zip files are stored in spool-path if spool-zip is
    specified; if the pdf is also constructed it is stored in the zip in the
    spool-path. Without --spool-zip the pdf (if constructed) is stored in
    spool-path. If mail-zip is specified and spool-zip is not specified then
    the zip is e-mailed to the addressees. 

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 07 Sep 2020 15:43:53 +0200
    
mailhandler (1.06.00)

mailhandler (1.05.00)

  * This release required bobcat >= 5.00.00

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 25 Apr 2019 11:36:35 +0200

mailhandler (1.04.01)

  * changed \usepackage{url} into \usepackage{hyperref} in skeleton/latex.skel

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 31 Oct 2017 17:53:21 +0100

mailhandler (1.04.00)

  * added option --debug showing, e.g., which files are compiled (when errors
    are encountered this is also logged)

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 23 Oct 2017 12:49:26 +0200

mailhandler (1.03.03)

  * using s-nail instead of obsoleted heirloom-mailx program to send e-mail

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Thu, 12 Oct 2017 15:52:35 +0200

mailhandler (1.03.02)

  * Compiled the mailhandler using g++-7, std=c++17, and also compiling
    incoming sources using std=c++17.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 29 Aug 2017 11:19:42 +0200

  * E-mail addresses are now compared case insensitively.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 22 Feb 2017 14:19:17 +0100

mailhandler (1.03.00)

  * handler/fillordertxt.cc sorts the list of order.txt files by numeric order
    of the words after ./ (produced by find).
    
mailhandler (1.02.00)

  * Added option --no-gpg that can be specified if gpg-signatures are not
    required. 

  * Added option --subject to specify the initial contents of e-mail subjects

  * Usage info was updated

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Fri, 03 Feb 2017 11:12:39 +0100

mailhandler (1.01.00)

  * Windows uses CR LF instead of LF, which affects recognition of filenames
    in order.txt files: they were recognized as, e.g., 60/main.cc^M.
    This problem was fixed by removing trailing and leading blanks from
    filenames read from order.txt files.

  * Bad signature messages may be generated when the signature contains quoted
    printable characters. A corresponding warning was added to the
    bad-signature e-mail.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 24 Jan 2017 12:04:13 +0100

mailhandler (1.00.01)

  * filename= specifications can also be without dquotes 
    (https://tools.ietf.org/html/rfc2183#section-2)

  * Content-Type: application/zip can (apparently) also be
    Content-Type: application/x-zip-compressed

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 11 Jan 2017 22:43:43 +0100

mailhandler (1.00.00)

  * Using Bobcat's CinInserter and Exec classes instead of locally defined 
    classes. The locally defined classes InsertFork and CoutExtractor have
    been removed.

  * Zips without sources to compile are accepted

  * The text-parts of exercises may have long lines: they are wrapped by
    LaTex: skeleton/latex.skel was changed accordingly.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 17 Dec 2016 12:23:19 +0100

mailhandler (0.99.02)

  * handler/run.cc merges 2 subsequent sections testing for an empty --specs
    option, and added instructions to cp a specific .zip to the working
    directory.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 10 Dec 2016 16:13:32 +0100

mailhandler (0.99.01)

  * Avoiding newlines in log-lines written to the  --append path

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 03 Dec 2016 14:45:38 +0100

mailhandler (0.99.00)

  * C++ source files are compiled in parallel by the class Compiler

  * The class SubProcess was dropped, instead classes ExtractorFork and
    InserterFork were derived from ExecFork: ExtractorFork reads (extracts)
    the stdout stream of the child process, and InserterFork inserts info to the
    stdin stream of the child process

  * Approaching release 1.00.00: the version was bumped to 0.99.00

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Sat, 03 Dec 2016 12:58:55 +0100

mailhandler (0.92.03)

  * Latex needs a 2nd line in its Author specification in the skel.latex file:
    unless there's a rater this line is shown as --

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 29 Nov 2016 14:21:52 +0100

mailhandler (0.92.02)

  * Fixed boundary recognition: boundary definitions may continue on a 2nd
    line: now using Bobcat MailHeaders to pick up the mail headers

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 29 Nov 2016 13:27:20 +0100

mailhandler (0.92.01)

  * SubProcess::tryAppend logs appending.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Tue, 29 Nov 2016 10:49:03 +0100
 
mailhandler (0.92.00)

  * Added option --append to write a copy of the sent e-mail to a file which
    can, e.g., be inspected out-of-band by addressees 

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 28 Nov 2016 18:05:25 +0100

mailhandler (0.91.02)

  * The zip-file attachments is now assumed to start after the first empty
    line following the zip-file section. E.g., we encountered

        |--55kkgj7ba5cvtyjh
        |Content-Type: application/zip
        |Content-Disposition: attachment; filename="set1.zip"
        |Content-Transfer-Encoding: base64
        |
        |UEsDBAoAAAAAAHZ4cUkAAAAAAAAAAAAAAAADABwAMjIvVVQJAAPA...

    but also:

        |--001a114b0a7e2a7c8c054259ae7c
        |Content-Type: application/zip; name="set3.zip"
        |Content-Disposition: attachment; filename="set3.zip"
        |Content-Transfer-Encoding: base64
        |X-Attachment-Id: f_iw0z4igc0
        |
        |UEsDBAoAAAAAAMoJe0kAAAAAAAAAAAAAAAADABwAMTUvVVQJAANb...


mailhandler (0.91.01)

  * Typos

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 28 Nov 2016 11:20:24 +0100

mailhandler (0.91.00)

  * Adapted the regular expression to catch the multipart/mixed boundary
    definition: double quotes around the boundary are not required.

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Mon, 28 Nov 2016 11:02:06 +0100

mailhandler (0.90.00)

  * Changed fixed s_jbokma as destination mail address in Mailer::run to the
    address configured using the --mail-zip option.

  * Since Bobcat 4.04.00 is now installed, Bobcat's g_errno can be used, and
    the globally defined g_errno variable was removed.

  * Started the changelog

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 23 Nov 2016 20:39:04 +0100

mailhandler (0.01.0)

  * Initial running version

 -- Frank B. Brokken <f.b.brokken@rug.nl>  Wed, 23 Nov 2016 20:34:44 +0100
