Release Notes for Pumas 2.8.1

Pumas

Experimental

  • Support models without estimated standard deviation in error model, without dynamical systems or without random effects in MCEM.
  • Correctly handle ensemblealg input in MCEM.
  • Support MvNormal, MvLogNormal and MvLogitNormal random effects in MCEM.
  • Avoid throwing errors if @derived does not depend on population parameters in MCEM. These models now correctly fit.
  • Add support for dependent variables with MixtureModel statistical models in MCEM.
  • Fix handling of discrete random effects in @random with MCEM.
  • Improve the progress bar for MCEM fits.

Improvements

Documentation and error messages

  • Improve vcov and infer docstrings to list all keyword arguments and their default values.
  • We now throw an informative error message if users try to fit a model with no free population parameters. Previously, an error was thrown that could be hard to interpret.

Bugs

  • Handle exceptions during distributed infer correctly. Previously, the error would be rethrown directly even if they user didn't ask for errors to be thrown directly instead of returning a FailedCovariance type.
  • Improve the handling of work in distributed computing (EnsembleDistributed) simobs calls to be thread safe.
  • Fix incorrect printing of infer output for bootstrapped inference where no stratification variables were used. Previously, the text would indicate that a list of stratification variables was to be printed but the list was empty as no stratification was used.
  • Remove mention of unsupported quadrature method in crossvalidation docstrings.
  • Preserve order of Subjects in DataFrame constructors.
  • Fix the number of observations listed in show methods for Subjects. Previously, missing values would be counted.
  • Fix the length of missing predictions for FiniteMarkov and OrderedLogit dependent variable statistical models.
  • Fix a problem where DataFrame constructors could fail on sub::Subjects with content that was not vectors of length sub.time. These are now correctly filled to the appropriate length.
  • Fix forwarding of @vars and @derived quantities to gsa. Previously, only @observed quantities were visible to the gsa procedure.
  • Fix a bug where scalar variables from @vars could not correctly be broadcasted in downstream blocks such as @derived.

Deprecations

PumasPlots

Features and improvements

Documentation and error messages

Bugs

  • Plot multiple dependent variables in separate rows in subject_fits with independent y axes via linkyaxes = :minimal, matching sim_plot behavior. Previously all DVs were overlaid on the same axes, making plots unreadable when endpoints are on different scales.

  • subject_fits had strange y-axis values if a subject had missing values. Values are now filtered to exclude missing values such that values are now less cluttered and with no missing value at the top.

  • Fixed goodness_of_fit pagination so that paginate=true groups all 4 subplots per DV on one page, instead of returning one page per individual subplot.

Deprecations

NCAUtilities

Features and improvements

Bugs

Bioequivalence

Features and improvements

Documentation and error messages

Bugs

Deprecations

SummaryTables

Features and improvements

Bugs

AlgebraOfGraphics

Behavior change

Experimental Features

Features and improvements

Documentation and error messages

Bugs

PumasAide

Features and improvements

  • Reduced the number of MCP tools exposed to better match what current models handle well on their own. Agents now write Julia code directly, guided by API reference docs for Pumas, NCA, DataFrames, and AlgebraOfGraphics.
  • Reduced tool output verbosity to avoid overwhelming clients with unneeded data.
  • Tool execution errors now return clean user-facing messages without internal stacktraces.
  • Removed subjective content from the knowledge base. Users can develop and provide their own organisation-specific rules that work with PumasAide.

Bugs

  • Fixed timeout on first use during a Julia session that caused MCP client connection failures.
  • Fixed search tool failures when agents wrapped queries in extra double quotes.
  • Fixed -32800 errors that could occur when reconnecting to the MCP server within the same Julia session.
  • Replaced pseudocode in bootstrap knowledge docs with real Pumas API to prevent agents from inventing nonexistent functions.

ADaM