Release Notes for BayES v.2.5
The following updates were made to BayES v.2.5:
 Models:
 The mfx() function can be used on multivariate Probit models to calculate marginal effects on the probability of success for each response variable, either marginally with respect to the values of the remaining response variables or conditionally on their values.
 The predict() function can be used on any discreteresponse model to generate predictions of the probabilities associated with each model.
Release Notes for BayES v.2.4
The following updates were made to BayES v.2.4:
 Models:
 The identification strategy for multinomial and conditional probit models (available through the mnprobit() and cprobit() functions, respectively) has changed: the restriction $tr\left(\Omega \right)=M$ is now imposed, instead of $tr\left({\Omega}^{1}\right)=M$, which was used in previous versions, where $\Omega $ is the precision matrix of the error terms in the latentvariable representations of the models. This change, obviously, affects the posterior distributions of the parameters, but marginal effects should remain unchanged.
 The mvprobit() function can be used to estimate multivariate Probit models with arbitrary number of righthandside variables. After estimation, marginal effects on the probability of each outcome variable being equal to one can be calculated unconditionally on the values of the remaining outcome variables. Marginal effects conditionally on the values of the remaining outcome variables will be implemented in the next release of BayES.
 Scripting:
 The functions sin(), cos() and tan() can be used to calculate, respectively the sine, cosine and tangent of matrices passed to them as arguments. Similarly, arcsines, arccosines and arctangents cane be calculated using the functions asin(), acos() and atan().
 The functions erf() and erfc() can be used to evalute, respectively, the error function and the complementary error fucntion at the points contained in matrices passed to them as arguments.
Release Notes for BayES v.2.3
The following updates were made to BayES v.2.3:
 Models:

The
lm_lc()
function can now be used to estimate also latentclass linear models for panel data. These
models restrict each group in the panel to belong to the same class for the entire period for
which it is observed (no class switching within a group). The syntax for the
lm_lc()
function is identical for crosssectional and panel data and BayES estimates the paneldata
model whenever the dataset used for estimation has been declared as a panel.
There are two types of models in this category: latentclass models in which the prior classmembership probabilities are the same for all observations/groups and a Dirichlet prior is imposed on these probabilities
 latentclass models in which the prior classmembership probabilities are determined by observation or groupspecific characteristics, using a multinomialLogit model

The
sf_lc()
function can be used to estimate latentclass stochastic frontier models for either crosssectional
or panel data. The latter type of models restrict each group in the panel to belong to the same
class for the entire period for which it is observed (no class switching within a group), while
the former allow switching of classmembership over time. The syntax for the
sf_lc()
function is identical for crosssectional and panel data and BayES estimates the paneldata
model whenever the dataset used for estimation has been declared as a panel.
There are two types of models in this category: latentclass models in which the prior classmembership probabilities are the same for all observations/groups and a Dirichlet prior is imposed on these probabilities
 latentclass models in which the prior classmembership probabilities are determined by observation or groupspecific characteristics, using a multinomialLogit model
BayES supports two specifications for the distribution of the noise component of the error: Exponential with rate parameter lambda
 halfNormal with precision parameter phi

The
sf_rc()
function can be used to estimate randomcoefficients stochastic frontier models for panel data.
As with linear randomcoefficients models, BayES supports specifications where all or only some
of the independent variables are associated with groupspecific parameters, the remaining being
common to all groups.
BayES supports two specifications for the distribution of the noise component of the error: Exponential with rate parameter lambda
 halfNormal with precision parameter phi

The
lm_lc()
function can now be used to estimate also latentclass linear models for panel data. These
models restrict each group in the panel to belong to the same class for the entire period for
which it is observed (no class switching within a group). The syntax for the
lm_lc()
function is identical for crosssectional and panel data and BayES estimates the paneldata
model whenever the dataset used for estimation has been declared as a panel.
Release Notes for BayES v.2.2
The following updates were made to BayES v.2.2:
 General system:
 The set_cs() function can now be used to remove any time structure from a dataset, previously set via a call to either the set_ts() (time series) or set_pd() (panel data) functions.
 Models:

The
lm_lc()
function can be used to estimate latentclass linear models. There are two types of models in
this category:
 latentclass models in which the prior classmembership probabilities are the same for all observations and a Dirichlet prior is imposed on these probabilities
 latentclass models in which the prior classmembership probabilities are determined by observationspecific characteristics, using a multinomialLogit model
Currently this function ignores any time structure in the dataset. In future releases the same function will be used to estimate latentclass models for panel data, while restricting each group to belong to the same class for the entire period for which it is observed (no class switching within a group).

