s20x development news
Purpose
s20x 3.3.0
- Prepared s20x 3.3.0 as a CRAN-facing release after optional plotting
engine polish and the tslm() calling-environment compatibility fix.
- Removed obsolete deprecated diagnostics methods that triggered
roxygen warnings during documentation regeneration.
- Updated diagnostic API tests so modcheck.lm removal is treated as
deliberate while modelcheck remains the supported model diagnostic
helper.
- Removed stale roxygen argument tags for deleted diagnostics methods
so regenerated Rd usage sections pass CRAN checks.
- Replaced non-standard DESCRIPTION contributor roles with
CRAN-standard ctb roles.
- Rendered casestudy() files in a fresh environment with globalenv()
as the parent instead of passing .GlobalEnv directly.
- Validated with strict tests, local as-CRAN checks, and external CRAN
preflight submissions.
s20x 3.2.325
- Added regression tests comparing tslm() calling-environment fits
with explicit data-frame fits.
- Covered both ordinary lm-backed fits and AR gls-backed fits using
the existing beer.df and airpass.df teaching datasets.
- Preserved the Stage 21.1 tslm() implementation while locking in the
new data-optional behaviour before CRAN submission.
- Kept tests offline, deterministic, and focused on user-visible
teaching workflows.
- Validated by the standard s20x stage workflow.
s20x 3.2.323
- Updated tslm() so formulas can be evaluated from the calling
environment when data is omitted, matching the familiar lm() and glm()
workflow.
- Preserved explicit data-frame use for tslm() while using
model-frame-based data handling for safer internal evaluation.
- Added deterministic tests covering omitted data and explicit data
for ordinary tslm() fits.
- Kept the change small and backward compatible for the Stage 21.1
CRAN-preparation workflow.
- Validated by the standard s20x stage workflow.
s20x 3.2.320
- Added final release-polish wording for optional plotting engines,
with base graphics remaining the default.
- Confirmed Stage 20.1 is limited to dependency-safety and
release-note polish rather than new plotting functionality.
- Preserved compatibility by treating ggplot2 and GGally as optional
engines rather than required plotting dependencies.
- Used the stage workflow’s validation-mode detection so only changed
files trigger package checks.
s20x 3.2.319
- Added final release-polish wording for optional plotting engines,
with base graphics remaining the default.
- Confirmed Stage 20.1 is limited to dependency-safety and
release-note polish rather than new plotting functionality.
- Preserved compatibility by treating ggplot2 and GGally as optional
engines rather than required plotting dependencies.
- Used the stage workflow’s validation-mode detection so only changed
files trigger package checks.
s20x 3.2.318
- Adjusted pairs20x() ggplot2 diagonal histogram panels so the
y-limits reserve base-like headroom for variable labels.
- Moved diagonal labels above the histogram bars rather than inside
the plotted counts.
- Added a regression test for the ggplot2 histogram panel y-limit
contract.
- Preserved the base graphics engine as the default and kept
ggplot2/GGally optional.
- Validated by the standard s20x stage workflow.
s20x 3.2.317
- Added the missing ggplot2 geom_segment() import used by the
base-like modelcheck() Cook’s distance panel.
- Set the returned pairs20x() GGally matrix axisLabels field to
document the outside-axis contract used by the optional ggplot2
engine.
- Preserved the Stage 19.7 pairs20x() visual-parity changes and the
base graphics default.
- Validated by the standard s20x stage workflow.
s20x 3.2.315
- Added the missing ggplot2 geom_text import used by the modelcheck()
Cook’s distance labels.
- Kept the Stage 19.6.3 base-like ggplot2 modelcheck layout and Cook’s
distance display unchanged.
- Preserved the base graphics engine as the default and kept ggplot2
optional.
- Validated by the standard s20x stage workflow.
s20x 3.2.313
- Changed the optional eovcheck() ggplot2 smoother example to use the
peru.fit regression model rather than the oyster one-way ANOVA-style
fit.
- Kept the oyster example for the ggplot2 object-return and
Levene/two-standard-deviation demonstrations where it remains
appropriate.
- Avoided loess singularity warnings in the documented smoother
example while preserving package behaviour.
- Validated by the standard s20x stage workflow.
s20x 3.2.312
- Added an explicit loess formula to the optional modelcheck() ggplot2
smoother so printing the diagnostic plot object is silent.
- Preserved the Stage 19.6 base-like ggplot2 diagnostic styling and
Cook’s distance vertical-line display.
- Kept the base graphics engine as the default and preserved the
optional ggplot2 object-return paths.
- Validated by the standard s20x stage workflow.
s20x 3.2.310
- Polished the optional ggplot2 eovcheck output so the
two-standard-deviation reference lines remain visible.
- Included the plus/minus two-standard-deviation limits in the plotted
y-range and matched the base plot line weight more closely.
- Removed the default grey ggplot2 panel styling from the optional
eovcheck engine to keep the teaching plot closer to base graphics.
- Kept the base graphics engine as the default and preserved the
optional ggplot2 object-return path.
- Validated by the standard s20x stage workflow.
s20x 3.2.309
- Extended the optional normcheck() ggplot2 histogram density curve
across the full displayed x-axis range.
- Kept the histogram as a native ggplot2 geom_histogram() layer while
replacing stat_function() with explicit density data.
- Preserved base graphics defaults and existing normcheck() return
behaviour.
- Documented the Stage 19.5 normcheck density-curve polish notes.
- Validated by the standard s20x stage workflow.
s20x 3.2.308
- Polished the optional ggplot2/GGally engine for pairs20x() while
preserving base graphics as the default.
- Renamed internal pairs20x ggplot2 helpers to use clearer *_ggplot2
names.
- Kept the existing ggplot2/GGally example and return-class tests for
the optional plot matrix path.
- Documented the Stage 19.4 pairs20x plotting-engine review
notes.
- Validated by the standard s20x stage workflow.
s20x 3.2.307
- Polished the optional ggplot2 engine for modelcheck() while
preserving base graphics as the default.
- Renamed internal modelcheck ggplot2 helpers and list classes to use
clearer *_ggplot2 names.
- Reworked ggplot2 aesthetic mappings to use data-column pronouns and
avoid external-vector warnings.
- Added a print method for multiple ggplot2 modelcheck plots and
ggplot2-engine examples for individual diagnostics.
- Added offline regression tests for the renamed class and clean plot
printing.
- Validated by the standard s20x stage workflow.
s20x 3.2.306
- Polished the optional ggplot2 engine for eovcheck() while preserving
base graphics as the default.
- Renamed internal eovcheck ggplot2 helpers to use clearer *_ggplot2
names.
- Reworked ggplot2 aesthetic mappings to use data-column pronouns and
avoid external-vector warnings.
- Added ggplot2-engine examples and an offline regression test for
clean plot printing.
- Validated by the standard s20x stage workflow.
s20x 3.2.305
- Restored the documented s20xNormcheckGgplot2 return class while
retaining the clearer internal s20xNormcheck_ggplot2 class alias.
- Preserved the Stage 19.1 ggplot2 normcheck plotting fixes, examples,
and naming cleanup.
- Fixed compatibility with existing diagnostic plotting tests after
the internal class-name cleanup.
- Preserved base graphics as the default plotting engine and kept
ggplot2 optional.
- Validated by the standard s20x stage workflow.
s20x 3.2.303
- Added regression tests that scan controlled R and test files for
namespace operators in executable code.
- Added regression tests that scan controlled R and test files for
dynamic namespace lookup helpers.
- Reworked the internal-test helper to avoid getFromNamespace() while
preserving access to unexported helpers during tests.
- Preserved the Stage 18.6 import-based plotting cleanup and base
graphics defaults.
- Validated by the standard s20x stage workflow.
s20x 3.2.302
- Replaced dynamic ggplot2 and GGally plotting function lookups with
direct calls backed by roxygen import declarations.
- Moved ggplot2 and GGally into Imports so their functions can be
declared through NAMESPACE.
- Removed namespace operator usage from controlled package and test
code by using imported functions and a shared internal-test helper.
- Preserved base graphics as the default plotting engine.
- Validated by the standard s20x stage workflow.
s20x 3.2.301
- Refactored normcheck ggplot2 Q-Q and histogram builders to use
grouped optional plotting function lookups.
- Refactored the eovcheck ggplot2 diagnostic builder to use grouped
optional plotting function lookups.
- Preserved base graphics as the default engine and kept ggplot2
optional.
- Validated by the standard s20x stage workflow.
s20x 3.2.300
- Added a grouped optional plotting function lookup helper for ggplot2
implementations.
- Refactored modelcheck ggplot2 residual and Cook distance builders to
use grouped helper lookups.
- Preserved base graphics as the default engine and kept ggplot2
optional.
- Validated by the standard s20x stage workflow.
s20x 3.2.299
- Centralised optional plotting function lookup behind the internal
getPlottingFunction() helper.
- Replaced repeated direct getExportedValue() calls in the ggplot2 and
GGally plotting implementations.
- Preserved base graphics as the default engine and kept
ggplot2/GGally optional.
- Validated by the standard s20x stage workflow.
s20x 3.2.298
- Added matchPlottingEngine() as a shared internal helper for plotting
engine argument matching.
- Replaced repeated match.arg(engine) calls in normcheck(),
eovcheck(), modelcheck(), and pairs20x().
- Added a Stage 18.2 plotting engine dispatch note for the cleanup and
deferred candidates.
- Ignored the local .s20x_validation_mode file so R CMD check tarballs
do not include validation state.
- Preserved base graphics defaults, optional ggplot2/GGally behavior,
and teaching-oriented plotting output.
This file records user-facing and developer-facing changes for s20x.
It is a release-note summary, not a commit-by-commit history.
s20x 3.2.297
- Added a shared internal helper for optional plotting package
availability checks.
- Replaced duplicated ggplot2 and GGally engine checks in normcheck(),
eovcheck(), modelcheck(), and pairs20x().
- Added a Stage 18.1 plotting audit note to record remaining cleanup
candidates.
- Preserved base graphics defaults, optional ggplot2/GGally behavior,
and teaching-oriented plotting output.
s20x 3.2.295
Modernisation
- Completed a final consistency pass over README and package-level
plotting-engine documentation.
- Clarified optional ggplot2 and GGally requirements for diagnostic
plotting helpers.
- Ignored stage-runner validation scratch files in package builds so
strict checks do not report them as hidden-file notes.
- No plotting behaviour or public API changed.
s20x 3.2.294
Modernisation
- Clarified README guidance for choosing between base and ggplot2
diagnostic plotting engines.
- Added package-level documentation describing stable teaching
defaults and optional plotting engines.
- No plotting behaviour or public API changed.
s20x 3.2.293
Modernisation
- Added a README-level explanation of the optional diagnostic plotting
engines while preserving base graphics as the default teaching
workflow.
- Added a Stage 17.4 developer note recording the documentation-only
scope and optional-dependency guard pattern.
- No plotting behaviour or public API changed.
s20x 3.2.288
Development notes
- Archived the Stage 16 plotting modernisation developer note under
Completed.
- Recorded that pairs20x(), normcheck(), eovcheck(), and modelcheck()
now have optional ggplot2 engines with base graphics preserved as the
default.
- Kept this as a documentation wrap-up stage with no intended plotting
behavior changes.
s20x 3.2.287
Modernisation
- Refined the optional ggplot2/GGally panels in pairs20x() with a
base-like white theme.
- Preserved the original base graphics output as the default teaching
path.
- Kept GGally and ggplot2 as optional dependencies for the modern
plotting engine.
s20x 3.2.286
Modernisation
- Added an optional ggplot2 engine to modelcheck() while preserving
the original base graphics output as the default.
- Returned a ggplot object for the optional residual-versus-fitted
model checking diagnostic when ggplot2 is installed.
s20x 3.2.285
Modernisation
- Added an optional ggplot2 engine to eovcheck() while preserving the
original base graphics output as the default.
- Returned a ggplot object for the optional residual-versus-fitted
equality-of-variance diagnostic when ggplot2 is installed.
s20x 3.2.280
Modernisation
- Added an optional ggplot2 engine to normcheck() while preserving the
original base graphics output as the default.
- Returned ggplot objects for optional normal Q-Q and residual
histogram diagnostics when ggplot2 is installed.
s20x 3.2.278
Modernisation
- Added an optional ggplot2/GGally engine to pairs20x() while
preserving the original base graphics output as the default.
s20x 3.2.276
Data
- Store
nzarrivals.df$month as a factor with levels
ordered by month.abb and update the dataset documentation
accordingly.
s20x 3.2.274
Data
- Add
nzarrivals.df, a monthly Stats NZ Infoshare
arrivals data set, and fix the Stage 14 colors() import so
note-level checks remain strict.
s20x 3.2.273
- Document remaining Stage 14 internal helper functions with roxygen2
comments.
s20x 3.2.272
- Document internal prediction helper functions with roxygen2
comments.
s20x 3.2.271
Modernisation
- Removed qualified namespace calls from R source files by adding
roxygen imports, broadened internal helper documentation, and hardened
the Stage 14 style-compliance regression test.
s20x 3.2.270
Modernisation
- Consolidated residual and fitted-value extraction for targeted
diagnostic plotting internals without changing plotting output or public
APIs.
s20x 3.2.269
Modernisation
- Added a small internal graphics-parameter save/restore helper and
used it in targeted diagnostic plotting code paths without changing
plotting output.
s20x 3.2.268
Modernisation
- Deprecated legacy diagnostic plotting helpers
modelcheck(), modcheck(),
boxqq(), stripqq(), and the
autocor.plot() alias, and removed them from the exported
API while keeping their internal compatibility definitions.
s20x 3.2.267
Modernisation
- Added prediction-wrapper regression coverage for multi-row return
shapes, binomial-logit
predictGLM() output, and
wrapper-level quasi interval multiplier behaviour without changing
prediction internals.
s20x 3.2.264
Modernisation
- Standardised
predictGLM() return shape to a data frame
with stable fit, lwr, and upr
columns, while preserving link/response scale calculations and legacy
fallback to link-scale output for unsupported type
values.
s20x 3.2.263
Modernisation
- Consolidated internal prediction interval output formatting for
linear-model and GLM teaching wrappers while preserving legacy return
shapes, column names, rounding, and scale handling.
s20x 3.2.262
Modernisation
- Consolidated prediction-wrapper
newdata data-frame
validation into a shared internal helper and removed duplicated
validation from predictGLM() without changing prediction
output or error text.
s20x 3.2.261
Modernisation
- Added the Stage 13 prediction-wrapper internal audit note,
identifying narrow maintenance targets for prediction internals while
deferring public API and behaviour changes.
s20x 3.2.260
Modernisation
- Finalised the Stage 12 documentation-coherence developer note,
summarising completed documentation improvements and deferring deeper
API or behavioural refactors to later stages.
s20x 3.2.259
Modernisation
- Audited exported help examples for strict-check suitability,
confirmed remaining synthetic examples are deterministic or guarded, and
tightened
freq1way() documentation wording without changing
behaviour.
s20x 3.2.258
Modernisation
- Standardised diagnostic help wording for model checking, residuals
versus fitted values, Q-Q plots, and plotting side effects without
changing package behaviour.
s20x 3.2.257
Modernisation
- Guarded the
displayPairs() help example so it only runs
the optional emmeans workflow when emmeans is
available, keeping examples suitable for strict checks without changing
package behaviour.
s20x 3.2.256
Modernisation
- Clarified prediction helper and AR-error model documentation so
teaching wrappers are distinguished from ordinary
predict()
and independent-error ANOVA behaviour without changing package
behaviour.
s20x 3.2.255
Modernisation
- Replaced the artificial
summary1way() help example with
computer.df, made the summaryStats() matrix
example dataset-based, and tightened summary-helper documentation
wording without changing behaviour.
s20x 3.2.254
Modernisation
- Applied a strict NZ English and grammar documentation pass and
accepted
"normalised" as a package-owned alias for
"normalized" residual diagnostics while preserving
compatibility.
s20x 3.2.253
Modernisation
- Made diagnostic helper examples deterministic or dataset-based and
corrected small documentation spelling and grammar issues without
changing diagnostic behaviour.
s20x 3.2.252
Modernisation
- Replaced the
interactionPlots() help examples with the
arousal.df teaching dataset and clarified the deprecated
vector-form example wording without changing plotting behaviour.
s20x 3.2.251
Modernisation
- Added a Stage 12 documentation audit covering help examples,
teaching datasets, time-series examples,
R CMD check
suitability, and NZ English spelling and grammar notes without changing
package behaviour.
s20x 3.2.250
Modernisation
- Added a Stage 11 completion plan summarising completed
API-consistency work and deferring larger documentation and internal
refactor items to later stages.
s20x 3.2.249
Modernisation
- Documented diagnostic plotting helper return conventions and added
regression tests for current validation behaviour without changing
plotting behaviour.
s20x 3.2.248
Modernisation
- Documented and tested
crosstabs() and
rowdistr() printed-output and invisible-return conventions
without changing behaviour.
s20x 3.2.247
Modernisation
- Documented and tested
summary2way() printed-output and
invisible-return conventions without changing behaviour.
s20x 3.2.246
Modernisation
- Documented and tested
summary1way() printed-output and
invisible-return conventions without changing behaviour.
s20x 3.2.245
Modernisation
- Documented and tested
summaryStats() printed-output and
invisible-return conventions without changing behaviour.
s20x 3.2.244
Modernisation
- Added a Stage 11 return-convention modernisation plan to guide
future low-risk API updates without changing public behaviour.
s20x 3.2.243
Modernisation
- Added a Stage 11 audit of printed-output and invisible-return
conventions without changing public behaviour.
s20x 3.2.242
Modernisation
- Standardised legacy-helper documentation wording without changing
public behaviour.
s20x 3.2.241
Modernisation
- Added regression tests documenting current prediction interval
semantics before further API changes.
s20x 3.2.240
Modernisation
- Consolidated shared confidence-interval arithmetic for prediction
teaching wrappers without changing public prediction behaviour.
Modernisation
- Extracted shared internal prediction helpers for linear-model and
GLM teaching wrappers without changing public prediction behaviour.
Modernisation
- Added a deeper Stage 11 legacy API audit focused on outdated
teaching wrappers, deprecation candidates, and future modernisation
priorities.
Modernisation
- Added a camelCase
outputDir alias for rendered
case-study helpers while preserving output_dir
compatibility.
- Clarified prediction helper documentation so their teaching-wrapper
roles and return values are explicit.
- Added a Stage 11 API consistency audit for prediction helpers before
changing public interfaces.
- Completed the Stage 10 style-normalisation sweep for remaining
legacy helpers without changing public interfaces.
- Normalised style in Cook’s distance plotting helpers without
changing their public interface.
- Normalised style in count prediction helpers without changing their
public interface.
- Normalised style in row distribution helpers without changing their
public interface.
- Normalised style in residual diagnostic plotting helpers without
changing their public interface.
- Normalised style in autocorrelation plotting helpers without
changing their public interface.
- Normalised style in trend scatter plotting helpers without changing
their public interface.
- Normalised style in two-way ANOVA summary helpers without changing
their public interface.
- Normalised style in summary statistics helpers without changing
their public interface.
- Normalised style in the deprecated one-way frequency table helper
without changing its public interface.
- Normalised style in the one-way ANOVA summary helper without
changing its public interface.
- Normalised style in package version and skewness utility helpers
without changing their public interface.
- Normalised style in regression confidence interval helpers without
changing their public interface.
- Normalised style in generalised linear model prediction helpers
without changing their public interface.
- Normalised style in one-way comparison helper functions without
changing their public interface.
- Normalised style in case study helper functions without changing
their public interface.
- Normalised style in deprecated grouped QQ plotting helpers.
- Normalised style in small utility files as part of the staged
modernisation work.
- Added package infrastructure for automated R CMD check runs.
- Updated package build ignores for repository-only infrastructure
files.
s20x 3.2.296
- Clarified README guidance for ggplot2 diagnostic return values.
- Added tests that pin named-list return contracts for multi-plot
ggplot2 diagnostics.
- Confirmed single selected diagnostics still return individual ggplot
objects where appropriate.
- Preserved base graphics as the default plotting engine.
s20x 3.2.292
- Removed no-op examplesIf blocks from deprecated, unexported legacy
helper documentation.
- Clarified the deprecated boxqq(), stripqq(), and modcheck()
descriptions without restoring exported examples.
- Preserved legacy helper behavior while reducing CRAN-facing example
clutter in generated Rd files.
- Regenerated documentation should be produced by devtools::document()
during the stage runner.
s20x 3.2.291
- Refreshed legacy helper documentation so deprecated, unexported
functions no longer show direct internal-call examples.
- Replaced older case-study dontrun examples with interactive examples
for CRAN-facing documentation hygiene.
- Preserved case-study and deprecated-helper behavior while making the
examples clearer for current teaching material.
- Regenerated documentation should be produced by devtools::document()
during the stage runner.
s20x 3.2.290
- Clarified that the default base plotting engine preserves direct
teaching graphics while optional ggplot2 engines return reusable plot
objects.
- Added guarded examples for optional ggplot2 and GGally plotting
engines in normcheck(), eovcheck(), modelcheck(), and pairs20x().
- Kept ggplot2 and GGally usage behind requireNamespace() guards so
examples remain compatible when optional packages are unavailable.
- Regenerated documentation should be produced by devtools::document()
during the stage runner.