Changes in version 1.1.2.9000 Changes in version 1.1.2 (2025-10-29) Bug fixes - replace_missing_values() now matches with na_strings insensitive to case or leading/trailing white space (#257, @joshwlambert). - Fix {cli}-related errors in check_subject_ids() function(#260, @Karim-Mane). - fix error in print_report() by remove duplicated elements from the report object(#261, @Karim-Mane). - Add clarity about the return object of the find_duplicates() function and its generated report element (#264, @Karim-Mane). Enhancements - Get {cleanepi} package logo back into HTML report generated from the print_report() function (#268, @Karim-Mane). - Make a copy of the logo in inst/extdata/ to use simple markdown syntax for inserting logo in the report. - Bubacarr Bah is now the package maintainer (#272, @Karim-Mane) Changes in version 1.1.1 (2025-07-16) Bug fixes - Added {systemfonts} as a dependency in Suggests as it is required to build the vignette in r-oldrel-macos-arm64 (#218, @Karim-Mane). - Set a default value for the orders argument of the standardize_dates() function using its initial value in version 1.0.2 (#224, @Karim-Mane). Enhancements - The values of the duplicates_checked_from, converted_into_numeric, missing_values_replaced_at, missing_ids elements of the report which used to be a character (a comma-separated list of values) are now of type vector (#228, @Karim-Mane). - Remove the row_id column returned by the remove_duplicates() function. This columns was introduced to perform the anti join with the output from the find_duplicates() function, but is not needed in the final output object (#227, @Karim-Mane). - Added an argument (what) to print_report() allow printing the report from a specific data cleaning operation and stop users from interacting with attributes (#220, @Karim-Mane). - Clarify messages to distinguish between missing values and incorrect IDs in check_subject_ids() function (#222, @Karim-Mane). - Prevent add_to_report() from adding NULL to the data cleaning report (#232, @Karim-Mane). - Set the development mode in the _pkgdown.yml file to auto to render the website for only new releases, while also providing a development version for users installing the package from GitHub (#240, @Karim-Mane). - Add a message to notify users that the {reactable} package needs to be installed for the print_report() function to work as expected (#241, @Karim-Mane). - Add the correct_mispelled_values() function to fix spelling mistakes based on fuzzy matching (#208, @joshwlambert). Changes in version 1.1.0 (2025-03-04) Bug fixes - Fixed a bug in the index for empty rows returned by print_report() after remove_constants(). This function was incorrectly returning the number of rows in the original data frame, instead of the index of empty rows (#173, @Bisaloo). - Fixed a bug in the date guesser used by the standardize_dates() function. The followings updates were made (#175, @Karim-Mane): - allow for quarter and partial dates, and - account for odd cases before parsing using the {lubridate} package. Enhancements - Rendering the report no longer requires the use of the {withr} package. Files generated during this process will be stored in the R temporary directory (#165, @Bisaloo). - Simplification and improvement of code performance across several functions (#154, #156, #162, @Bisaloo). - Make R version dependency explicit (#156, @Bisaloo). - Replace base R pipe operator with the {tidyverse} package pipe operator (#155, @Karim-Mane). - Stop automatic conversion of numeric values into Date due to unexpected results from date_guess() function (#151, @Karim-Mane). - Allow for a vector of character for na_strings argument in replace_missing_values() (#180, Karim-Mane). - Improved messaging to differentiate between duplicates found in the subject IDs column and duplicates across multiple columns (#180, Karim-Mane). - Allow for iterative constant data removal (#180, Karim-Mane). - The remove_constants() now works correctly when the cutoff is different from 1. More importantly, the function no longer depends on the {janitor} package (#177, Karim-Mane). - The scan_data() now makes use of date_guess() to parse date from characters and lubridate::as_date() to parse dates from numeric. This function now operates only on character columns (#181, Karim-Mane). - Replace snakecase::to_snake_case() with janitor::clean_names() and make sure variable names specified in keep and rename are preserved after applying janitor::clean_names() (#180, Karim-Mane). - Use the {cli} package for formatting messages in the package (#196, Karim-Mane). - Translate messages in the package into French using the {potools} package (#196, Karim-Mane). - An additional column (row_id) with the row indices where the incorrect date sequences are found is now added to the report made from the check_date_sequence() function (#196, Karim-Mane). - The date_guess() and related functions now returns a list of two elements: the converted values and a boolean that informs about the presence of numeric values that can also be of type Date (#181, Karim-Mane). - Update the package vignette to account for the improvements made in the different pull requests (#194, Karim-Mane). Deprecated and defunct - Function documentations have been updated. The clean_data() no longer takes the params argument. Instead, it takes many other arguments that are described in the function documentation and the package vignettes (#184, Karim-Mane). Changes in version 1.0.2 (2024-06-17) *Minor version release of {cleanepi} include various improvements based on feedback from the CRAN submission process. Changes in version 1.0.0 - development of data cleaning modules.