smooth v1.9.0 (Release data: 2017-03-18)
==============

Changes:
* New function - sim.ges() - simulate data using GES model.

Bugfixes:
* Fixed bug with cfType="MSTFE" in case of multiplicative errors.


smooth v1.8.0 (Release data: 2017-03-12)
==============

Changes:
* New function - xregExpander(), which creates matrix of xreg with lagged values based on provided data and automatically fills in NAs with forecasted values using es().
* "optimal" is now the default initialisation method for ces().
* Created templates for roxygen2 for the consistency purposes of the documentation.
* plot() methods for classes smooth and smooth.sim now accept main and ylab parameters. Do whatever you want!

Bugfixes:
* In cases of df<=0 we now produce a warning and prediction intervals based on Chebyshev's inequality.
* es() now does not complain about failing to estimate something when persistence is predefined.
* Fixed a bug, when predicting binary variables using any iSS model, we would end up with errors. Now in this case we just select among the intermittent models, ignoring non-intermittent one.


smooth v1.7.1 (Release date: 2017-03-01)
==============

Changes:

* Mixed ETS models now produce negative forecasts. But it does not make much sense to my taste...
* The initial values of smoothing parameters before the optimisation are now set to 0.3, 0.2, 0.1 for both additive and multiplicative models.
* Some plot() methods for smooth now accept additional parameters.
* es() now also accepts hidden parameters C, CLower and CUpper for initialisation of optimiser and setting bounds in which to search for the optimal value.
* es(), ces(), ssarima() and ges() now accept smooth.sim objects and can automatically extract data from them. This is just for comfort...


smooth v1.7.0 (Release date: 2017-02-24)
==============

Changes:

* The package now uses roxygen2. It's a bit messy at the moment, but will be sorted out soon.
* We now import a couple of functions from forecast package (forecast and getResponse). This helps us make better connection between methods in packages.
* forecast() function for smooth now returns $method as a name of applied model and $model as a fitted R model (corresponds to what forecast does in forecast package).

Bugfixes:

* If data passed to functions was a matrix, then functions wouldn't work. Now they say about that out loud.
* Fixed a bug with mixed models with multiplicative errors. They produce sometimes senseless forecasts, but at least they produce them.
* Added some stuff to src folder (registerDynamicSymbol.c) in order to make CRAN checks shut up about some irrelevant things (R_useDynamicSymbols? R_registerRoutines? WTF?!).


smooth v1.6.4 (Release date: 2017-02-20)
==============

Changes:

* Added orders and lags method for the class Arima. This should allow easily extracting these values from models fitted using arima(), Arima() and auto.arima() functions from stats and forecast packages.
* modelType() is now renamed into model.type().
* If xreg contains NAs, we now substitute them with zeroes.

Bugfixes:

* Fixed a bug with initial value in backcasting, that was causing annoying problems in ssarima.
* Fixed a bug in sma() function and model provided to it.
* Fixed names of xreg in cases when we need to drop some of the variables.
* In some cases the second optimiser behaved badly and returned worsened value. Fixed it.
* Fixed a bug with phiEstimate becoming equal to TRUE, when phi is not needed at all.


smooth v1.6.3 (Release date: 2017-02-14)
==============

Changes:

* Fixed a problem with ETS(M,Z,Z) and xreg.
* Function now removes xreg which is equal to the value we need to forecast (if there is one).
* We also now return formula in es(), which is accesible via formula() function. This should help when you have problems in understanding what model has been constructed.

Bugfixes:

* Corrected description of accuracy measures in es(), ces(), ges() and ssarima().
* Fixed some bugs relating combination of models with xregDo="s".


smooth v1.6.2 (Release date: 2017-02-01)
==============

Changes:

* Addressed issue #58. Now matrix is first transposed and then model is fitted to data. This led to a tiny increase in speed.
* Prediction intervals for intermittent models are now rounded up.

Bugfixes:

* Non-parametric and semi-parametric intervals were broken since 1.6.0
* es() with backcasting and predefined persistence was complaining on estimation problems without any reason.
* Corrected initial quantiles for prediction intervals and optimisation mechanism (for correct prediction intervals for intermittent data).


