Changes in version 1.7.0 (2026-04-01) Enhancements - Add truncate argument to uniformity_test() to allow for custom truncation Bug Fixes - Fix several minor issues occurring in edge cases. Enhancements - Extend and export several functions related to the generalized Pareto distribution for use in other packages. (#408) - Support Pareto PIT functionality via pareto_pit. (#435) - Allow more warnings to be turned off via option posterior.warn_on_merge_chains. - Improve documentation in many places. - Improve tests by checking for edge cases. Changes in version 1.6.1 (2025-02-27) Bug Fixes - Fix a test issue that led to an R CMD check failure on R devel. Enhancements - Convert lists of matrices to draws_array objects. - Improve the documentation in various places. - Implement pit() for draws and rvar objects. LOO-PIT can be computed using weights. Changes in version 1.6.0 (2024-07-03) Enhancements - Add exclude option to subset_draws(), which can be used to exclude the matched selection. - Add are_log_weights option to pareto_smooth(), which is necessary for correct Pareto smoothing computation if the input vector consists of log weights. - Add pareto_smooth option to weight_draws(), to Pareto smooth weights before adding to a draws object. - Add individual Pareto diagnostic functions (pareto_khat(), pareto_khat_threshold(), pareto_min_ss(), pareto_convergence_rate()) - thin_draws() now automatically thins draws based on ESS by default, and non-integer thinning is possible. - Matrix multiplication of rvars can now be done with the base matrix multiplication operator (%*%) instead of %**% in R >= 4.3. - variables(), variables<-(), set_variables(), and nvariables() now support a with_indices argument, which determines whether variable names are retrieved/set with ("x[1]", "x[2]" ...) or without ("x") indices (#208). - Add extract_variable_array() function to extract variables with indices into arrays of iterations x chains x any remaining dimensions (#340). - For types that support factor variables (draws_df, draws_list, and draws_rvars), extract_variable() and extract_variable_matrix() can now return factors. Changes in version 1.5.0 (2023-10-31) Enhancements - Added support for nested-Rhat via rhat_nested (#256) - Added support for indexing draws in rvars using rvars (#282): - x[i] or x[i] <- y where i is a scalar logical rvar slices (or updates) x by its draws. Thus, if y <- x[i], then y is the same shape as x but with sum(i) draws. - x[[i]] or x[[i]] <- y where i is a scalar numeric rvar slices (or updates) x by selecting the ith element within each corresponding draw. Thus, if y <- x[[i]], then y is an rvar of length 1. - Added rvar_ifelse(), which is a variant of ifelse() that accepts (and returns) rvars (#282). - Array broadcasting for rvars has been made faster. Bug Fixes - Ensure rfun() works with primitive functions (#290) and dots arguments (#291). - Provide implementations of vctrs::vec_proxy_equal(), vctrs::vec_proxy_compare(), and vctrs::vec_proxy_order(). - Minor future-proofing of cbind(), rbind(), and chol() for R 4.4 (#304). - Ensure that bind_draws() regenerates draw ids when binding along chains or draws; this also fixes a bug in split_chains() (#300). Changes in version 1.4.1 (2023-03-14) Bug Fixes - Delay applying tibble::num() formatting to output from summarise_draws() until print() is called so that summary output can be easily converted to a vanilla data frame (#275). Changes in version 1.4.0 (2023-02-22) Enhancements - Added new rvar_factor() and rvar_ordered() subtypes of rvar() that work analogously to factor() and ordered() (#149). See the new section on rvar_factors in vignette("rvar"). - The draws_df(), draws_list(), and draws_rvars() formats now support discrete variables stored as factors / ordereds (or rvar_factors / rvar_ordereds). If converted to formats that do not support discrete variables with named levels (draws_matrix() and draws_array()), factor-like variables are converted to numerics. - Made match() and %in% generic and added support for rvars to both functions. - Added modal_category(), entropy(), and dissent() functions for summarizing discrete draws. - Allow lists of draws objects to be passed as the first argument to bind_draws() (#253). - Improving formatting of summarise_draws output via tibble::num. - print.rvar() and format.rvar() now default to a smaller number of significant digits in more cases, including when printing in data frames. This is controlled by the new "posterior.digits" option (see help("posterior-package")). - Implemented faster vec_proxy.rvar() and vec_restore.rvar(), improving performance of rvars in tibbles (and elsewhere vctrs is used). Bug Fixes - Ensure that as_draws_rvars() preserves dimensions of length-1 arrays (#265). - Fix some minor compatibility issues with rvar, vctrs, dplyr, and ggplot2 (#267, #269). Changes in version 1.3.1 (2022-09-06) - Minor release that fixes some CRAN check failures. Changes in version 1.3.0 (2022-08-15) Enhancements - Implement for_each_draw(x, expr), which executes expr once for each draw of x, exposing variables in x as arrays of the shape implied by the indices in their names (#224). - Implement subset_draws(), thin_draws(), and resample_draws() for rvars (#225). - Allow weights to be optional in resample_draws() (#225). - Add an implementation of drop() for rvars. - Speed up subsetting of draws_list objects. (#229, #250) Bug Fixes - Support remaining modes of diag() for rvars (#246). - Better parsing for named indices in as_draws_rvars(), including nested use of [, like x[y[1],2] (#243). - Allow 0-length rvars with ndraws() > 1 (#242). - Ensure 0-length rvars can be cast to draws formats (#242). - Don't treat length-1 rvars with more than 1 dimension as scalars when casting to other formats (#248). Changes in version 1.2.2 (2022-06-09) Enhancements - Improve the mcse_sd function to not make a normality assumption. (#232) Changes in version 1.2.1 (2022-03-07) Bug Fixes - Correctly transform lists of data.frames into draws_list objects. - Correctly drop variables on assigning NULL in mutate_variables. (#222) Changes in version 1.2.0 (2022-01-05) Enhancements - support casting to/from rvar and distributional::dist_sample (#109) Bug Fixes - fix hidden variables in bind_draws.draws_df when binding more than two objects thanks to Jouni Helske (#204) - fix output of pillar::glimpse() when used on a data frame containing rvars (#210) - drop "draws" and "draws_df" classes from draws_df objects if meta data columns are removed by a dplyr operation (#202) - fix output of print.draws_df() on objects with unrepaired draws (#217) - ensure variance() works properly with summarise_draws() (#219) Changes in version 1.1.0 (2021-09-09) Enhancements - use matrixStats to speed up convergence functions (#190) and rvar summaries (#200) Bug Fixes - ensure that as_draws_rvars() works on lists of lists (#192) - fix some vector recycling issues with rvar_rng (#195) - ensure that subset_draws() respects input variable order, thanks to Karl Dunkle Werner and Alexey Stukalov (#188) Other Changes - No longer check for constant-per-chain input in effective sample size diagnostics as this is overly conservative especially for ess_tail. (#198) Changes in version 1.0.1 (2021-07-14) - ensure that all unit tests pass on all CRAN environments - fix a problem that sometimes lead to rvars being unnecessarily slow (#179) Changes in version 1.0.0 (2021-07-13) - initial CRAN release Changes in version 0.1.0 - beta release