The
lm_lc()
function can be used to estimate latentclass linear models. There are two types of models in
this category:
Release Notes for BayES v.2.1
The following updates were made to BayES v.2.1:
 General system:
 BayES now provides an interface to Stan via the stan() interface function. This function works in a similar way to the corresponding interface functions for JAGS and OpenBUGS: it takes a Stan model specification file as input, along with any BayES matrices of data and returns a model item that contains the draws generated by Stan. A graphical interface to Stan is available from BayES's main menu via Interfaces → Stan.
 A sightly slower, but more robust algorithm for sampling from a multivariate truncated Normal distribution is used in the background when estimating the parameters of multinomial and conditional Probit models. These models can now be applied to datasets where the response variable involves a much larger number of alternatives/choices.
 Models:
 The tobitII() function can be used to estimate type II Tobit models for sample selection.
Release Notes for BayES v.2.0
This is a major release of BayES and represents a milestone. Now BayES runs on all three major operating systems: Microsoft Windows, Linux and macOS!
The following updates were made to BayES v.2.0:
 General system:
 Many glitches, related to the GUI, are fixed in the macOS version of BayES. Now BayES for macOS is expected to perform as well as on other platforms
 The GUI for Linux systems is now using GTK+3. As most modern Linux distributions provide native support for GTK+3, BayES can now run smoothly on them.
 The Linux installer is now slightly leaner and instead of shipping system libraries, it performs tests on dependencies during installation and issues errors if a system library is missing. This approach increases the chances that BayES will run on Linux distributions it has never been tested on.
 Models:
 The oprobit() and oplogit() functions can be used to estimate models in which the response variable is ordinal.
Release Notes for BayES v.1.13
The following updates were made to BayES v.1.13:
 General system:
 A version that runs natively on macOS is now available. This is still at a beta stage and has some known issues. Most importantly, once a script is submitted for execution, the GUI becomes unresponsive and especially the BayES console freezes until execution of the last command in the script completes. At this stage any output intended for the BayES console is printed on it in bulk. This issue appears only when BayES runs from the GUI and not when a script is submitted for execution from the command shell. Hopefully, it will be resolved in the next release.
 Models:

The
tobitI()
function can be used to estimate type I Tobit models. This function allows censoring from below
or above (or both) and after estimation it can calculate marginal effects on three quantities:
 expected value of the observed variable
 expected value of the observed variable, given that this is not censored
 probability of censoring
 The poisson() and nbinom() functions can be used to estimate the parameters of models in which the dependent variable assumes nonnegative integer values (countdata models). The difference between the two functions is that in the former the dependent variable follows a Poisson distribution, while in the latter the dependent variable follows a negativeBinomial distribution. In both cases, the expected value of the dependent variable is a expressed as a function of independent variables.

The
tobitI()
function can be used to estimate type I Tobit models. This function allows censoring from below
or above (or both) and after estimation it can calculate marginal effects on three quantities:
 Distributions and randomnumber generators:
 The drchrnd() function automates generation of random vectors from a Dirichlet distribution.
Release Notes for BayES v.1.12
The following updates were made to BayES v.1.12:
 General system:
 All computationallyintensive postestimation processes (calculating marginal effects, forecasting, etc.) are now multithreaded. BayES automatically uses as many threads as the "chains" argument used when calling the estimation function of the respective model.
 Models:
 The multinomial and conditional Probit models, which are available through the mnprobit() and cprobit() functions, respectively, can now calculate marginal effects. These marginal effects can be calculated at the means or medians of the independent variables, at any userprovided point or at all data points in the dataset used for estimation. However, calculation of marginal effects is a computationally intensive process, which can take an excessive amount of time when performed at each data point.
 Graphical User Interface:
 BayES' main window now contains a toolbar providing quick access to frequentlyused operations, such as importing and exporting data, loading and saving workspaces, toggling the visibility of the panes of the main window, as well as a button for interrupting the currently running job.
 Additional information on the operation currently performed is now included next to the progress bar at the bottomleft corner of the main window.
 Hovering over the progress bar at the bottomleft corner of the main window as this bar is being filled displays information on the elapsed time since the operation started, as well as an estimate of the remaining time until this operation completes.
Release Notes for BayES v.1.11
The following updates were made to BayES v.1.11:
 Models:
 The multinomial and conditional Probit models, which are available through the mnprobit() and cprobit() functions, respectively, can now provide approximations to the logmarginal likelihood.
 The mnlogit() and clogit() functions can be used to estimate multinomial and conditional Logit models, respectively. The implementation of these two models is complete, providing approximations to the logmarginal likelihood and calculation of marginal effects.