smooth v1.6.1 (Release date: 2017-01-27)
==============

Bugfixes:

* Corrected a bug with nExovars in es()


smooth v1.6.0 (Release date: 2017-01-27)
==============

Changes:

* ssarima(), ges() and ces() now have xreg selection mechanism.
* auto.ssarima() and auto.ces() now also have that stuff.
* Finally es() does that as well.
* iSS models now return relevant error measures.
* es() now allows combining a pool of models, when the list includes "CCC".
* logLik() now also includes nobs as an attribute.
* We now report modelX if it includes xreg. For example, "ARIMAX" instead of ARIMA.
* Renamed some internal variables for consistency purpose.
* Redone prediction intervals for iSS models.

Bugfixes:

* Renamed some internal parameters for consistency purposes.
* Found a bug with nParam calculation in ges().
* Fixed a bug that did not allow to use combinations with intermittent demand in es().
* Fixed a bug in backcasting mechanism.
* Fixed a bug with incorrect df calculation for prediction intervals in combinations.


smooth v1.5.2 (Release date: 2016-12-18)
==============

Changes:

* Instead of having dozens of methods based on AIC and BIC, we now have logLik, nobs and AICc.default. The latter should also work with other, non smooth, classes (e.g. "ets","lm").
* sim functions now return likelihood via logLik value rather than "likelihood". This allows using logLik, AIC and other functions.
* iss function now also does the same...
* Introduced "SBA" as a separate method for intermittent demand.

Bugfixes:

* Parametric prediction intervals for iSS models always had width of 95%. This is now fixed.
* Corrected bug in Croston's iSS, where the last observation of data was included as non-zero demand.
* Fixed a bug when MNN was fit to intermittent data without intermittency.


smooth v1.5.1 (Release date: 2016-11-30)
==============

Changes:

* Now you can produce 0-steps ahead forecasts using smooth functions. Pretty cool, ah? And pretty useless for my taste. But here it is!
* iprob in sim functions now also accepts a vector, implying that probability may vary over time in style of TSB and Croston's method.

Bugfixes:

* intermittent data was not taken correctly into account in number of parameters calculation in functions.
* Fixed a bug with persistence not accepting matrices in es()
* persistence now looks nice in the output of sim.es()
* sim.ssarima() had a bug with array not becoming a matrix. Nailed it!


smooth v1.5.0 (Release date: 2016-11-13)
==============

Changes:

* auto.ssarima() now allows combining forecasts using IC weights. This is a first try. Prediction intervals for the combined model are currently incorrect.
* Made important changes to initialisation of SARIMA and some tuning in backcasting mechanism.
* Some tuning in sim functions in parts with ellipsis checks.
* sim.ssarima() now accepts orders as list. This should be handy when doing sim.ssarima(orders=orders(ourModel)). No need to define each order separately anymore.
* ssarima() also accepts orders as list. No need to specify separate ar.orders, ma.orders and i.orders (they are now optional) if you want to extract value from another model. Plus it is handy just to write orders=list(ar=1,i=1,ma=c(1,2,3)).
* auto.ssarima() now also uses orders as a list variable instead of ar.max, i.max and ma.max.
* sim.ssarima() now uses burn-in period if the initials were generated.
* Uodated manuals, so they are a bit more consistent.
* Got rid of silent parameter in sim functionst, because all the info they give needs to be put in warnings.
* sim functions now print proper warnings.
* Tuned initial values of es(). This should be helpfull in cases with backcasting of initials.
* Optimised auto.ssarima() mechanism. Not faster, but more accurate.

Bugfixes:

* sim.ssarima() wouldn't work in cases of ARIMA(0,0,0) with/without constant.
* polynomials were multiplied inccorectly in cases of ARIMAs with d>1.
* Fixed a bug with phiEstimate not beeing used correctly.


smooth v1.4.7 (Release date: 2016-11-01)
==============

Changes:

* New function - sim.ces(), that generates data from CES model with predefined parameters.
* Due to (1) simulate.smooth() now also works with CES.
* modelType() in cases of ces() now returns the full name of model instead of the first letter.
* auto.ces() has now a smaller pool of models: "none", "simple" and "full".

