//
// Changes and Bug Fixes
//

0.6-3 to 0.6-4
  * fixed bug with verbose in MCMCmetrop1R pointed out by a referee for 
    Rnews
  * added a little clarification to the lecuyer.h file about the dual-
    licensing scheme Pierre L'Ecuyer agreed to on 7 August 2004.

0.6-2 to 0.6-3
  * cleaned up the docs for MCMCirtKd
  * MCMCirtKd now fits a model with a difficulty parameter rather than
    a negative difficulty (easiness ???) parameter
  * MCMCirtKd and MCMCordfactanal now do a better job of dropping 
    variables that have 0 variance.
  * fixed Senate examples for MCMCirt1d and MCMCirtKd. EVENTUALLY THE 
    SENATE DATA SHOULD BE FIXED DIRECTLY SO THAT THERE ARE NO DUPLICATE 
    NAMES IN THE MEMBER VARIABLE.
  * users can interrupt all estimation algorithms now with CTL-C
  * changed the behavior of the verbose switch. Now if verbose is greater
    than 0 output is printed every verboseth iteration.
  * changed the settings when mcmc objects are created so that 
    "start=burnin+1" and "end=mcmc+burnin"
  * fixed documentation of MCMCmetrop1R to make clear how data are passed
    to the log-posterior function
  * fixed factor.score.start.check to not return an error when a vector of
    starting values is passed
  * improved the way factor.score.start.check enforces constraints

0.6-1 to 0.6-2
  * fixed documentation for rinvgamma() and dinvgamma() so that it is clear
    that these functions take shape and scale parameters as arguments.
  * fixed documentation and R code for riwish(), diwish(), rwish(), and 
    dwish() so that it is more clear how these distributions are parameterized.
  * fixed line endings in MCMCtobit.cc
  * changed how MCMCordfactanal and MCMCmixfactanal report MH acceptance
    rates. They now report separate rates for each manifest variable.
  * fixed a bug with starting values in the IRT and factor models.  If no
    starting values were passed, those created in factor.score.start.check()
    did not include the constraints (hard or soft), so the check failed.  Now
    the constructed starting values meet the constraints.

0.5-2 to 0.6-1
   * added a tobit model for a linear model with censoring in MCMCtobit()
   * added multinomial logit model in MCMCmnl()
   * added vote data from the Netherlands to illustrate MCMCmnl()
   * added choicevar() function to specify choice-specific variables in 
     multinomial choice models
   * fixed some data-handling issues in MCMCmixfactanal() and
     MCMCordfactanal() [thanks to Ben Goodrich for isolating these and
     providing patches]
   * fixed the Metropolis-Hastings step for the Cowles algorithm for
     cutpoints in MCMCoprobit(), MCMCordfactanal(), and MCMCmixfactanal()
     [thanks to Alexander Raach for isolating the problem and providing
     a patch]
   * removed gcc specific compilation flags from Makevars.in (per the 
     request of Brian Ripley and Kurt Hornik)
   * added informative message for templates created in auto.Scythe.call()
   * modified vector.tune() hidden function
   * fixed Neal's shrinkage procedure in MCMChierEI.cc  
   * a number of editorial fixes, updating for new calendar year, etc.
   * removed functions acosh, asinh, atanh, and expm1 from smath.h and 
     smath.cc so cross-compilation will work

//
// Old Changes and Bug Fixes
//

MCMCpack 0.5-1 was a major revision of MCMCpack.  The entire package was
been essentially re-written using the new development environment (documented
in the MCMCpack specification) and the new Scythe Statistical Library 1.0.
This following list summarizes major changes, but is by no means 
exhaustive.

0.5-1 to 0.5-2
   * C++ code for truncated normal draws optimized for speed
   * with the permission of Pierre L'Ecuyer licensing of RngStream code
     changed to a dual license setup that is GPL compatible. Thanks to Chris 
     Lawrence for bringing the licensing issues to our attention and 
     drafting a new licensing statement and to Pierre L'Ecuyer for
     agreeing to use the new licensing statement for his RngStream
     code.
   * Fixed serious bugs in MCMChierEI() and MCMCdynamicEI() 
   * Implemented a new sampling scheme based on slice sampling for
     MCMChierEI() and MCMCdynamicEI().
   * Removed MCMCbaselineEI()
   * Added delay argument to dtomogplog() 

