Revised the vignette set to reduce repeated examples across vignettes.
Made the model-and-sampler, data-preparation, model-selection, variable-prioritization, and diagnostics vignettes more formula-focused and closer to the notation in Lu, Li, and Love (2021).
Changed the variable-prioritization simulation so it no longer duplicates the larger MFA model-selection example.
bpgmm 1.3.0
Standardized the native Rcpp interface to snake_case function names.
Renamed C++ source files to snake_case and removed stale compiled artifacts from src/.
Cleaned internal native wrapper documentation while preserving sampler behavior.
bpgmm 1.2.9
Added data-preparation and posterior-diagnostics vignettes.
Expanded the vignette collection so each vignette covers a distinct analysis task: input preparation, sampler details, small worked examples, larger model selection, exploratory variable prioritization, and multi-chain diagnostics.
bpgmm 1.2.8
Added larger model-selection and exploratory variable-prioritization vignettes with runnable examples and plots.
Documented how to use posterior allocations and loading matrices for exploratory variable prioritization without presenting it as formal Bayesian variable selection.
bpgmm 1.2.7
Moved latent-factor score updates from R loops to native C++.
Moved prior density evaluation for lambda and psi to native C++ while preserving the existing internal R API.
Added strict native tests for latent-score sampling, input validation, and closed-form prior density checks.
bpgmm 1.2.6
Added pgmm_rjmcmc_chains() for CRAN-safe multi-core execution of independent RJMCMC chains.
Added deterministic per-chain seeding and unit tests for the independent-chain wrapper.
bpgmm 1.2.5
Cleaned native C++ readability without changing sampler behavior.
Replaced stale include guards and prototypes, removed selected namespace pollution, and clarified covariance-constraint branch checks with model-label comments.
Regenerated Rcpp exports after tightening native helper signatures.
bpgmm 1.2.4
Optimized the native allocation sampler by precomputing component covariance factorizations and sampling from normalized log probabilities directly.
Removed avoidable dense probability/log-density matrices and repeated per-observation covariance validation in update_PostZ().
Tightened native helper signatures to avoid unnecessary copies and removed stale debug-only C++ comments from the posterior lambda/psi update.
bpgmm 1.2.3
Added CRAN-safe base R plots to the getting-started, worked-examples, and model-and-sampler vignettes.
Visualized simulated clusters, posterior modal allocations, posterior model counts, and mixture-of-factor-analyzers covariance geometry.
bpgmm 1.2.2
Optimized the native Calculate_Cxy() helper by accumulating cluster sufficient statistics directly from labels instead of building a dense allocation matrix and multiplying through zero weights.
Removed repeated temporary vector construction inside the Cxy accumulation loop.
Preserved the existing C++11 baseline for CRAN portability.
bpgmm 1.2.1
Hardened Rcpp entry points with explicit validation for dimensions, finite numeric inputs, covariance constraints, and native hyperparameter vectors.
Kept native build settings on the existing CRAN-friendly C++11 baseline while modernizing validation and headers.
Cleaned native headers and removed stale C++ declarations and debug-only includes/comments.
Expanded native unit tests for invalid Cxy, posterior lambda/psi, and hyperparameter-update inputs.
bpgmm 1.2.0
Made the public API consistently snake_case now that the package has no CRAN reverse dependencies.
Removed legacy exported wrappers pgmmRJMCMC(), summarizePgmmRJMCMC(), and summerizePgmmRJMCMC().
Renamed public sampler arguments from camelCase to snake_case: m_init, m_range, q_new, d_vec, s_vec, m_step, v_step, and split_combine.
Renamed summary arguments and result fields to snake_case, including true_cluster, allocation, n_clusters, n_constraints, allocation_samples, and constraint_samples.
Updated README, pkgdown vignettes, examples, and tests for the breaking 1.2.0 API.
bpgmm 1.1.6
Added a model-and-sampler vignette that explains the mixture-of-factor-analyzers likelihood, PGMM covariance constraints, conjugate priors, allocation update, RJMCMC moves, and package output fields with formulas and runnable examples.
Linked the new mathematical vignette from the getting-started guide and pkgdown vignette index.
bpgmm 1.1.5
Fixed the allocation prior contribution in RJMCMC acceptance calculations to use the log product of allocated mixture weights, matching the paper’s joint posterior.
bpgmm 1.1.4
Standardized internal R helper names to snake_case while preserving the exported compatibility wrappers.
Added snake_case wrappers around generated Rcpp entry points and routed package internals through those wrappers.
Cleaned the source layout by renaming R files to lowercase hyphenated names and removing the ignored duplicate R/choosem/ tree.
Kept result-list names and legacy public arguments stable to avoid breaking existing user code.
bpgmm 1.1.3
Fixed Mstep = 1 by loading the cluster-number proposal helpers as package code rather than leaving them in an ignored nested R/ directory.
Fixed split/combine RJMCMC moves by passing X explicitly to split-allocation helpers and adding the missing latent-factor update helper.
Fixed the C++ allocation update to add log(tao) to component log densities instead of adding raw mixture weights.
Added C++ input validation for multivariate normal densities, log-ratio calculations, allocation dimensions, and mixture weights.
Expanded unit coverage for all eight PGMM covariance constraints, C++ helpers, cluster-number RJMCMC, covariance RJMCMC, and split/combine moves.
bpgmm 1.1.2
Modernized README with badges, installation guidance, paper citation, and model-constraint helper examples.
Added summarizePgmmRJMCMC() as the correctly spelled summary function and retained summerizePgmmRJMCMC() for backward compatibility.