Repository navigation
Release 2.26 checklist #957
Copy link
Copy link
Closed
Description
With the last release, there were a couple straggling issues that took a long time after the formal release to resolve. In particular the release notes and the docs for lupdf and lupmf came a couple/few weeks after the formal release. Since this release will have a lot of new features, let's plan more explicitly what needs done when so things are not forgotten.
So we've started a checklist here, and part of this checklist will be more checklists. But the idea is that the checkbox is due on the date it is categorized under.
~6 weeks before the next release (halfway between releases -- this is 14th December):
- Create an issue to plan for the release ~6 weeks before the release
- List all known open projects in Math/Stan/Cmdstan/Stanc3 and gather info on what is expected to be merged for release.
- Expressions
- OpenCL
varmatpostponed to 2.27- timing
- Create checklists for the open projects -- what needs to be done and how it will be verified that it is done
- Expressions (expressions done, see here and here)
- OpenCL 2.26 release OpenCL support meta-issue #959
- varmat 2.26 release varmat meta-issue #958
- timing 2.26 timing/profiling meta issue #960
- Make a docs issue to track docs tasks for the next release: Docs for Stan 2.26 release - issue to track progress docs#298
Feature freeze (January 18th -- this is the regular 1 week freeze):
Release candidate stage:
- Create a release candidate tarball. Make sure RC has the new CMDSTAN_VERSION and that RC tarballs have binaries.
- Create Math/Stan RC releases (https://github.com/stan-dev/math/releases/tag/v3.5.0-rc1 and https://github.com/stan-dev/stan/releases/tag/v2.26.0-rc1)
- Create a release candidate feature/bugfix list (this doesn't need to be polished, just so that RC testers know what to test)
- Run CmdstanR tests with the RC tarball
- Make a Discourse RC post
- Make a Twitter RC announcement
Release (January 25th):
- Create the Math Release notes (see Release 2.26 checklist #957 (comment))
- Create the Stan Release notes (see Release 2.26 checklist #957 (comment))
- Create the Cmdstan Release notes (see Release 2.26 checklist #957 (comment))
- Create the Stanc3 Release notes (see Release 2.26 checklist #957 (comment))
- Create the Math release
- Create the Stan release
- Create the Stanc3 release
- Create the CmdStan binaries (make sure the version is incremented and tarball includes binaries)
- Run CmdStanR tests with the release tarball
- Make a Discourse release announcement post
- Cross-post the Discourse announcement on the Stan blog
- Make the Twitter announcement
Ideas for next release:
- thank everyone that funds Stan development and our Github sponsors?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
rok-cesnovar commentedon Dec 8, 2020
This is a checklist attempt for the next release so we get a bit more organized. The first draft was done by me and @bbbales2, feel free to comment/edit/add/remove.
Tagging @stan-dev/math @stan-dev/maintainers
avehtari commentedon Dec 8, 2020
Looks good and makes it more clear how much work making a release needs!
bbbales2 commentedon Dec 8, 2020
The list of Math pulls that had gone in as of Dec 7th are here. I'm not sure the value of maintaining this list but I'll put this one here since @rok-cesnovar and I discussed it:
General changes:
custom_variclass.(#2144)symmetrize(matrix m)function tostan::math.(#2209)reduce_sumparallelism.(#2162)ordered_probit_lpmffor increased numerical stability(#2229)Varmat:
var_value<Eigen::Matrix<T, R, C>>specializations for columns_dot_self, determinant, dot_self, inverse, log_determinant, matrix_power, multiply_lower_tri_self_transpose, and tcrossprod.(#2106)var<mat>(#2163)var<mat>versions ofquad_formandtrace_quad_form(#2164)variancemodified to work withvar<mat>(#2168)sd,log_softmax, andlog_sum_expto work fully withvar<mat>(#2169)var<mat>support todivide(#2171)var<matrix>(#2172)operator-forvar<matrix>types(#2196)var<mat>versions ofcolumns_dot_productandrows_dot_product(#2199)OpenCL:
from_matrix_clto correctly works with triangular matrices.(#2117)bernoulli_lpmfusing OpenCL, enabling it to use GPUs. Fixed a bug that caused a generated kernel not to compile if it used bothcheck_cland any colwise reduction.(#2155)bernoulli_logit_lpmfusing OpenCL, enabling it to use GPUs.(#2173)beta_lpdfusing OpenCL, enabling it to use GPUs.(#2174)lgamma_stirling,lgamma_stirling_diff,lbetaandbinomial_coefficient_log.(#2176)beta_proportion_lpdffunction.(#2180)sign,cauchy_lpdf,chi_square_lpdfanddouble_exponential_lpdf.(#2181)exp_mod_normal_lpdf,exponential_lpdfandfrechet_lpdfand support forpowfunction in kernel generator.(#2184)gamma_lpdfandgumbel_lpdf.(#2185)check_cl, which in case of throwing an exception, caused it to report wrong indices of error.(#2185)inv_chi_square_lpdf,inv_gamma_lpdfandlogistic_lpdf.(#2191)lbetaandbinomial_coefficient_log.(#2201)c = a + band˙c = a + a).(#2215)lognormal_lpdf,normal_lpdfandpareto_lpdf.(#2216)pareto_type_2_lpdf,poisson_log_plmfandpoisson_log_lpmf.(#2217)multiply_logto kernel generator.(#2217)rayleigh_lpdf,scaled_inv_chi_squareandskew_normal_lpdf.(#2221)std_normal_lpdf,student_t_lpdfanduniform_lpdf.(#2222)weibull_lpdf,neg_binomial_2_log_lpmfandneg_binomial_2_lpmf.(#2231)binomial_lpmfandneg_binomail_lpmf.(#2236)Expressions:
dot_producthandles expressions.(#2150)multiply_lower_tri_self_transpose,block,map_rect,log_determinant,matrix_exp_multiply,sd).(#2151)avehtari commentedon Dec 8, 2020
"Generalized student t distribution related functions to accept Eigen expressions" etc is confusing as it looks like we would now have new distributions: generalized student t, generalized uniform, generalized Weibull, etc which all are existing distributions. Only the line "Generalizes Wishart distribution" breaks this pattern, and I assume the distributions were not generalized but just the functions.
bbbales2 commentedon Dec 8, 2020
Oh yeah lol. This is correct. "Generalized" means the function supports Eigen expressions, not a new distribution. Let me make a note at the top to edit this on the final versions.
rok-cesnovar commentedon Dec 8, 2020
This is the unedited version which is just a grouped dump of the release notes written in PRs. In the final version all the “generalize” notes will be something like:
Generalized all remaining C++ functions to accept Eigen expressions.
EDIT: Ben beat me too it :)
mitzimorris commentedon Dec 8, 2020
in the last release, were there hiccups post-release w/r/t CmdStan makefile?
Rok recently reminded me of #929, which get rid of use of a Boost non-header only library - will try to get this in ASAP
rok-cesnovar commentedon Dec 8, 2020
The first attempt for the RC tarball was missing CMDSTAN_VERSION somehow, which is why I noted that prominently above. Other than that there were no new issues.
bbbales2 commentedon Dec 12, 2020
Also are expressions just done? The compiler knows how to use them. There are no language changes to account for them. They are used in Math. They are tested, and I remember we added some doc on how to use those tests somewhere.
If anything doesn't exist, it's higher level C++ docs (like are also missing for varmat).
rok-cesnovar commentedon Dec 12, 2020
In terms of code I think they are done, at least what was meant for 2.26. At some point, maybe for 2.27, we may attempt also returning and handling expressions in Stan user-defined functions, but that is too big of a project for 2.26.
bbbales2 commentedon Dec 12, 2020
Sounds good!
avehtari commentedon Dec 14, 2020
@bbbales2 asked me to look different lists, and I'm very happy to see this level of planning and clear checklists. I added couple minor comments in other issues, and here I ask clarification
SteveBronder commentedon Dec 16, 2020
If someone has a project that can be done by Jan 13th then I'm fine with releasing it this version
bbbales2 commentedon Jan 13, 2021
We're calling off varmat for the 2.26 release. There are too many pull requests stacked up at the last minute. Specifically, calling off varmat means we're not going to turn on any varmat stuff in the compiler in 2.26 (there's plenty of varmat stuff in Math).
Since varmat was the reason we were doing the early freeze (today), Rok & I would like to move that freeze to the same day as everything else (the 18th). This does not change the regularly scheduled freeze & release timings (18th and 25th, respectively). We just don't want to do the early Math freeze without a reason. The early Math freeze was to give time for varmat compiler development. Since that is off, no reason to keep our Math repository frozen longer than it needs to be.
If anyone has objections to canceling the early Math freeze, let us know by the end of the day today (13th), otherwise we'll just keep reviewing and merging stuff as planned.
bbbales2 commentedon Jan 14, 2021
Looks like no comments so we'll delay the Math freeze until the 18th (with everything else)
6 remaining items
rok-cesnovar commentedon Jan 19, 2021
I am not seeing it here: https://github.com/stan-dev/cmdstan/releases/download/v2.26.0-rc1/cmdstan-2.26.0-rc1.tar.gz
The tarball is also smaller than for 2.25 which made me check that.
serban-nicusor-toptal commentedon Jan 19, 2021
@rok-cesnovar you are right, turns out
git-archive-alldoes not include/binin the final archive. I've re-created it manually and uploaded it again. Should be fine now.rok-cesnovar commentedon Jan 19, 2021
Yeah, I think because /bin is in gitignore. Thanks!
serban-nicusor-toptal commentedon Jan 25, 2021
Hey @rok-cesnovar is everything ready for the release ? Asking just to be sure before starting the proces.
rok-cesnovar commentedon Jan 25, 2021
Hey @serban-nicusor-toptal, I think everything is ready, but given that we released the RC on Tuesday I think we should do the actual release tomorrow. Does that work for you?
serban-nicusor-toptal commentedon Jan 25, 2021
Sure that's fine, we'll leave it for tomorrow! Thanks for the quick reply, have a great week!
rok-cesnovar commentedon Jan 26, 2021
@serban-nicusor-toptal here are all the release notes for the 4 repositories: https://gist.github.com/rok-cesnovar/28750bf5b79026bb2ae4dc37190c744b
Let me know if you need anything from me. We can now proceed with the release whenever you have time.
wds15 commentedon Jan 26, 2021
Ther was a fix for the gradients of the multi variate normal cholesky lpdf...not sure I saw that one.
rok-cesnovar commentedon Jan 26, 2021
Oh right, good call. Forgot to include the post-freeze stuff (ran the script the day after the freeze). Thanks! Updated now.
rok-cesnovar commentedon Jan 26, 2021
@serban-nicusor-toptal also listing the version numbers:
Math version should be updated to 4.0
Stan is 2.26 (we need to update the version numbers, we forgot the last time, see https://github.com/stan-dev/stan/pull/2990/files)
Cmdstan and stanc3 also 2.26
Thanks!
serban-nicusor-toptal commentedon Jan 26, 2021
If there are no objections I will start the release in 1 hour from now.
serban-nicusor-toptal commentedon Jan 26, 2021
Hey @rok-cesnovar release is now done across all projects!
rok-cesnovar commentedon Jan 26, 2021
Thanks Nic, will check the tarball and make the announcement. If all is good, will close this issue.
rok-cesnovar commentedon Jan 26, 2021
Checklist completed, everything released. Closing.
Thanks @serban-nicusor-toptal !