0.4-8 to 0.5-1
   * NAMESPACE implemented
   * hidden functions are now available to aid in development (see hidden.R)
   * a function is available to automate the C++ call and generate
     template C++ code for estimation (see automate.R)
   * all model functions have been updated to the new specification, and 
     most use hidden functions and automate
   * added a general purpose Metropolis sampler that allows the user
     to sample from an arbitrary (log)-density.
   * C++ code now using Scythe 1.0 (now using the unedited Scythe codebase
     through IFDEFs)
   * support for arbitrary random number generators, including
     the L'Ecuyer RNG for parallel computation (the RNG helper functions
     are available in MCMCrng.cc)
   * many full conditional distributions are available in MCMfcnds.cc 
   * documentation for density functions and RNGs have been made "R-like"
   * fixed some spelling errors and misnomers in the documentation
   * all documentation updated to reflect changes
   * MCMCirt1d() has a new interface with new types of constraints--
     sampling for this model is also now much faster. 

0.4-8 to 0.4-9
   * Fixed a minor Scythe issue to fix error found by gcc 3.4.   

0.4-7 to 0.4-8
   * Repaired Scythe_Simulate.*, for which an outdated version was included
     in the last release.

0.4-6 to 0.4-7
   * Fixed some Scythe bugs, including a problem with memory allocation for
     matrix multiplication.  See http://sourceforge.net/projects/scythestat/
     for the latest version of Scythe, which is now distributed with MCMCpack.
     The Scythe code differs slightly in the paths ../include and ../src are
     replace with the current path, and in pnorm2 the isnan() function is
     commented out to allow for cross-compilation.
   * Rolled out http://mcmcpack.wustl.edu website.
   * Mixed response factor code.
   * Fixed factanal.
   * Fixed irtKd.
   
0.4-5 to 0.4-6
   * Fixed a bug in rnoncenhypergeom() [thanks to Tom LaFramboise]
   * Patched Scythe0.3 to fix an error in inv() [thanks to Donour Sizemore].  
     Note that this function is not called in MCMCpack, so was causing no
     explicit errors.

0.4-3 to 0.4-5
   * Fixed a bug in xpnd() [thanks to Michael Man]
   * Fixed some inconsistencies in documentation [thanks to Kurt Hornik]

0.4-2 to 0.4-3
   * Fixed bug in Scythe truncated Normal generators (which had been
     fixed before but sneaked into the last release) -- this fixes 
     a problem with MCMCirt1d
   * Cleaned up MCMCbaselineDA.cc (eliminated unused arguments)
   * Cleaned up MCMCbaseline.R (tuning argument)
   * Set seed in MCMClogit.cc fixed
   * Set seed in MCMCpoisson.cc fixed   
   * Fixed all examples such that they work out of the box

0.4-1 to 0.4-2
   * Optimized some of the Scythe 0.4 code, which provides faster
     computation for most models.
   * Corrected a permissions problem on cleanup [thanks to Kurt Hornik] 
   * Added explicit licensing information and a text echo when loading
     MCMCpack.

0.3-11 to 0.4-1
   * Ported to Scythe Version 0.4 (which will soon be publicly available)
   * Cleaned up the codebase and documentation (changes will 
     soon be part of the specification)
   * Added vech() and xpnd() utility functions
   * Included data file of 106th Senate roll call votes for the
     MCMCirt1d() and MCMCirtKd() models
   * Added Dirichlet, Noncentral Hypergeometric, and Inverse Gamma
     generators and densities [with contributions from Kevin Rompala]
   * Added read.Scythe() function to read matrices written by Scythe
     [contributed by Kevin Rompala]
   * Added helper functions to make coding easier [contributed by
     Kevin Rompala]
   * Added three models: a K-dimensional item response theory
     model (MCMCirtKd), a linear factor model (MCMCfactanal), and
     an ordinal item response theory model (MCMCordfactanal)
   * Added a pre-processor command to handle ininf() compilation
     issues on SGI [thanks to Dave Henderson]
   * All MCMC* functions now only allow starting values for the
     first simulated block of parameters and use check.parameters()
     function.
   * Range checking is turned off in the compiled C++ code, yielding
     significant speed gains for most models.

0.3-10 to 0.3-11
   * Fixed a bug in MCMCpoisson() re: non-negative counts
   * Included a data file of Supreme Court votes for the
     MCMCirt1d() model [thanks to Simon Jackman for the suggestion]
   * Fixed memory leak caused by Scythe_Matrix.cc [thanks to Dan Pemstein]