Release Notes for BayES v.1.10
The following updates were made to BayES v.1.10:
 Models:
 The mnprobit() and cprobit() functions can be used to estimate multinomial and conditional Probit models, respectively. The implementation of these two models is not yet complete; approximations of the logmarginal likelihood and calculation of marginal effects will be implemented in future releases.
 Bug fixes:
 The webimport() function could close the connection and terminate prematurely under Microsoft^{®} Windows^{®} systems, leading to only part of the data imported. This bug has been fixed in version 1.10.
 Attempting to load a workspace containing an empty dataset (no observations) led to BayES hanging indefinitely. This bug has been fixed in version 1.10.
Release Notes for BayES v.1.9
The following updates were made to BayES v.1.9:
 New keyboard shortcuts are available for interacting with BayES through its GUI:
 A job can be interrupted when either BayES' main window or its script editor have focus by hitting Ctrl+Shift+I.
 In the script editor window Alt+1 brings the first open script to focus, Alt+2 brings the second open script to focus, and so on.
 In the script editor window Alt+Page Down brings the next open script to focus and Alt+Page Up brings the previous open script to focus.
 General system:
 The most uptodate version, as of the date of the release, of Bayesian Econometrics using BayES^{™}, is now shipped with the installer and is made available from BayES's main menu via Help → Bayesian Econometrics using BayES.
 Bug fixes:
 Errors and warnings printed on the BayES console are now better formatted under Microsoft^{®} Windows^{®} systems.
 The option to automatically change the current working directory upon exporting data from BayES was ignored in previous releases. This bug has been fixed in version 1.9.
Release Notes for BayES v.1.8
The following update was made to BayES v.1.8:
 Models:

The
probit_re()
and
logit_re()
functions can be used to estimate a binary Probit and Logit models with random effects. The
mfx()
function can be used on models of this type stored in memory to calculate and report marginal
effects of two types:
 marginally with respect to group heterogeneity (Average Partial Effects)
 conditionally on the groupspecific error term being equal to zero

The
probit_re()
and
logit_re()
functions can be used to estimate a binary Probit and Logit models with random effects. The
mfx()
function can be used on models of this type stored in memory to calculate and report marginal
effects of two types:
Release Notes for BayES v.1.7
The following update was made to BayES v.1.7:
 Scripting:
 The groupmeans(), groupvars(), groupsds(), groupmedians(), groupsums() and groupcounts() functions are added, which can be used to calculate summary statistics per group in datasets which have been declared as panels using the set_pd() function. These functions are added, primarily, to facilitate estimation of fixedeffects models.
 Bug fixes:
 Plotting multiple plots on a figure window with a single row using the multiplot() function would mix the order of plots. This bug has been fixed in version 1.7.
Release Notes for BayES v.1.6
The following update was made to BayES v.1.6:
 Models:
 The lm() function can now be used to estimate a linear model with heteroskedastic error. In this model the precision of the error term follows a logNormal distribution, with its location parameter being determined by a vector of covariates.
Release Notes for BayES v.1.5
The following updates and changes were made to BayES v.1.5:
 General system:
 webimport() is a new function that can be used to load data into BayES, directly from the Internet. It works like the typical import() function, but its first argument is a URL that points to the data, instead of a filename on a local drive. This function is provided, primarily, so that the code samples contained in the textbook Bayesian Econometrics using BayES^{™} can be executed directly, without having to download the datasets to a local drive. However, this function can be used to load data from any URL, as long as the data are organized such that each variable takes up a column, the first row contains the variable names and the data are delimited by a comma, semicolon or tab.
 Plotting:
 The "colors" optional argument can be used in all plotting functions to specify the colors to be used when plotting. The value of this argument must be a matrix with three columns and all elements between zeros and one. Each row of the matrix specifies a color in RGB (redgreenblue) format, with the first row specifying the background color, the second the color of the axes and the text labels and the remaining rows specifying the colors used for plotting the data.
 Interfaces to external programs:
 A call to the jags() interface function now loads JAGS' glm module automatically. Loading this module can result in samplers which have much lower inefficiency factors in some models, especially those based on paneldata.
Release Notes for BayES v.1.4
The following updates and changes were made to BayES v.1.4:
 Models:
 The irf() function can be used on VAR models stored in memory to calculate and plot impulse response functions. The impulses can be on the raw errors or on errors that orthogonalized using the Cholesky decomposition of the system's covariance matrix. The unit of the impulse can be either one unit of the endogenous variable or one standard deviation of the respective error term.
 Interfaces to external programs:
 BayES can now find the commandlineinterface executable for GNU Octave under Microsoft^{®} Windows^{®} systems for newer versions of GNU Octave.
 Bug fixes:
 The forecast() function would lead to a crash when the forecast horizon was left unspecified. This bug has been fixed in version 1.4.
