v2.6.0 (5 February 2015)
New Features
Language Enhancements
- allow local-variable integers to be treated as constants,
allowing, among other things, more general ODE functions [#1131] - initialize transformed data and generated quantities the
same way as transformed parameters [#1099] - libstan.a removed and model compilation is 100% header-only [#1095]
- check for infinite/nan inits from boundary initializations
with warning [#537]
API/Build/Test Enhancements
- removed extra variables being generated by validation [#1248]
- generalize OperandsAndPartials to second order [#676]
- rationalize error handling, using const char* args for efficiency [#1234]
- upgrade to Boost version 1.55 library [#1206]
- generate .hpp instead of .cpp for models [#803]
- value_of_rec recursive metaprogram to pull values out of higher-order
autodiff structures; removes order dependency on fwd/rev includes
[#1232] - tests now run more efficiently with Python script [#1110]
- add performance tests to continuous integration to perform
end-to-end regression testing on speed [#708, #1245] - manual index parser for tool automation in interfaces (such as
auto-complete suggestions) and emacs mode - refactor log determinant and fix return type cast in vector arena
alloc [#1187] - update makefile dependencies for auto-generated cpp test files [#1108]
- move test models into clearly labeled directories (good/bad) [#1016]
- removing policies from math error checking [#1122]
- remove usage of Boost's formatting (which can cause runtime
errors like printf) [#1103] - rearrange directory structure of err_handling [#1102]
- clean up math includes to proper location in source tree [#778]
- remove Windows newline and write script to catch in future [#1233]
- remove extra copy of Eigen (3.2.0), leaving just Eigen 3.2.2 [#1206]
- remove example-models dependency from Git [#1105]
Bug Fixes
- allow identifiers with prefixes matching keywords [#1177]
- allow functions to be used in variable declaration constriants [#1151]
- fix segfault resulting from multivariate normal in optimizer (root
cause wasn't in optimizer, but in autodiff nesting cleanup) [#1200] - fixed return type in language and C++ for append_row of two
column vectors and append_col of two row vectors [#1241] - fixed derivative error for pareto_type_2_log() [#1223]
- remove unused models from stan distribution (they're now in
the stan-dev/example-models repo on GitHub) [#1249] - squash compiler warnings and fix windows tests (mostly
signed vs. unsigned, as usual) [#1257] - fix memory leak in ODE solver [#1160]
- fix overflow in gamma_p function to throw instead [#674]
- make sure multiply_lower_tri_self_transpose returns a symmetric
matrix [#1121] - fix overflow in Poisson RNG to throw instead [#1053]
Documentation
- manual updated for 2.6 [#1081]
- new chapter on software process (thanks to Sebastian Weber
and Tony Rossini for help) - new chapter on sparse and ragged arrays
- pointers to Julia and MATLAB interfaces (yay!)
- vectorization of CDFs described
- fix priors on IRT models
- added discussion of multiple change points
- remove range-contstrained scale priors
- clarified fixed parameter call
- remove references to "std::vector" in favor of "array"
- corrected signs for lasso and ridge and discuss truncated gradient
and absolute zero results - extended discussion of Gaussian process priors (thanks
to Aki Vehtari, Jon Zelner, and Herra Huu) - remove bogus paths to models and replace with pointers to
example-models repo - clarified Wishart/inverse Wishart parameterizations w.r.t. BDA3
- fixed exp_mod_normal definition
- fix student-t reparameterization
- fix hurdle distribution definition
- new chapter on software process (thanks to Sebastian Weber
Thanks!
Thanks to all the users who contributed code and doc corrections
and comments: Alex Zvoleff, Juan Sebastián Casallas, Gökçen
Eraslan, seldomworks [GitHub handle], Avraham Adler, Sebastian
Weber, Amos Waterland, David Hallvig, Howard Zail, Andre Pfeuffer,
Bobby Jacob, Cody Ross, Krzysztof Sakrejda, Andrew Ellis, John Sutton