Changes in version 1.2.0 - RLum.OSL_decomposition: Returns now some basic statistics about contribution of the components to the initial CW-OSL signal, see console output and object$DECOMPOSITION$initial.signal.stats. - RLum.OSL_decomposition: The component which dominates the initial signal on average (highest median) is now stated as Dominating Component in console output and object$DECOMPOSITION$dominating.component. - RLum.OSL_decomposition: Function no longer crashes if record data contains no @info$IRR_TIME parameters. - RLum.OSL_decomposition: Default number of components K is no longer K = 3 if not set by the user. Instead K = length(decay_rates) if decay_rates are set, else K = $FITTING$K.selected. - RLum.OSL_global_fitting: Changed default K_maximum to 3 and stimulation_intensity to NA. - Added that RLum.OSL functions remove automatically result list entries (i.e. $CORRECTION, $FITTING, $DECOMPOSITION) which become invalid. - Better support for RLum.Analysis data sets which were imported from XSYG files in all RLum.OSL functions. - Improved input data checks in all RLum.OSL functions. - To make OSLdecomposition ready for the breaking changes in Luminescence package 1.2, All pattern matching via == or grepl() of record_type arguments with @recordType slots of RLum.Data.Curve objects is replaced with check_RLum.Data() checks. - check_RLum.Data: Added a testthat test for with 100 % coverage (Done by @mcol). - Added function check_RLum.Data() to check if a RLum.Data.Curve object matches a specific type of record. As example, the function returns TRUE if the record type naming “OSL” is matched with records of type “OSL”, “OSL (PMT)”, “OSL (NA)”, etc. but returns FALSE if “OSL” is matched with “IRSL”, “_OSL (NA)”, “OSL2” etc. - sum_OSLcurves: Accepts now list of data.frames and RLum.Data.Curve objects as input. - sum_OSLcurves: Revised function for faster calculation and plotting and to be less prone of errors of warnings.. - fit_OSLcurve: Changed default stimulation.intensity to NA and allowed that no stimulation intensity is given. - Changed the display mode of the signal components in plot_OSLcurvediagrams from stacked area to graph for all non-linear plots (e.g. pseudoLM-OSL and logarithmic scale plots). - Added a new algorithm normalize_x_axis to RLum.OSL_correction(). It ensures that the first x-value is equal the channel width. Fo example, a record with channel width 0.1 sec should not start at 0.0 sec or 70.0 sec, but at 0.1 sec. - Bumped version requirements to R >= 4.4 Changes in version 1.1.0 (2025-08-31) - The package has now a DOI: doi.org/10.32614/CRAN.package.OSLdecomposition. - Added more general plot function: plot_MultiExponential() - Reworked plot_OSLcurve() to be just a wrapper function for plot_MultiExponential(), which makes it more robust. - Changed graph style in plot_OSLcurve() to stacked areas. Also changed default colors. - Add module tests and automatically generated HTML test reports. Currently only for plot_MultiExponential(), plot_OSLcurve() and decompose_OSLcurve(). - Solved bug in RLum.OSL_correction() that remove_light_off algorithm may throw warnings or errors for specific curves - RLum.OSL functions return now helpful error messages if BIN or XSYG data objects are used as input without the transforming them into RLum.Analysis objects beforehand. - decompose_OSLcurve() uses now element names of named lambda vector as component names. - Fixed some issues and errors in the roxygen documentation. - Bumped version requirements to R >= 4.3 and Luminescence >= 1.1.0. - Adding 'knitr' to suggest and fix CRAN Rd note . - Fix Lost braces.