NOTES ON THE VERSION OF 2020-01-24 This version includes a new 'slevel' feature, used in my paper on "Non-reversibly updating a uniform [0,1] value for accept/reject decisions". It also has a few other minor feature updates and bug fixes. The previous publicly-released version was from 2004 (a version from 2007 was never made public), so there are some archaic aspects of the software (in particular, the run times given for examples are for what are now very obsolete computers). Changes in this version: 1) A new 'slevel' MCMC operation has been added, which allows the uniform [0,1] value used for accept/reject decisions and setting of slice levels to be retained in the state, and updated by a method that leaves its distribution invariant, rather than always being sampled independently of previous values. 2) A new "Bernoulli" built-in distribution has been added for formulas, which may be generated from in dist-gen, etc. 3) A new "binary-gibbs" Markov chain operation has been added, which does Gibbs sampling for 0/1 variables. 4) The "hybrid" and "tempered-hybrid" operatons now accept a first:last option, which restricts the range of coordinates updated. 5) A new 'set-temp' MCMC operation has been added, meant for testing and other fiddling around. Bug fixes. 1) The first (windowed) form of the hybrid operation now accounts for the temperature as specified with xxx-mc (not the simulated tempering temperature) when selecting a state from the accept or reject window. 2) The second (theshold) form of the hybrid operation now records the energy difference for an accepted state (and for the final state if none accepted), and also pays attention to the temperature as specified with xxx-mc when setting the threshold for acceptance. 3) Slice sampling operations now account for the temperature as set in the xxx-mc command. 4) The rgrid-met-1 operation specification now correctly parses the first:last option. Operations with a first:last option now correctly display when first is zero. 5) There are a few minor documentation fixes. Known bugs and other deficiencies. 1) The facility for plotting quantities using "plot" operations in xxx-mc doesn't always work for the first run of xxx-mc (before any iterations exist in the log file). A work-around is to do a run of xxx-mc to produce just one iteration before attempting a run of xxx-mc that does any "plot" operations. 2) The CPU time features (eg, the "k" quantity) will not work correctly if a single iteration takes more than about 71 minutes. 3) The latent value update operations for Gaussian processes may recompute the inverse covariance matrix even when an up-to-date version was computed for the previous Monte Carlo operation. 4) Covariance matrices are stored in full, even though they are symmetric, which sometimes costs a factor of two in memory usage. 5) Giving net-pred several log files that have different network architectures doesn't work, but an error message is not always produced (the results may just be nonsense). 6) Some Markov chain updates for Dirichlet diffusion tree models in which there is no data model (ie, no noise) are not implemented when some of the data is missing. An error message is produced in such cases. 7) The times given in the documentation for the examples are for a very old computer. Typical current (2020) desktop computers will be at least 20 times faster.