Changes in version 0.8.1 (2025-09-08) - Minor patch for ggplot2 v4.0.0 compatibility. Changes in version 0.8.0 - Major changes - Added CalmrModel class. - This class is contains information about the model, including, among other things, its name, (current) parameters, default_parameters, and several lists pointing to internal functions used to name, parse, and plot results. See help("CalmrModel-class") for more information on the slots. - Model logic is now encapsulated within the run() method (see help("run,CalmrModel-method")). This method modifies the CalmrModel to populate the .last_raw_results slot with lists of raw results, and overwrite internals such as model parameters. - The class has its own methods (including plot() and graph()). See ?CalmrModel-methods for more information. - Users can now define custom models by inheriting from CalmrModel class. - Minor changes - Removed CalmrResults class. Raw and parsed results are now stored in the CalmrModel class' .last_raw_results and .last_parsed_results slots, respectively. Aggregated results are now stored in the CalmrExperiment class' results slot. - Added CalmrExperiment slot models to store the CalmrModel instances used in the experiment. - Added functionality to resume training a model across different experiments. If necessary, the objects representing the internal states of a model (e.g., a matrix of associations) will be expanded to accommodate new stimuli. This feature should be treated as experimental, and casual users should instead specify different phases in a single experiment. - Model definition now includes global flag for each parameter (is_global). - Minor bug fixes: - Fixed bug in Witnauer's comparator procedure form SM2007 for higher order comparisons. Changes in version 0.7.1 - Fixed bug in usage of beta parameters in the RW1972 model. Added tests for all model parameters. Additionally, disabled functional stimuli for RW1972. - Fixed bug in calculation of alpha deltas for MAC1975. Added tests for all model parameters and some expected behaviours with regards to associability. Changes in version 0.7.0 (2025-05-11) - Corrected some issues in directional models. - Created a vignette to expose the behaviour of directional models. - Removed randomization column requirement from designs. Randomization of phases is now specified using the "!" character anywhere in the phase string. Using the old format throws a deprecation warning. - Added support for seed experiment generation in make_experiment(). - Added set_calmr_palette() function to control the colour/fill scales used to plot results (#1). - Added filter() method for CalmrExperiment class that allows filtering of aggregated data (#1). - Fixed bug in make_experiment() that was triggered by empty phases and no miniblocks. - Changed get_timings() to require a specific model name. - Added vignette for TD model. Changes in version 0.6.2 - Aggregation of ANCCR data now ignores time; time entries are averaged. - Added the Temporal Difference model under the name "TD". The model is in an experimental state. - Experiments for time-based models now require a separate list to construct time-based experiences. See get_timings(). - Added experiences<-, timings, timings<- methods for CalmrExperiment class. - Revamped plotting functions and parsing functions. - Revamped output names for all models to make them more intelligible. - Fixed a bug related to the aggregation of pools in HDI2020 and HD2022. - Consolidated some man pages. Changes in version 0.6.1 (2024-03-14) - Added outputs argument to run_experiment(), parse(), and aggregate(), allowing the user to parse/aggregate only some model outputs. - Documentation corrections for CRAN resubmission. Changes in version 0.6.0 - Added dependency on data.table resulting in great speedups for large experiments. - Replaced dependency on cowplot with dependency on patchwork. - Removed dependencies on tibble, dplyr, tidyr, and other packages from the tidyverse. - Removed shiny app from the package. - The previous app is now distributed separately via the calmr.app package available on GitHub. - Test coverage has reached 100%. - The package is now ready for CRAN submission. Changes in version 0.5.1 - Added parallelization and progress bars via future, future.apply, and progressr. - Function calmr_verbosity can set the verbosity of the package. Changes in version 0.5.0 - Implementation of ANCCR (Jeong et al., 2022), the first time-based model included in calmr. - Added parameter distinction between trial-wise and period-wise parameters. - Added internal augmentation of arguments depending on the model. - All trial-based models do not use pre/post distinctions anymore. Using the ">" special character does not affect these models anymore. - The ">" special character is used to specify periods within a trial. For example, "A>B>C" implies A is followed by B which is followed by C. See the using_time_models vignette for additional information. - Named stimuli now support numbers trailing characters (e.g., "(US1)" is valid now.) Changes in version 0.4.0 - Major refactoring of classes and models. This should help development moving forward. - Added several methods for access to CalmrExperiment contents, including c (to bind experiments) results, plot, graph, design, and parameters. - Created CalmrDesign and CalmrResults classes. - Rewrote parsers to be less verbose and to rely less on the tidyverse suite and piping. - Substantially reduced the complexity of make_experiment function (previous make_experiment). - Introduced distinction between stimulus-specific and global parameters. - Parameters are now lists instead of data.frames. - Modified UI for calmr app to include a sidebar. - Simplified the app by removing some of the options. - Nearly duplicated the number of tests. Changes in version 0.3.0 - Added first version of the SOCR model (SM2007) as well as two vignettes explaining the math behind the implementation and some quick simulations. - Documentation progress. Changes in version 0.2.0 - Added multiple models to package and app (RW1972, PKH1982, MAC1975). - Implementation of basic S4 classes for model, experiment, fit, and RSA comparison objects, as well as their methods. - Added genetic algorithms (via GA) for parameter estimation. - Added basic tools to perform representational similarity analysis. - Documentation progress. Changes in version 0.1.0 - heidi is now calmr. The package now aims to maintain several associative learning models and implement tools for their use. - Major overhaul of the training function (train_pav_model). All relevant calculations are now done as a function of all functional stimuli instead of just the US. - Support for the specification of expectation/correction steps within the trial via ">". For example, the trial "A>(US)" will use only A to generate the expectation, but will learn about both stimuli during the correction step. - The previous plotting function for R-values has been revamped to allow both simple and complex versions. The complex version facets r-values on a predictor basis, and uses colour lines for each target. - Bugfix related to stimulus saliencies.