Changelog
Source:NEWS.md
jsurvival 1.0.0 (2026-07-13)
First stable release
- Fixed both odds-ratio validation paths so empty or invalid data produce clear analysis-level errors instead of an R6 method failure.
- Replaced non-structural named HTML entities with Unicode and converted fragmented translated output to complete placeholder-based sentences.
- Normalized checkbox labels to noun phrases, removed stale
sasinvalidation keys, and hid unfinished survival-tree controls until the feature is wired end to end. - Trimmed
00refs.yamlto the 22 citations used by the eight analyses and replaced broad package imports with selective imports. - Synchronized
DESCRIPTION, jamovi metadata, andCITATION.cff; removed the orphaned survival-power event handler.
jsurvival 0.0.47 (2026-07-05)
Bug Fixes
-
Fixed a crash in competing-risks analysis on jamovi installs.
cmprsk::cuminc()is called by the survival, single-arm, continuous-survival, and multivariable-survival analyses, butcmprskwas missing from the packageImports. Because jamovi installs only a package’sImports, competing-risks analysis failed on a clean install with “there is no package called ‘cmprsk’”.cmprskis now declared. - Declared
digest,pec, andrpart.plot(previously used via::but undeclared). Moved the optional machine-learning survival backends (randomForestSRC,xgboost,survivalsvm,SurvMetrics) toSuggestsso they degrade gracefully when not installed.
jsurvival 0.0.46 (2026-07-04)
This release consolidates versions 0.0.32.62 through 0.0.46 into a single entry. Headline themes: a major expansion of the univariate Survival module toward REMARK-compliant prognostic reporting (age-adjusted analysis, a weighted log-rank test family, calibration assessment, non-linearity testing, and bootstrap internal validation); Cox interaction / effect-modification terms in Multivariable Survival; Firth penalized logistic regression in Odds Ratio; and a unified multi-tier HTML notice system across modules. Minimum jamovi version raised to 2.7.27.
New Statistical Features
Univariate Survival (survival)
-
Age-adjusted survival analysis — new option group controlling age adjustment (
age_adjustment,age_variable):-
age_interaction— test an age x group interaction (newageInteractionTablewith coefficient, HR, SE, z, p-value). -
age_stratified_coxandageAdjustedCoxTablecomparing unadjusted vs. age-adjusted hazard ratios side by side. -
age_time_scale— fit a Cox model using age as the time scale (newageTimeScaleTable). -
age_standardizationwithage_standardization_method(indirect/SMR ordirect) producing anageStandardizationTable(observed/expected deaths, SMR with 95% CI). -
age_stratified_kmandage_group_cutpointsfor age-stratified Kaplan-Meier curves (ageStratifiedKMPlot). -
adjusted_curves— covariate-adjusted survival curves (adjustedCurvesPlot). - Interpretation panels:
ageAdjustedInterpretation,ageAdjustedExplanation,ageTimeScaleInterpretation,ageStandardizationInterpretation.
-
-
Weighted log-rank test family — new
weightedLogRankoption withsurvivalTestTypechoices:logrank,gehan_breslow,tarone_ware,peto_peto, andfleming_harrington; results inweightedLogRankTable(test, rho, chi-square, df, p-value, weighting) plus aweightedLogRankExplanationpanel. Pairwise group comparisons now honor the selected rho weighting. -
Calibration assessment —
calibration_curveswithcalibration_timepointandcalibration_ngroups; outputscalibrationTable, per-groupcalibrationGroupTable(predicted vs. observed with CIs),calibrationPlot, andcalibrationInterpretation. -
Non-linearity assessment (restricted cubic splines) —
rcs_analysiswithrcs_variableandrcs_knots; outputsrcsTestTable(model, df, log-likelihood, AIC, LR chi-square, p-value, conclusion),rcsPlot, andrcsInterpretation. -
Bootstrap internal validation —
bootstrapValidationwithbootstrapValNresamples;bootstrapValidationTablereports apparent, optimism, and optimism-corrected metrics with abootstrapValidationExplanation. -
REMARK reporting checklist —
remark_checklistoption renders aremarkChecklistHTML panel for prognostic-marker reporting. -
Parametric survival scaffolding — UI options added (
use_parametric,parametric_distributioncovering exponential, Weibull, log-normal, log-logistic, gamma, generalized gamma, Gompertz, and Royston-Parmar spline;spline_knots,spline_scale,parametric_covariates,parametric_extrapolation,extrapolation_time,parametric_diagnostics,compare_distributions,parametric_survival_plots,hazard_plots). The parametric backend remains disabled/experimental in this release.
Multivariable Survival (multisurvival)
-
Cox interaction / effect-modification terms — new
interactionsoption (typeTerms) that crosses variables already chosen as explanatory or continuous-explanatory predictors.- New
interactionTesttable (interaction HR with 95% CI and p-value) andsubgroupHRtable (within-subgroup hazard ratios by moderator level). - New pure, unit-testable helper module
R/multisurvival-interactions.R(term mapping, formula construction, moderator/subgroup summaries), separated from the R6 backend for maintainability. - New
jamovi/js/multisurvival.events.jsmodel-builder events that populate the interaction predictor pool from the explanatory/contexpl boxes and prune stale terms.
- New
Odds Ratio (oddsratio)
-
Firth penalized logistic regression — new
usePenalizedoption (vialogistf) to reduce small-sample bias and handle separation, with profile-likelihood confidence intervals and automatic fallback to standard logistic regression whenlogistfis unavailable. - New
predictorLeveloption to set the positive level of the predictor.
Enhanced Existing Modules
Multivariable Survival (multisurvival)
- Proportional-hazards testing (
ph_cox) now defaults to on, surfacing global and per-covariate Schoenfeld residual statistics viasurvival::cox.zph(aligned with REMARK reporting guidance).
Notices & Messaging System
- Introduced a four-tier structured HTML notice system (
errors,strongWarnings,warnings,infoMessages) with.addHtmlMessage()/.initializeMessageOutputs()helpers, wired intosurvival,multisurvival,oddsratio, andoutcomeorganizer. Message outputs are reset at the start of each run to prevent accumulation across runs.
Module Removals
- Removed the Date/DateTime Validator (
datevalidator) module (backend, header, and all.a/.r/.u.yamlfiles deleted).
Package Infrastructure
- Raised the minimum jamovi application version (
minApp) from 1.8.1 to 2.7.27. - Added internal helper library
R/diagnostichelpers.Rwith diagnostic-accuracy functions (sensitivity, specificity, PPV/NPV with optional prevalence/Bayes adjustment, positive/negative likelihood ratios, diagnostic odds ratio, Youden’s J). - Added internal helper library
R/survivalPower_distributions.Rimplementing Weibull, log-normal, and piecewise-exponential parameterizations and expected-events calculations (Lachin & Foulkes reference). - Expanded dataset roxygen documentation in
R/data.R(histopathology, melanoma, longitudinal, and stage-migration test datasets). - Reworked reproducible-syntax generation (
asSource) and hardened R-string escaping across module functions.R/utils.Rgains new formula helpers (.asSurvivalFormula(),.escapeVariableNames(),.buildSurvivalFormula()) and%notin%/%!in%operators so that variable names containing special characters produce valid Syntax-mode output. - Hardened error handling in Time Interval Calculator (
timeinterval) with additionaljmvcore::reject()guards for invalid or missing dates and unsupported date formats. - Updated bibliographic references in
jamovi/00refs.yaml.
jsurvival 0.0.32.60 (2025-12-28)
Major Updates
New Modules
-
Date Validator: Comprehensive date and datetime validation tool.
- Validates and diagnoses messy date/datetime formats using multiple methods (datefixR, anytime, lubridate).
- Provides detailed audit tables and quality assessment reports.
Re-introduced and Enhanced Modules
-
Outcome Organizer: Re-introduced with significant enhancements.
- Improved data cleaning and label handling.
- Contextual validation for different survival analysis types (OS, Cause-specific, etc.).
- Diagnostic messages and glossary for educational support.
-
Time Interval: Re-introduced as a comprehensive calculator.
- Robust time interval calculations with landmark analysis support.
- Person-time calculation for epidemiological studies.
- Data quality assessment for time intervals.
jsurvival 0.0.31.84 (2025-10-03)
New Features
Educational Explanations
- Added
showExplanationsoption to survival, survivalcont, multisurvival, and oddsratio modules - Built-in HTML explanations for key analysis concepts and statistical methods
- Context-sensitive educational content to help users understand their analyses
Single Arm Survival Enhancements
-
Clinical Analysis Presets: Pre-configured settings for common study types
- Overall survival analysis (most common)
- Disease-free survival analysis
- Treatment effectiveness study
- Post-surgical outcomes
- Custom analysis (advanced users)
- Guided Setup Mode: Step-by-step guidance for users new to survival analysis
- Enhanced person-time calculations and natural language summaries
Stage Migration Analysis
- Advanced TNM staging validation and trend analysis
- Improved robustness and explanations for stagemigration module
- Multifactorial analysis capabilities
- Granular table controls and debug outputs
Survival Analysis Module
- Enhanced educational explanations for univariate survival
- Improved Cox regression output and interpretation
- Additional visualization options
Continuous Survival Analysis
- Educational explanations for cut-point analysis
- Enhanced optimal threshold determination methods
- Improved output tables and visualizations
Module Removals
- Removed
outcomeorganizermodule (functionality integrated into other modules) - Removed
timeintervalmodule (functionality integrated into other modules)