Release Notes for BayES v.1.3
The following updates and changes were made to BayES v.1.3:
 Distributions and randomnumber generators:
 support for the Poisson distribution is added, with the poissonrnd(), poissonpdf(), and poissoncdf() returning random numbers, the probability mass and cumulative functions, respectively
 support for the Binomial distribution is added, with the binomrnd(), binompdf(), and binomcdf() returning random numbers, the probability mass and cumulative functions, respectively
 support for the NegativeBinomial distribution is added, with the nbinomrnd(), nbinompdf(), and nbinomcdf() returning random numbers, the probability mass and cumulative functions, respectively
 Models:
 The varm() function can be used to estimate Vector Autoregressive (VAR) models using timeseries data. Additionally, the forecast() function can be used on VAR models stored in memory to produce and store forecasts. Support for VAR models is not yet complete: functions to calculate and plot impulse response functions and to test the stability of the VAR system will be added in future releases.
Release Notes for BayES v.1.2
The following updates and changes were made to BayES v.1.2:
 General system:
 Additional checks are conducted when importing data. Importing data now takes longer, but informative error messages are produced when something goes wrong in the process.
 Datasets can now handle string (text) variables. Support for string variables is limited, in the sense that the entries of string variables cannot be altered or printed on the BayES console. However, these entries can be viewed in the data viewer or used to sort the data according to them, in alphabetical order.
 Setting the dataset structure to timeseries or paneldata can now also set the frequency
of the data. The following formats are accepted:
 "index": the time index consists of integer values
 "yyyyqx": quarterly data
 "yyyymx": monthly data
 "yyyy/mm/dd": daily data
 Scripting:
 The lag() and diff() functions are added, which can be used to take lags/leads or differences of a variable in a dataset that is marked either as timeseries or panel. Lags/leads can be of any length, while differences can be of any order. Seasonal differences are also supported by the diff() function.
 The quadrature() function is added, which can be used to approximate integrals using either GaussHermite or Gauss Laguerre quadratures.
 Bug fixes:
 The evpdf() function returned wrong values when a matrix was passed as the first argument. This bug has been fixed in version 1.2.
 Exporting plots in the JPEG format under Microsoft^{®} Windows^{®} produced an error. This bug has been fixed in version 1.2.
 Multiple minor bugs have been identified and fixed in version 1.2. These were mostly related to reporting errors when a command failed.
The major changes listed above set the basis for working with timeseries data. ARIMA and VAR models are on their way!
Release Notes for BayES v.1.1
The following updates and changes were made to BayES v.1.1:
 Graphical User Interface:
 A "Quick Start" dialog is displayed the first time the user starts BayES. This can be deactivated so that it does not popup in subsequent initializations of the program.
 A new pane, the matrix viewer, is available to the BayES desktop. As the name suggests, this pane can be used to display the values of matrices in the current workspace.

The GUI provides better mouseclick integration in the following ways:
 doubleclicking on a dataset or variable in the datasets pane displays the dataset in the dataset viewer
 doubleclicking on a model in the models pane prints the model's results on the BayES console
 doubleclicking on a matrix in the matrices pane displays the matrix in the matrix viewer
 Plotting:
 BayES now supports multiple plots per figure window via the multiplot() and subplot() functions
 A new type of plot is available via the plotdraws() function. This function can be used to create four types of plots from the draws from the posterior distribution of a parameter: (i) history of the draws per chain, (ii) correlogram, (iii) histogram, and (iv) kernel density estimate per chain.
 Scripting:
 The plotting functions (acf(), hist(), kden(), plot(), scatter(), plotdraws(), and multiplot()) can now return, as a string, the title of the figure window (Figure 1, Figure 2, etc.) on which they are plotting. This string can later be used to save or close plots programmatically, or as an argument to the subplot() function. In this way, BayES provides a means of referring to figure windows without having to keep in mind how many windows are currently open. This approach is similar to obtaining a "graphics handle" to a figure.
 Bug fixes:
 Running the probit() and logit() functions while not requesting the Chib and Jeliazkov (2001) approximation to the logmarginal likelihood led to a crash in version 1.0. This bug has been fixed in version 1.1.
 Exporting plots in .eps format after having closed another figure window resulted in a file that contained only a black background. This bug has been fixed in version 1.1.
Acknowledgements
Colleagues and friends have provided comments and suggestions on previous releases of BayES, as well as on the BayES website, and I am grateful to them. These include, in alphabetical order:
 YuFu Chen
 Maria Grydaki
 Dooruj Rambaccussing
If you find a bug which is not documented above, I would appreciate it if you could let me know by email, so that I can fix it.