Bugfixes:

* Fixed problem with xreg length and provided initialX (issue #59 on github).
* Fixed a check of models pool in auto.ces().


smooth v1.4.6 (Release date: 2016-10-23)
==============

Changes:

* New function - sim.ssarima() that allows generating data from any ARIMA with any provided parameters.
* New methods for smooth class: lags, orders and modelType. First two are for ssarima(), ges() and sma(), the last one is for es(), ces() and ets() from "forecast" package.
* Introduced new class for simulation functions, "smooth.sim" and created print and plot methods for them.
* es() now accepts "XXX" as model. This allows excluding multiplicative components from the pool. This does not use branch and bound. So model="ZXZ" will go through all the models with T="N", T="A" and T="Ad".
* Similarly es() can now select the most appropriate non-additive model. This is regulated with: model="YYY".

Minor changes:

* Updated print for "smooth" class for es() and ges(): now we produce a nice vector with names of smoothing parameters.
* simulate.smooth() method update in order to take sim.ssarima() into account.
* AICc now also extracts AICc from ets() of "forecast" package.

Bugfixes:

* Fixed a bug with provided model with damped trend.
* Fixed a bug in pool of models with damped trend ("ZAdZ").


smooth v1.4.5 (Release date: 2016-10-16)
==============

Changes:

* Parameter intervals now accepts type of interval instead of intervalsType.
* Polynomials of ssarima() are now multiplied in C++. Initialisation is now done there as well. This slightly speeds up the estimation and construction of SSARIMA.

Bugfixes:

* Fixed names of returned smoothing parameters by es().


smooth v1.4.4 (Release date: 2016-09-20)
==============

Changes:

* auto.ssarima() function uses now a different algorithm. This allows speeding up order selection process and selecting models closer to the "true" one.
* Some corrections in smooth-Documentation.
* Package will now tell its version when loaded.

Bugfixes:

* Corrected C++ bug that caused problems on Solar OS.


smooth v1.4.3 (Release date: 2016-09-16)
==============

Changes:

* Removed "TFL" as a cost function type and "asymmetric" as intervals type. The functions still accept these parameters, but the parameters are now hidden, because currently they are not ready for wide audience.
* Changed how number of parameters is calculated when initials are provided. They should be counted in. Only backcasting now excludes initials in calculation of number of parameters.
* Prepared vignette for es(), ces(), ssarima(), ges(), sma() and sim.es(). This now includes examples with some comments.
* Uploaded documentation for the package to github (https://github.com/config-i1/smooth/smooth.pdf). This will be published as working paper and will be available via ResearchGate.

Bugfixes:

* Fixed a bug with intervalsType="s" not working for auto functions.
* data provided to auto functions is now checked.


smooth v1.4.2 (Release date: 2016-09-15)
==============

Changes:

* We now use vignettes, explaining how to work with functions and what they return. This is just a start of the work. Vignettes will be updated. There is also a work on documentation for models underlying smooth package. This is currently reviewed and will be available as a working paper soon.
* New function - sma() - Simple Moving Average. It fits one as a state-space model. So, apparantely there is a model underlying simple moving average method...
* Named transitionX and persistenceX are now returned, when using exogenous variables are used with updateX=TRUE. This should simplify the analysis of these matrices.

Bugfixes:

* A fix for plot(es(...)) in case of inclusion of exogenous variables leading to states containing more than 10 columns.
* Warnings are now always printed out for unstable SSARIMA.


smooth v1.4.1 (Release date: 2016-09-09)
==============

Changes:

* We now suggest testthat package and do more extensive tests in order to make sure that everything works as it should.
* Introduced parameters A and B in ces() function.
* Got rid of parameter C in ces() function.

Bugfixes:

* ssarima() could not construct ARIMA(0,1,0) without constant. Fixed that.


smooth v1.4.0 (Release date: 2016-09-08)
==============

Changes:

* Started this NEWS file.
* Fixed a bug with ssarima() not accepting previously estimated models in cases with constant=TRUE.
* Removed NUS and sim.ces. They will return when they are in a better condition.
