Changes in Version 2.0-0

  o New version accompanying publication of exams version 2 in the
    Journal of Statistical Software, 58(1), 1-36. See
    vignette("exams2", package = "exams") for more details.

  o License extended from GPL-2 to GPL-2 | GPL-3.

  o New exams2qti21() interface for generating QTI 2.1 (rather than QTI 1.2)
    XML. So far this was only tested with the ONYX Player within
    OpenOLAT. Currently, some switches do not appear to fully work, yet,
    at least within ONYX. The function still needs further thorough
    testing and might be further improved in future versions.

  o Added verbose = FALSE option to xexams() and exams2xyz() interfaces.
    If set to TRUE, progress information on the exam generation is
    printed.

  o The XML output in exams2qti12() sometimes did not yield fully correct
    QTI 1.2 output. This has been fixed now and test output was validated
    against the QTI 1.2 DTD.

  o Added a new pluginfile = TRUE option in exams2moodle(). By default,
    supplementary files (graphics, data files, etc.) are now included using
    Moodle's Pluginfile mechanism. This may not work with older versions of
    Moodle (< 2.5) but in newer versions it is better and more robust than
    using data URIs.

  o Added fix_num = TRUE option in exams2qti12() interface.
    Because OLAT does not display the correct answer of response_num
    items with tolerances (vargt/varlt), a workaround was added:
    In addition to the version with tolerances an exact equality
    is checked (varequal), adding and removing a 0.00001 points.
    Thus, evaluation of the exams is not affected but the display
    in OLAT is fixed.

  o The {answerlist} in the {solution} environment can now also be
    omitted (in mchoice, schoice, cloze exercises). It is still recommended
    to include it but all exams2xyz() interfaces can process exercises
    correctly that do not provide it.


Changes in Version 1.9-6

  o Changed tests/encodings.R to use 'encoding = "Latin-9"' (rather
    than "latin9" which does not work on Solaris, see ?iconv).


Changes in Version 1.9-5

  o The new function exams_skeleton() helps users to create their first
    exam. It creates a directory with a demo.R script illustrating the
    use of the various exams2xyz() interfaces. Subdirectories with
    copies of all demonstration exercise .Rnw files and templates for
    different output formats (LaTeX, HTML, or XML) are also created.
  
  o Encodings are now explicitly supported by all exams2xyz() interfaces.
    Essentially, the encoding argument is just passed on to Sweave()
    and the user has to make sure that the template (for LaTeX, HTML,
    or XML output) has the appropriate encoding. exams_skeleton()
    also supports this and especially the encoding UTF-8 is now fully
    integrated. The encodings ISO-8859-1 (aka latin1) or ISO-8859-15
    (aka latin9) have also been tested while other encodings may need
    further touch-ups. Furthermore, the developers recommend to _not_
    rely on encodings but to code special characters with their
    LaTeX commands because these work in all locales on all platforms.
  
  o The new function exams_eval() captures various types of evaluation
    policies for exams (with/without partial credits for multiple choice,
    with/without negative points). The resulting functions aid generation
    of e-learning exams or evaluation of an exam "by hand".

  o If the "edir" argument is specified in exams2xyz(), then all
    files in edir _and_ its subdirectories are searched recursively.

  o Asymmetric tolerance intervals are not supported in the exams2xyz()
    interfaces anymore. Instead, vectors of solutions in "cloze"
    exercises can have vectors of tolerances.

  o The original exam.tex/solution.tex templates have been renamed to
    oexam.tex/osolution.tex. The function exams() needs to be used
    with oexam/osolution while exam/solution are now optimized for
    exams2pdf(). The reason is that the questionnaire command has
    been changed. For a multiple-choice question with five answers
    and correct solutions 1 and 4, say, exams() produces
    \exmchoice{X}{ }{ }{X}{ } while exams2pdf now uses
    \exmchoice{X}[ ][ ][X][ ], i.e., with optional instead of required
    arguments. The latter solution is not restricted to multiple-choice
    questions with exactly five answers anymore.


Changes in Version 1.9-4

  o Several functions now use find.package() rather than .find.package()
    internally (as the latter will be deprecated soon).


Changes in Version 1.9-3

  o Enforced .tex suffix in LaTeX files used internally by exams2pdf().
    The lack of .tex suffixes led to errors on certain Windows systems.


Changes in Version 1.9-2

  o New demo exercises:
    - confint2.Rnw shows how a confidence interval can be embedded into a
      "cloze" question (for all version 2 interfaces).
    - dist.Rnw is a very short and simple example that is intelligible
      across a wide range of disciplines (not for statistics audiences only).
    - dist2.Rnw is an extension of dist.Rnw that is written as a "cloze".

  o Questions in exams2moodle() were forced to be <pre>-formatted,
    now embedded in normal HTML (without <pre> tags).
  

Changes in Version 1.9-1

  o Supplementary files had not been correctly inferred on Solaris
    systems. This has been fixed now so that the package behaves the
    same across different platforms.
    
  o The code underlying the old "exams" vignette now avoids opening PDF
    viewers.


Changes in Version 1.9-0

  o Major revision of the "exams" package, adding flexible support for
    generation of exams in different formats including PDF, HTML,
    Moodle XML, and QTI 1.2 (for OLAT). This new version of the exams
    package (called "version 2") is described in a new vignette:
    vignette("exams2", package = "exams")


Changes in Version 1.0-4

  o Added an {answerlist} environment in the LaTeX templates (inst/tex)
    so that each \item in the {answerlist} is automatically labeled
    with (a), (b), (c), ...

  o Replaced the old {itemize} environments with {answerlist} in
    anova.Rnw, boxplots.Rnw, relfreq.Rnw, scatterplot.Rnw, ttest.Rnw.
    (The resulting PDFs do not change.)


Changes in Version 1.0-3

  o Small improvements in solution string formatting.


Changes in Version 1.0-2

  o The argument "nsamp" was added to exams() in order to allow
    sampling more than one exercise from each element of the
    argument "file".


Changes in Version 1.0-1
  
  o The man page of exams was modified to use suitable markup commands.

  o The questions in the ANOVA example were slightly changed to more
    explicitly indicate which hypothesis is tested. A typo in the
    vignette was fixed.


Changes in Version 1.0-0

  o New version accompanying publication in the Journal of
    Statistical Software. See vignette("exams", package = "exams")
    for more details.
    
  o New CITATION file pointing to the JSS paper, see
    citation("exams").


Changes in Version 0.9-5

  o The possible types of questions were extended to allow also text
    results. The new type is specified by "string".

  o To specify the allowed tolerance for numeric solutions now
    different tolerances can be supplied for falling below or
    exceeding the true value via \extol{lower}{upper}.

  o The "discussion" section in the vignette was extended to include
    several remarks and pointers on strategies for exercise
    generation.


Changes in Version 0.9-0

  o First CRAN release version.
  
  o New vignette "exams" that explains how to use the package.
  
  o New set of exercises for illustation in examples and vignette.
  

Changes in Version 0.2-0

  o First stable version for internal use at WU Wien.

